summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--applications/luci-app-adblock/luasrc/controller/adblock.lua27
-rw-r--r--applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua7
-rw-r--r--applications/luci-app-adblock/luasrc/view/adblock/report.htm162
-rw-r--r--applications/luci-app-adblock/po/it/adblock.po153
-rw-r--r--applications/luci-app-adblock/po/ja/adblock.po159
-rw-r--r--applications/luci-app-adblock/po/pt-br/adblock.po153
-rw-r--r--applications/luci-app-adblock/po/ru/adblock.po153
-rw-r--r--applications/luci-app-adblock/po/sv/adblock.po153
-rw-r--r--applications/luci-app-adblock/po/templates/adblock.pot153
-rw-r--r--applications/luci-app-adblock/po/zh-cn/adblock.po158
-rw-r--r--applications/luci-app-adblock/po/zh-tw/adblock.po176
-rw-r--r--applications/luci-app-ddns/po/ru/ddns.po26
-rw-r--r--applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua14
-rw-r--r--applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua18
-rw-r--r--applications/luci-app-mwan3/luasrc/model/cbi/mwan/member.lua11
-rw-r--r--applications/luci-app-mwan3/luasrc/model/cbi/mwan/memberconfig.lua16
-rw-r--r--applications/luci-app-mwan3/luasrc/model/cbi/mwan/notify.lua9
-rw-r--r--applications/luci-app-mwan3/luasrc/model/cbi/mwan/policy.lua13
-rw-r--r--applications/luci-app-mwan3/luasrc/model/cbi/mwan/policyconfig.lua16
-rw-r--r--applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua13
-rw-r--r--applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua17
-rw-r--r--applications/luci-app-nut/po/en/nut.po603
-rw-r--r--applications/luci-app-olsr/po/zh-cn/olsr.po67
-rw-r--r--applications/luci-app-openvpn/po/ru/openvpn.po356
-rw-r--r--applications/luci-app-openvpn/po/zh-cn/openvpn.po50
-rw-r--r--applications/luci-app-opkg/po/ru/opkg.po103
-rw-r--r--applications/luci-app-radicale2/Makefile14
-rw-r--r--applications/luci-app-radicale2/luasrc/controller/radicale2.lua38
-rw-r--r--applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua209
-rw-r--r--applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua40
-rw-r--r--applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua144
-rw-r--r--applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua50
-rw-r--r--applications/luci-app-radicale2/luasrc/view/cbi/raduigo.htm25
-rw-r--r--applications/luci-app-radicale2/po/en/radicale2.po496
-rw-r--r--applications/luci-app-radicale2/po/templates/radicale2.pot475
-rw-r--r--applications/luci-app-rp-pppoe-server/po/en/rp-pppoe-server.po101
-rw-r--r--applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua2
-rw-r--r--applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/collectd.lua4
-rw-r--r--applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/conntrack.lua12
-rw-r--r--applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/dns.lua4
-rw-r--r--applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/interface.lua4
-rw-r--r--applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/iptables.lua9
-rw-r--r--applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/memory.lua12
-rw-r--r--applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/netlink.lua4
-rw-r--r--applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/openvpn.lua3
-rw-r--r--applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/sensors.lua2
-rw-r--r--applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/uptime.lua12
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/i18n.lua9
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool.lua28
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/colors.lua4
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/apcups.lua7
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/conntrack.lua1
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/curl.lua1
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/disk.lua1
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/netlink.lua5
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/olsrd.lua14
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/ping.lua1
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/processes.lua12
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/sensors.lua1
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/splash_leases.lua41
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/tcpconns.lua1
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/uptime.lua19
-rw-r--r--applications/luci-app-uhttpd/po/en/uhttpd.po265
-rwxr-xr-xbuild/i18n-add-language.sh37
-rw-r--r--libs/rpcd-mod-rad2-enc/Makefile49
-rwxr-xr-xlibs/rpcd-mod-rad2-enc/files/rad2-enc50
-rw-r--r--modules/luci-base/htdocs/luci-static/resources/cbi.js4
-rw-r--r--modules/luci-base/po/ru/base.po198
-rw-r--r--modules/luci-base/po/zh-cn/base.po38
-rw-r--r--modules/luci-mod-freifunk/luasrc/model/cbi/freifunk/basics.lua2
-rw-r--r--modules/luci-mod-freifunk/luasrc/view/freifunk/adminindex.htm13
-rw-r--r--modules/luci-mod-freifunk/luasrc/view/freifunk/contact.htm25
-rw-r--r--modules/luci-mod-freifunk/luasrc/view/freifunk/index.htm14
-rw-r--r--themes/luci-theme-rosy/htdocs/luci-static/rosy/cascade.css335
-rw-r--r--themes/luci-theme-rosy/htdocs/luci-static/rosy/js/ScrollY.js1
-rwxr-xr-xthemes/luci-theme-rosy/htdocs/luci-static/rosy/js/script.js48
-rwxr-xr-xthemes/luci-theme-rosy/luasrc/view/themes/rosy/footer.htm4
-rw-r--r--themes/luci-theme-rosy/luasrc/view/themes/rosy/header.htm5
78 files changed, 4295 insertions, 1384 deletions
diff --git a/applications/luci-app-adblock/luasrc/controller/adblock.lua b/applications/luci-app-adblock/luasrc/controller/adblock.lua
index e5061bc9d9..4641ac93bb 100644
--- a/applications/luci-app-adblock/luasrc/controller/adblock.lua
+++ b/applications/luci-app-adblock/luasrc/controller/adblock.lua
@@ -1,4 +1,4 @@
--- Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
+-- Copyright 2017-2019 Dirk Brenken (dev@brenken.org)
-- This is free software, licensed under the Apache License, Version 2.0
module("luci.controller.adblock", package.seeall)
@@ -31,7 +31,20 @@ function index()
entry({"admin", "services", "adblock", "action"}, call("adb_action"), nil).leaf = true
end
-function adb_action(name, domain)
+function adb_action(name, ...)
+ local domain = select(1, ...) or ""
+ local search = select(2, ...) or "+"
+ local count = select(3, ...) or "50"
+ local filter = select(4, ...) or "false"
+ local print = select(5, ...) or "false"
+
+ local report_params = {
+ search,
+ count,
+ filter,
+ print
+ }
+
if name == "do_suspend" then
luci.sys.call("/etc/init.d/adblock suspend >/dev/null 2>&1")
elseif name == "do_resume" then
@@ -45,11 +58,17 @@ function adb_action(name, domain)
until nixio.fs.readfile(pid_file) == ""
end
elseif name == "do_report" then
- luci.sys.call("/etc/init.d/adblock report false >/dev/null 2>&1")
+ luci.sys.call("/etc/init.d/adblock report " ..table.concat(report_params, " ").. " >/dev/null 2>&1")
local rep_dir = uci:get("adblock", "extra", "adb_repdir") or "/tmp"
repeat
nixio.nanosleep(1)
until not nixio.fs.access(rep_dir.. "/adb_report.raw")
+ elseif name == "do_filter" then
+ luci.sys.call("/etc/init.d/adblock report " ..table.concat(report_params, " ").. " >/dev/null 2>&1")
+ local rep_dir = uci:get("adblock", "extra", "adb_repdir") or "/tmp"
+ repeat
+ nixio.nanosleep(1)
+ until nixio.fs.access(rep_dir.. "/adb_report.final")
elseif name == "add_blacklist" then
local file = uci:get("adblock", "blacklist", "adb_src") or "/etc/adblock/adblock.blacklist"
if nixio.fs.access(file) then
@@ -110,7 +129,7 @@ function report_text()
local content
rep_dir = uci:get("adblock", "extra", "adb_repdir") or "/tmp"
- rep_file = rep_dir.. "/adb_report"
+ rep_file = rep_dir.. "/adb_report.final"
http.prepare_content("text/plain")
if nixio.fs.access(rep_file) then
diff --git a/applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua b/applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua
index edf5df7ec9..3a37b45dfb 100644
--- a/applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua
+++ b/applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua
@@ -1,4 +1,4 @@
--- Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
+-- Copyright 2017-2019 Dirk Brenken (dev@brenken.org)
-- This is free software, licensed under the Apache License, Version 2.0
local fs = require("nixio.fs")
@@ -222,9 +222,4 @@ e29.datatype = "range(1,10)"
e29.default = 1
e29.optional = true
-e30 = e:option(Flag, "adb_forcesrt", translate("Force Overall Sort"),
- translate("Enable memory intense overall sort / duplicate removal on low memory devices (< 64 MB free RAM)"))
-e30.optional = true
-e30.default = nil
-
return m
diff --git a/applications/luci-app-adblock/luasrc/view/adblock/report.htm b/applications/luci-app-adblock/luasrc/view/adblock/report.htm
index 4e3d65ba75..814cc2fb25 100644
--- a/applications/luci-app-adblock/luasrc/view/adblock/report.htm
+++ b/applications/luci-app-adblock/luasrc/view/adblock/report.htm
@@ -1,5 +1,5 @@
<%#
-Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
+Copyright 2017-2019 Dirk Brenken (dev@brenken.org)
This is free software, licensed under the Apache License, Version 2.0
-%>
@@ -84,10 +84,10 @@ This is free software, licensed under the Apache License, Version 2.0
s += '<div class="th left"><%:Domain%></div>';
s += '<div class="th left"><%:Answer%></div>';
s += '<div class="th left"><%:Action%></div></div>';
- var btn;
+ var btn1;
var record;
var title_arr = ["<%:Date%>", "<%:Time%>", "<%:Client%>", "<%:Domain%>", "<%:Answer%>", "<%:Action%>"];
- var array = text.split("\n", 50);
+ var array = text.split("\n");
for (var i=0;i<array.length;i++)
{
record = array[i].split("\t");
@@ -99,14 +99,18 @@ This is free software, licensed under the Apache License, Version 2.0
s += '<div class="td left" data-title="' + title_arr[j] + '">' + record[j] + '</div>';
if (record[4] === "NX")
{
- btn = '<div class="td left" data-title="' + title_arr[5] + '"><input type="button" class="cbi-button cbi-button-edit" name="add_whitelist,' + record[3] + '" value="<%:Whitelist%>" onclick="btn_action(this)" /></div>';
+ btn1 = '<div class="td left" data-title="' + title_arr[5] + '"><input type="button" class="cbi-button cbi-button-edit" name="add_whitelist,' + record[3] + '" value="<%:Whitelist%>" onclick="btn_action(this)" /></div>';
+ }
+ else if (record[4] === "OK")
+ {
+ btn1 = '<div class="td left" data-title="' + title_arr[5] + '"><input type="button" class="cbi-button cbi-button-remove" name="add_blacklist,' + record[3] + '" value="<%:Blacklist%>" onclick="btn_action(this)" /></div>';
}
else
{
- btn = '<div class="td left" data-title="' + title_arr[5] + '"><input type="button" class="cbi-button cbi-button-remove" name="add_blacklist,' + record[3] + '" value="<%:Blacklist%>" onclick="btn_action(this)" /></div>';
+ btn1 = '-'
}
}
- s += btn + '</div>'
+ s += btn1 + '</div>'
}
}
document.getElementById("value_6").innerHTML = s;
@@ -118,27 +122,96 @@ This is free software, licensed under the Apache License, Version 2.0
if (action[0] === "do_report")
{
- var btn = document.getElementById("btn");
- var btn_running = document.getElementById("btn_running");
+ var btn1 = document.getElementById("btn1");
+ var btn1_running = document.getElementById("btn1_running");
- btn.disabled = true;
- running(btn_running, 1);
- action[1] = "-"
- }
+ btn1.disabled = true;
+ running(btn1_running, 1);
+
+ document.getElementById("filter_search").value = '';
+ document.getElementById("filter_count").selectedIndex = 1;
- new XHR.get('<%=luci.dispatcher.build_url("admin", "services", "adblock")%>/action/' + action[0] + "/" + action[1], null,
- function(x)
+ XHR.get('<%=luci.dispatcher.build_url("admin", "services", "adblock")%>/action/' + action[0], null,
+ function(x)
+ {
+ if (!x)
+ {
+ return;
+ }
+ XHR.get('<%=luci.dispatcher.build_url("admin", "services", "adblock", "report_json")%>', null,
+ function(x, json_info)
+ {
+ if (!x || !json_info || !json_info.data)
+ {
+ running(btn1_running, 0);
+ btn1.disabled = false;
+ return;
+ }
+ report_json(json_info);
+ });
+ XHR.get('<%=luci.dispatcher.build_url("admin", "services", "adblock", "report_text")%>', null,
+ function(x)
+ {
+ if (!x || !x.responseText)
+ {
+ return;
+ }
+ report_text(x.responseText);
+ running(btn1_running, 0);
+ btn1.disabled = false;
+ });
+ });
+ }
+ else if (action[0] === "do_filter")
{
- if (!x)
+ var btn2 = document.getElementById("btn2");
+ var btn2_running = document.getElementById("btn2_running");
+ var search = document.getElementById("filter_search").value.replace(/[^\x00-\x7F]|[\s!@#$%^&*()+=\[\]{};'"\\|,<>\/?]/g,'') || "\"+\"";
+ var count = document.getElementById("filter_count").value;
+
+ btn2.disabled = true;
+ running(btn2_running, 1);
+ if (search != "\"+\"")
{
- return;
+ document.getElementById("filter_search").value = search;
}
- if (action[0] === "do_report")
+
+ XHR.get('<%=luci.dispatcher.build_url("admin", "services", "adblock")%>/action/' + action[0] + "/" + "-" + "/" + search + "/" + count + "/" + "true" + "/" + "false", null,
+ function(x)
{
- running(btn_running, 0);
- btn.disabled = false;
- }
- });
+ if (!x)
+ {
+ return;
+ }
+ XHR.get('<%=luci.dispatcher.build_url("admin", "services", "adblock", "report_text")%>', null,
+ function(x)
+ {
+ if (!x || !x.responseText)
+ {
+ return;
+ }
+ report_text(x.responseText);
+ running(btn2_running, 0);
+ btn2.disabled = false;
+ });
+ });
+ }
+ else if (action[0] === "add_blacklist" || action[0] === "add_whitelist")
+ {
+ XHR.get('<%=luci.dispatcher.build_url("admin", "services", "adblock")%>/action/' + action[0] + "/" + action[1], null,
+ function(x)
+ {
+ if (!x)
+ {
+ return;
+ }
+ btn3 = document.getElementsByName(value.name);
+ for (var i=0; i<btn3.length; i++)
+ {
+ btn3[i].disabled = true;
+ }
+ });
+ }
}
function running(element, state)
@@ -159,20 +232,8 @@ This is free software, licensed under the Apache License, Version 2.0
{
if (!x || !json_info || !json_info.data)
{
- running(btn_running, 0);
- btn.disabled = false;
- return;
- }
- report_json(json_info);
- });
-
- XHR.poll(-1, '<%=luci.dispatcher.build_url("admin", "services", "adblock", "report_json")%>', null,
- function(x, json_info)
- {
- if (!x || !json_info || !json_info.data)
- {
- running(btn_running, 0);
- btn.disabled = false;
+ running(btn1_running, 0);
+ btn1.disabled = false;
return;
}
report_json(json_info);
@@ -187,16 +248,6 @@ This is free software, licensed under the Apache License, Version 2.0
}
report_text(x.responseText);
});
-
- XHR.poll(-1, '<%=luci.dispatcher.build_url("admin", "services", "adblock", "report_text")%>', null,
- function(x)
- {
- if (!x || !x.responseText)
- {
- return;
- }
- report_text(x.responseText);
- });
//]]>
</script>
@@ -227,8 +278,8 @@ This is free software, licensed under the Apache License, Version 2.0
</div>
<br />
<div id="button">
- <input type="button" class="cbi-button cbi-button-action important" id="btn" name="do_report" value="<%:Refresh Report%>" onclick="btn_action(this)" />
- <span id="btn_running" class="btn_running"></span>
+ <input type="button" class="cbi-button cbi-button-action important" id="btn1" name="do_report" value="<%:Refresh Report%>" onclick="btn_action(this)" />
+ <span id="btn1_running" class="btn1_running"></span>
</div>
</div>
<br />
@@ -236,8 +287,23 @@ This is free software, licensed under the Apache License, Version 2.0
<h3><%:Top 10 Reporting%></h3>
<div class="table" id="value_5"></div>
</div>
-<br />
+<hr />
<div class="cbi-section">
+ <div class="cbi-section-descr"><%:Filter the DNS Query result set for a particular domain, client or time frame.%></div>
+ <div style="float:left;">
+ <input type="text" placeholder="<%:Domain/Client/Date/Time%>" id="filter_search" name="filter_search" />
+ <select name="filter_count" id="filter_count">
+ <option value="25">25</option>
+ <option value="50" selected="selected">50</option>
+ <option value="100">100</option>
+ <option value="250">250</option>
+ <option value="500">500</option>
+ </select>
+ <input type="button" class="cbi-button cbi-button-action" id="btn2" name="do_filter" value="<%:Filter%>" onclick="btn_action(this)" />
+ <span id="btn2_running" class="btn2_running"></span>
+ </div>
+ <br />
+ <br />
<h3><%:Latest DNS Queries%></h3>
<div class="table" id="value_6"></div>
</div>
diff --git a/applications/luci-app-adblock/po/it/adblock.po b/applications/luci-app-adblock/po/it/adblock.po
index 49d42cf564..40e27c4f3f 100644
--- a/applications/luci-app-adblock/po/it/adblock.po
+++ b/applications/luci-app-adblock/po/it/adblock.po
@@ -11,11 +11,11 @@ msgstr ""
"X-Generator: Poedit 2.0.3\n"
"Language: it\n"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:158
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:154
msgid "'Jail' Blocklist Creation"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:74
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:70
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!"
@@ -27,7 +27,7 @@ msgid "Action"
msgstr ""
#: applications/luci-app-adblock/luasrc/controller/adblock.lua:17
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:11
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:10
msgid "Adblock"
msgstr "Adblock"
@@ -39,7 +39,7 @@ msgstr "Status Adblock"
msgid "Adblock Version"
msgstr "Versione Adblock"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:183
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:179
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr "Tempo addizionale in secondi di attesa prima che adblock si avvii."
@@ -52,15 +52,15 @@ msgstr "Avanzato"
msgid "Answer"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:92
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:88
msgid "Archive Categories"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:120
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:116
msgid "Backup Directory"
msgstr "Directory del Backup"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:127
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:123
msgid "Backup Mode"
msgstr ""
@@ -77,7 +77,7 @@ msgstr ""
msgid "Blocked Domain"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:73
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:69
msgid "Blocklist Sources"
msgstr "Fonti lista di Blocco"
@@ -85,13 +85,13 @@ msgstr "Fonti lista di Blocco"
msgid "Blocklist not found!"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:159
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:155
msgid ""
"Builds an additional 'Jail' list (/tmp/adb_list.jail) to block access to all "
"domains except those listed in the whitelist file."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:49
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:48
msgid ""
"Choose 'none' to disable automatic startups, 'timed' to use a classic "
"timeout (default 30 sec.) or select another trigger interface."
@@ -108,7 +108,7 @@ msgstr ""
msgid "Collecting data..."
msgstr "Raccogliendo dati..."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:12
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:11
msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr ""
@@ -124,18 +124,18 @@ msgstr ""
msgid "Count"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:117
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:113
msgid ""
"Create compressed blocklist backups, they will be used in case of download "
"errors or during startup in backup mode."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:25
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:24
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:159
msgid "DNS Backend (DNS Directory)"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:171
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:167
msgid "DNS Directory"
msgstr "Directory DNS"
@@ -148,11 +148,11 @@ msgstr ""
msgid "Date"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:90
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:86
msgid "Description"
msgstr "Descrizione"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:128
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:124
msgid ""
"Do not automatically update blocklists during startup, use blocklist backups "
"instead."
@@ -167,7 +167,7 @@ msgstr ""
msgid "Domain"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:36
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:35
msgid "Download Utility"
msgstr ""
@@ -187,38 +187,38 @@ msgstr "Modifica Configurazione"
msgid "Edit Whitelist"
msgstr "Modifica Lista Bianca"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:151
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:147
msgid "Email Notification"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:164
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:160
msgid "Email Notification Count"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:21
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:20
msgid "Enable Adblock"
msgstr "Attiva Adblock"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:116
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:112
msgid "Enable Blocklist Backup"
msgstr "Attiva Backup Lista di Blocco"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:139
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:135
msgid "Enable DNS Query Report"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:212
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:226
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB free RAM)"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:102
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:98
msgid "Enable verbose debug logging in case of any processing error."
msgstr ""
"Abilita il registro dettagliato in caso di qualsiasi errore di processo."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:77
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:73
msgid "Enabled"
msgstr "Abilitato"
@@ -226,43 +226,43 @@ msgstr "Abilitato"
msgid "End Date"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:98
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:94
msgid "Extra Options"
msgstr "Opzioni Extra"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:187
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:183
msgid "Flush DNS Cache"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:188
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:184
msgid "Flush DNS Cache after adblock processing."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:13
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:12
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">check the online "
"documentation</a>"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:134
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:130
msgid ""
"For further performance improvements you can raise this value, e.g. '8' or "
"'16' should be safe."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:112
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:108
msgid "Force Local DNS"
msgstr "Forza DNS Locale"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:211
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:225
msgid "Force Overall Sort"
msgstr "Forza Ordinamento Globale"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:177
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:173
msgid "Full path to the whitelist file."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:140
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:136
msgid ""
"Gather dns related network traffic via tcpdump to provide a DNS Query Report "
"on demand."
@@ -282,18 +282,18 @@ msgstr "Ultimo Avvio"
msgid "Latest DNS Queries"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:48
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:47
msgid ""
"List of available network interfaces. Usually the startup will be triggered "
"by the 'wan' interface."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:26
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:25
msgid ""
"List of supported DNS backends with their default list export directory."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:37
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:36
msgid "List of supported and fully pre-configured download utilities."
msgstr ""
@@ -307,11 +307,11 @@ msgstr "Caricando"
msgid "Logfile"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:105
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:101
msgid "Low Priority Service"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:132
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:128
msgid "Max. Download Queue"
msgstr ""
@@ -320,11 +320,11 @@ msgstr ""
msgid "Name / IP-Address"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:86
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:82
msgid "No"
msgstr "No"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:99
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:95
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr ""
@@ -355,11 +355,11 @@ msgid "Please edit this file directly in a terminal session."
msgstr ""
"Per favore modifica questo file direttamente in una sessione al terminale."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:153
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:149
msgid "Please note: this needs manual 'msmtp' package installation and setup."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:141
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:137
msgid "Please note: this needs manual 'tcpdump-mini' package installation."
msgstr ""
@@ -371,13 +371,13 @@ msgstr "Interrogazione"
msgid "Query domains"
msgstr "Interrogazione domini"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:165
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:161
msgid ""
"Raise the minimum email notification count, to get emails if the overall "
"count is less or equal to the given limit (default 0),"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:113
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:109
msgid ""
"Redirect all DNS queries from 'lan' zone to the local resolver, apply to udp "
"and tcp protocol on ports 53, 853 and 5353."
@@ -398,32 +398,38 @@ msgstr ""
msgid "Refresh Report"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:201
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:211
msgid "Report Chunk Count"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:206
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:218
msgid "Report Chunk Size"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:144
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:140
msgid "Report Directory"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:192
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:188
msgid "Report Interface"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:202
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:205
+msgid "Report Listen Port(s)"
+msgstr ""
+
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:212
msgid "Report chunk count used by tcpdump (default '5')."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:207
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:219
msgid "Report chunk size used by tcpdump in MB (default '1')."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:193
-msgid "Reporting interface used by tcpdump (default 'br-lan')."
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:189
+msgid ""
+"Reporting interface used by tcpdump, set to 'any' for multiple interfaces "
+"(default 'br-lan')."
msgstr ""
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:31
@@ -434,7 +440,7 @@ msgstr "Riprendi"
msgid "Runtime Information"
msgstr "Informazione di Runtime"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:80
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:76
msgid "SSL req."
msgstr "Ric. SSL"
@@ -444,29 +450,34 @@ msgstr "Ric. SSL"
msgid "Save"
msgstr "Salva"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:152
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:148
msgid ""
"Send notification emails in case of a processing error or if domain count is "
"&le; 0."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:106
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:102
msgid ""
"Set the nice level to 'low priority' and the adblock background processing "
"will take less resources from the system."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:133
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:129
msgid ""
"Size of the download queue to handle downloads &amp; list processing in "
"parallel (default '8')."
msgstr ""
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:206
+msgid ""
+"Space separated list of reporting port(s) used by tcpdump (default: '53')."
+msgstr ""
+
#: applications/luci-app-adblock/luasrc/view/adblock/report.htm:205
msgid "Start Date"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:47
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:46
msgid "Startup Trigger"
msgstr "Innesco d'Avvio"
@@ -480,19 +491,19 @@ msgstr "Sospendi"
msgid "Suspend / Resume Adblock"
msgstr "Sospendi / Riprendi Adblock"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:121
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:117
msgid ""
"Target directory for adblock backups. Please use only a non-volatile disk, e."
"g. an external usb stick."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:145
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:141
msgid ""
"Target directory for dns related report files. Please use preferably a non-"
"volatile disk, e.g. an external usb stick."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:172
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:168
msgid "Target directory for the generated blocklist 'adb_list.overall'."
msgstr "Directory per la lista di blocco generata 'adb_list.overall'."
@@ -506,7 +517,11 @@ msgstr ""
msgid "The syslog output, pre-filtered for adblock related messages only."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:107
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:103
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:190
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:207
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:213
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:220
msgid "This change requires a manual service stop/re-start to take effect."
msgstr ""
@@ -541,7 +556,7 @@ msgstr ""
msgid "Time"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:27
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:26
msgid ""
"To overwrite the default path use the 'DNS Directory' option in the extra "
"section below."
@@ -557,11 +572,11 @@ msgstr ""
msgid "Total DNS Queries"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:182
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:178
msgid "Trigger Delay"
msgstr "Ritardo Innesco"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:101
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:97
msgid "Verbose Debug Logging"
msgstr "Registro di Debug Dettagliato"
@@ -573,21 +588,21 @@ msgstr "Aspettando che il comando venga completato..."
msgid "Whitelist"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:176
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:172
msgid "Whitelist File"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:84
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:80
msgid "Yes"
msgstr "Sì"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:160
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:156
msgid ""
"You can use this restrictive blocklist e.g. for guest wifi or kidsafe "
"configurations."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:166
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:162
msgid ""
"e.g. to receive an email notification with every adblock update set this "
"value to 150000."
diff --git a/applications/luci-app-adblock/po/ja/adblock.po b/applications/luci-app-adblock/po/ja/adblock.po
index a956d63869..a9eb968e67 100644
--- a/applications/luci-app-adblock/po/ja/adblock.po
+++ b/applications/luci-app-adblock/po/ja/adblock.po
@@ -11,11 +11,11 @@ msgstr ""
"X-Generator: Poedit 2.2\n"
"Language: ja\n"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:158
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:154
msgid "'Jail' Blocklist Creation"
msgstr "'Jail' ブロックリストã®ä½œæˆ"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:74
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:70
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!"
@@ -29,7 +29,7 @@ msgid "Action"
msgstr "アクション"
#: applications/luci-app-adblock/luasrc/controller/adblock.lua:17
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:11
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:10
msgid "Adblock"
msgstr "Adblock"
@@ -41,7 +41,7 @@ msgstr "Adblock ステータス"
msgid "Adblock Version"
msgstr "Adblock ãƒãƒ¼ã‚¸ãƒ§ãƒ³"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:183
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:179
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr "Adblock ã®å‡¦ç†ãŒé–‹å§‹ã•ã‚Œã‚‹ã¾ã§ã®ã€è¿½åŠ ã®é…延時間(秒)ã§ã™ã€‚"
@@ -54,15 +54,15 @@ msgstr "詳細設定"
msgid "Answer"
msgstr "回答"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:92
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:88
msgid "Archive Categories"
msgstr "アーカイブ カテゴリ"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:120
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:116
msgid "Backup Directory"
msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—å…ˆ ディレクトリ"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:127
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:123
msgid "Backup Mode"
msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ— モード"
@@ -79,7 +79,7 @@ msgstr "ブロックã•ã‚ŒãŸ DNS クエリ"
msgid "Blocked Domain"
msgstr "ブロックã•ã‚ŒãŸãƒ‰ãƒ¡ã‚¤ãƒ³"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:73
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:69
msgid "Blocklist Sources"
msgstr "ブロックリストæ供元"
@@ -87,7 +87,7 @@ msgstr "ブロックリストæ供元"
msgid "Blocklist not found!"
msgstr "ブロックリストãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ï¼"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:159
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:155
msgid ""
"Builds an additional 'Jail' list (/tmp/adb_list.jail) to block access to all "
"domains except those listed in the whitelist file."
@@ -95,7 +95,7 @@ msgstr ""
"ホワイトリストã«åˆ—挙ã•ã‚ŒãŸã‚‚ã®ã‚’除ãå…¨ã¦ã®ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’ブロックã™ã‚‹ã€è¿½åŠ ã® "
"'Jail' リスト (/tmp/adb_list.jail) を作æˆã—ã¾ã™ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:49
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:48
msgid ""
"Choose 'none' to disable automatic startups, 'timed' to use a classic "
"timeout (default 30 sec.) or select another trigger interface."
@@ -113,7 +113,7 @@ msgstr "クライアント"
msgid "Collecting data..."
msgstr "データåŽé›†ä¸­ã§ã™..."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:12
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:11
msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr ""
@@ -129,7 +129,7 @@ msgstr ""
msgid "Count"
msgstr "カウント"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:117
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:113
msgid ""
"Create compressed blocklist backups, they will be used in case of download "
"errors or during startup in backup mode."
@@ -138,12 +138,12 @@ msgstr ""
"ロードãŒã‚¨ãƒ©ãƒ¼ã®å ´åˆã€ã¾ãŸã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ— モードã§ã‚µãƒ¼ãƒ“スを起動ã—ãŸå ´åˆã«ä½¿ç”¨"
"ã•ã‚Œã¾ã™ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:25
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:24
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:159
msgid "DNS Backend (DNS Directory)"
msgstr "DNS ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ï¼ˆDNS ディレクトリ)"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:171
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:167
msgid "DNS Directory"
msgstr "DNS ディレクトリ"
@@ -156,11 +156,11 @@ msgstr "DNS クエリ レãƒãƒ¼ãƒˆ"
msgid "Date"
msgstr "日付"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:90
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:86
msgid "Description"
msgstr "説明"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:128
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:124
msgid ""
"Do not automatically update blocklists during startup, use blocklist backups "
"instead."
@@ -175,7 +175,7 @@ msgstr ""
msgid "Domain"
msgstr "ドメイン"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:36
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:35
msgid "Download Utility"
msgstr "ダウンロード ユーティリティ"
@@ -195,27 +195,27 @@ msgstr "設定ã®ç·¨é›†"
msgid "Edit Whitelist"
msgstr "ホワイトリストã®ç·¨é›†"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:151
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:147
msgid "Email Notification"
msgstr "メール通知"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:164
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:160
msgid "Email Notification Count"
msgstr "メール通知カウント"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:21
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:20
msgid "Enable Adblock"
msgstr "Adblock ã®æœ‰åŠ¹åŒ–"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:116
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:112
msgid "Enable Blocklist Backup"
msgstr "ブロックリスト ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã®æœ‰åŠ¹åŒ–"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:139
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:135
msgid "Enable DNS Query Report"
msgstr "DNS クエリ レãƒãƒ¼ãƒˆã®æœ‰åŠ¹åŒ–"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:212
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:226
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB free RAM)"
@@ -223,12 +223,12 @@ msgstr ""
"メモリー容é‡ã®å°‘ãªã„デãƒã‚¤ã‚¹ï¼ˆRAM 空ã領域 64MB 未満)ã«ãŠã„ã¦ã€ä¸€æ™‚ファイル"
"内ã®å…¨ä½“çš„ãªã‚½ãƒ¼ãƒˆåŠã³é‡è¤‡ã®é™¤åŽ»ã‚’有効ã«ã—ã¾ã™ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:102
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:98
msgid "Enable verbose debug logging in case of any processing error."
msgstr ""
"何らã‹ã®å‡¦ç†ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆã«ã€è©³ç´°ãªãƒ‡ãƒãƒƒã‚° ログを有効ã«ã—ã¾ã™ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:77
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:73
msgid "Enabled"
msgstr "有効"
@@ -236,19 +236,19 @@ msgstr "有効"
msgid "End Date"
msgstr "終了日"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:98
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:94
msgid "Extra Options"
msgstr "拡張オプション"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:187
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:183
msgid "Flush DNS Cache"
msgstr "DNS キャッシュã®ã‚¯ãƒªã‚¢"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:188
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:184
msgid "Flush DNS Cache after adblock processing."
msgstr "Adblock 処ç†ã®å¾Œã« DNS キャッシュをクリアã—ã¾ã™ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:13
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:12
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">check the online "
"documentation</a>"
@@ -256,7 +256,7 @@ msgstr ""
"詳細ãªæƒ…報㯠<a href=\"%s\" target=\"_blank\">オンライン ドキュメント</a> ã‚’"
"確èªã—ã¦ãã ã•ã„。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:134
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:130
msgid ""
"For further performance improvements you can raise this value, e.g. '8' or "
"'16' should be safe."
@@ -264,19 +264,19 @@ msgstr ""
"パフォーマンスã®æ›´ãªã‚‹æ”¹å–„ã®ãŸã‚ã€å®‰å…¨ã¨æ€ã‚れる '8' ã‚„ '16' ãªã©ã®å€¤ã«å¼•ã上"
"ã’ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:112
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:108
msgid "Force Local DNS"
msgstr "ローカル DNS ã®å¼·åˆ¶"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:211
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:225
msgid "Force Overall Sort"
msgstr "全体ソートã®å¼·åˆ¶"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:177
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:173
msgid "Full path to the whitelist file."
msgstr "ホワイトリスト ファイルã¸ã®ãƒ•ãƒ«ãƒ‘スã§ã™ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:140
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:136
msgid ""
"Gather dns related network traffic via tcpdump to provide a DNS Query Report "
"on demand."
@@ -298,7 +298,7 @@ msgstr "最終実行"
msgid "Latest DNS Queries"
msgstr "最新㮠DNS クエリ"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:48
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:47
msgid ""
"List of available network interfaces. Usually the startup will be triggered "
"by the 'wan' interface."
@@ -306,14 +306,14 @@ msgstr ""
"利用å¯èƒ½ãªãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ インターフェースã®ä¸€è¦§ã§ã™ã€‚通常ã€ã‚¹ã‚¿ãƒ¼ãƒˆã‚¢ãƒƒãƒ—㯠"
"'wan' インターフェースã«ã‚ˆã£ã¦ãƒˆãƒªã‚¬ã•ã‚Œã¾ã™ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:26
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:25
msgid ""
"List of supported DNS backends with their default list export directory."
msgstr ""
"サãƒãƒ¼ãƒˆã•ã‚Œã‚‹ DNS ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã¨ã€ãã‚Œãžã‚Œã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒªã‚¹ãƒˆå‡ºåŠ›å…ˆã®ä¸€è¦§ã§"
"ã™ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:37
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:36
msgid "List of supported and fully pre-configured download utilities."
msgstr "サãƒãƒ¼ãƒˆã•ã‚Œã€ã‹ã¤è¨­å®šæ¸ˆã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ ユーティリティã®ä¸€è¦§ã§ã™ã€‚"
@@ -327,11 +327,11 @@ msgstr "読込中"
msgid "Logfile"
msgstr "ログファイル"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:105
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:101
msgid "Low Priority Service"
msgstr "低優先度サービス"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:132
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:128
msgid "Max. Download Queue"
msgstr "ダウンロード キューã®ä¸Šé™"
@@ -340,11 +340,11 @@ msgstr "ダウンロード キューã®ä¸Šé™"
msgid "Name / IP-Address"
msgstr "åå‰ / IP アドレス"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:86
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:82
msgid "No"
msgstr "ã„ã„ãˆ"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:99
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:95
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr "デフォルト設定ãŒé©åˆ‡ã§ãªã„å ´åˆã€è¿½åŠ ã§è¨­å®šã™ã‚‹ãŸã‚ã®ã‚ªãƒ—ションã§ã™ã€‚"
@@ -373,13 +373,13 @@ msgstr ""
msgid "Please edit this file directly in a terminal session."
msgstr "ターミナル セッションã§ç›´æŽ¥ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’編集ã—ã¦ãã ã•ã„。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:153
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:149
msgid "Please note: this needs manual 'msmtp' package installation and setup."
msgstr ""
"注æ„: ã“ã‚Œã¯æ‰‹å‹•ã§ã® 'msmtp' パッケージã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã¨ã‚»ãƒƒãƒˆã‚¢ãƒƒãƒ—ã‚’å¿…è¦ã¨ã—"
"ã¾ã™ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:141
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:137
msgid "Please note: this needs manual 'tcpdump-mini' package installation."
msgstr ""
"注æ„: ã“ã‚Œã¯æ‰‹å‹•ã§ã® 'tcpdump-mini' パッケージã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’å¿…è¦ã¨ã—ã¾ã™ã€‚"
@@ -392,7 +392,7 @@ msgstr "検索"
msgid "Query domains"
msgstr "ドメインã®æ¤œç´¢"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:165
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:161
msgid ""
"Raise the minimum email notification count, to get emails if the overall "
"count is less or equal to the given limit (default 0),"
@@ -400,7 +400,7 @@ msgstr ""
"メール通知を行ã†ãƒ¡ãƒ¼ãƒ«é€šçŸ¥ã‚«ã‚¦ãƒ³ãƒˆã®ä¸‹é™å€¤ã‚’設定ã—ã¾ã™ã€‚全体カウントãŒæŒ‡å®šã•"
"ã‚ŒãŸå€¤ä»¥ä¸‹ã®å ´åˆã€ãƒ¡ãƒ¼ãƒ«ã‚’å—ã‘å–ã‚Šã¾ã™ï¼ˆè¦å®šå€¤: 0)。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:113
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:109
msgid ""
"Redirect all DNS queries from 'lan' zone to the local resolver, apply to udp "
"and tcp protocol on ports 53, 853 and 5353."
@@ -423,35 +423,41 @@ msgstr "ブロックリストæ供元ã®ãƒªãƒ•ãƒ¬ãƒƒã‚·ãƒ¥"
msgid "Refresh Report"
msgstr "レãƒãƒ¼ãƒˆã‚’リフレッシュ"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:201
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:211
msgid "Report Chunk Count"
msgstr "レãƒãƒ¼ãƒˆ ãƒãƒ£ãƒ³ã‚¯ã‚«ã‚¦ãƒ³ãƒˆ"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:206
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:218
msgid "Report Chunk Size"
msgstr "レãƒãƒ¼ãƒˆ ãƒãƒ£ãƒ³ã‚¯ã‚µã‚¤ã‚º"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:144
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:140
msgid "Report Directory"
msgstr "レãƒãƒ¼ãƒˆ ディレクトリ"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:192
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:188
msgid "Report Interface"
msgstr "レãƒãƒ¼ãƒˆ インターフェース"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:202
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:205
+msgid "Report Listen Port(s)"
+msgstr "レãƒãƒ¼ãƒˆå¾…ã¡å—ã‘ãƒãƒ¼ãƒˆ"
+
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:212
msgid "Report chunk count used by tcpdump (default '5')."
msgstr "tcpdump ã«ã‚ˆã‚Šä½¿ç”¨ã•ã‚Œã‚‹ã€ãƒ¬ãƒãƒ¼ãƒˆãƒãƒ£ãƒ³ã‚¯æ•°ã§ã™ã€‚(è¦å®šå€¤: '5')"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:207
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:219
msgid "Report chunk size used by tcpdump in MB (default '1')."
msgstr "tcpdump ã«ã‚ˆã‚Šä½¿ç”¨ã•ã‚Œã‚‹ã€ãƒ¬ãƒãƒ¼ãƒˆ ãƒãƒ£ãƒ³ã‚¯ã‚µã‚¤ã‚ºã§ã™ã€‚(è¦å®šå€¤: '1')"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:193
-msgid "Reporting interface used by tcpdump (default 'br-lan')."
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:189
+msgid ""
+"Reporting interface used by tcpdump, set to 'any' for multiple interfaces "
+"(default 'br-lan')."
msgstr ""
-"tcpdump ã«ã‚ˆã‚Šä½¿ç”¨ã•ã‚Œã‚‹ã€ãƒ¬ãƒãƒ¼ãƒˆã‚’è¡Œã†ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã§ã™ã€‚(è¦å®šå€¤: 'br-"
-"lan')"
+"tcpdump ã«ã‚ˆã‚Šä½¿ç”¨ã•ã‚Œã‚‹ã€ãƒ¬ãƒãƒ¼ãƒˆã‚’è¡Œã†ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã§ã™ã€‚複数ã®ã‚¤ãƒ³ã‚¿ãƒ¼"
+"フェースを使用ã™ã‚‹ã«ã¯ã€ 'any' を設定ã—ã¦ãã ã•ã„。(è¦å®šå€¤: 'br-lan')"
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:31
msgid "Resume"
@@ -461,7 +467,7 @@ msgstr "å†é–‹"
msgid "Runtime Information"
msgstr "実行情報"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:80
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:76
msgid "SSL req."
msgstr "SSL å¿…é ˆ"
@@ -471,14 +477,14 @@ msgstr "SSL å¿…é ˆ"
msgid "Save"
msgstr "ä¿å­˜"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:152
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:148
msgid ""
"Send notification emails in case of a processing error or if domain count is "
"&le; 0."
msgstr ""
"処ç†ã‚¨ãƒ©ãƒ¼ã¾ãŸã¯ãƒ‰ãƒ¡ã‚¤ãƒ³ カウント㌠0 以下ã®å ´åˆã€é€šçŸ¥ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã—ã¾ã™ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:106
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:102
msgid ""
"Set the nice level to 'low priority' and the adblock background processing "
"will take less resources from the system."
@@ -486,7 +492,7 @@ msgstr ""
"nice値(優先度)を '低優先度' ã«è¨­å®šã—ã€adblock ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰å‡¦ç†ã®ã‚·ã‚¹ãƒ†"
"ムリソース使用é‡ã‚’抑制ã—ã¾ã™ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:133
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:129
msgid ""
"Size of the download queue to handle downloads &amp; list processing in "
"parallel (default '8')."
@@ -494,11 +500,18 @@ msgstr ""
"ダウンロードã®åˆ¶å¾¡ã¨ãƒªã‚¹ãƒˆã®å‡¦ç†ã‚’åŒæ™‚並行的ã«è¡Œã†ã€ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã‚­ãƒ¥ãƒ¼ã®ã‚µã‚¤"
"ズã§ã™ã€‚(è¦å®šå€¤: '8')"
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:206
+msgid ""
+"Space separated list of reporting port(s) used by tcpdump (default: '53')."
+msgstr ""
+"tcpdump ã«ã‚ˆã‚Šä½¿ç”¨ã•ã‚Œã‚‹ã€ãƒ¬ãƒãƒ¼ãƒˆã‚’è¡Œã†ãƒãƒ¼ãƒˆã®ã‚¹ãƒšãƒ¼ã‚¹ã§åŒºåˆ‡ã‚‰ã‚ŒãŸãƒªã‚¹ãƒˆã§"
+"ã™ã€‚(è¦å®šå€¤: '53')"
+
#: applications/luci-app-adblock/luasrc/view/adblock/report.htm:205
msgid "Start Date"
msgstr "開始日"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:47
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:46
msgid "Startup Trigger"
msgstr "スタートアップ トリガ"
@@ -512,7 +525,7 @@ msgstr "一時åœæ­¢"
msgid "Suspend / Resume Adblock"
msgstr "Adblock ã®ä¸€æ™‚åœæ­¢ / å†é–‹"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:121
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:117
msgid ""
"Target directory for adblock backups. Please use only a non-volatile disk, e."
"g. an external usb stick."
@@ -520,7 +533,7 @@ msgstr ""
"adblock ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã®ä¿å­˜å…ˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™ã€‚ä¸æ®ç™ºæ€§ãƒ‡ã‚£ã‚¹ã‚¯ã®ã¿ã‚’使用ã—ã¦"
"ãã ã•ã„。(例: 外部 USB スティック)"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:145
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:141
msgid ""
"Target directory for dns related report files. Please use preferably a non-"
"volatile disk, e.g. an external usb stick."
@@ -528,7 +541,7 @@ msgstr ""
"DNS 関連レãƒãƒ¼ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã®ä¿å­˜å…ˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™ã€‚å¯èƒ½ã§ã‚ã‚Œã°ä¸æ®ç™ºæ€§ãƒ‡ã‚£ã‚¹"
"クを使用ã—ã¦ãã ã•ã„。(例: 外部 USB スティック)"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:172
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:168
msgid "Target directory for the generated blocklist 'adb_list.overall'."
msgstr "生æˆã•ã‚ŒãŸãƒ–ロックリスト 'adb_list.overall' ã®ä¿å­˜å…ˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™ã€‚"
@@ -544,7 +557,11 @@ msgstr ""
msgid "The syslog output, pre-filtered for adblock related messages only."
msgstr "Adblock ã«é–¢é€£ã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ã¿ãŒæŠ½å‡ºã•ã‚ŒãŸã€ã‚·ã‚¹ãƒ†ãƒ ãƒ­ã‚°å‡ºåŠ›ã§ã™ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:107
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:103
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:190
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:207
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:213
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:220
msgid "This change requires a manual service stop/re-start to take effect."
msgstr "ã“ã®å¤‰æ›´ã®å映ã«ã¯ã€æ‰‹å‹•ã§ã®ã‚µãƒ¼ãƒ“スã®åœæ­¢ / å†èµ·å‹•ãŒå¿…è¦ã§ã™ã€‚"
@@ -583,7 +600,7 @@ msgstr ""
msgid "Time"
msgstr "時刻"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:27
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:26
msgid ""
"To overwrite the default path use the 'DNS Directory' option in the extra "
"section below."
@@ -599,11 +616,11 @@ msgstr "ä¸Šä½ 10 レãƒãƒ¼ãƒˆ"
msgid "Total DNS Queries"
msgstr "ç· DNS クエリ"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:182
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:178
msgid "Trigger Delay"
msgstr "トリガé…延"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:101
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:97
msgid "Verbose Debug Logging"
msgstr "詳細ãªãƒ‡ãƒãƒƒã‚° ログ"
@@ -615,15 +632,15 @@ msgstr "コマンド実行中ã§ã™..."
msgid "Whitelist"
msgstr "ホワイトリスト"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:176
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:172
msgid "Whitelist File"
msgstr "ホワイトリスト ファイル"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:84
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:80
msgid "Yes"
msgstr "ã¯ã„"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:160
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:156
msgid ""
"You can use this restrictive blocklist e.g. for guest wifi or kidsafe "
"configurations."
@@ -631,7 +648,7 @@ msgstr ""
"ã“ã®åˆ¶ç´„ã®åŽ³ã—ã„ブロックリストをã€ã‚²ã‚¹ãƒˆ WiFi ã‚„å­ä¾›ã®å®‰å…¨ã‚’守る設定ãªã©ã«æ‰‹"
"å‹•ã§åˆ©ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:166
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:162
msgid ""
"e.g. to receive an email notification with every adblock update set this "
"value to 150000."
diff --git a/applications/luci-app-adblock/po/pt-br/adblock.po b/applications/luci-app-adblock/po/pt-br/adblock.po
index 1146dd7164..43c8b1c4a1 100644
--- a/applications/luci-app-adblock/po/pt-br/adblock.po
+++ b/applications/luci-app-adblock/po/pt-br/adblock.po
@@ -12,11 +12,11 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Language: pt_BR\n"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:158
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:154
msgid "'Jail' Blocklist Creation"
msgstr "'Enjaule' Criação de Lista Negra"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:74
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:70
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!"
@@ -30,7 +30,7 @@ msgid "Action"
msgstr ""
#: applications/luci-app-adblock/luasrc/controller/adblock.lua:17
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:11
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:10
msgid "Adblock"
msgstr "Adblock"
@@ -42,7 +42,7 @@ msgstr "Estado do Adblock"
msgid "Adblock Version"
msgstr "Versão do Adblock"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:183
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:179
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr ""
"Atraso de gatilho adicional em segundos antes do processamento do adblock "
@@ -57,15 +57,15 @@ msgstr "Avançado"
msgid "Answer"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:92
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:88
msgid "Archive Categories"
msgstr "Categorias Arquivadas"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:120
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:116
msgid "Backup Directory"
msgstr "Diretório da cópia de segurança"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:127
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:123
msgid "Backup Mode"
msgstr "Modo de Backup"
@@ -82,7 +82,7 @@ msgstr ""
msgid "Blocked Domain"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:73
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:69
msgid "Blocklist Sources"
msgstr "Fontes de listas de bloqueio"
@@ -90,7 +90,7 @@ msgstr "Fontes de listas de bloqueio"
msgid "Blocklist not found!"
msgstr "Lista preta não encontrada!"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:159
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:155
msgid ""
"Builds an additional 'Jail' list (/tmp/adb_list.jail) to block access to all "
"domains except those listed in the whitelist file."
@@ -98,7 +98,7 @@ msgstr ""
"Cria uma lista adicional (/tmp/adb_list.jail) para bloquear o acesso a todos "
"os domínios exceto aqueles listados na lista branca."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:49
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:48
msgid ""
"Choose 'none' to disable automatic startups, 'timed' to use a classic "
"timeout (default 30 sec.) or select another trigger interface."
@@ -116,7 +116,7 @@ msgstr ""
msgid "Collecting data..."
msgstr "Coletando dados..."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:12
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:11
msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr ""
@@ -132,7 +132,7 @@ msgstr ""
msgid "Count"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:117
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:113
msgid ""
"Create compressed blocklist backups, they will be used in case of download "
"errors or during startup in backup mode."
@@ -141,12 +141,12 @@ msgstr ""
"usadas em caso de falha ao baixar novas listas ou ao iniciar em modo de "
"backup."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:25
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:24
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:159
msgid "DNS Backend (DNS Directory)"
msgstr "Serviço DNS (Diretório DNS)"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:171
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:167
msgid "DNS Directory"
msgstr "Diretório DNS"
@@ -159,11 +159,11 @@ msgstr ""
msgid "Date"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:90
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:86
msgid "Description"
msgstr "Descrição"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:128
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:124
msgid ""
"Do not automatically update blocklists during startup, use blocklist backups "
"instead."
@@ -178,7 +178,7 @@ msgstr ""
msgid "Domain"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:36
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:35
msgid "Download Utility"
msgstr "Ferramenta para Baixar"
@@ -198,27 +198,27 @@ msgstr "Editar Configuração"
msgid "Edit Whitelist"
msgstr "Editar Lista Permitida"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:151
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:147
msgid "Email Notification"
msgstr "Notificação por Email"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:164
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:160
msgid "Email Notification Count"
msgstr "Quantidade para Notificação por Email"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:21
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:20
msgid "Enable Adblock"
msgstr "Habilitar adblock"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:116
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:112
msgid "Enable Blocklist Backup"
msgstr "Habilitar cópia de segurança da lista de bloqueio"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:139
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:135
msgid "Enable DNS Query Report"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:212
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:226
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB free RAM)"
@@ -226,13 +226,13 @@ msgstr ""
"Habilita a remoção de entradas duplicadas em dispositivos com pouca memória "
"(&lt; 64 MB de memória RAM livre)"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:102
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:98
msgid "Enable verbose debug logging in case of any processing error."
msgstr ""
"Habilita os registros de depuração detalhados em caso de qualquer erro de "
"processamento."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:77
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:73
msgid "Enabled"
msgstr "Habilitado"
@@ -240,19 +240,19 @@ msgstr "Habilitado"
msgid "End Date"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:98
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:94
msgid "Extra Options"
msgstr "Opções adicionais"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:187
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:183
msgid "Flush DNS Cache"
msgstr "Limpar cache DNS"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:188
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:184
msgid "Flush DNS Cache after adblock processing."
msgstr "Limpar cache DNS depois do processamento do adblock."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:13
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:12
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">check the online "
"documentation</a>"
@@ -260,7 +260,7 @@ msgstr ""
"Para mais informações <a href=\"%s\" target=\"_blank\">veja a documentação "
"externa</a>"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:134
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:130
msgid ""
"For further performance improvements you can raise this value, e.g. '8' or "
"'16' should be safe."
@@ -268,19 +268,19 @@ msgstr ""
"Para melhoramentos no desempenho, você pode aumentar este valor (ex: '8' ou "
"'16' deve ser seguro)."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:112
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:108
msgid "Force Local DNS"
msgstr "Force o DNS local"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:211
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:225
msgid "Force Overall Sort"
msgstr "Force Tipo Geral"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:177
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:173
msgid "Full path to the whitelist file."
msgstr "Caminho completo para a lista branca."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:140
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:136
msgid ""
"Gather dns related network traffic via tcpdump to provide a DNS Query Report "
"on demand."
@@ -300,7 +300,7 @@ msgstr "Última Execução"
msgid "Latest DNS Queries"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:48
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:47
msgid ""
"List of available network interfaces. Usually the startup will be triggered "
"by the 'wan' interface."
@@ -308,14 +308,14 @@ msgstr ""
"Lista das interfaces de redes disponíveis. Normalmente, o início será "
"desencadeado pela interface 'wan'."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:26
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:25
msgid ""
"List of supported DNS backends with their default list export directory."
msgstr ""
"Lista dos serviços DNS suportados com seu diretório padrão de exportação de "
"lista."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:37
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:36
msgid "List of supported and fully pre-configured download utilities."
msgstr "Lista de ferramentas suportadas para baixar listas."
@@ -329,11 +329,11 @@ msgstr "Carregando"
msgid "Logfile"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:105
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:101
msgid "Low Priority Service"
msgstr "Serviço de Baixa Prioridade"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:132
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:128
msgid "Max. Download Queue"
msgstr "Tamanho Máximo da Fila"
@@ -342,11 +342,11 @@ msgstr "Tamanho Máximo da Fila"
msgid "Name / IP-Address"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:86
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:82
msgid "No"
msgstr "Não"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:99
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:95
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr ""
@@ -377,11 +377,11 @@ msgstr ""
msgid "Please edit this file directly in a terminal session."
msgstr "Por favor edite esse arquivo direto em uma sessão de terminal."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:153
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:149
msgid "Please note: this needs manual 'msmtp' package installation and setup."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:141
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:137
msgid "Please note: this needs manual 'tcpdump-mini' package installation."
msgstr ""
@@ -393,7 +393,7 @@ msgstr "Consulta"
msgid "Query domains"
msgstr "Consulta de domínios"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:165
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:161
msgid ""
"Raise the minimum email notification count, to get emails if the overall "
"count is less or equal to the given limit (default 0),"
@@ -401,7 +401,7 @@ msgstr ""
"Aumente a quantidade mínima para notificar por email para receber mensagens "
"se a contagem total for menos ou igual a este limite (padrão 0)."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:113
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:109
msgid ""
"Redirect all DNS queries from 'lan' zone to the local resolver, apply to udp "
"and tcp protocol on ports 53, 853 and 5353."
@@ -424,32 +424,38 @@ msgstr "Atualizar as Fontes de Lista Negra"
msgid "Refresh Report"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:201
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:211
msgid "Report Chunk Count"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:206
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:218
msgid "Report Chunk Size"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:144
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:140
msgid "Report Directory"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:192
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:188
msgid "Report Interface"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:202
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:205
+msgid "Report Listen Port(s)"
+msgstr ""
+
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:212
msgid "Report chunk count used by tcpdump (default '5')."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:207
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:219
msgid "Report chunk size used by tcpdump in MB (default '1')."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:193
-msgid "Reporting interface used by tcpdump (default 'br-lan')."
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:189
+msgid ""
+"Reporting interface used by tcpdump, set to 'any' for multiple interfaces "
+"(default 'br-lan')."
msgstr ""
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:31
@@ -460,7 +466,7 @@ msgstr "Continuar"
msgid "Runtime Information"
msgstr "Informação de execução"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:80
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:76
msgid "SSL req."
msgstr "Req. de SSL"
@@ -470,7 +476,7 @@ msgstr "Req. de SSL"
msgid "Save"
msgstr "Salvar"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:152
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:148
msgid ""
"Send notification emails in case of a processing error or if domain count is "
"&le; 0."
@@ -478,7 +484,7 @@ msgstr ""
"Enviar notificações por email se ocorrer um erro de processamento ou se a "
"contagem por domínio for menor que 0."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:106
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:102
msgid ""
"Set the nice level to 'low priority' and the adblock background processing "
"will take less resources from the system."
@@ -486,17 +492,22 @@ msgstr ""
"Define o nível de prioridade para 'baixa', reduzindo o impacto do "
"processamento em segundo plano do adblock no seu sistema."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:133
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:129
msgid ""
"Size of the download queue to handle downloads &amp; list processing in "
"parallel (default '8')."
msgstr ""
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:206
+msgid ""
+"Space separated list of reporting port(s) used by tcpdump (default: '53')."
+msgstr ""
+
#: applications/luci-app-adblock/luasrc/view/adblock/report.htm:205
msgid "Start Date"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:47
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:46
msgid "Startup Trigger"
msgstr "Gatilho de Iniciação"
@@ -510,19 +521,19 @@ msgstr "Suspender"
msgid "Suspend / Resume Adblock"
msgstr "Suspender / Resumir adblock"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:121
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:117
msgid ""
"Target directory for adblock backups. Please use only a non-volatile disk, e."
"g. an external usb stick."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:145
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:141
msgid ""
"Target directory for dns related report files. Please use preferably a non-"
"volatile disk, e.g. an external usb stick."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:172
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:168
msgid "Target directory for the generated blocklist 'adb_list.overall'."
msgstr "Diretório para a lista nega gerada 'adb_list.overall'."
@@ -537,7 +548,11 @@ msgstr ""
msgid "The syslog output, pre-filtered for adblock related messages only."
msgstr "Mensagens do syslog relacionadas ao adblock."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:107
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:103
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:190
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:207
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:213
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:220
msgid "This change requires a manual service stop/re-start to take effect."
msgstr "Esta mudança requer um reinício manual do serviço para ser efetivada."
@@ -572,7 +587,7 @@ msgstr ""
msgid "Time"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:27
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:26
msgid ""
"To overwrite the default path use the 'DNS Directory' option in the extra "
"section below."
@@ -588,11 +603,11 @@ msgstr ""
msgid "Total DNS Queries"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:182
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:178
msgid "Trigger Delay"
msgstr "Atraso no gatilho"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:101
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:97
msgid "Verbose Debug Logging"
msgstr "Registros de Depuração Detalhados"
@@ -604,21 +619,21 @@ msgstr "Aguardando por comando para completar..."
msgid "Whitelist"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:176
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:172
msgid "Whitelist File"
msgstr "Lista Branca"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:84
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:80
msgid "Yes"
msgstr "Sim"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:160
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:156
msgid ""
"You can use this restrictive blocklist e.g. for guest wifi or kidsafe "
"configurations."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:166
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:162
msgid ""
"e.g. to receive an email notification with every adblock update set this "
"value to 150000."
diff --git a/applications/luci-app-adblock/po/ru/adblock.po b/applications/luci-app-adblock/po/ru/adblock.po
index 3aed4fe7b9..58febecfc7 100644
--- a/applications/luci-app-adblock/po/ru/adblock.po
+++ b/applications/luci-app-adblock/po/ru/adblock.po
@@ -15,11 +15,11 @@ msgstr ""
"Project-Info: Это техничеÑкий перевод, не доÑловный. Главное-удобный руÑÑкий "
"интерфейÑ, вÑе проверÑлоÑÑŒ в графичеÑком режиме, ÑовмеÑтим Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ apps\n"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:158
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:154
msgid "'Jail' Blocklist Creation"
msgstr "Создание Черного<br />ÑпиÑка 'Jail'"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:74
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:70
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!"
@@ -33,7 +33,7 @@ msgid "Action"
msgstr ""
#: applications/luci-app-adblock/luasrc/controller/adblock.lua:17
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:11
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:10
msgid "Adblock"
msgstr "AdBlock"
@@ -45,7 +45,7 @@ msgstr "СоÑтоÑние Adblock"
msgid "Adblock Version"
msgstr "ВерÑÐ¸Ñ Adblock"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:183
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:179
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð·Ð°Ð´ÐµÑ€Ð¶ÐºÐ° в Ñекундах до начала работы Adblock."
@@ -58,15 +58,15 @@ msgstr "Дополнительно"
msgid "Answer"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:92
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:88
msgid "Archive Categories"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:120
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:116
msgid "Backup Directory"
msgstr "Папка Ð´Ð»Ñ Ð±Ñкапа"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:127
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:123
msgid "Backup Mode"
msgstr "Режим ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð±ÐµÐºÐ°Ð¿Ð°"
@@ -83,7 +83,7 @@ msgstr ""
msgid "Blocked Domain"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:73
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:69
msgid "Blocklist Sources"
msgstr "ИÑточники ÑпиÑков блокировок"
@@ -91,13 +91,13 @@ msgstr "ИÑточники ÑпиÑков блокировок"
msgid "Blocklist not found!"
msgstr "СпиÑок блокировок не найден!"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:159
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:155
msgid ""
"Builds an additional 'Jail' list (/tmp/adb_list.jail) to block access to all "
"domains except those listed in the whitelist file."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:49
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:48
msgid ""
"Choose 'none' to disable automatic startups, 'timed' to use a classic "
"timeout (default 30 sec.) or select another trigger interface."
@@ -115,7 +115,7 @@ msgstr ""
msgid "Collecting data..."
msgstr "Сбор данных..."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:12
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:11
msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr ""
@@ -131,7 +131,7 @@ msgstr ""
msgid "Count"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:117
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:113
msgid ""
"Create compressed blocklist backups, they will be used in case of download "
"errors or during startup in backup mode."
@@ -139,12 +139,12 @@ msgstr ""
"Создание Ñжатых резервных копий ÑпиÑков блокировок, они будут иÑпользоватьÑÑ "
"в Ñлучае ошибок загрузки или при запуÑке в ручном режиме."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:25
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:24
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:159
msgid "DNS Backend (DNS Directory)"
msgstr "DNS бÑкенд (папка DNS)"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:171
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:167
msgid "DNS Directory"
msgstr "Папка DNS"
@@ -157,11 +157,11 @@ msgstr ""
msgid "Date"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:90
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:86
msgid "Description"
msgstr "ОпиÑание"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:128
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:124
msgid ""
"Do not automatically update blocklists during startup, use blocklist backups "
"instead."
@@ -176,7 +176,7 @@ msgstr ""
msgid "Domain"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:36
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:35
msgid "Download Utility"
msgstr "Утилита Ð´Ð»Ñ ÑкачиваниÑ"
@@ -196,27 +196,27 @@ msgstr "Редактировать config файл"
msgid "Edit Whitelist"
msgstr "Редактировать Белый ÑпиÑок"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:151
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:147
msgid "Email Notification"
msgstr "Email уведомлениÑ"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:164
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:160
msgid "Email Notification Count"
msgstr "Кол-во email уведомлений"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:21
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:20
msgid "Enable Adblock"
msgstr "Включить Adblock"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:116
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:112
msgid "Enable Blocklist Backup"
msgstr "БÑкап ÑпиÑка блокировок"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:139
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:135
msgid "Enable DNS Query Report"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:212
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:226
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB free RAM)"
@@ -225,11 +225,11 @@ msgstr ""
"уÑтройÑтвах Ñ Ð½Ð¸Ð·ÐºÐ¸Ð¼ объемом памÑти (&lt; 64 MB Ñвободной оперативной "
"памÑти)."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:102
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:98
msgid "Enable verbose debug logging in case of any processing error."
msgstr "Включить подробное ведение журнала отладки в Ñлучае ошибок обработки."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:77
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:73
msgid "Enabled"
msgstr "Включено"
@@ -237,19 +237,19 @@ msgstr "Включено"
msgid "End Date"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:98
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:94
msgid "Extra Options"
msgstr "Дополнительные наÑтройки"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:187
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:183
msgid "Flush DNS Cache"
msgstr "ОчиÑтка кÑша DNS"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:188
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:184
msgid "Flush DNS Cache after adblock processing."
msgstr "ОчиÑтка DNS-кÑша поÑле обработки Adblock-ом."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:13
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:12
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">check the online "
"documentation</a>"
@@ -257,7 +257,7 @@ msgstr ""
"<br />Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации <a href=\"%s\" target=\"_blank"
"\"> Ñмотрите онлайн документацию</a>."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:134
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:130
msgid ""
"For further performance improvements you can raise this value, e.g. '8' or "
"'16' should be safe."
@@ -265,19 +265,19 @@ msgstr ""
"Ð”Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ Ð¿Ð¾Ð²Ñ‹ÑˆÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñти вы можете увеличить Ñто "
"значение, например Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ '8' или '16' должны быть безопаÑными."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:112
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:108
msgid "Force Local DNS"
msgstr "Локальный DNS"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:211
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:225
msgid "Force Overall Sort"
msgstr "ÐŸÑ€Ð¸Ð½ÑƒÐ´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¿Ð¾Ð»Ð½Ð°Ñ Ñортировка"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:177
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:173
msgid "Full path to the whitelist file."
msgstr "Полный путь к файлу Белого ÑпиÑка."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:140
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:136
msgid ""
"Gather dns related network traffic via tcpdump to provide a DNS Query Report "
"on demand."
@@ -297,18 +297,18 @@ msgstr "ПоÑледний запуÑк"
msgid "Latest DNS Queries"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:48
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:47
msgid ""
"List of available network interfaces. Usually the startup will be triggered "
"by the 'wan' interface."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:26
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:25
msgid ""
"List of supported DNS backends with their default list export directory."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:37
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:36
msgid "List of supported and fully pre-configured download utilities."
msgstr ""
"СпиÑок поддерживаемых и полноÑтью предварительно наÑтроенных утилит Ð´Ð»Ñ "
@@ -324,11 +324,11 @@ msgstr "Загрузка"
msgid "Logfile"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:105
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:101
msgid "Low Priority Service"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:132
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:128
msgid "Max. Download Queue"
msgstr "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð¾Ñ‡ÐµÑ€ÐµÐ´ÑŒ загрузки"
@@ -337,11 +337,11 @@ msgstr "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð¾Ñ‡ÐµÑ€ÐµÐ´ÑŒ загрузки"
msgid "Name / IP-Address"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:86
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:82
msgid "No"
msgstr "Ðет"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:99
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:95
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr ""
@@ -371,11 +371,11 @@ msgstr ""
msgid "Please edit this file directly in a terminal session."
msgstr "Редактируйте данный файл только в терминале."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:153
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:149
msgid "Please note: this needs manual 'msmtp' package installation and setup."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:141
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:137
msgid "Please note: this needs manual 'tcpdump-mini' package installation."
msgstr ""
@@ -387,13 +387,13 @@ msgstr "ЗапроÑ"
msgid "Query domains"
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð´Ð¾Ð¼ÐµÐ½Ð¾Ð²"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:165
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:161
msgid ""
"Raise the minimum email notification count, to get emails if the overall "
"count is less or equal to the given limit (default 0),"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:113
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:109
msgid ""
"Redirect all DNS queries from 'lan' zone to the local resolver, apply to udp "
"and tcp protocol on ports 53, 853 and 5353."
@@ -414,32 +414,38 @@ msgstr ""
msgid "Refresh Report"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:201
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:211
msgid "Report Chunk Count"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:206
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:218
msgid "Report Chunk Size"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:144
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:140
msgid "Report Directory"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:192
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:188
msgid "Report Interface"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:202
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:205
+msgid "Report Listen Port(s)"
+msgstr ""
+
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:212
msgid "Report chunk count used by tcpdump (default '5')."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:207
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:219
msgid "Report chunk size used by tcpdump in MB (default '1')."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:193
-msgid "Reporting interface used by tcpdump (default 'br-lan')."
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:189
+msgid ""
+"Reporting interface used by tcpdump, set to 'any' for multiple interfaces "
+"(default 'br-lan')."
msgstr ""
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:31
@@ -450,7 +456,7 @@ msgstr "Возобновить"
msgid "Runtime Information"
msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ ÑоÑтоÑнии"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:80
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:76
msgid "SSL req."
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ SSL"
@@ -460,29 +466,34 @@ msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ SSL"
msgid "Save"
msgstr "Сохранить"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:152
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:148
msgid ""
"Send notification emails in case of a processing error or if domain count is "
"&le; 0."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:106
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:102
msgid ""
"Set the nice level to 'low priority' and the adblock background processing "
"will take less resources from the system."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:133
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:129
msgid ""
"Size of the download queue to handle downloads &amp; list processing in "
"parallel (default '8')."
msgstr ""
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:206
+msgid ""
+"Space separated list of reporting port(s) used by tcpdump (default: '53')."
+msgstr ""
+
#: applications/luci-app-adblock/luasrc/view/adblock/report.htm:205
msgid "Start Date"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:47
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:46
msgid "Startup Trigger"
msgstr "Триггер запуÑка"
@@ -496,19 +507,19 @@ msgstr "ПриоÑтановить"
msgid "Suspend / Resume Adblock"
msgstr "ПриоÑтановить / Возобновить Adblock"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:121
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:117
msgid ""
"Target directory for adblock backups. Please use only a non-volatile disk, e."
"g. an external usb stick."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:145
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:141
msgid ""
"Target directory for dns related report files. Please use preferably a non-"
"volatile disk, e.g. an external usb stick."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:172
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:168
msgid "Target directory for the generated blocklist 'adb_list.overall'."
msgstr "Папка Ð´Ð»Ñ Ñозданного ÑпиÑка блокировки 'adb_list.overall'."
@@ -524,7 +535,11 @@ msgstr ""
msgid "The syslog output, pre-filtered for adblock related messages only."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:107
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:103
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:190
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:207
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:213
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:220
msgid "This change requires a manual service stop/re-start to take effect."
msgstr ""
@@ -559,7 +574,7 @@ msgstr ""
msgid "Time"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:27
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:26
msgid ""
"To overwrite the default path use the 'DNS Directory' option in the extra "
"section below."
@@ -575,11 +590,11 @@ msgstr ""
msgid "Total DNS Queries"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:182
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:178
msgid "Trigger Delay"
msgstr "Задержка запуÑка"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:101
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:97
msgid "Verbose Debug Logging"
msgstr "Подробный журнал отладки"
@@ -591,21 +606,21 @@ msgstr "Ожидание Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
msgid "Whitelist"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:176
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:172
msgid "Whitelist File"
msgstr "Файл Белого ÑпиÑка"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:84
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:80
msgid "Yes"
msgstr "Да"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:160
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:156
msgid ""
"You can use this restrictive blocklist e.g. for guest wifi or kidsafe "
"configurations."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:166
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:162
msgid ""
"e.g. to receive an email notification with every adblock update set this "
"value to 150000."
diff --git a/applications/luci-app-adblock/po/sv/adblock.po b/applications/luci-app-adblock/po/sv/adblock.po
index 6a934a2394..90c12c7114 100644
--- a/applications/luci-app-adblock/po/sv/adblock.po
+++ b/applications/luci-app-adblock/po/sv/adblock.po
@@ -1,11 +1,11 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8\n"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:158
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:154
msgid "'Jail' Blocklist Creation"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:74
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:70
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!"
@@ -17,7 +17,7 @@ msgid "Action"
msgstr ""
#: applications/luci-app-adblock/luasrc/controller/adblock.lua:17
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:11
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:10
msgid "Adblock"
msgstr "Adblock"
@@ -29,7 +29,7 @@ msgstr "Status för Adblock"
msgid "Adblock Version"
msgstr "Version av Adblock"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:183
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:179
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr ""
@@ -42,15 +42,15 @@ msgstr "Avancerat"
msgid "Answer"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:92
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:88
msgid "Archive Categories"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:120
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:116
msgid "Backup Directory"
msgstr "Säkerhetskopiera mapp"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:127
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:123
msgid "Backup Mode"
msgstr ""
@@ -67,7 +67,7 @@ msgstr ""
msgid "Blocked Domain"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:73
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:69
msgid "Blocklist Sources"
msgstr "Källor för blockeringslistor"
@@ -75,13 +75,13 @@ msgstr "Källor för blockeringslistor"
msgid "Blocklist not found!"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:159
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:155
msgid ""
"Builds an additional 'Jail' list (/tmp/adb_list.jail) to block access to all "
"domains except those listed in the whitelist file."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:49
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:48
msgid ""
"Choose 'none' to disable automatic startups, 'timed' to use a classic "
"timeout (default 30 sec.) or select another trigger interface."
@@ -99,7 +99,7 @@ msgstr ""
msgid "Collecting data..."
msgstr "Samlar in data..."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:12
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:11
msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr ""
@@ -115,18 +115,18 @@ msgstr ""
msgid "Count"
msgstr "Räkna"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:117
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:113
msgid ""
"Create compressed blocklist backups, they will be used in case of download "
"errors or during startup in backup mode."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:25
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:24
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:159
msgid "DNS Backend (DNS Directory)"
msgstr "DNS-bakände (DNS-mapp)"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:171
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:167
msgid "DNS Directory"
msgstr "DNS-mapp"
@@ -139,11 +139,11 @@ msgstr ""
msgid "Date"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:90
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:86
msgid "Description"
msgstr "Beskrivning"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:128
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:124
msgid ""
"Do not automatically update blocklists during startup, use blocklist backups "
"instead."
@@ -158,7 +158,7 @@ msgstr ""
msgid "Domain"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:36
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:35
msgid "Download Utility"
msgstr ""
@@ -178,37 +178,37 @@ msgstr "Redigerar konfigurationen"
msgid "Edit Whitelist"
msgstr "Redigera vitlista"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:151
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:147
msgid "Email Notification"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:164
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:160
msgid "Email Notification Count"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:21
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:20
msgid "Enable Adblock"
msgstr "Aktivera adblock"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:116
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:112
msgid "Enable Blocklist Backup"
msgstr "Aktivera säkerhetskopiering av blockeringslistan"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:139
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:135
msgid "Enable DNS Query Report"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:212
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:226
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB free RAM)"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:102
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:98
msgid "Enable verbose debug logging in case of any processing error."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:77
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:73
msgid "Enabled"
msgstr "Aktiverad"
@@ -216,43 +216,43 @@ msgstr "Aktiverad"
msgid "End Date"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:98
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:94
msgid "Extra Options"
msgstr "Extra alternativ"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:187
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:183
msgid "Flush DNS Cache"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:188
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:184
msgid "Flush DNS Cache after adblock processing."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:13
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:12
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">check the online "
"documentation</a>"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:134
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:130
msgid ""
"For further performance improvements you can raise this value, e.g. '8' or "
"'16' should be safe."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:112
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:108
msgid "Force Local DNS"
msgstr "Tvinga lokal DNS"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:211
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:225
msgid "Force Overall Sort"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:177
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:173
msgid "Full path to the whitelist file."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:140
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:136
msgid ""
"Gather dns related network traffic via tcpdump to provide a DNS Query Report "
"on demand."
@@ -273,18 +273,18 @@ msgstr "Kördes senast"
msgid "Latest DNS Queries"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:48
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:47
msgid ""
"List of available network interfaces. Usually the startup will be triggered "
"by the 'wan' interface."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:26
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:25
msgid ""
"List of supported DNS backends with their default list export directory."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:37
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:36
msgid "List of supported and fully pre-configured download utilities."
msgstr ""
@@ -298,11 +298,11 @@ msgstr "Laddar"
msgid "Logfile"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:105
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:101
msgid "Low Priority Service"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:132
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:128
msgid "Max. Download Queue"
msgstr ""
@@ -311,11 +311,11 @@ msgstr ""
msgid "Name / IP-Address"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:86
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:82
msgid "No"
msgstr "Nej"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:99
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:95
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr ""
@@ -341,11 +341,11 @@ msgstr ""
msgid "Please edit this file directly in a terminal session."
msgstr "Vänligen redigera den här filen direkt i en terminal-session."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:153
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:149
msgid "Please note: this needs manual 'msmtp' package installation and setup."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:141
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:137
msgid "Please note: this needs manual 'tcpdump-mini' package installation."
msgstr ""
@@ -357,13 +357,13 @@ msgstr "Fråga"
msgid "Query domains"
msgstr "Fråga efter domäner"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:165
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:161
msgid ""
"Raise the minimum email notification count, to get emails if the overall "
"count is less or equal to the given limit (default 0),"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:113
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:109
msgid ""
"Redirect all DNS queries from 'lan' zone to the local resolver, apply to udp "
"and tcp protocol on ports 53, 853 and 5353."
@@ -384,32 +384,38 @@ msgstr ""
msgid "Refresh Report"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:201
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:211
msgid "Report Chunk Count"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:206
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:218
msgid "Report Chunk Size"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:144
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:140
msgid "Report Directory"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:192
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:188
msgid "Report Interface"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:202
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:205
+msgid "Report Listen Port(s)"
+msgstr ""
+
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:212
msgid "Report chunk count used by tcpdump (default '5')."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:207
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:219
msgid "Report chunk size used by tcpdump in MB (default '1')."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:193
-msgid "Reporting interface used by tcpdump (default 'br-lan')."
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:189
+msgid ""
+"Reporting interface used by tcpdump, set to 'any' for multiple interfaces "
+"(default 'br-lan')."
msgstr ""
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:31
@@ -420,7 +426,7 @@ msgstr "Ã…teruppta"
msgid "Runtime Information"
msgstr "Information om körtid"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:80
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:76
msgid "SSL req."
msgstr "SSL-rek."
@@ -430,29 +436,34 @@ msgstr "SSL-rek."
msgid "Save"
msgstr "Spara"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:152
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:148
msgid ""
"Send notification emails in case of a processing error or if domain count is "
"&le; 0."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:106
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:102
msgid ""
"Set the nice level to 'low priority' and the adblock background processing "
"will take less resources from the system."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:133
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:129
msgid ""
"Size of the download queue to handle downloads &amp; list processing in "
"parallel (default '8')."
msgstr ""
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:206
+msgid ""
+"Space separated list of reporting port(s) used by tcpdump (default: '53')."
+msgstr ""
+
#: applications/luci-app-adblock/luasrc/view/adblock/report.htm:205
msgid "Start Date"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:47
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:46
msgid "Startup Trigger"
msgstr "Uppstartslösare"
@@ -466,19 +477,19 @@ msgstr "Stäng av"
msgid "Suspend / Resume Adblock"
msgstr "Upphäv / Återuppta adblock"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:121
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:117
msgid ""
"Target directory for adblock backups. Please use only a non-volatile disk, e."
"g. an external usb stick."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:145
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:141
msgid ""
"Target directory for dns related report files. Please use preferably a non-"
"volatile disk, e.g. an external usb stick."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:172
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:168
msgid "Target directory for the generated blocklist 'adb_list.overall'."
msgstr ""
@@ -492,7 +503,11 @@ msgstr ""
msgid "The syslog output, pre-filtered for adblock related messages only."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:107
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:103
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:190
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:207
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:213
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:220
msgid "This change requires a manual service stop/re-start to take effect."
msgstr ""
@@ -525,7 +540,7 @@ msgstr ""
msgid "Time"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:27
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:26
msgid ""
"To overwrite the default path use the 'DNS Directory' option in the extra "
"section below."
@@ -539,11 +554,11 @@ msgstr ""
msgid "Total DNS Queries"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:182
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:178
msgid "Trigger Delay"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:101
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:97
msgid "Verbose Debug Logging"
msgstr ""
@@ -555,21 +570,21 @@ msgstr "Väntar på att kommandot ska slutföras..."
msgid "Whitelist"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:176
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:172
msgid "Whitelist File"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:84
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:80
msgid "Yes"
msgstr "Ja"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:160
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:156
msgid ""
"You can use this restrictive blocklist e.g. for guest wifi or kidsafe "
"configurations."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:166
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:162
msgid ""
"e.g. to receive an email notification with every adblock update set this "
"value to 150000."
diff --git a/applications/luci-app-adblock/po/templates/adblock.pot b/applications/luci-app-adblock/po/templates/adblock.pot
index 4510e92499..0db673683c 100644
--- a/applications/luci-app-adblock/po/templates/adblock.pot
+++ b/applications/luci-app-adblock/po/templates/adblock.pot
@@ -1,11 +1,11 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:158
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:154
msgid "'Jail' Blocklist Creation"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:74
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:70
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!"
@@ -17,7 +17,7 @@ msgid "Action"
msgstr ""
#: applications/luci-app-adblock/luasrc/controller/adblock.lua:17
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:11
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:10
msgid "Adblock"
msgstr ""
@@ -29,7 +29,7 @@ msgstr ""
msgid "Adblock Version"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:183
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:179
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr ""
@@ -42,15 +42,15 @@ msgstr ""
msgid "Answer"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:92
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:88
msgid "Archive Categories"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:120
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:116
msgid "Backup Directory"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:127
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:123
msgid "Backup Mode"
msgstr ""
@@ -67,7 +67,7 @@ msgstr ""
msgid "Blocked Domain"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:73
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:69
msgid "Blocklist Sources"
msgstr ""
@@ -75,13 +75,13 @@ msgstr ""
msgid "Blocklist not found!"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:159
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:155
msgid ""
"Builds an additional 'Jail' list (/tmp/adb_list.jail) to block access to all "
"domains except those listed in the whitelist file."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:49
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:48
msgid ""
"Choose 'none' to disable automatic startups, 'timed' to use a classic "
"timeout (default 30 sec.) or select another trigger interface."
@@ -96,7 +96,7 @@ msgstr ""
msgid "Collecting data..."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:12
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:11
msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr ""
@@ -110,18 +110,18 @@ msgstr ""
msgid "Count"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:117
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:113
msgid ""
"Create compressed blocklist backups, they will be used in case of download "
"errors or during startup in backup mode."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:25
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:24
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:159
msgid "DNS Backend (DNS Directory)"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:171
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:167
msgid "DNS Directory"
msgstr ""
@@ -134,11 +134,11 @@ msgstr ""
msgid "Date"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:90
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:86
msgid "Description"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:128
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:124
msgid ""
"Do not automatically update blocklists during startup, use blocklist backups "
"instead."
@@ -151,7 +151,7 @@ msgstr ""
msgid "Domain"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:36
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:35
msgid "Download Utility"
msgstr ""
@@ -171,37 +171,37 @@ msgstr ""
msgid "Edit Whitelist"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:151
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:147
msgid "Email Notification"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:164
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:160
msgid "Email Notification Count"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:21
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:20
msgid "Enable Adblock"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:116
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:112
msgid "Enable Blocklist Backup"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:139
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:135
msgid "Enable DNS Query Report"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:212
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:226
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB free RAM)"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:102
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:98
msgid "Enable verbose debug logging in case of any processing error."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:77
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:73
msgid "Enabled"
msgstr ""
@@ -209,43 +209,43 @@ msgstr ""
msgid "End Date"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:98
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:94
msgid "Extra Options"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:187
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:183
msgid "Flush DNS Cache"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:188
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:184
msgid "Flush DNS Cache after adblock processing."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:13
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:12
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">check the online "
"documentation</a>"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:134
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:130
msgid ""
"For further performance improvements you can raise this value, e.g. '8' or "
"'16' should be safe."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:112
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:108
msgid "Force Local DNS"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:211
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:225
msgid "Force Overall Sort"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:177
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:173
msgid "Full path to the whitelist file."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:140
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:136
msgid ""
"Gather dns related network traffic via tcpdump to provide a DNS Query Report "
"on demand."
@@ -265,18 +265,18 @@ msgstr ""
msgid "Latest DNS Queries"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:48
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:47
msgid ""
"List of available network interfaces. Usually the startup will be triggered "
"by the 'wan' interface."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:26
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:25
msgid ""
"List of supported DNS backends with their default list export directory."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:37
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:36
msgid "List of supported and fully pre-configured download utilities."
msgstr ""
@@ -290,11 +290,11 @@ msgstr ""
msgid "Logfile"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:105
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:101
msgid "Low Priority Service"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:132
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:128
msgid "Max. Download Queue"
msgstr ""
@@ -303,11 +303,11 @@ msgstr ""
msgid "Name / IP-Address"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:86
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:82
msgid "No"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:99
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:95
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr ""
@@ -333,11 +333,11 @@ msgstr ""
msgid "Please edit this file directly in a terminal session."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:153
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:149
msgid "Please note: this needs manual 'msmtp' package installation and setup."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:141
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:137
msgid "Please note: this needs manual 'tcpdump-mini' package installation."
msgstr ""
@@ -349,13 +349,13 @@ msgstr ""
msgid "Query domains"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:165
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:161
msgid ""
"Raise the minimum email notification count, to get emails if the overall "
"count is less or equal to the given limit (default 0),"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:113
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:109
msgid ""
"Redirect all DNS queries from 'lan' zone to the local resolver, apply to udp "
"and tcp protocol on ports 53, 853 and 5353."
@@ -376,32 +376,38 @@ msgstr ""
msgid "Refresh Report"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:201
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:211
msgid "Report Chunk Count"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:206
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:218
msgid "Report Chunk Size"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:144
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:140
msgid "Report Directory"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:192
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:188
msgid "Report Interface"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:202
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:205
+msgid "Report Listen Port(s)"
+msgstr ""
+
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:212
msgid "Report chunk count used by tcpdump (default '5')."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:207
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:219
msgid "Report chunk size used by tcpdump in MB (default '1')."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:193
-msgid "Reporting interface used by tcpdump (default 'br-lan')."
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:189
+msgid ""
+"Reporting interface used by tcpdump, set to 'any' for multiple interfaces "
+"(default 'br-lan')."
msgstr ""
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:31
@@ -412,7 +418,7 @@ msgstr ""
msgid "Runtime Information"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:80
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:76
msgid "SSL req."
msgstr ""
@@ -422,29 +428,34 @@ msgstr ""
msgid "Save"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:152
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:148
msgid ""
"Send notification emails in case of a processing error or if domain count is "
"&le; 0."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:106
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:102
msgid ""
"Set the nice level to 'low priority' and the adblock background processing "
"will take less resources from the system."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:133
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:129
msgid ""
"Size of the download queue to handle downloads &amp; list processing in "
"parallel (default '8')."
msgstr ""
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:206
+msgid ""
+"Space separated list of reporting port(s) used by tcpdump (default: '53')."
+msgstr ""
+
#: applications/luci-app-adblock/luasrc/view/adblock/report.htm:205
msgid "Start Date"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:47
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:46
msgid "Startup Trigger"
msgstr ""
@@ -458,19 +469,19 @@ msgstr ""
msgid "Suspend / Resume Adblock"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:121
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:117
msgid ""
"Target directory for adblock backups. Please use only a non-volatile disk, e."
"g. an external usb stick."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:145
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:141
msgid ""
"Target directory for dns related report files. Please use preferably a non-"
"volatile disk, e.g. an external usb stick."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:172
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:168
msgid "Target directory for the generated blocklist 'adb_list.overall'."
msgstr ""
@@ -484,7 +495,11 @@ msgstr ""
msgid "The syslog output, pre-filtered for adblock related messages only."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:107
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:103
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:190
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:207
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:213
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:220
msgid "This change requires a manual service stop/re-start to take effect."
msgstr ""
@@ -515,7 +530,7 @@ msgstr ""
msgid "Time"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:27
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:26
msgid ""
"To overwrite the default path use the 'DNS Directory' option in the extra "
"section below."
@@ -529,11 +544,11 @@ msgstr ""
msgid "Total DNS Queries"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:182
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:178
msgid "Trigger Delay"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:101
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:97
msgid "Verbose Debug Logging"
msgstr ""
@@ -545,21 +560,21 @@ msgstr ""
msgid "Whitelist"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:176
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:172
msgid "Whitelist File"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:84
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:80
msgid "Yes"
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:160
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:156
msgid ""
"You can use this restrictive blocklist e.g. for guest wifi or kidsafe "
"configurations."
msgstr ""
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:166
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:162
msgid ""
"e.g. to receive an email notification with every adblock update set this "
"value to 150000."
diff --git a/applications/luci-app-adblock/po/zh-cn/adblock.po b/applications/luci-app-adblock/po/zh-cn/adblock.po
index 2a924078fb..b03f8a0bbc 100644
--- a/applications/luci-app-adblock/po/zh-cn/adblock.po
+++ b/applications/luci-app-adblock/po/zh-cn/adblock.po
@@ -15,11 +15,11 @@ msgstr ""
"X-Generator: Gtranslator 3.30.1\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:158
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:154
msgid "'Jail' Blocklist Creation"
msgstr "“Jailâ€æ‹¦æˆªåˆ—表创建"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:74
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:70
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!"
@@ -33,7 +33,7 @@ msgid "Action"
msgstr "动作"
#: applications/luci-app-adblock/luasrc/controller/adblock.lua:17
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:11
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:10
msgid "Adblock"
msgstr "Adblock"
@@ -45,7 +45,7 @@ msgstr "Adblock 状æ€"
msgid "Adblock Version"
msgstr "Adblock 版本"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:183
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:179
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr "è§¦å‘ Adblock 开始处ç†å‰çš„é¢å¤–延迟(秒)。"
@@ -58,15 +58,15 @@ msgstr "高级"
msgid "Answer"
msgstr "回答"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:92
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:88
msgid "Archive Categories"
msgstr "存档类别"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:120
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:116
msgid "Backup Directory"
msgstr "备份目录"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:127
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:123
msgid "Backup Mode"
msgstr "备份模å¼"
@@ -83,7 +83,7 @@ msgstr "已拦截的 DNS 请求"
msgid "Blocked Domain"
msgstr "已拦截的域å"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:73
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:69
msgid "Blocklist Sources"
msgstr "拦截列表æ¥æº"
@@ -91,7 +91,7 @@ msgstr "拦截列表æ¥æº"
msgid "Blocklist not found!"
msgstr "拦截列表未找到ï¼"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:159
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:155
msgid ""
"Builds an additional 'Jail' list (/tmp/adb_list.jail) to block access to all "
"domains except those listed in the whitelist file."
@@ -99,7 +99,7 @@ msgstr ""
"构建一个é¢å¤–的“Jailâ€åˆ—表(/tmp/adb_list.jail),除白åå•æ–‡ä»¶ä¸­åˆ—出的域å外,"
"阻止访问其他所有的域å。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:49
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:48
msgid ""
"Choose 'none' to disable automatic startups, 'timed' to use a classic "
"timeout (default 30 sec.) or select another trigger interface."
@@ -116,7 +116,7 @@ msgstr "客户端"
msgid "Collecting data..."
msgstr "正在收集数æ®..."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:12
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:11
msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr "Adblock é…置工具,通过 DNS æ¥æ‹¦æˆªå¹¿å‘Šå’Œé˜»æ­¢åŸŸå。"
@@ -130,18 +130,18 @@ msgstr "Adblock é…置工具,通过 DNS æ¥æ‹¦æˆªå¹¿å‘Šå’Œé˜»æ­¢åŸŸå。"
msgid "Count"
msgstr "计数"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:117
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:113
msgid ""
"Create compressed blocklist backups, they will be used in case of download "
"errors or during startup in backup mode."
msgstr "创建压缩的拦截列表备份,它们将在下载错误或备份模å¼å¯åŠ¨æœŸé—´ä½¿ç”¨ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:25
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:24
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:159
msgid "DNS Backend (DNS Directory)"
msgstr "DNS åŽç«¯ï¼ˆDNS 目录)"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:171
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:167
msgid "DNS Directory"
msgstr "DNS 目录"
@@ -154,11 +154,11 @@ msgstr "DNS 查询报告"
msgid "Date"
msgstr "日期"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:90
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:86
msgid "Description"
msgstr "æè¿°"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:128
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:124
msgid ""
"Do not automatically update blocklists during startup, use blocklist backups "
"instead."
@@ -171,7 +171,7 @@ msgstr "å¯åŠ¨æœŸé—´ä¸è¦è‡ªåŠ¨æ›´æ–° blocklists,改用 blocklists 的备份ã
msgid "Domain"
msgstr "域å"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:36
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:35
msgid "Download Utility"
msgstr "下载工具"
@@ -191,37 +191,37 @@ msgstr "编辑设置"
msgid "Edit Whitelist"
msgstr "编辑白åå•"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:151
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:147
msgid "Email Notification"
msgstr "Email æ醒"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:164
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:160
msgid "Email Notification Count"
msgstr "Email æ醒计数"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:21
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:20
msgid "Enable Adblock"
msgstr "å¯ç”¨ Adblock"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:116
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:112
msgid "Enable Blocklist Backup"
msgstr "å¯ç”¨ Blocklist 备份"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:139
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:135
msgid "Enable DNS Query Report"
msgstr "å¯ç”¨ DNS 查询报告"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:212
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:226
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB free RAM)"
msgstr "在低内存设备上å¯ç”¨ç§¯æžçš„内存整体排åº/é‡å¤ç§»é™¤ï¼ˆ&lt; 64 MB 空闲内存)"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:102
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:98
msgid "Enable verbose debug logging in case of any processing error."
msgstr "在出现任何处ç†é”™è¯¯çš„情况下å¯ç”¨è¯¦ç»†è°ƒè¯•æ—¥å¿—记录。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:77
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:73
msgid "Enabled"
msgstr "å·²å¯ç”¨"
@@ -229,43 +229,43 @@ msgstr "å·²å¯ç”¨"
msgid "End Date"
msgstr "结æŸæ—¥æœŸ"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:98
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:94
msgid "Extra Options"
msgstr "é¢å¤–选项"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:187
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:183
msgid "Flush DNS Cache"
msgstr "清空 DNS 缓存"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:188
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:184
msgid "Flush DNS Cache after adblock processing."
msgstr "在 adblock 进程å¯åŠ¨åŽæ¸…空 DNS 缓存。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:13
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:12
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">check the online "
"documentation</a>"
msgstr "进一步信æ¯<a href=\"%s\" target=\"_blank\">请访问在线文档</a>"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:134
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:130
msgid ""
"For further performance improvements you can raise this value, e.g. '8' or "
"'16' should be safe."
msgstr "为了进一步æ高性能,您å¯ä»¥æ高此值,例如:8 或 16 应该是安全的。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:112
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:108
msgid "Force Local DNS"
msgstr "强制本地 DNS"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:211
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:225
msgid "Force Overall Sort"
msgstr "强制整体排åº"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:177
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:173
msgid "Full path to the whitelist file."
msgstr "白åå•æ–‡ä»¶çš„全路径。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:140
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:136
msgid ""
"Gather dns related network traffic via tcpdump to provide a DNS Query Report "
"on demand."
@@ -285,18 +285,18 @@ msgstr "最åŽè¿è¡Œ"
msgid "Latest DNS Queries"
msgstr "最新的 DNS 查询"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:48
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:47
msgid ""
"List of available network interfaces. Usually the startup will be triggered "
"by the 'wan' interface."
msgstr "å¯ç”¨ç½‘络接å£åˆ—表。通常å¯åŠ¨å°†ç”±â€œwanâ€æŽ¥å£è§¦å‘。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:26
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:25
msgid ""
"List of supported DNS backends with their default list export directory."
msgstr "支æŒçš„ DNS åŽç«¯åˆ—表åŠå…¶é»˜è®¤åˆ—表导出目录。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:37
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:36
msgid "List of supported and fully pre-configured download utilities."
msgstr "支æŒå’Œå®Œå…¨é¢„é…置的下载工具列表。"
@@ -310,11 +310,11 @@ msgstr "加载中"
msgid "Logfile"
msgstr "日志文件"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:105
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:101
msgid "Low Priority Service"
msgstr "低优先级æœåŠ¡"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:132
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:128
msgid "Max. Download Queue"
msgstr "最大下载队列"
@@ -323,11 +323,11 @@ msgstr "最大下载队列"
msgid "Name / IP-Address"
msgstr "å称 / IP 地å€"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:86
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:82
msgid "No"
msgstr "å¦"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:99
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:95
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr "在默认设置并ä¸é€‚åˆæ‚¨æ—¶çš„é¢å¤–选项。"
@@ -355,11 +355,11 @@ msgstr ""
msgid "Please edit this file directly in a terminal session."
msgstr "请在终端会è¯ä¸­ç›´æŽ¥ç¼–辑此文件。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:153
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:149
msgid "Please note: this needs manual 'msmtp' package installation and setup."
msgstr "请注æ„:这需è¦æ‰‹åŠ¨å®‰è£…和设置“msmtpâ€è½¯ä»¶åŒ…。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:141
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:137
msgid "Please note: this needs manual 'tcpdump-mini' package installation."
msgstr "请注æ„:这需è¦æ‰‹åŠ¨å®‰è£…和设置“tcpdump-miniâ€è½¯ä»¶åŒ…。"
@@ -371,7 +371,7 @@ msgstr "查询"
msgid "Query domains"
msgstr "查询域"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:165
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:161
msgid ""
"Raise the minimum email notification count, to get emails if the overall "
"count is less or equal to the given limit (default 0),"
@@ -379,7 +379,7 @@ msgstr ""
"如果总数å°äºŽæˆ–等于给定é™åˆ¶ï¼ˆé»˜è®¤ä¸º 0),请æ高最å°ç”µå­é‚®ä»¶é€šçŸ¥æ•°ï¼Œä»¥èŽ·å–电å­"
"邮件。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:113
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:109
msgid ""
"Redirect all DNS queries from 'lan' zone to the local resolver, apply to udp "
"and tcp protocol on ports 53, 853 and 5353."
@@ -402,33 +402,39 @@ msgstr "刷新拦截列表æº"
msgid "Refresh Report"
msgstr "刷新报告"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:201
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:211
msgid "Report Chunk Count"
msgstr "报告区å—计数"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:206
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:218
msgid "Report Chunk Size"
msgstr "报告区å—大å°"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:144
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:140
msgid "Report Directory"
msgstr "报告目录"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:192
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:188
msgid "Report Interface"
msgstr "报告接å£"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:202
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:205
+msgid "Report Listen Port(s)"
+msgstr ""
+
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:212
msgid "Report chunk count used by tcpdump (default '5')."
msgstr "tcpdump 将使用的报告区å—计数(默认为“5â€ï¼‰ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:207
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:219
msgid "Report chunk size used by tcpdump in MB (default '1')."
msgstr "tcpdump 将使用的报告区å—大å°ï¼ˆMB)(默认为“1â€ï¼‰ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:193
-msgid "Reporting interface used by tcpdump (default 'br-lan')."
-msgstr "tcpdump 将使用的报告接å£ï¼ˆé»˜è®¤ä¸ºâ€œbr-lanâ€ï¼‰ã€‚"
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:189
+msgid ""
+"Reporting interface used by tcpdump, set to 'any' for multiple interfaces "
+"(default 'br-lan')."
+msgstr ""
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:31
msgid "Resume"
@@ -438,7 +444,7 @@ msgstr "æ¢å¤"
msgid "Runtime Information"
msgstr "è¿è¡Œä¿¡æ¯"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:80
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:76
msgid "SSL req."
msgstr "SSL è¦æ±‚"
@@ -448,29 +454,34 @@ msgstr "SSL è¦æ±‚"
msgid "Save"
msgstr "ä¿å­˜"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:152
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:148
msgid ""
"Send notification emails in case of a processing error or if domain count is "
"&le; 0."
msgstr "如果å‘生错误或域计数 &le; 0,å‘é€é€šçŸ¥ç”µå­é‚®ä»¶ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:106
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:102
msgid ""
"Set the nice level to 'low priority' and the adblock background processing "
"will take less resources from the system."
msgstr "设置 nice 级别为“低优先级â€ï¼Œadblock åŽå°è¿›ç¨‹å°†ä»Žç³»ç»Ÿä¸­èŽ·å–更少的资æºã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:133
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:129
msgid ""
"Size of the download queue to handle downloads &amp; list processing in "
"parallel (default '8')."
msgstr "处ç†ä¸‹è½½é˜Ÿåˆ—的大å°åŠå¹¶è¡Œå¤„ç†åˆ—表(默认为“8â€ï¼‰ã€‚"
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:206
+msgid ""
+"Space separated list of reporting port(s) used by tcpdump (default: '53')."
+msgstr ""
+
#: applications/luci-app-adblock/luasrc/view/adblock/report.htm:205
msgid "Start Date"
msgstr "开始日期"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:47
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:46
msgid "Startup Trigger"
msgstr "å¯åŠ¨è§¦å‘器"
@@ -484,20 +495,20 @@ msgstr "æš‚åœ"
msgid "Suspend / Resume Adblock"
msgstr "æš‚åœ/æ¢å¤ Adblock"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:121
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:117
msgid ""
"Target directory for adblock backups. Please use only a non-volatile disk, e."
"g. an external usb stick."
msgstr "adblock 备份的目标目录。请仅使用éžæ˜“失性ç£ç›˜ï¼Œä¾‹å¦‚:一个外置 U 盘。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:145
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:141
msgid ""
"Target directory for dns related report files. Please use preferably a non-"
"volatile disk, e.g. an external usb stick."
msgstr ""
"dns 相关报告文件的目标目录。请优先使用éžæ˜“失性ç£ç›˜ï¼Œä¾‹å¦‚:一个外置 U 盘。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:172
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:168
msgid "Target directory for the generated blocklist 'adb_list.overall'."
msgstr "生æˆæ‹¦æˆªåˆ—表“adb_list.overallâ€çš„目标目录。"
@@ -511,7 +522,11 @@ msgstr "文件过大,无法使用 LuCI 的在线编辑(&ge; 100 KB)。"
msgid "The syslog output, pre-filtered for adblock related messages only."
msgstr "系统日志输出,仅针对 adblock 相关的消æ¯è¿›è¡Œäº†é¢„筛选。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:107
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:103
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:190
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:207
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:213
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:220
msgid "This change requires a manual service stop/re-start to take effect."
msgstr "此更改需è¦æ‰‹åŠ¨åœæ­¢/é‡å¯æœåŠ¡æ‰èƒ½ç”Ÿæ•ˆã€‚"
@@ -542,7 +557,7 @@ msgstr "此表å•å…许您查询æŸäº›åŸŸçš„活动å—列表,例如用于列出
msgid "Time"
msgstr "时间"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:27
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:26
msgid ""
"To overwrite the default path use the 'DNS Directory' option in the extra "
"section below."
@@ -556,11 +571,11 @@ msgstr "å‰å报告"
msgid "Total DNS Queries"
msgstr "DNS 查询总数"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:182
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:178
msgid "Trigger Delay"
msgstr "触å‘延迟"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:101
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:97
msgid "Verbose Debug Logging"
msgstr "详细的调试记录"
@@ -572,22 +587,25 @@ msgstr "正在等待命令完æˆâ€¦"
msgid "Whitelist"
msgstr "白åå•"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:176
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:172
msgid "Whitelist File"
msgstr "白åå•æ–‡ä»¶"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:84
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:80
msgid "Yes"
msgstr "是"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:160
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:156
msgid ""
"You can use this restrictive blocklist e.g. for guest wifi or kidsafe "
"configurations."
msgstr "您å¯ä»¥ä½¿ç”¨æ­¤é™åˆ¶æ€§æ‹¦æˆªåˆ—表,例如访客 wifi 或家长模å¼ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:166
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:162
msgid ""
"e.g. to receive an email notification with every adblock update set this "
"value to 150000."
msgstr "例如:è¦æŽ¥æ”¶æ¯ä¸ª adblock 更新的电å­é‚®ä»¶é€šçŸ¥æ—¶å°†æ­¤å€¼è®¾ç½®ä¸º 150000。"
+
+#~ msgid "Reporting interface used by tcpdump (default 'br-lan')."
+#~ msgstr "tcpdump 将使用的报告接å£ï¼ˆé»˜è®¤ä¸ºâ€œbr-lanâ€ï¼‰ã€‚"
diff --git a/applications/luci-app-adblock/po/zh-tw/adblock.po b/applications/luci-app-adblock/po/zh-tw/adblock.po
index bdfc718424..e3f91b8d93 100644
--- a/applications/luci-app-adblock/po/zh-tw/adblock.po
+++ b/applications/luci-app-adblock/po/zh-tw/adblock.po
@@ -15,17 +15,17 @@ msgstr ""
"X-Generator: Gtranslator 3.30.1\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:158
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:154
msgid "'Jail' Blocklist Creation"
msgstr "“Jailâ€æ””截列表建立"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:74
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:70
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 空閒記憶體的è£ç½®ä¸Šå‡ºç¾è¨˜æ†¶é«”ä¸è¶³ç•°å¸¸ï¼Œè«‹åªé¸æ“‡å…¶ä¸­"
-"的幾個ï¼"
+"<b>注æ„:</b>為防止在å°æ–¼ 64M 空閒記憶體的è£ç½®ä¸Šå‡ºç¾è¨˜æ†¶é«”ä¸è¶³ç•°å¸¸ï¼Œè«‹åªé¸æ“‡"
+"其中的幾個ï¼"
#: applications/luci-app-adblock/luasrc/view/adblock/report.htm:86
#: applications/luci-app-adblock/luasrc/view/adblock/report.htm:89
@@ -33,7 +33,7 @@ msgid "Action"
msgstr "動作"
#: applications/luci-app-adblock/luasrc/controller/adblock.lua:17
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:11
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:10
msgid "Adblock"
msgstr "Adblock"
@@ -45,7 +45,7 @@ msgstr "Adblock 狀態"
msgid "Adblock Version"
msgstr "Adblock 版本"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:183
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:179
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr "觸發 Adblock 開始處ç†å‰çš„é¡å¤–延é²ï¼ˆç§’)。"
@@ -58,15 +58,15 @@ msgstr "高階"
msgid "Answer"
msgstr "回答"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:92
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:88
msgid "Archive Categories"
msgstr "存檔類別"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:120
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:116
msgid "Backup Directory"
msgstr "備份目錄"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:127
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:123
msgid "Backup Mode"
msgstr "備份模å¼"
@@ -83,7 +83,7 @@ msgstr "已攔截的 DNS 請求"
msgid "Blocked Domain"
msgstr "已攔截的域å"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:73
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:69
msgid "Blocklist Sources"
msgstr "攔截列表來æº"
@@ -91,7 +91,7 @@ msgstr "攔截列表來æº"
msgid "Blocklist not found!"
msgstr "攔截列表未找到ï¼"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:159
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:155
msgid ""
"Builds an additional 'Jail' list (/tmp/adb_list.jail) to block access to all "
"domains except those listed in the whitelist file."
@@ -99,7 +99,7 @@ msgstr ""
"構建一個é¡å¤–的“Jailâ€åˆ—表(/tmp/adb_list.jail),除白å單檔案中列出的域å外,"
"阻止訪å•å…¶ä»–所有的域å。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:49
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:48
msgid ""
"Choose 'none' to disable automatic startups, 'timed' to use a classic "
"timeout (default 30 sec.) or select another trigger interface."
@@ -116,7 +116,7 @@ msgstr "客戶端"
msgid "Collecting data..."
msgstr "正在收集資料..."
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:12
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:11
msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr "Adblock é…ç½®å·¥å…·ï¼Œé€šéŽ DNS 來攔截廣告和阻止域å。"
@@ -130,18 +130,18 @@ msgstr "Adblock é…ç½®å·¥å…·ï¼Œé€šéŽ DNS 來攔截廣告和阻止域å。"
msgid "Count"
msgstr "計數"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:117
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:113
msgid ""
"Create compressed blocklist backups, they will be used in case of download "
"errors or during startup in backup mode."
msgstr "建立壓縮的攔截列表備份,它們將在下載錯誤或備份模å¼å•Ÿå‹•æœŸé–“使用。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:25
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:24
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:159
msgid "DNS Backend (DNS Directory)"
msgstr "DNS 後端(DNS 目錄)"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:171
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:167
msgid "DNS Directory"
msgstr "DNS 目錄"
@@ -154,11 +154,11 @@ msgstr "DNS 查詢報告"
msgid "Date"
msgstr "日期"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:90
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:86
msgid "Description"
msgstr "æè¿°"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:128
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:124
msgid ""
"Do not automatically update blocklists during startup, use blocklist backups "
"instead."
@@ -171,7 +171,7 @@ msgstr "啟動期間ä¸è¦è‡ªå‹•æ›´æ–° blocklists,改用 blocklists 的備份ã
msgid "Domain"
msgstr "域å"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:36
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:35
msgid "Download Utility"
msgstr "下載工具"
@@ -191,37 +191,38 @@ msgstr "編輯設定"
msgid "Edit Whitelist"
msgstr "編輯白åå–®"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:151
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:147
msgid "Email Notification"
msgstr "Email æ醒"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:164
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:160
msgid "Email Notification Count"
msgstr "Email æ醒計數"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:21
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:20
msgid "Enable Adblock"
msgstr "啟用 Adblock"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:116
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:112
msgid "Enable Blocklist Backup"
msgstr "啟用 Blocklist 備份"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:139
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:135
msgid "Enable DNS Query Report"
msgstr "啟用 DNS 查詢報告"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:212
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:226
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB free RAM)"
-msgstr "在低記憶體è£ç½®ä¸Šå•Ÿç”¨ç©æ¥µçš„記憶體整體排åº/é‡è¤‡ç§»é™¤ï¼ˆ&lt; 64 MB 空閒記憶體)"
+msgstr ""
+"在低記憶體è£ç½®ä¸Šå•Ÿç”¨ç©æ¥µçš„記憶體整體排åº/é‡è¤‡ç§»é™¤ï¼ˆ&lt; 64 MB 空閒記憶體)"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:102
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:98
msgid "Enable verbose debug logging in case of any processing error."
msgstr "在出ç¾ä»»ä½•è™•ç†éŒ¯èª¤çš„情æ³ä¸‹å•Ÿç”¨è©³ç´°é™¤éŒ¯æ—¥èªŒè¨˜éŒ„。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:77
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:73
msgid "Enabled"
msgstr "已啟用"
@@ -229,43 +230,43 @@ msgstr "已啟用"
msgid "End Date"
msgstr "çµæŸæ—¥æœŸ"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:98
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:94
msgid "Extra Options"
msgstr "é¡å¤–é¸é …"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:187
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:183
msgid "Flush DNS Cache"
msgstr "清空 DNS å¿«å–"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:188
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:184
msgid "Flush DNS Cache after adblock processing."
msgstr "在 adblock 程åºå•Ÿå‹•å¾Œæ¸…空 DNS å¿«å–。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:13
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:12
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">check the online "
"documentation</a>"
msgstr "進一步資訊<a href=\"%s\" target=\"_blank\">請訪å•ç·šä¸Šæ–‡æª”</a>"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:134
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:130
msgid ""
"For further performance improvements you can raise this value, e.g. '8' or "
"'16' should be safe."
msgstr "為了進一步æ高效能,您å¯ä»¥æ高此值,例如:8 或 16 應該是安全的。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:112
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:108
msgid "Force Local DNS"
msgstr "強制本地 DNS"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:211
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:225
msgid "Force Overall Sort"
msgstr "強制整體排åº"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:177
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:173
msgid "Full path to the whitelist file."
msgstr "白å單檔案的全路徑。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:140
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:136
msgid ""
"Gather dns related network traffic via tcpdump to provide a DNS Query Report "
"on demand."
@@ -285,18 +286,18 @@ msgstr "最後執行"
msgid "Latest DNS Queries"
msgstr "最新的 DNS 查詢"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:48
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:47
msgid ""
"List of available network interfaces. Usually the startup will be triggered "
"by the 'wan' interface."
msgstr "å¯ç”¨ç¶²è·¯ä»‹é¢åˆ—表。通常啟動將由“wanâ€ä»‹é¢è§¸ç™¼ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:26
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:25
msgid ""
"List of supported DNS backends with their default list export directory."
msgstr "支æ´çš„ DNS 後端列表åŠå…¶é è¨­åˆ—表匯出目錄。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:37
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:36
msgid "List of supported and fully pre-configured download utilities."
msgstr "支æ´å’Œå®Œå…¨é é…置的下載工具列表。"
@@ -310,11 +311,11 @@ msgstr "載入中"
msgid "Logfile"
msgstr "日誌檔案"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:105
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:101
msgid "Low Priority Service"
msgstr "低優先順åºæœå‹™"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:132
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:128
msgid "Max. Download Queue"
msgstr "最大下載佇列"
@@ -323,11 +324,11 @@ msgstr "最大下載佇列"
msgid "Name / IP-Address"
msgstr "å稱 / IP 地å€"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:86
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:82
msgid "No"
msgstr "å¦"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:99
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:95
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr "在é è¨­è¨­å®šä¸¦ä¸é©åˆæ‚¨æ™‚çš„é¡å¤–é¸é …。"
@@ -346,8 +347,8 @@ msgid ""
"Please add only one domain per line. Comments introduced with '#' are "
"allowed - ip addresses, wildcards and regex are not."
msgstr ""
-"è«‹æ¯è¡Œåªæ–°å¢žä¸€å€‹åŸŸã€‚å…許使用“#â€é–‹é ­çš„註釋 - ip 地å€ã€è¬ç”¨å­—元和正則表示å¼éƒ½ä¸å…"
-"許。"
+"è«‹æ¯è¡Œåªæ–°å¢žä¸€å€‹åŸŸã€‚å…許使用“#â€é–‹é ­çš„註釋 - ip 地å€ã€è¬ç”¨å­—元和正則表示å¼éƒ½ä¸"
+"å…許。"
#: applications/luci-app-adblock/luasrc/model/cbi/adblock/blacklist_tab.lua:19
#: applications/luci-app-adblock/luasrc/model/cbi/adblock/configuration_tab.lua:18
@@ -355,11 +356,11 @@ msgstr ""
msgid "Please edit this file directly in a terminal session."
msgstr "請在終端會話中直接編輯此檔案。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:153
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:149
msgid "Please note: this needs manual 'msmtp' package installation and setup."
msgstr "請注æ„:這需è¦æ‰‹å‹•å®‰è£å’Œè¨­å®šâ€œmsmtpâ€è»Ÿé«”包。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:141
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:137
msgid "Please note: this needs manual 'tcpdump-mini' package installation."
msgstr "請注æ„:這需è¦æ‰‹å‹•å®‰è£å’Œè¨­å®šâ€œtcpdump-miniâ€è»Ÿé«”包。"
@@ -371,7 +372,7 @@ msgstr "查詢"
msgid "Query domains"
msgstr "查詢域"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:165
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:161
msgid ""
"Raise the minimum email notification count, to get emails if the overall "
"count is less or equal to the given limit (default 0),"
@@ -379,13 +380,13 @@ msgstr ""
"如果總數å°æ–¼æˆ–等於給定é™åˆ¶ï¼ˆé è¨­ç‚º 0),請æ高最å°é›»å­éƒµä»¶é€šçŸ¥æ•¸ï¼Œä»¥ç²å–é›»å­"
"郵件。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:113
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:109
msgid ""
"Redirect all DNS queries from 'lan' zone to the local resolver, apply to udp "
"and tcp protocol on ports 53, 853 and 5353."
msgstr ""
-"將所有 DNS 查詢從“lanâ€å€åŸŸé‡å®šå‘到本地解æžå™¨ï¼Œé©ç”¨æ–¼åŸ 53ã€853å’Œ5353上的 "
-"udp å’Œ tcp å”議。"
+"將所有 DNS 查詢從“lanâ€å€åŸŸé‡å®šå‘到本地解æžå™¨ï¼Œé©ç”¨æ–¼åŸ 53ã€853å’Œ5353上的 udp "
+"å’Œ tcp å”議。"
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:22
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:33
@@ -402,33 +403,39 @@ msgstr "é‡æ–°æ•´ç†æ””截列表æº"
msgid "Refresh Report"
msgstr "é‡æ–°æ•´ç†å ±å‘Š"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:201
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:211
msgid "Report Chunk Count"
msgstr "報告å€å¡Šè¨ˆæ•¸"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:206
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:218
msgid "Report Chunk Size"
msgstr "報告å€å¡Šå¤§å°"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:144
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:140
msgid "Report Directory"
msgstr "報告目錄"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:192
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:188
msgid "Report Interface"
msgstr "報告介é¢"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:202
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:205
+msgid "Report Listen Port(s)"
+msgstr ""
+
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:212
msgid "Report chunk count used by tcpdump (default '5')."
msgstr "tcpdump 將使用的報告å€å¡Šè¨ˆæ•¸ï¼ˆé è¨­ç‚ºâ€œ5â€ï¼‰ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:207
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:219
msgid "Report chunk size used by tcpdump in MB (default '1')."
msgstr "tcpdump 將使用的報告å€å¡Šå¤§å°ï¼ˆMB)(é è¨­ç‚ºâ€œ1â€ï¼‰ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:193
-msgid "Reporting interface used by tcpdump (default 'br-lan')."
-msgstr "tcpdump 將使用的報告介é¢ï¼ˆé è¨­ç‚ºâ€œbr-lanâ€ï¼‰ã€‚"
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:189
+msgid ""
+"Reporting interface used by tcpdump, set to 'any' for multiple interfaces "
+"(default 'br-lan')."
+msgstr ""
#: applications/luci-app-adblock/luasrc/view/adblock/runtime.htm:31
msgid "Resume"
@@ -438,7 +445,7 @@ msgstr "æ¢å¾©"
msgid "Runtime Information"
msgstr "執行資訊"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:80
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:76
msgid "SSL req."
msgstr "SSL è¦æ±‚"
@@ -448,29 +455,35 @@ msgstr "SSL è¦æ±‚"
msgid "Save"
msgstr "儲存"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:152
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:148
msgid ""
"Send notification emails in case of a processing error or if domain count is "
"&le; 0."
msgstr "如果發生錯誤或域計數 &le; 0,傳é€é€šçŸ¥é›»å­éƒµä»¶ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:106
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:102
msgid ""
"Set the nice level to 'low priority' and the adblock background processing "
"will take less resources from the system."
-msgstr "設定 nice 級別為“低優先順åºâ€ï¼Œadblock 後臺程åºå°‡å¾žç³»çµ±ä¸­ç²å–更少的資æºã€‚"
+msgstr ""
+"設定 nice 級別為“低優先順åºâ€ï¼Œadblock 後臺程åºå°‡å¾žç³»çµ±ä¸­ç²å–更少的資æºã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:133
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:129
msgid ""
"Size of the download queue to handle downloads &amp; list processing in "
"parallel (default '8')."
msgstr "處ç†ä¸‹è¼‰ä½‡åˆ—的大å°åŠä¸¦è¡Œè™•ç†åˆ—表(é è¨­ç‚ºâ€œ8â€ï¼‰ã€‚"
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:206
+msgid ""
+"Space separated list of reporting port(s) used by tcpdump (default: '53')."
+msgstr ""
+
#: applications/luci-app-adblock/luasrc/view/adblock/report.htm:205
msgid "Start Date"
msgstr "開始日期"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:47
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:46
msgid "Startup Trigger"
msgstr "啟動觸發器"
@@ -484,20 +497,20 @@ msgstr "æš«åœ"
msgid "Suspend / Resume Adblock"
msgstr "æš«åœ/æ¢å¾© Adblock"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:121
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:117
msgid ""
"Target directory for adblock backups. Please use only a non-volatile disk, e."
"g. an external usb stick."
msgstr "adblock 備份的目標目錄。請僅使用éžæ˜“失性ç£ç¢Ÿï¼Œä¾‹å¦‚:一個外接 U 盤。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:145
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:141
msgid ""
"Target directory for dns related report files. Please use preferably a non-"
"volatile disk, e.g. an external usb stick."
msgstr ""
"dns 相關報告檔案的目標目錄。請優先使用éžæ˜“失性ç£ç¢Ÿï¼Œä¾‹å¦‚:一個外接 U 盤。"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:172
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:168
msgid "Target directory for the generated blocklist 'adb_list.overall'."
msgstr "生æˆæ””截列表“adb_list.overallâ€çš„目標目錄。"
@@ -511,7 +524,11 @@ msgstr "檔案éŽå¤§ï¼Œç„¡æ³•ä½¿ç”¨ LuCI 的線上編輯(&ge; 100 KB)。"
msgid "The syslog output, pre-filtered for adblock related messages only."
msgstr "系統日誌輸出,僅é‡å° adblock 相關的訊æ¯é€²è¡Œäº†é ç¯©é¸ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:107
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:103
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:190
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:207
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:213
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:220
msgid "This change requires a manual service stop/re-start to take effect."
msgstr "此更改需è¦æ‰‹å‹•åœæ­¢/é‡å•Ÿæœå‹™æ‰èƒ½ç”Ÿæ•ˆã€‚"
@@ -542,7 +559,7 @@ msgstr "此表單å…許您查詢æŸäº›åŸŸçš„活動塊列表,例如用於列出
msgid "Time"
msgstr "時間"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:27
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:26
msgid ""
"To overwrite the default path use the 'DNS Directory' option in the extra "
"section below."
@@ -556,11 +573,11 @@ msgstr "å‰å報告"
msgid "Total DNS Queries"
msgstr "DNS 查詢總數"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:182
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:178
msgid "Trigger Delay"
msgstr "觸發延é²"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:101
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:97
msgid "Verbose Debug Logging"
msgstr "詳細的除錯記錄"
@@ -572,22 +589,25 @@ msgstr "正在等待指令完æˆâ€¦"
msgid "Whitelist"
msgstr "白åå–®"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:176
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:172
msgid "Whitelist File"
msgstr "白å單檔案"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:84
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:80
msgid "Yes"
msgstr "是"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:160
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:156
msgid ""
"You can use this restrictive blocklist e.g. for guest wifi or kidsafe "
"configurations."
msgstr "您å¯ä»¥ä½¿ç”¨æ­¤é™åˆ¶æ€§æ””截列表,例如訪客 wifi 或家長模å¼ã€‚"
-#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:166
+#: applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua:162
msgid ""
"e.g. to receive an email notification with every adblock update set this "
"value to 150000."
msgstr "例如:è¦æŽ¥æ”¶æ¯å€‹ adblock æ›´æ–°çš„é›»å­éƒµä»¶é€šçŸ¥æ™‚將此值設定為 150000。"
+
+#~ msgid "Reporting interface used by tcpdump (default 'br-lan')."
+#~ msgstr "tcpdump 將使用的報告介é¢ï¼ˆé è¨­ç‚ºâ€œbr-lanâ€ï¼‰ã€‚"
diff --git a/applications/luci-app-ddns/po/ru/ddns.po b/applications/luci-app-ddns/po/ru/ddns.po
index 4e082cc85e..4381b95db6 100644
--- a/applications/luci-app-ddns/po/ru/ddns.po
+++ b/applications/luci-app-ddns/po/ru/ddns.po
@@ -3,7 +3,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: LuCI: ddns\n"
"POT-Creation-Date: 2017-10-17 21:00+0300\n"
-"PO-Revision-Date: 2018-07-20 03:03+0300\n"
+"PO-Revision-Date: 2019-01-15 02:27+0300\n"
"Language-Team: http://cyber-place.ru\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -67,7 +67,7 @@ msgstr "ПривÑзать Ñеть"
#: applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua:1124
#: applications/luci-app-ddns/luasrc/model/cbi/ddns/hints.lua:82
msgid "Binding to a specific network not supported"
-msgstr "ПривÑзка к определенной Ñети, не поддерживаетÑÑ."
+msgstr "ПривÑзка к определенной Ñети не поддерживаетÑÑ"
#: applications/luci-app-ddns/luasrc/model/cbi/ddns/hints.lua:113
msgid ""
@@ -170,7 +170,7 @@ msgstr "ÐвтоÑтарт DDNS отключен"
#: applications/luci-app-ddns/luasrc/controller/ddns.lua:74
msgid "DDNS Client Configuration"
-msgstr "ÐаÑтройка клиента DDNS."
+msgstr "ÐаÑтройка клиента DDNS"
#: applications/luci-app-ddns/luasrc/controller/ddns.lua:70
msgid "DDNS Client Documentation"
@@ -287,7 +287,7 @@ msgstr "Ошибка"
#: applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua:1425
msgid "Error Retry Counter"
-msgstr "Учет попыток повтора при ошибке"
+msgstr "Счётчик попыток повтора при ошибке"
#: applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua:1443
msgid "Error Retry Interval"
@@ -344,7 +344,7 @@ msgstr "Ðазначить интервал"
#: applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua:1205
msgid "Force TCP on DNS"
-msgstr "Выбрать протокол TCP Ð´Ð»Ñ DNS"
+msgstr "ИÑпользовать протокол TCP Ð´Ð»Ñ DNS"
#: applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua:1189
#: applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua:1264
@@ -632,13 +632,13 @@ msgstr ""
msgid "On Error the script will retry the failed action after given time"
msgstr ""
"Ð’ Ñлучае ошибки, Ñкрипт повторит требуемые дейÑÑ‚Ð²Ð¸Ñ Ð¿Ð¾ иÑтечении заданного "
-"времени."
+"времени"
#: applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua:1426
msgid "On Error the script will stop execution after given number of retrys"
msgstr ""
"Ð’ Ñлучае ошибки, Ñкрипт прекратит выполнение поÑле заданного количеÑтва "
-"повторных попыток."
+"повторных попыток"
#: applications/luci-app-ddns/luasrc/controller/ddns.lua:68
msgid "OpenWrt Wiki"
@@ -713,15 +713,15 @@ msgstr "ЗарегиÑтрированный IP-адреÑ"
#: applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua:480
msgid "Replaces [DOMAIN] in Update-URL"
-msgstr "ЗаменÑет [ДОМЕÐ] в Update-URL"
+msgstr "ЗаменÑет [DOMAIN] в Update-URL"
#: applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua:503
msgid "Replaces [PASSWORD] in Update-URL (URL-encoded)"
-msgstr "ЗаменÑет [ПÐРОЛЬ] в Update-URL (URL-encoded)"
+msgstr "ЗаменÑет [PASSWORD] в Update-URL (URL-encoded)"
#: applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua:492
msgid "Replaces [USERNAME] in Update-URL (URL-encoded)"
-msgstr "ЗаменÑет [ЛОГИÐ] in Update-URL (URL-encoded)"
+msgstr "ЗаменÑет [USERNAME] в Update-URL (URL-encoded)"
#: applications/luci-app-ddns/luasrc/controller/ddns.lua:188
#: applications/luci-app-ddns/luasrc/model/cbi/ddns/overview.lua:213
@@ -1108,9 +1108,3 @@ msgstr "Ð½ÐµÑ‚Ð¸Ð¿Ð¸Ñ‡Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°"
#: applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua:1176
msgid "use hostname, FQDN, IPv4- or IPv6-Address"
msgstr "иÑпользовать Ð¸Ð¼Ñ Ñ…Ð¾Ñта, полное доменное имÑ, IPv4 или IPv6-адреÑ"
-
-#~ msgid "Config error"
-#~ msgstr "Ошибка config файла"
-
-#~ msgid "Update error"
-#~ msgstr "Ошибка обновлениÑ"
diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua
index 162b388d17..dad709ede9 100644
--- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua
+++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua
@@ -2,9 +2,11 @@
-- Copyright 2018 Florian Eckert <fe@dev.tdt.de>
-- Licensed to the public under the GNU General Public License v2.
-dsp = require "luci.dispatcher"
-uci = require "uci"
+local dsp = require "luci.dispatcher"
+local uci = require "uci"
+local m, mwan_interface, enabled, track_method, reliability, interval
+local down, up, metric
function interfaceWarnings(overview, count, iface_max)
local warnings = ""
@@ -134,10 +136,10 @@ function configCheck()
return overview, count, iface_max
end
-m5 = Map("mwan3", translate("MWAN - Interfaces"),
+m = Map("mwan3", translate("MWAN - Interfaces"),
interfaceWarnings(configCheck()))
-mwan_interface = m5:section(TypedSection, "interface", nil,
+mwan_interface = m:section(TypedSection, "interface", nil,
translate("MWAN supports up to 252 physical and/or logical interfaces<br />" ..
"MWAN requires that all interfaces have a unique metric configured in /etc/config/network<br />" ..
"Names must match the interface name found in /etc/config/network<br />" ..
@@ -151,7 +153,7 @@ mwan_interface.template = "cbi/tblsection"
mwan_interface.extedit = dsp.build_url("admin", "network", "mwan", "interface", "%s")
function mwan_interface.create(self, section)
TypedSection.create(self, section)
- m5.uci:save("mwan3")
+ m.uci:save("mwan3")
luci.http.redirect(dsp.build_url("admin", "network", "mwan", "interface", section))
end
@@ -237,4 +239,4 @@ function metric.cfgvalue(self, s)
end
end
-return m5
+return m
diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua
index 4c970d4fa1..c8f6104ea1 100644
--- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua
+++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua
@@ -2,14 +2,20 @@
-- Copyright 2018 Florian Eckert <fe@dev.tdt.de>
-- Licensed to the public under the GNU General Public License v2.
-dsp = require "luci.dispatcher"
-arg[1] = arg[1] or ""
+local dsp = require "luci.dispatcher"
+
+local m, mwan_interface, enabled, initial_state, family, track_ip
+local track_method, reliability, count, size, max_ttl
+local check_quality, failure_latency, failure_loss, recovery_latency
+local recovery_loss, timeout, interval, failure
+local keep_failure, recovery, down, up, flush, metric
+arg[1] = arg[1] or ""
-m5 = Map("mwan3", translatef("MWAN Interface Configuration - %s", arg[1]))
- m5.redirect = dsp.build_url("admin", "network", "mwan", "interface")
+m = Map("mwan3", translatef("MWAN Interface Configuration - %s", arg[1]))
+m.redirect = dsp.build_url("admin", "network", "mwan", "interface")
-mwan_interface = m5:section(NamedSection, arg[1], "interface", "")
+mwan_interface = m:section(NamedSection, arg[1], "interface", "")
mwan_interface.addremove = false
mwan_interface.dynamic = false
@@ -249,4 +255,4 @@ function metric.cfgvalue(self, s)
end
end
-return m5
+return m
diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/member.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/member.lua
index 9b4ab102d5..4125aae0be 100644
--- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/member.lua
+++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/member.lua
@@ -2,12 +2,13 @@
-- Copyright 2018 Florian Eckert <fe@dev.tdt.de>
-- Licensed to the public under the GNU General Public License v2.
-dsp = require "luci.dispatcher"
+local dsp = require "luci.dispatcher"
+local m, mwan_member, interface, metric, weight
-m5 = Map("mwan3", translate("MWAN - Members"))
+m = Map("mwan3", translate("MWAN - Members"))
-mwan_member = m5:section(TypedSection, "member", nil,
+mwan_member = m:section(TypedSection, "member", nil,
translate("Members are profiles attaching a metric and weight to an MWAN interface<br />" ..
"Names may contain characters A-Z, a-z, 0-9, _ and no spaces<br />" ..
"Members may not share the same name as configured interfaces, policies or rules"))
@@ -19,7 +20,7 @@ mwan_member.template = "cbi/tblsection"
mwan_member.extedit = dsp.build_url("admin", "network", "mwan", "member", "%s")
function mwan_member.create(self, section)
TypedSection.create(self, section)
- m5.uci:save("mwan3")
+ m.uci:save("mwan3")
luci.http.redirect(dsp.build_url("admin", "network", "mwan", "member", section))
end
@@ -41,4 +42,4 @@ function weight.cfgvalue(self, s)
return self.map:get(s, "weight") or "1"
end
-return m5
+return m
diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/memberconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/memberconfig.lua
index 27d9a3e858..3464ebfc92 100644
--- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/memberconfig.lua
+++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/memberconfig.lua
@@ -2,19 +2,21 @@
-- Copyright 2018 Florian Eckert <fe@dev.tdt.de>
-- Licensed to the public under the GNU General Public License v2.
-dsp = require "luci.dispatcher"
-arg[1] = arg[1] or ""
+local dsp = require "luci.dispatcher"
+
+local m, mwan_member, interface, metric, weight
+arg[1] = arg[1] or ""
-m5 = Map("mwan3", translatef("MWAN Member Configuration - %s", arg[1]))
-m5.redirect = dsp.build_url("admin", "network", "mwan", "member")
+m = Map("mwan3", translatef("MWAN Member Configuration - %s", arg[1]))
+m.redirect = dsp.build_url("admin", "network", "mwan", "member")
-mwan_member = m5:section(NamedSection, arg[1], "member", "")
+mwan_member = m:section(NamedSection, arg[1], "member", "")
mwan_member.addremove = false
mwan_member.dynamic = false
interface = mwan_member:option(Value, "interface", translate("Interface"))
-m5.uci:foreach("mwan3", "interface",
+m.uci:foreach("mwan3", "interface",
function(s)
interface:value(s['.name'], s['.name'])
end
@@ -28,4 +30,4 @@ weight = mwan_member:option(Value, "weight", translate("Weight"),
translate("Acceptable values: 1-1000. Defaults to 1 if not set"))
weight.datatype = "range(1, 1000)"
-return m5
+return m
diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/notify.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/notify.lua
index 4c6e21003e..ff1d338eee 100644
--- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/notify.lua
+++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/notify.lua
@@ -4,12 +4,13 @@
local fs = require "nixio.fs"
local ut = require "luci.util"
-script = "/etc/mwan3.user"
+local script = "/etc/mwan3.user"
+local m, f, t
-m5 = SimpleForm("luci", translate("MWAN - Notification"))
+m = SimpleForm("luci", translate("MWAN - Notification"))
-f = m5:section(SimpleSection, nil,
+f = m:section(SimpleSection, nil,
translate("This section allows you to modify the content of \"/etc/mwan3.user\".<br />" ..
"The file is also preserved during sysupgrade.<br />" ..
"<br />" ..
@@ -42,4 +43,4 @@ function t.write(self, section, data)
return fs.writefile(script, ut.trim(data:gsub("\r\n", "\n")) .. "\n")
end
-return m5
+return m
diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/policy.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/policy.lua
index 4543260f6f..c2f47d6b21 100644
--- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/policy.lua
+++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/policy.lua
@@ -2,9 +2,10 @@
-- Copyright 2018 Florian Eckert <fe@dev.tdt.de>
-- Licensed to the public under the GNU General Public License v2.
-dsp = require "luci.dispatcher"
-uci = require "uci"
+local dsp = require "luci.dispatcher"
+local uci = require "uci"
+local m, mwan_policy, use_member, last_resort
function policyCheck()
local policy_error = {}
@@ -34,10 +35,10 @@ function policyError(policy_error)
return warnings
end
-m5 = Map("mwan3", translate("MWAN - Policies"),
+m = Map("mwan3", translate("MWAN - Policies"),
policyError(policyCheck()))
-mwan_policy = m5:section(TypedSection, "policy", nil,
+mwan_policy = m:section(TypedSection, "policy", nil,
translate("Policies are profiles grouping one or more members controlling how MWAN distributes traffic<br />" ..
"Member interfaces with lower metrics are used first<br />" ..
"Member interfaces with the same metric will be load-balanced<br />" ..
@@ -53,7 +54,7 @@ mwan_policy.template = "cbi/tblsection"
mwan_policy.extedit = dsp.build_url("admin", "network", "mwan", "policy", "%s")
function mwan_policy.create(self, section)
TypedSection.create(self, section)
- m5.uci:save("mwan3")
+ m.uci:save("mwan3")
luci.http.redirect(dsp.build_url("admin", "network", "mwan", "policy", section))
end
@@ -84,4 +85,4 @@ function last_resort.cfgvalue(self, s)
end
end
-return m5
+return m
diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/policyconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/policyconfig.lua
index d1a063d093..8e5a3fa950 100644
--- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/policyconfig.lua
+++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/policyconfig.lua
@@ -2,19 +2,21 @@
-- Copyright 2018 Florian Eckert <fe@dev.tdt.de>
-- Licensed to the public under the GNU General Public License v2.
-dsp = require "luci.dispatcher"
-arg[1] = arg[1] or ""
+local dsp = require "luci.dispatcher"
+
+local m, mwan_policy, member, last_resort
+arg[1] = arg[1] or ""
-m5 = Map("mwan3", translatef("MWAN Policy Configuration - %s", arg[1]))
-m5.redirect = dsp.build_url("admin", "network", "mwan", "policy")
+m = Map("mwan3", translatef("MWAN Policy Configuration - %s", arg[1]))
+m.redirect = dsp.build_url("admin", "network", "mwan", "policy")
-mwan_policy = m5:section(NamedSection, arg[1], "policy", "")
+mwan_policy = m:section(NamedSection, arg[1], "policy", "")
mwan_policy.addremove = false
mwan_policy.dynamic = false
member = mwan_policy:option(DynamicList, "use_member", translate("Member used"))
-m5.uci:foreach("mwan3", "member",
+m.uci:foreach("mwan3", "member",
function(s)
member:value(s['.name'], s['.name'])
end
@@ -27,4 +29,4 @@ last_resort:value("unreachable", translate("unreachable (reject)"))
last_resort:value("blackhole", translate("blackhole (drop)"))
last_resort:value("default", translate("default (use main routing table)"))
-return m5
+return m
diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua
index f0b94bd0bb..a197930a48 100644
--- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua
+++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua
@@ -2,9 +2,10 @@
-- Copyright 2018 Florian Eckert <fe@dev.tdt.de>
-- Licensed to the public under the GNU General Public License v2.
-dsp = require "luci.dispatcher"
-uci = require "uci"
+local dsp = require "luci.dispatcher"
+local uci = require "uci"
+local m, mwan_rule, src_ip, src_port, dest_ip, dest_port, proto, use_policy
function ruleCheck()
local rule_error = {}
@@ -38,11 +39,11 @@ function ruleWarn(rule_error)
return warnings
end
-m5 = Map("mwan3", translate("MWAN - Rules"),
+m = Map("mwan3", translate("MWAN - Rules"),
ruleWarn(ruleCheck())
)
-mwan_rule = m5:section(TypedSection, "rule", nil,
+mwan_rule = m:section(TypedSection, "rule", nil,
translate("Rules specify which traffic will use a particular MWAN policy<br />" ..
"Rules are based on IP address, port or protocol<br />" ..
"Rules are matched from top to bottom<br />" ..
@@ -61,7 +62,7 @@ mwan_rule.template = "cbi/tblsection"
mwan_rule.extedit = dsp.build_url("admin", "network", "mwan", "rule", "%s")
function mwan_rule.create(self, section)
TypedSection.create(self, section)
- m5.uci:save("mwan3")
+ m.uci:save("mwan3")
luci.http.redirect(dsp.build_url("admin", "network", "mwan", "rule", section))
end
@@ -101,4 +102,4 @@ function use_policy.cfgvalue(self, s)
return self.map:get(s, "use_policy") or "&#8212;"
end
-return m5
+return m
diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua
index 84adfcf910..51592f8137 100644
--- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua
+++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua
@@ -2,14 +2,17 @@
-- Copyright 2018 Florian Eckert <fe@dev.tdt.de>
-- Licensed to the public under the GNU General Public License v2.
-dsp = require "luci.dispatcher"
-arg[1] = arg[1] or ""
+local dsp = require "luci.dispatcher"
+
+local m, mwan_rule, src_ip, src_port, dest_ip, dest_port, proto, sticky
+local timeout, ipset, policy
+arg[1] = arg[1] or ""
-m5 = Map("mwan3", translatef("MWAN Rule Configuration - %s", arg[1]))
-m5.redirect = dsp.build_url("admin", "network", "mwan", "rule")
+m = Map("mwan3", translatef("MWAN Rule Configuration - %s", arg[1]))
+m.redirect = dsp.build_url("admin", "network", "mwan", "rule")
-mwan_rule = m5:section(NamedSection, arg[1], "rule", "")
+mwan_rule = m:section(NamedSection, arg[1], "rule", "")
mwan_rule.addremove = false
mwan_rule.dynamic = false
@@ -51,7 +54,7 @@ ipset = mwan_rule:option(Value, "ipset", translate("IPset"),
translate("Name of IPset rule. Requires IPset rule in /etc/dnsmasq.conf (eg \"ipset=/youtube.com/youtube\")"))
policy = mwan_rule:option(Value, "use_policy", translate("Policy assigned"))
-m5.uci:foreach("mwan3", "policy",
+m.uci:foreach("mwan3", "policy",
function(s)
policy:value(s['.name'], s['.name'])
end
@@ -60,4 +63,4 @@ policy:value("unreachable", translate("unreachable (reject)"))
policy:value("blackhole", translate("blackhole (drop)"))
policy:value("default", translate("default (use main routing table)"))
-return m5
+return m
diff --git a/applications/luci-app-nut/po/en/nut.po b/applications/luci-app-nut/po/en/nut.po
new file mode 100644
index 0000000000..0f22c26ae0
--- /dev/null
+++ b/applications/luci-app-nut/po/en/nut.po
@@ -0,0 +1,603 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2019-01-09 06:58-0500\n"
+"Last-Translator: Daniel F. Dickinson <cshored@thecshore.com>\n"
+"Language-Team: English\n"
+"Language: en\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:216
+msgid "Additional Shutdown Time(s)"
+msgstr "Additional Shutdown Time(s)"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:37
+msgid "Addresses on which to listen"
+msgstr "Addresses on which to listen"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:23
+msgid "Allowed actions"
+msgstr "Allowed actions"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:20
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:188
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:217
+msgid "As configured by NUT"
+msgstr "As configured by NUT"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:150
+msgid "Bytes to read from interrupt pipe"
+msgstr "Bytes to read from interrupt pipe"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:174
+msgid "CA Certificate path"
+msgstr "CA Certificate path"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:73
+msgid "Certificate file (SSL)"
+msgstr "Certificate file (SSL)"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:63
+msgid "Communications lost message"
+msgstr "Communications lost message"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:60
+msgid "Communications restored message"
+msgstr "Communications restored message"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:35
+msgid "Control UPS via CGI"
+msgstr "Control UPS via CGI"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:43
+msgid "Deadtime"
+msgstr "Deadtime"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:87
+msgid "Default for UPSes without this field."
+msgstr "Default for UPSes without this field."
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:177
+msgid "Delay for kill power command"
+msgstr "Delay for kill power command"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:181
+msgid "Delay to power on UPS if power returns after kill power"
+msgstr "Delay to power on UPS if power returns after kill power"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:129
+msgid "Description (Display)"
+msgstr "Description (Display)"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:32
+msgid "Display name"
+msgstr "Display name"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:169
+msgid "Don't lock port when starting driver"
+msgstr "Don't lock port when starting driver"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:132
+msgid "Driver"
+msgstr "Driver"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:114
+msgid "Driver Configuration"
+msgstr "Driver Configuration"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:77
+msgid "Driver Global Settings"
+msgstr "Driver Global Settings"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:83
+msgid "Driver Path"
+msgstr "Driver Path"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:212
+msgid "Driver Shutdown Order"
+msgstr "Driver Shutdown Order"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:106
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:244
+msgid "Driver waits for data to be consumed by upsd before publishing more."
+msgstr "Driver waits for data to be consumed by upsd before publishing more."
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:59
+msgid "Drop privileges to this user"
+msgstr "Drop privileges to this user"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:40
+msgid "Enable"
+msgstr "Enable"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:138
+msgid ""
+"Enables a hotplug script that makes all ttyUSB devices (e.g. serial USB) "
+"group read-write as user 'nut'"
+msgstr ""
+"Enables a hotplug script that makes all ttyUSB devices (e.g. serial USB) "
+"group read-write as user 'nut'"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:93
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:102
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:110
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:118
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:126
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:134
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:142
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:150
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:158
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:166
+msgid "Execute notify command"
+msgstr "Execute notify command"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:26
+msgid "Forced Shutdown"
+msgstr "Forced Shutdown"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:57
+msgid "Forced shutdown message"
+msgstr "Forced shutdown message"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:10
+msgid "Global Settings"
+msgstr "Global Settings"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:13
+msgid "Go to NUT CGI"
+msgstr "Go to NUT CGI"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:16
+msgid "Host"
+msgstr "Host"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:23
+msgid "Hostname or IP address"
+msgstr "Hostname or IP address"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:191
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:220
+msgid "Hostname or address of UPS"
+msgstr "Hostname or address of UPS"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:39
+msgid "Hot Sync"
+msgstr "Hot Sync"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:41
+msgid "IP Address"
+msgstr "IP Address"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:95
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:104
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:112
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:120
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:128
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:136
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:144
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:152
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:160
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:168
+msgid "Ignore"
+msgstr "Ignore"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:142
+msgid "Ignore Low Battery"
+msgstr "Ignore Low Battery"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:29
+msgid "Instant commands"
+msgstr "Instant commands"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:146
+msgid "Interrupt Only"
+msgstr "Interrupt Only"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:150
+msgid "Interrupt Size"
+msgstr "Interrupt Size"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:54
+msgid "Low battery message"
+msgstr "Low battery message"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:163
+msgid "Manufacturer (Display)"
+msgstr "Manufacturer (Display)"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:34
+msgid "Master"
+msgstr "Master"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:154
+msgid "Max USB HID Length Reported"
+msgstr "Max USB HID Length Reported"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:54
+msgid "Maximum Age of Data"
+msgstr "Maximum Age of Data"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:87
+msgid "Maximum Start Delay"
+msgstr "Maximum Start Delay"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:67
+msgid "Maximum connections"
+msgstr "Maximum connections"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:91
+msgid "Maximum number of times to try starting a driver."
+msgstr "Maximum number of times to try starting a driver."
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:101
+msgid "Maximum time in seconds between refresh of UPS status"
+msgstr "Maximum time in seconds between refresh of UPS status"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:91
+msgid "Maxium Retries"
+msgstr "Maxium Retries"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:158
+msgid "Maxium Start Delay"
+msgstr "Maxium Start Delay"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:17
+msgid "Minimum required number or power supplies"
+msgstr "Minimum required number or power supplies"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:166
+msgid "Model (Display)"
+msgstr "Model (Display)"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:9
+msgid "NUT CGI Access"
+msgstr "NUT CGI Access"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:12
+msgid "NUT Users"
+msgstr "NUT Users"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:188
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:217
+msgid "Name of UPS"
+msgstr "Name of UPS"
+
+#: applications/luci-app-nut/luasrc/controller/nut.lua:11
+msgid "Network UPS Tools"
+msgstr "Network UPS Tools"
+
+#: applications/luci-app-nut/luasrc/controller/nut.lua:22
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:6
+msgid "Network UPS Tools (CGI)"
+msgstr "Network UPS Tools (CGI)"
+
+#: applications/luci-app-nut/luasrc/controller/nut.lua:18
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:7
+msgid "Network UPS Tools (Monitor)"
+msgstr "Network UPS Tools (Monitor)"
+
+#: applications/luci-app-nut/luasrc/controller/nut.lua:14
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:9
+msgid "Network UPS Tools (Server)"
+msgstr "Network UPS Tools (Server)"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:7
+msgid "Network UPS Tools CGI Configuration"
+msgstr "Network UPS Tools CGI Configuration"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:8
+msgid "Network UPS Tools Monitoring Configuration"
+msgstr "Network UPS Tools Monitoring Configuration"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:10
+msgid "Network UPS Tools Server Configuration"
+msgstr "Network UPS Tools Server Configuration"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:169
+msgid "No Lock"
+msgstr "No Lock"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:72
+msgid "No communications message"
+msgstr "No communications message"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:173
+msgid "No low/high voltage transfer OIDs"
+msgstr "No low/high voltage transfer OIDs"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:75
+msgid "No parent message"
+msgstr "No parent message"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:90
+msgid "Notification defaults"
+msgstr "Notification defaults"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:26
+msgid "Notify command"
+msgstr "Notify command"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:99
+msgid "Notify when back online"
+msgstr "Notify when back online"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:163
+msgid "Notify when battery needs replacing"
+msgstr "Notify when battery needs replacing"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:147
+msgid "Notify when communications lost"
+msgstr "Notify when communications lost"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:139
+msgid "Notify when communications restored"
+msgstr "Notify when communications restored"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:131
+msgid "Notify when force shutdown"
+msgstr "Notify when force shutdown"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:115
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:123
+msgid "Notify when low battery"
+msgstr "Notify when low battery"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:107
+msgid "Notify when on battery"
+msgstr "Notify when on battery"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:155
+msgid "Notify when shutting down"
+msgstr "Notify when shutting down"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:177
+msgid "Off Delay(s)"
+msgstr "Off Delay(s)"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:181
+msgid "On Delay(s)"
+msgstr "On Delay(s)"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:51
+msgid "On battery message"
+msgstr "On battery message"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:48
+msgid "Online message"
+msgstr "Online message"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:208
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:237
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:19
+msgid "Password"
+msgstr "Password"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:174
+msgid "Path containing ca certificates to match against host certificate"
+msgstr "Path containing ca certificates to match against host certificate"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:83
+msgid "Path to drivers (instead of default)"
+msgstr "Path to drivers (instead of default)"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:63
+msgid "Path to state file"
+msgstr "Path to state file"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:54
+msgid "Period after which data is considered stale"
+msgstr "Period after which data is considered stale"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:101
+msgid "Poll Interval"
+msgstr "Poll Interval"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:29
+msgid "Poll frequency"
+msgstr "Poll frequency"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:34
+msgid "Poll frequency alert"
+msgstr "Poll frequency alert"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:197
+msgid "Polling Frequency(s)"
+msgstr "Polling Frequency(s)"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:27
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:195
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:224
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:46
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:202
+msgid "Port"
+msgstr "Port"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:200
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:229
+msgid "Power value"
+msgstr "Power value"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:206
+msgid "Product (regex)"
+msgstr "Product (regex)"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:69
+msgid "Replace battery message"
+msgstr "Replace battery message"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:178
+msgid "Require SSL and make sure server CN matches hostname"
+msgstr "Require SSL and make sure server CN matches hostname"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:96
+msgid "Retry Delay"
+msgstr "Retry Delay"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:32
+msgid "Role"
+msgstr "Role"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:80
+msgid "Run drivers in a chroot(2) environment"
+msgstr "Run drivers in a chroot(2) environment"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:14
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:59
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:110
+msgid "RunAs User"
+msgstr "RunAs User"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:125
+msgid "SNMP Community"
+msgstr "SNMP Community"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:222
+msgid "SNMP retries"
+msgstr "SNMP retries"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:226
+msgid "SNMP timeout(s)"
+msgstr "SNMP timeout(s)"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:230
+msgid "SNMP version"
+msgstr "SNMP version"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:232
+msgid "SNMPv1"
+msgstr "SNMPv1"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:233
+msgid "SNMPv2c"
+msgstr "SNMPv2c"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:234
+msgid "SNMPv3"
+msgstr "SNMPv3"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:219
+msgid "Serial Number"
+msgstr "Serial Number"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:138
+msgid "Set USB serial port permissions"
+msgstr "Set USB serial port permissions"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:25
+msgid "Set variables"
+msgstr "Set variables"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:22
+msgid "Shutdown command"
+msgstr "Shutdown command"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:66
+msgid "Shutdown message"
+msgstr "Shutdown message"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:33
+msgid "Slave"
+msgstr "Slave"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:106
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:244
+msgid "Synchronous Communication"
+msgstr "Synchronous Communication"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:115
+msgid "The name of this section will be used as UPS name elsewhere"
+msgstr "The name of this section will be used as UPS name elsewhere"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:96
+msgid "Time in seconds between driver start retry attempts."
+msgstr "Time in seconds between driver start retry attempts."
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:158
+msgid "Time in seconds that upsdrvctl will wait for driver to finish starting"
+msgstr "Time in seconds that upsdrvctl will wait for driver to finish starting"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:183
+msgid "UPS Master"
+msgstr "UPS Master"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:51
+msgid "UPS Server Global Settings"
+msgstr "UPS Server Global Settings"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:212
+msgid "UPS Slave"
+msgstr "UPS Slave"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:20
+msgid "UPS name"
+msgstr "UPS name"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:121
+msgid "USB Bus(es) (regex)"
+msgstr "USB Bus(es) (regex)"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:209
+msgid "USB Product Id"
+msgstr "USB Product Id"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:241
+msgid "USB Vendor Id"
+msgstr "USB Vendor Id"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:29
+msgid ""
+"Use upscmd -l to see full list which the commands your UPS supports "
+"(requires upscmd package)"
+msgstr ""
+"Use upscmd -l to see full list which the commands your UPS supports "
+"(requires upscmd package)"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:110
+msgid ""
+"User as which to execute driver; requires device file accessed by driver to "
+"be read-write for that user."
+msgstr ""
+"User as which to execute driver; requires device file accessed by driver to "
+"be read-write for that user."
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:205
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:234
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:16
+msgid "Username"
+msgstr "Username"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:238
+msgid "Vendor (regex)"
+msgstr "Vendor (regex)"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:178
+msgid "Verify all connection with SSL"
+msgstr "Verify all connection with SSL"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:154
+msgid "Workaround for buggy firmware"
+msgstr "Workaround for buggy firmware"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:94
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:103
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:111
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:119
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:127
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:135
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:143
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:151
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:159
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:167
+msgid "Write to syslog"
+msgstr "Write to syslog"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:80
+msgid "chroot"
+msgstr "chroot"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:14
+msgid "upsmon drops privileges to this user"
+msgstr "upsmon drops privileges to this user"
diff --git a/applications/luci-app-olsr/po/zh-cn/olsr.po b/applications/luci-app-olsr/po/zh-cn/olsr.po
index 60e4b3cd67..47b87f9976 100644
--- a/applications/luci-app-olsr/po/zh-cn/olsr.po
+++ b/applications/luci-app-olsr/po/zh-cn/olsr.po
@@ -1,10 +1,10 @@
#
-# Yangfl <mmyangfl@gmail.com>, 2018.
+# Yangfl <mmyangfl@gmail.com>, 2018, 2019.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2018-10-01 11:10+0800\n"
+"PO-Revision-Date: 2019-01-15 11:21+0800\n"
"Last-Translator: Yangfl <mmyangfl@gmail.com>\n"
"Language-Team: <debian-l10n-chinese@lists.debian.org>\n"
"Language: zh_CN\n"
@@ -136,7 +136,7 @@ msgstr ""
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:36
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:36
msgid "Enable this interface."
-msgstr "å¯ç”¨è¿™ä¸ªç«¯å£"
+msgstr "å¯ç”¨è¿™ä¸ªæŽ¥å£"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins.lua:249
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins6.lua:249
@@ -162,7 +162,7 @@ msgid ""
"value too, but does only update the hopcount if the nexthop changes too. "
"Default is \"flat\"."
msgstr ""
-"FIBMetric 控制主机路由 OLSRd 集的度é‡æ ‡å‡†å€¼ã€‚“flatâ€è¡¨ç¤ºåº¦é‡å€¼å§‹ç»ˆä¸º2。这是首"
+"FIBMetric 控制主机路由 OLSRd 集的度é‡æ ‡å‡†å€¼ã€‚“flatâ€è¡¨ç¤ºåº¦é‡å€¼å§‹ç»ˆä¸º 2。这是首"
"选值,因为它有助于 linux 内核清ç†æ—§è·¯ç”±ã€‚“correctâ€ä½¿ç”¨ hopcount 作为度é‡"
"值。“approxâ€ä¹Ÿä½¿ç”¨ hopcount 作为度é‡å€¼ï¼Œä½†åªæœ‰åœ¨ä¸‹ä¸€æ¬¡æ›´æ”¹æ—¶æ‰æ›´æ–° hopcount。"
"默认为“flatâ€ã€‚"
@@ -409,8 +409,8 @@ msgid ""
"with the etx_ffeth metric!<br />Defaults to \"1.0\"."
msgstr ""
"如果è¦æ›´æ”¹åˆ°å½“å‰ç½‘关的路由,则在将该网关与新网关进行比较之å‰ï¼Œå°†è¯¥ç½‘关的ETX值"
-"乘以该值。å‚æ•°å¯ä»¥æ˜¯ä»‹äºŽ0.1å’Œ1.0之间的值,但如果更改则应接近1.0。<br /><b>è­¦"
-"告:</b>æ­¤å‚æ•°ä¸åº”与etx_ffeth指标一起使用ï¼<br />默认值到“1.0â€ã€‚"
+"乘以该值。å‚æ•°å¯ä»¥æ˜¯ä»‹äºŽ 0.1 å’Œ 1.0 之间的值,但如果更改则应接近 1.0。<br /"
+"><b>警告:</b>æ­¤å‚æ•°ä¸åº”与 etx_ffeth 指标一起使用ï¼<br />默认值到“1.0â€ã€‚"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:166
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:160
@@ -469,7 +469,7 @@ msgstr "轮询网络接å£ä»¥è¿›è¡Œé…置更改的间隔(秒)。默认值为
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:93
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:93
msgid "Invalid Value for LQMult-Value. Must be between 0.01 and 1.0."
-msgstr "LQMult-Value 的值无效。必须介于0.01和1.0之间。"
+msgstr "LQMult-Value 的值无效。必须介于 0.01 和 1.0 之间。"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:271
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:265
@@ -478,7 +478,8 @@ msgstr "LQMult-Value 的值无效。必须介于0.01和1.0之间。"
msgid ""
"Invalid Value for LQMult-Value. You must use a decimal number between 0.01 "
"and 1.0 here."
-msgstr "LQMult-Value 的值无效。您必须在此处使用介于0.01å’Œ1.0之间的å进制数。"
+msgstr ""
+"LQMult-Value 的值无效。您必须在此处使用介于 0.01 å’Œ 1.0 之间的å进制数。"
#: applications/luci-app-olsr/luasrc/view/status-olsr/routes.htm:98
msgid "Known OLSR routes"
@@ -544,8 +545,8 @@ msgid ""
"etx_float and etx_fpm, smaller values mean slower changes of ETX value. "
"(allowed values are between 0.01 and 1.0)"
msgstr ""
-"链路质é‡è€åŒ–å› å­ï¼ˆä»…适用于 lq 级别2)。调整 etx_float å’Œ etx_fpm çš„å‚数,值越"
-"å°æ„å‘³ç€ ETX 值的å˜åŒ–越慢。(å…许值介于0.01å’Œ1.0之间)"
+"链路质é‡è€åŒ–å› å­ï¼ˆä»…适用于 lq 级别 2)。调整 etx_float å’Œ etx_fpm çš„å‚数,值"
+"越å°æ„å‘³ç€ ETX 值的å˜åŒ–越慢。(å…许值介于 0.01 å’Œ 1.0 之间)"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:97
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:91
@@ -557,11 +558,11 @@ msgid ""
"calculation<br /><b>etx_ffeth</b>: incompatible variant of etx_ff that "
"allows ethernet links with ETX 0.1.<br />Defaults to \"etx_ff\""
msgstr ""
-"链路质é‡ç®—法(仅适用于 lq 级别2)。<br /><b>etx_float</b>:浮点数 ETX,按指数"
-"函数è€åŒ–<br /><b>etx_fpm</b>:与etx_float 相åŒï¼Œä½†æŒ‰æ•´æ•°ç®—术<br /><b>etx_ff</"
-"b>:ETX freifunk,一ç§ä½¿ç”¨æ‰€æœ‰ OLSR æµé‡ï¼ˆè€Œä¸ä»…仅是 hello)进行 ETX 计算的 "
-"etx å˜ä½“<br /><b>etx_ffeth</b>:ä¸å…¼å®¹çš„å˜ä½“ etx_ff,å…许以太网链接使用 ETX "
-"0.1。<br />默认为“etx_ffâ€"
+"链路质é‡ç®—法(仅适用于 lq 级别 2)。<br /><b>etx_float</b>:浮点数 ETX,按指"
+"数函数è€åŒ–<br /><b>etx_fpm</b>:与 etx_float 相åŒï¼Œä½†æŒ‰æ•´æ•°è¿ç®—<br /"
+"><b>etx_ff</b>:ETX freifunk,一ç§ä½¿ç”¨æ‰€æœ‰ OLSR æµé‡ï¼ˆè€Œä¸ä»…仅是 hello)进行 "
+"ETX 计算的 etx å˜ä½“<br /><b>etx_ffeth</b>:ä¸å…¼å®¹çš„å˜ä½“ etx_ff,å…许以太网链"
+"接使用 ETX 0.1。<br />默认为“etx_ffâ€"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:83
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:77
@@ -628,7 +629,7 @@ msgid ""
"Make sure that OLSRd is running, the \"jsoninfo\" plugin is loaded, "
"configured on port 9090 and accepts connections from \"127.0.0.1\"."
msgstr ""
-"ç¡®ä¿ OLSRd 正在è¿è¡Œï¼ŒåŠ è½½äº†â€œjsoninfoâ€æ’件,在端å£9090上é…置接å—æ¥"
+"ç¡®ä¿ OLSRd 正在è¿è¡Œï¼ŒåŠ è½½äº†â€œjsoninfoâ€æ’ä»¶ï¼Œåœ¨ç«¯å£ 9090 上é…置接å—æ¥"
"自“127.0.0.1â€çš„连接。"
#: applications/luci-app-olsr/luasrc/view/status-olsr/routes.htm:50
@@ -653,9 +654,9 @@ msgid ""
">reduce LQ to 192.168.0.1 by half: 192.168.0.1 0.5<br />reduce LQ to all "
"nodes on this interface by 20%: default 0.8"
msgstr ""
-"使用此处给出的因å­æ”¾å¤§è·¯ç”± LQ。å…许值介于0.01å’Œ1.0之间。它仅在 LQ-Level 大于0"
-"时使用。示例:<br />将到 192.168.0.1 çš„ LQ å‡åŠï¼š192.168.0.1 0.5<br />将此接"
-"å£åˆ°æ‰€æœ‰èŠ‚点的 LQ å‡å°‘20%:default 0.8"
+"使用此处给出的因å­æ”¾å¤§è·¯ç”± LQ。å…许值介于 0.01 å’Œ 1.0 之间。它仅在 LQ-Level "
+"大于 0 时使用。示例:<br />将到 192.168.0.1 çš„ LQ å‡åŠï¼š192.168.0.1 0.5<br />"
+"将此接å£åˆ°æ‰€æœ‰èŠ‚点的 LQ å‡å°‘ 20%:默认 0.8"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:240
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:71
@@ -665,9 +666,9 @@ msgid ""
">reduce LQ to fd91:662e:3c58::1 by half: fd91:662e:3c58::1 0.5<br />reduce "
"LQ to all nodes on this interface by 20%: default 0.8"
msgstr ""
-"使用此处给出的因å­æ”¾å¤§è·¯ç”± LQ。å…许值介于0.01å’Œ1.0之间。它仅在 LQ-Level 大于0"
-"时使用。示例:<br />将到 fd91:662e:3c58::1 çš„ LQ å‡åŠï¼šfd91:662e:3c58::1 "
-"0.5<br />将此接å£åˆ°æ‰€æœ‰èŠ‚点的 LQ å‡å°‘20%:default 0.8"
+"使用此处给出的因å­æ”¾å¤§è·¯ç”± LQ。å…许值介于 0.01 å’Œ 1.0 之间。它仅在 LQ-Level "
+"大于 0 时使用。示例:<br />将到 fd91:662e:3c58::1 çš„ LQ å‡åŠï¼š"
+"fd91:662e:3c58::1 0.5<br />将此接å£åˆ°æ‰€æœ‰èŠ‚点的 LQ å‡å°‘ 20%:默认 0.8"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:201
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:195
@@ -725,7 +726,7 @@ msgstr "OLSR"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrddisplay.lua:4
msgid "OLSR - Display Options"
-msgstr "OLSR - 显示选项"
+msgstr "OLSR - 显示选项"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdhna.lua:8
msgid "OLSR - HNA-Announcements"
@@ -821,7 +822,7 @@ msgstr "æ’件"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:54
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:48
msgid "Polling rate for OLSR sockets in seconds. Default is 0.05."
-msgstr "OLSR 套接字的轮询速率,以秒为å•ä½ã€‚默认值为0.05。"
+msgstr "OLSR 套接字的轮询速率,以秒为å•ä½ã€‚默认值为 0.05。"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:53
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:47
@@ -869,7 +870,7 @@ msgstr "辅助 OLSR 接å£"
#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:56
#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:108
msgid "Selected"
-msgstr ""
+msgstr "已选择"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:133
msgid ""
@@ -1013,8 +1014,8 @@ msgid ""
"The port OLSR uses. This should usually stay at the IANA assigned port 698. "
"It can have a value between 1 and 65535."
msgstr ""
-"OLSR 使用的端å£ã€‚通常应使用 IANA 分é…çš„ä¿ç•™ç«¯å£698。它的值å¯ä»¥åœ¨1到65535之"
-"间。"
+"OLSR 使用的端å£ã€‚通常应使用 IANA 分é…çš„ä¿ç•™ç«¯å£ 698。它的值å¯ä»¥åœ¨ 1 到 65535 "
+"之间。"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:184
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:178
@@ -1025,8 +1026,8 @@ msgid ""
"length is 64 bits. Default is \"::/0\" (no prefix)."
msgstr ""
"è¿™å¯ç”¨äºŽå‘客户端通知上行链路的外部 IPv6 å‰ç¼€ã€‚è¿™å¯èƒ½å¯ä½¿å®¢æˆ·ç«¯æ›´æ”¹å…¶æœ¬åœ° "
-"IPv6 地å€ï¼Œä»¥ä½¿ç”¨ IPv6 网关,而无需任何类型的地å€è½¬æ¢ã€‚å‰ç¼€é•¿åº¦æœ€å¤§ä¸º64ä½ã€‚默"
-"认为“::/0â€ï¼ˆæ— å‰ç¼€ï¼‰ã€‚"
+"IPv6 地å€ï¼Œä»¥ä½¿ç”¨ IPv6 网关,而无需任何类型的地å€è½¬æ¢ã€‚å‰ç¼€é•¿åº¦æœ€å¤§ä¸º 64 ä½ã€‚"
+"默认为“::/0â€ï¼ˆæ— å‰ç¼€ï¼‰ã€‚"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:224
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:218
@@ -1100,7 +1101,7 @@ msgstr ""
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:60
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:60
msgid "Weight"
-msgstr "体é‡"
+msgstr "æƒé‡"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:236
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:230
@@ -1117,7 +1118,7 @@ msgid ""
msgstr ""
"当主机之间存在多个链路时,接å£æƒé‡ç”¨äºŽç¡®å®šè¦ä½¿ç”¨çš„链路。通常,æƒé‡ç”± olsrd æ ¹"
"æ®æŽ¥å£çš„特性自动计算,但您å¯ä»¥åœ¨æ­¤å¤„指定固定值。Olsrd 将选择值最低的链接。"
-"<br /><b>注æ„:</b>仅当 LinkQualityLevel 设置为0æ—¶æ‰ä½¿ç”¨æŽ¥å£æƒé‡ã€‚"
+"<br /><b>注æ„:</b>仅当 LinkQualityLevel 设置为 0 æ—¶æ‰ä½¿ç”¨æŽ¥å£æƒé‡ã€‚"
"LinkQualityLevel 的任何其他值都将使用接å£çš„ ETX 值。"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:155
@@ -1150,7 +1151,7 @@ msgstr "黄色"
#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:38
msgid "down"
-msgstr ""
+msgstr "未连接"
#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:30
#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:134
@@ -1169,7 +1170,7 @@ msgstr "å¦"
#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:38
msgid "up"
-msgstr ""
+msgstr "连接"
#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:40
#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:29
diff --git a/applications/luci-app-openvpn/po/ru/openvpn.po b/applications/luci-app-openvpn/po/ru/openvpn.po
index 401e41186f..824e26a2c9 100644
--- a/applications/luci-app-openvpn/po/ru/openvpn.po
+++ b/applications/luci-app-openvpn/po/ru/openvpn.po
@@ -3,12 +3,12 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: LuCI: openvpn\n"
"POT-Creation-Date: 2013-09-06 10:01+0200\n"
-"PO-Revision-Date: 2018-01-31 12:42+0300\n"
+"PO-Revision-Date: 2019-01-15 07:16+0300\n"
"Language-Team: http://cyber-place.ru\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.7.1\n"
-"Last-Translator: Vladimir aka sunny <picfun@ya.ru>\n"
+"Last-Translator: Anton Kikin <a.kikin@tano-systems.com>\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"
"Language: ru\n"
@@ -18,7 +18,7 @@ msgstr ""
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:794
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:797
msgid "%s"
-msgstr "%Ñ‹"
+msgstr "%s"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:363
msgid "'net30', 'p2p', or 'subnet'"
@@ -26,7 +26,7 @@ msgstr "'net30', 'p2p' или 'subnet'"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:480
msgid "Accept options pushed from server"
-msgstr "ПринÑÑ‚ÑŒ параметры, переданные Ñ Ñервера."
+msgstr "Принимать параметры, переданные Ñ Ñервера"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:92
msgid "Add"
@@ -34,69 +34,69 @@ msgstr "Добавить"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:224
msgid "Add route after establishing connection"
-msgstr "Добавить маршрут поÑле уÑтановки ÑоединениÑ."
+msgstr "Добавить маршрут поÑле уÑтановки ÑоединениÑ"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:92
msgid "Add template based configuration"
-msgstr ""
+msgstr "Добавить конфигурацию на оÑнове шаблона"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:718
msgid "Additional authentication over TLS"
-msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ TLS."
+msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ TLS"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:416
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Allow client-to-client traffic"
-msgstr "Разрешить трафик между клиентами."
+msgstr "Разрешить трафик между клиентами"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:421
msgid "Allow multiple clients with same certificate"
msgstr ""
-"Разрешить одновременное подключение неÑкольких клиентов Ñ Ð¾Ð´Ð½Ð¸Ð¼ Ñертификатом."
+"Разрешить одновременное подключение неÑкольких клиентов Ñ Ð¾Ð´Ð½Ð¸Ð¼ Ñертификатом"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:710
msgid "Allow only one session"
-msgstr "Разрешить только одну ÑеÑÑию."
+msgstr "Разрешить только одну ÑеÑÑию"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:192
msgid "Allow remote to change its IP or port"
-msgstr "Разрешить удаленное изменение IP-адреÑа или порта."
+msgstr "Разрешить удаленное изменение IP-адреÑа или порта"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:456
msgid "Allowed maximum of connected clients"
-msgstr "Разрешено макÑимальное количеÑтво подключенных клиентов."
+msgstr "Разрешено макÑимальное количеÑтво подключенных клиентов"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:461
msgid "Allowed maximum of internal"
msgstr ""
"Разрешено макÑимальное кол-во внутренних маршрутов клиенту (по "
-"умолчанию=256)."
+"умолчанию 256)"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:466
msgid "Allowed maximum of new connections"
-msgstr "Разрешено макÑимальное кол-во новых Ñоединений."
+msgstr "Разрешено макÑимальное кол-во новых Ñоединений"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:67
msgid "Append log to file"
-msgstr "Добавить запиÑÑŒ в файл журнала."
+msgstr "Добавить запиÑÑŒ в файл журнала"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:485
msgid "Authenticate using username/password"
-msgstr "ÐÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ пароль."
+msgstr "ÐÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ пароль"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:556
msgid "Automatically redirect default route"
-msgstr "ÐвтоматичеÑки перенаправлÑÑ‚ÑŒ маршруты по умолчанию."
+msgstr "ÐвтоматичеÑки перенаправлÑÑ‚ÑŒ маршруты по умолчанию"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:11
msgid "Below is a list of configured OpenVPN instances and their current state"
-msgstr "СпиÑок наÑтроенных ÑкземплÑров OpenVPN и их текущее ÑоÑтоÑние."
+msgstr "СпиÑок наÑтроенных ÑкземплÑров OpenVPN и их текущее ÑоÑтоÑние"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:119
msgid "Call down cmd/script before TUN/TAP close"
msgstr ""
"Команда/Ñкрипт Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ Ñтроки, запуÑкаемаÑ(ый) перед отключением TUN/"
-"TAP."
+"TAP"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:658
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:81
@@ -106,21 +106,21 @@ msgstr "Центр Ñертификации"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:79
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:17
msgid "Change process priority"
-msgstr "Изменить приоритет процеÑÑа поÑле инициализации."
+msgstr "Изменить приоритет процеÑÑа поÑле инициализации"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:39
msgid "Change to directory before initialization"
-msgstr "Перейти в указанную папку перед инициализацией."
+msgstr "Перейти в указанную папку перед инициализацией"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:746
msgid "Check peer certificate against a CRL"
-msgstr "Проверить Ñертификат узла на ÑоответÑтвие файлу CRL в формате PEM."
+msgstr "Проверить Ñертификат узла на ÑоответÑтвие файлу CRL в формате PEM"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:43
msgid "Chroot to directory after initialization"
msgstr ""
"Корневой каталог поÑле инициализации. OpenVPN не Ñможет получить доÑтуп к "
-"файлам за его пределами."
+"файлам за его пределами"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:391
msgid "Client is disabled"
@@ -133,37 +133,37 @@ msgstr "ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ Ð½Ð°Ñтройки"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:476
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:57
msgid "Configure client mode"
-msgstr "ÐаÑтроить режим клиента."
+msgstr "ÐаÑтроить режим клиента"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:376
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:37
msgid "Configure server bridge"
-msgstr "ÐаÑтроить моÑÑ‚ Ñервера."
+msgstr "ÐаÑтроить моÑÑ‚ Ñервера"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:371
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:33
msgid "Configure server mode"
-msgstr "ÐаÑтроить режим Ñервера."
+msgstr "ÐаÑтроить режим Ñервера"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:540
msgid "Connect through Socks5 proxy"
-msgstr "СоединÑÑ‚ÑŒÑÑ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Socks5 прокÑи."
+msgstr "СоединÑÑ‚ÑŒÑÑ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Socks5 прокÑи"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:520
msgid "Connect to remote host through an HTTP proxy"
-msgstr "ПодключитьÑÑ Ðº удалённому хоÑту иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ HTTP прокÑи."
+msgstr "ПодключитьÑÑ Ðº удалённому хоÑту иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ HTTP прокÑи"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:515
msgid "Connection retry interval"
-msgstr "Интервал между попытками подключениÑ."
+msgstr "Интервал между попытками подключениÑ"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:47
msgid "Daemonize after initialization"
-msgstr "ЗапуÑтить в режиме демона поÑле инициализации."
+msgstr "ЗапуÑтить в режиме демона поÑле инициализации"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:232
msgid "Delay n seconds after connection"
-msgstr "Задержка n Ñекунд поÑле подключениÑ."
+msgstr "Задержка n Ñекунд поÑле подключениÑ"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:111
msgid "Delay tun/tap open and up script execution"
@@ -172,61 +172,63 @@ msgstr "ИÑпользовать задержку запуÑка tun/tap до в
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:662
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:85
msgid "Diffie Hellman parameters"
-msgstr "Файл параметров Диффи Хелмана."
+msgstr "Файл параметров Диффи Хелмана"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:426
msgid "Directory for custom client config files"
-msgstr "Папка Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑких config файлов клиента."
+msgstr "Папка Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑких config файлов клиента"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:23
msgid "Disable Paging"
msgstr ""
-"Отключите пейджинг, вызвав функцию 'POSIX mlockall'.<br />ТребуетÑÑ, чтобы "
-"OpenVPN был первоначально запущен от root.<br />Ð¥Ð¾Ñ‚Ñ OpenVPN может "
-"впоÑледÑтвии понизить Ñвой UID Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ опции '-user'."
+"Отключить пейджинг, путём вызвова функции 'POSIX mlockall'. ТребуетÑÑ, "
+"чтобы OpenVPN был первоначально запущен от root.<br />Ð¥Ð¾Ñ‚Ñ OpenVPN может "
+"впоÑледÑтвии понизить Ñвой UID Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ опции '-user'"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:27
msgid "Disable options consistency check"
-msgstr "Выключить проверку ÑоглаÑованноÑти параметров."
+msgstr "Выключить проверку ÑоглаÑованноÑти параметров"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:196
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:41
msgid "Do not bind to local address and port"
msgstr ""
-"Ðе выполнÑÑ‚ÑŒ привÑзку к локальному адреÑу и порту.<br />ИÑпользуетÑÑ "
-"динамичеÑкий порт, подключение только Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ 'remote'."
+"Ðе выполнÑÑ‚ÑŒ привÑзку к локальному адреÑу и порту. ИÑпользуетÑÑ "
+"динамичеÑкий порт, подключение только Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ 'remote'"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:216
msgid "Don't actually execute ifconfig"
msgstr ""
-"Ðа Ñамом деле не выполнÑÑ‚ÑŒ команды 'ifconfig/netsh'.<br />ВмеÑто Ñтого "
+"Ðа Ñамом деле не выполнÑÑ‚ÑŒ команды 'ifconfig/netsh'. ВмеÑто Ñтого "
"передавать параметры '-ifconfig' ÑценариÑм Ñ Ð¸Ñпользованием переменных "
-"окружениÑ."
+"окружениÑ"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:236
msgid "Don't add routes automatically"
msgstr ""
-"Ðе добавлÑÑ‚ÑŒ маршруты автоматичеÑки.<br />ВмеÑто Ñтого передавать маршруты в "
-"'-route-up' Ñкрипт иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ðµ окружениÑ."
+"Ðе добавлÑÑ‚ÑŒ маршруты автоматичеÑки. ВмеÑто Ñтого передавать маршруты в "
+"'-route-up' Ñкрипт иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ðµ окружениÑ"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:730
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
-"Ðе кÑшировать пароли '-askpass' или '-auth-user-pass' в виртуальной памÑти."
+"Ðе кÑшировать пароли '-askpass' или '-auth-user-pass' в виртуальной памÑти"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:244
msgid "Don't drop incoming tun packets with same destination as host"
msgstr ""
+"Ðе отбраÑывать входÑщие tun пакеты Ñ Ñ‚Ð°ÐºÐ¸Ð¼ же адреÑом назначениÑ, как и у "
+"хоÑта"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:386
msgid "Don't inherit global push options"
msgstr ""
"Ðе наÑледовать общие параметры 'Push Options' Ð´Ð»Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ð¾Ð³Ð¾ клиента. Это "
-"позволит игнорировать 'Push Options' на уровне конфиг файла."
+"позволит игнорировать 'Push Options' на уровне конфиг файла"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:71
msgid "Don't log timestamps"
-msgstr "Ðе запиÑывать метки времени в ÑиÑтемный журнал."
+msgstr "Ðе запиÑывать метки времени в ÑиÑтемный журнал"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:240
msgid "Don't pull routes automatically"
@@ -236,71 +238,71 @@ msgstr ""
">Когда иÑпользуетÑÑ Ð½Ð° клиенте, Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ñффективно 'затыкает' Ñервер от "
"попытки добавить маршруты в таблицу маршрутизации клиента. <br />Ð¥Ð¾Ñ‚Ñ Ð¸Ð¼ÐµÐ¹Ñ‚Ðµ "
"ввиду что Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð¿Ð¾ прежнему позволÑет Ñерверу уÑтанавливать ÑвойÑтва TCP/"
-"IP Ð´Ð»Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñкого TUN/TAP интерфейÑа."
+"IP Ð´Ð»Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñкого TUN/TAP интерфейÑа"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:331
msgid "Don't re-read key on restart"
msgstr ""
"Ðе перечитывайте файлы ключей при перезапуÑке (выполнении 'SIGUSR1' или "
-"'ping-restart')."
+"'ping-restart')"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:260
msgid "Don't use adaptive lzo compression"
-msgstr "Ðе иÑпользовать адаптивное Ñжатие 'lzo'."
+msgstr "Ðе иÑпользовать адаптивное Ñжатие 'lzo'"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:220
msgid "Don't warn on ifconfig inconsistencies"
msgstr ""
"Ðе выводить предупреждение проверки ÑоглаÑованноÑти параметров, еÑли "
"параметр 'ifconfig' Ñ Ñтой Ñтороны ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ Ñовпадает Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð½Ð¾Ð¹ "
-"Ñтороной."
+"Ñтороной"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:87
msgid "Echo parameters to log"
-msgstr "ЗапиÑывать параметры Ñхо-ответов в ÑиÑтемный журнал."
+msgstr "ЗапиÑывать параметры Ñхо-ответов в ÑиÑтемный журнал"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:252
msgid "Empirically measure MTU"
-msgstr "ЭмпиричеÑки измерÑÑ‚ÑŒ MTU."
+msgstr "ЭмпиричеÑки измерÑÑ‚ÑŒ MTU"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:632
msgid "Enable OpenSSL hardware crypto engines"
-msgstr "Включить поддержку аппаратного ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ OpenSSL."
+msgstr "Включить поддержку аппаратного ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ OpenSSL"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:248
msgid "Enable Path MTU discovery"
-msgstr "Включить обнаружение пути MTU (PMTUD)."
+msgstr "Включить обнаружение пути MTU (PMTUD)"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:568
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "Enable Static Key encryption mode (non-TLS)"
msgstr ""
"Включить режим ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ Ð¸Ñпользованием СтатичеÑкого ключа (не TLS). "
-"ИÑпользовать общий Ñекретный файл, который был Ñгенерирован 'genkey'."
+"ИÑпользовать общий Ñекретный файл, который был Ñгенерирован 'genkey'"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:653
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:678
msgid "Enable TLS and assume client role"
-msgstr "Включить TLS и выÑтупить в роли клиента во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ TLS."
+msgstr "Включить TLS и выÑтупить в роли клиента во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ TLS"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:648
msgid "Enable TLS and assume server role"
-msgstr "Включить в режиме Ñервера протокол TLS."
+msgstr "Включить в режиме Ñервера протокол TLS"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:164
msgid "Enable a compression algorithm"
-msgstr ""
+msgstr "Включить алгоритм ÑжатиÑ"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:277
msgid "Enable internal datagram fragmentation"
msgstr ""
"Включить внутреннюю фрагментацию датаграмм, чтобы не отправлÑлиÑÑŒ UDP-"
-"датаграммы, размер которых превышает макÑимальное чиÑло байтов."
+"датаграммы, размер которых превышает макÑимальное чиÑло байтов"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:344
msgid "Enable management interface on <em>IP</em> <em>port</em>"
msgstr ""
-"Включить Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ, назначив ему <em>IP-адреÑ</em> <em>порт</em>."
+"Включить Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ, назначив ему <em>IP-адреÑ</em> <em>порт</em>"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:104
msgid "Enabled"
@@ -314,15 +316,15 @@ msgstr ""
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
-msgstr "Ðлгоритм ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð¾Ð²."
+msgstr "Ðлгоритм ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð¾Ð²"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:127
msgid "Execute shell cmd after routes are added"
-msgstr "Выполнить shell команду поÑле Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð°Ñ€ÑˆÑ€ÑƒÑ‚Ð¾Ð²."
+msgstr "Выполнить shell команду поÑле Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð°Ñ€ÑˆÑ€ÑƒÑ‚Ð¾Ð²"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:131
msgid "Execute shell command on remote ip change"
-msgstr "Выполнить shell команду при изменении IP-адреÑа удалённого хоÑта."
+msgstr "Выполнить shell команду при изменении IP-адреÑа удалённого хоÑта"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:156
msgid ""
@@ -330,7 +332,7 @@ msgid ""
"untrusted"
msgstr ""
"ВыполнÑÑ‚ÑŒ в режиме Ñервера '-mode server' при поÑвлении новых клиентÑких "
-"Ñоединений, еÑли к клиенту ещё нет довериÑ."
+"Ñоединений, еÑли к клиенту ещё нет довериÑ"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:152
msgid ""
@@ -338,26 +340,26 @@ msgid ""
"added to OpenVPN's internal routing table"
msgstr ""
"ВыполнÑÑ‚ÑŒ в режиме Ñервера '-mode server' каждый раз, когда адреÑ/маршрут "
-"IPv4 или MAC-Ð°Ð´Ñ€ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½ в таблицу маршрутизации OpenVPN."
+"IPv4 или MAC-Ð°Ð´Ñ€ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½ в таблицу маршрутизации OpenVPN"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:714
msgid "Exit on TLS negotiation failure"
-msgstr "Выйти при ошибке ÑоглаÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð° TLS."
+msgstr "Выйти при ошибке ÑоглаÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð° TLS"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:726
msgid "Get PEM password from controlling tty before we daemonize"
-msgstr "Получить PEM пароль от ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ tty, прежде чем включить демон."
+msgstr "Получить PEM пароль от ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ tty, прежде чем включить демон"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:573
msgid "HMAC authentication for packets"
-msgstr "ÐÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ HMAC ключа Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð¾Ð²."
+msgstr "ÐÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ HMAC ключа Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð¾Ð²"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:490
msgid "Handling of authentication failures"
msgstr ""
"ÐаÑтройка реакции на ошибки проверки имени Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ / паролÑ, такие как "
"ответ клиента на AUTH_FAILED Ñообщение от Ñервера или провал проверки Ð¿Ð°Ñ€Ð¾Ð»Ñ "
-"закрытого ключа."
+"закрытого ключа"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:307
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:49
@@ -366,11 +368,11 @@ msgid ""
"server mode configurations"
msgstr ""
"Ð’ÑÐ¿Ð¾Ð¼Ð¾Ð³Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Ð¿Ñ€ÐµÐ´Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ð°Ñ Ð´Ð»Ñ ÑƒÐ¿Ñ€Ð¾Ñ‰ÐµÐ½Ð¸Ñ Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ð¹ '-ping' и '-"
-"ping-restart' в режиме наÑтройки Ñервера."
+"ping-restart' в режиме наÑтройки Ñервера"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:551
msgid "If hostname resolve fails, retry"
-msgstr "ПытатьÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒÑÑ Ñнова при ошибке Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ хоÑта."
+msgstr "ПытатьÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒÑÑ Ñнова при ошибке Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ хоÑта"
#: applications/luci-app-openvpn/luasrc/view/openvpn/pageswitch.htm:12
msgid "Instance \"%s\""
@@ -379,19 +381,19 @@ msgstr "ЭкземплÑÑ€ \"%s\""
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:18
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:46
msgid "Instance with that name already exists!"
-msgstr ""
+msgstr "ЭкзмеплÑÑ€ Ñ Ñ‚Ð°ÐºÐ¸Ð¼ именем уже ÑущеÑтвует!"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:335
msgid "Keep local IP address on restart"
-msgstr "Ðе изменÑÑ‚ÑŒ локальный IP-Ð°Ð´Ñ€ÐµÑ Ð¿Ñ€Ð¸ перезапуÑке."
+msgstr "Ðе изменÑÑ‚ÑŒ локальный IP-Ð°Ð´Ñ€ÐµÑ Ð¿Ñ€Ð¸ перезапуÑке"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:339
msgid "Keep remote IP address on restart"
-msgstr "Ðе изменÑÑ‚ÑŒ удалённый IP-Ð°Ð´Ñ€ÐµÑ Ð¿Ñ€Ð¸ перезапуÑке."
+msgstr "Ðе изменÑÑ‚ÑŒ удалённый IP-Ð°Ð´Ñ€ÐµÑ Ð¿Ñ€Ð¸ перезапуÑке"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:327
msgid "Keep tun/tap device open on restart"
-msgstr "СохранÑÑ‚ÑŒ виртуальное уÑтройÑтво tun/tap запущенным при перезагрузке."
+msgstr "СохранÑÑ‚ÑŒ виртуальное уÑтройÑтво tun/tap запущенным при перезагрузке"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:706
msgid "Key transition window"
@@ -399,7 +401,7 @@ msgstr "Окно передачи ключей"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:103
msgid "Limit repeated log messages"
-msgstr "Ограничить повторÑющиеÑÑ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð² журнале."
+msgstr "Ограничить повторÑющиеÑÑ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð² журнале"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:666
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:89
@@ -408,7 +410,7 @@ msgstr "Локальный Ñертификат"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:176
msgid "Local host name or ip address"
-msgstr "Ð˜Ð¼Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ хоÑта или IP-адреÑ."
+msgstr "Ð˜Ð¼Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ хоÑта или IP-адреÑ"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:670
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:93
@@ -421,29 +423,29 @@ msgstr "ОÑновной режим"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:451
msgid "Maximum number of queued TCP output packets"
-msgstr "МакÑимальное количеÑтво иÑходÑщих TCP пакетов в очереди."
+msgstr "МакÑимальное количеÑтво иÑходÑщих TCP пакетов в очереди"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:446
msgid "Number of allocated broadcast buffers"
-msgstr "КоличеÑтво выделенных широковещательных буферов."
+msgstr "КоличеÑтво выделенных широковещательных буферов"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:359
msgid "Number of lines for log file history"
-msgstr "КоличеÑтво Ñтрок в файле журнала."
+msgstr "КоличеÑтво Ñтрок в файле журнала"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:95
msgid "OVPN configuration file upload"
-msgstr ""
+msgstr "Загрузка конфигурационного файла OVPN"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:734
msgid "Only accept connections from given X509 name"
-msgstr "Только принимать ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¾Ñ‚ имени данного Ñертификата X509."
+msgstr "Принимать только ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¾Ñ‚ имени указанного Ñертификата X509"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:323
msgid "Only process ping timeouts if routes exist"
msgstr ""
"ИÑпользовать временную задержку пинг-запроÑов только в Ñлучае, когда "
-"ÑущеÑтвует необходимый маршрут."
+"ÑущеÑтвует необходимый маршрут"
#: applications/luci-app-openvpn/luasrc/controller/openvpn.lua:8
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:10
@@ -457,52 +459,53 @@ msgstr "ЭкземплÑры OpenVPN"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:83
msgid "Optimize TUN/TAP/UDP writes"
msgstr ""
-"ÐžÐ¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñей ввода/вывода TUN/TAP/UDP (ÑкÑÐ¿ÐµÑ€Ð¸Ð¼ÐµÐ½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ)."
+"ÐžÐ¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñей ввода/вывода TUN/TAP/UDP (ÑкÑÐ¿ÐµÑ€Ð¸Ð¼ÐµÐ½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ)"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:51
msgid "Output to syslog and do not daemonize"
-msgstr "ЗапиÑывать ÑÐ¾Ð±Ñ‹Ñ‚Ð¸Ñ Ð² ÑиÑтемный журнал и не переходить в режим демона."
+msgstr "ЗапиÑывать ÑÐ¾Ð±Ñ‹Ñ‚Ð¸Ñ Ð² ÑиÑтемный журнал и не переходить в режим демона"
#: applications/luci-app-openvpn/luasrc/view/openvpn/pageswitch.htm:11
msgid "Overview"
-msgstr "Главное меню"
+msgstr "Обзор"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:674
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:77
msgid "PKCS#12 file containing keys"
msgstr ""
-"Задайте файл 'PKCS #12', Ñодержащий локальный Приватный ключ, локальный "
-"Ñертификат и root CA Ñертификат."
+"Задайте файл 'PKCS #12', Ñодержащий локальный приватный ключ, локальный "
+"Ñертификат и root CA Ñертификат"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:136
msgid "Pass environment variables to script"
-msgstr "Передавать переменные Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ñкрипту."
+msgstr "Передавать переменные Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ñкрипту"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:644
msgid "Persist replay-protection state"
msgstr ""
"СохранÑÑ‚ÑŒ ÑоÑтоÑние защиты от воÑÐ¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð² ÑеанÑах, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñ„Ð°Ð¹Ð» Ð´Ð»Ñ "
-"ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸ перезагрузки ÑоÑтоÑниÑ."
+"ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸ перезагрузки ÑоÑтоÑниÑ"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:401
msgid "Persist/unpersist ifconfig-pool"
-msgstr "СохранÑÑ‚ÑŒ/не ÑохранÑÑ‚ÑŒ пул ifconfig."
+msgstr "СохранÑÑ‚ÑŒ/не ÑохранÑÑ‚ÑŒ пул ifconfig"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:311
msgid "Ping remote every n seconds over TCP/UDP port"
-msgstr "ВыполнÑÑ‚ÑŒ пинг-Ð·Ð°Ð¿Ñ€Ð¾Ñ ÐºÐ°Ð¶Ð´Ñ‹Ðµ n Ñекунд, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¿Ð¾Ñ€Ñ‚ TCP/UDP."
+msgstr "ВыполнÑÑ‚ÑŒ пинг-Ð·Ð°Ð¿Ñ€Ð¾Ñ ÐºÐ°Ð¶Ð´Ñ‹Ðµ n Ñекунд, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¿Ð¾Ñ€Ñ‚ TCP/UDP"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-file.lua:28
msgid "Please edit this file directly in a terminal session."
msgstr ""
+"ПожалуйÑта отредактируйте данный файл напрÑмую через терминальную ÑеÑÑию"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:51
msgid "Please select a valid OVPN config file to upload!"
-msgstr ""
+msgstr "ПожалуйÑта выберите корректный OVPN файл Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸!"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:23
msgid "Please select a valid VPN template!"
-msgstr ""
+msgstr "ПожалуйÑта выберите корректный шаблон конфигурации!"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:160
msgid "Policy level over usage of external programs and scripts"
@@ -518,187 +521,189 @@ msgstr "Протокол"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:530
msgid "Proxy timeout in seconds"
-msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾ÐºÑи в Ñекундах."
+msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾ÐºÑи в Ñекундах"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:406
msgid "Push an ifconfig option to remote"
-msgstr "Выполнить команду ifconfig на удалённом узле."
+msgstr "Выполнить команду ifconfig на удалённом узле"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:381
msgid "Push options to peer"
-msgstr "Параметры узла - 'Push options'."
+msgstr "Параметры узла - 'Push options'"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:349
msgid "Query management channel for private key"
-msgstr "Канал ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñами Ð´Ð»Ñ ÐŸÑ€Ð¸Ð²Ð°Ñ‚Ð½Ð¾Ð³Ð¾ ключа."
+msgstr "Канал ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñами Ð´Ð»Ñ ÐŸÑ€Ð¸Ð²Ð°Ñ‚Ð½Ð¾Ð³Ð¾ ключа"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:505
msgid "Randomly choose remote server"
-msgstr "Случайный выбор удалённого Ñервера."
+msgstr "Случайный выбор удалённого Ñервера"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:431
msgid "Refuse connection if no custom client config"
msgstr ""
-"Разорвать Ñоединение, еÑли пользовательÑкий config файл клиента отÑутÑтвует."
+"Разорвать Ñоединение, еÑли пользовательÑкий config файл клиента отÑутÑтвует"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:91
msgid "Remap SIGUSR1 signals"
msgstr ""
"Управление внутренними или внешними Ñигналами генерируемыми 'SIGUSR1' и "
-"переназначаемыми 'SIGHUP'."
+"переназначаемыми 'SIGHUP'"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:65
msgid "Remote host name or ip address"
-msgstr "Ð˜Ð¼Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ хоÑта или IP-адреÑ."
+msgstr "Ð˜Ð¼Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ хоÑта или IP-адреÑ"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
-msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð½Ð¾Ð³Ð¾ пинг-запроÑа."
+msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð½Ð¾Ð³Ð¾ пинг-запроÑа"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:690
msgid "Renegotiate data chan. key after bytes"
msgstr ""
"Повторное ÑоглаÑование ключа канала данных поÑле отправки или Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ n "
-"байт (по умолчанию отключено)."
+"байт (по умолчанию отключено)"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:694
msgid "Renegotiate data chan. key after packets"
msgstr ""
"Повторное ÑоглаÑование ключа канала данных поÑле отправки и Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ n "
-"пакетов (по умолчанию отключено)."
+"пакетов (по умолчанию отключено)"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:698
msgid "Renegotiate data chan. key after seconds"
msgstr ""
"Повторное ÑоглаÑование ключа канала данных через n Ñекунд (по "
-"умолчанию=3600)."
+"умолчанию 3600)"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:636
msgid "Replay protection sliding window size"
msgstr ""
"ИÑпользовать защиту от повтора - ÑкользÑщее окно размером 'n' Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð»Ð¾Ð¼ "
-"времени 't' Ñекунд."
+"времени 't' Ñекунд"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:738
msgid "Require explicit designation on certificate"
-msgstr "Требовать Ñвного ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð² Ñертификате."
+msgstr "Требовать Ñвного ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð² Ñертификате"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:742
msgid "Require explicit key usage on certificate"
-msgstr "Требовать Ñвного иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ»ÑŽÑ‡Ð° в Ñертификате."
+msgstr "Требовать Ñвного иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ»ÑŽÑ‡Ð° в Ñертификате"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:319
msgid "Restart after remote ping timeout"
-msgstr "ПерезапуÑк поÑле Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð½Ð¾Ð³Ð¾ пинг-запроÑа."
+msgstr "ПерезапуÑк поÑле таймаута Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð½Ð¾Ð³Ð¾ пинг-запроÑа"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:766
msgid "Restrict the allowed ciphers to be negotiated"
-msgstr ""
+msgstr "Ограничить разрешенные шифры ÑоглаÑованиÑ"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:686
msgid "Retransmit timeout on TLS control channel"
msgstr ""
"Пакет ретранÑлирует тайм-аут на канале ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð° TLS, еÑли нет "
-"Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¾Ñ‚ удаленного узла в течение Ñекунд (по умолчанию=2)."
+"Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¾Ñ‚ удаленного узла в течение Ñекунд (по умолчанию 2)"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:525
msgid "Retry indefinitely on HTTP proxy errors"
msgstr ""
-"ПоÑтоÑнно пытатьÑÑ Ð·Ð°Ð½Ð¾Ð²Ð¾ подключитьÑÑ Ð¿Ñ€Ð¸ ошибке HTTP прокÑи.<br />ЕÑли "
-"возникает ошибка прокÑи-Ñервера HTTP, имитировать ÑÐ±Ñ€Ð¾Ñ 'SIGUSR1'."
+"ПоÑтоÑнно пытатьÑÑ Ð·Ð°Ð½Ð¾Ð²Ð¾ подключитьÑÑ Ð¿Ñ€Ð¸ ошибке HTTP прокÑи. ЕÑли "
+"возникает ошибка прокÑи-Ñервера HTTP, имитировать ÑÐ±Ñ€Ð¾Ñ 'SIGUSR1'"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:546
msgid "Retry indefinitely on Socks proxy errors"
msgstr ""
"ПоÑтоÑнно пытатьÑÑ Ð·Ð°Ð½Ð¾Ð²Ð¾ подключитьÑÑ Ð¿Ñ€Ð¸ ошибке Socks прокÑи. ЕÑли "
-"возникает ошибка прокÑи-Ñервера HTTP, имитировать ÑÐ±Ñ€Ð¾Ñ 'SIGUSR1'."
+"возникает ошибка прокÑи-Ñервера HTTP, имитировать ÑÐ±Ñ€Ð¾Ñ 'SIGUSR1'"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:411
msgid "Route subnet to client"
-msgstr "Перенаправить подÑеть клиенту."
+msgstr "Маршрутизировать подÑеть клиенту"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:59
msgid "Run as an inetd or xinetd server"
-msgstr "ЗапуÑк от имени Ñервера 'inetd' или 'xinetd'."
+msgstr "ЗапуÑк от имени Ñервера 'inetd' или 'xinetd'"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:144
msgid "Run script cmd on client connection"
-msgstr "ЗапуÑтить Ñкрипт командной Ñтроки при подключении клиента."
+msgstr "ЗапуÑтить Ñкрипт командной Ñтроки при подключении клиента"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:148
msgid "Run script cmd on client disconnection"
-msgstr "ЗапуÑтить Ñкрипт командной Ñтроки при отключении клиента."
+msgstr "ЗапуÑтить Ñкрипт командной Ñтроки при отключении клиента"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:123
msgid "Run up/down scripts for all restarts"
-msgstr "ЗапуÑкать 'up/down' Ñкрипты во Ð²Ñ€ÐµÐ¼Ñ Ð²Ñех перезапуÑков."
+msgstr "ЗапуÑкать 'up/down' Ñкрипты во Ð²Ñ€ÐµÐ¼Ñ Ð²Ñех перезапуÑков"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-file.lua:37
msgid "Save"
-msgstr ""
+msgstr "Сохранить"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-file.lua:61
msgid ""
"Section to add an optional 'auth-user-pass' file with your credentials (%s)"
msgstr ""
+"Раздел Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ 'auto-user-pass' файла Ñ Ð²Ð°ÑˆÐ¸Ð¼Ð¸ "
+"учётными данными (%s)"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-file.lua:40
msgid "Section to modify the OVPN config file (%s)"
-msgstr ""
+msgstr "Раздел Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¾Ð³Ð¾ OVPN файла (%s)"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:85
msgid "Select template ..."
-msgstr ""
+msgstr "Выберите шаблон..."
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:495
msgid "Send notification to peer on disconnect"
-msgstr "Отправить уведомление на узел при отключении."
+msgstr "Отправить уведомление на узел при отключении"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:35
msgid "Set GID to group"
-msgstr "Задайте GID группы."
+msgstr "Задайте GID группы"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:265
msgid "Set TCP/UDP MTU"
-msgstr "Задайте MTU Ð´Ð»Ñ TCP/UDP."
+msgstr "Задайте MTU Ð´Ð»Ñ TCP/UDP"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:31
msgid "Set UID to user"
-msgstr "Задайте UID пользователÑ."
+msgstr "Задайте UID пользователÑ"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:396
msgid "Set aside a pool of subnets"
-msgstr "Выделить пул подÑетей."
+msgstr "Выделить пул подÑетей"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:535
msgid "Set extended HTTP proxy options"
-msgstr "Задайте раÑширенные параметры HTTP прокÑи."
+msgstr "Задайте раÑширенные параметры HTTP прокÑи"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:19
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:13
msgid "Set output verbosity"
-msgstr "Задайте детализацию Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»Ð°."
+msgstr "Задайте детализацию Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»Ð°"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:441
msgid "Set size of real and virtual address hash tables"
msgstr ""
"Задайте размер реального адреÑа Ñ…Ñш-таблицы 'r' и виртуального адреÑа Ñ…Ñш-"
-"таблицы 'v'. По умолчанию Ð´Ð»Ñ Ð¾Ð±ÐµÐ¸Ñ… таблиц уÑтановлено значение 256."
+"таблицы 'v'. По умолчанию Ð´Ð»Ñ Ð¾Ð±ÐµÐ¸Ñ… таблиц уÑтановлено значение 256"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:291
msgid "Set the TCP/UDP receive buffer size"
-msgstr "Задайте размер буфера приёма TCP/UDP."
+msgstr "Задайте размер буфера приёма TCP/UDP"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:287
msgid "Set the TCP/UDP send buffer size"
-msgstr "Задайте размер буфера передачи TCP/UDP."
+msgstr "Задайте размер буфера передачи TCP/UDP"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:295
msgid "Set tun/tap TX queue length"
msgstr ""
"Задайте длину очереди передачи интерфейÑа tun/tap. Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾ "
-"умолчанию 100."
+"умолчанию 100"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:212
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:29
@@ -707,62 +712,62 @@ msgstr ""
"Задайте параметры адаптеру tun/tap. l Ñто IP-Ð°Ð´Ñ€ÐµÑ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð¹ конечной точки "
"VPN. Ð”Ð»Ñ ÑƒÑтройÑтв TUN rn ÑвлÑетÑÑ IP-адреÑом удаленной конечной точки VPN. "
"Ð”Ð»Ñ ÑƒÑтройÑтв TAP rn-Ñто маÑка подÑети Ñегмента виртуального Ethernet, к "
-"которому ÑоздаетÑÑ Ð¸Ð»Ð¸ подключаетÑÑ."
+"которому ÑоздаетÑÑ Ð¸Ð»Ð¸ подключаетÑÑ"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:269
msgid "Set tun/tap device MTU"
-msgstr "Задайте MTU Ð´Ð»Ñ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ уÑтройÑтва tun/tap."
+msgstr "Задайте MTU Ð´Ð»Ñ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ уÑтройÑтва tun/tap"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:273
msgid "Set tun/tap device overhead"
msgstr ""
-"Задайте возможное превышение размера MTU Ð´Ð»Ñ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ уÑтройÑтва tun/tap."
+"Задайте возможное превышение размера MTU Ð´Ð»Ñ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ уÑтройÑтва tun/tap"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:282
msgid "Set upper bound on TCP MSS"
-msgstr "Задайте верхнюю границу Ð´Ð»Ñ TCP MSS."
+msgstr "Задайте верхнюю границу Ð´Ð»Ñ TCP MSS"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:299
msgid "Shaping for peer bandwidth"
-msgstr "Формирование полоÑÑ‹ пропуÑÐºÐ°Ð½Ð¸Ñ ÑƒÐ·Ð»Ð¾Ð²."
+msgstr "Формирование полоÑÑ‹ пропуÑÐºÐ°Ð½Ð¸Ñ ÑƒÐ·Ð»Ð¾Ð²"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:107
msgid "Shell cmd to execute after tun device open"
-msgstr "Выполнить shell команду поÑле Ñтарта виртуального уÑтройÑтва tun."
+msgstr "Выполнить shell команду поÑле Ñтарта виртуального уÑтройÑтва tun"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:115
msgid "Shell cmd to run after tun device close"
-msgstr "Выполнить shell команду поÑле Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ уÑтройÑтва tun."
+msgstr "Выполнить shell команду поÑле Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ уÑтройÑтва tun"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:140
msgid "Shell command to verify X509 name"
-msgstr "Команда shell Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ имени Ñертификата X509."
+msgstr "Команда shell Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ имени Ñертификата X509"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:640
msgid "Silence the output of replay warnings"
msgstr ""
"Заглушить вывод предупреждений о повторах, которые ÑвлÑÑŽÑ‚ÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ ложным "
-"Ñигналом в Wi-Fi ÑетÑÑ…."
+"Ñигналом в Wi-Fi ÑетÑÑ…"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:627
msgid "Size of cipher key"
-msgstr "Размер ключа алгоритма шифрованиÑ."
+msgstr "Размер ключа алгоритма шифрованиÑ"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:228
msgid "Specify a default gateway for routes"
-msgstr "Ðазначить шлюз по умолчанию Ð´Ð»Ñ Ð¼Ð°Ñ€ÑˆÑ€ÑƒÑ‚Ð¾Ð²."
+msgstr "Ðазначить шлюз по умолчанию Ð´Ð»Ñ Ð¼Ð°Ñ€ÑˆÑ€ÑƒÑ‚Ð¾Ð²"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:561
msgid "Specify whether the client is required to supply a valid certificate"
-msgstr ""
+msgstr "ТребуетÑÑ Ð»Ð¸ от клиента предоÑтавление дейÑтвительного Ñертификата"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:354
msgid "Start OpenVPN in a hibernating state"
-msgstr "ЗапуÑтить OpenVPN в ÑпÑщем режиме."
+msgstr "ЗапуÑтить OpenVPN в ÑпÑщем режиме"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:117
msgid "Start/Stop"
-msgstr "Старт / Стоп"
+msgstr "Старт/Стоп"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:106
msgid "Started"
@@ -770,7 +775,7 @@ msgstr "Запущено"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:99
msgid "Status file format version"
-msgstr "ВерÑÐ¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° файла ÑоÑтоÑниÑ."
+msgstr "ВерÑÐ¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° файла ÑоÑтоÑниÑ"
#: applications/luci-app-openvpn/luasrc/view/openvpn/pageswitch.htm:15
msgid "Switch to advanced configuration"
@@ -783,69 +788,71 @@ msgstr "Перейти к оÑновным наÑтройкам"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:180
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:21
msgid "TCP/UDP port # for both local and remote"
-msgstr "Ðомер локального и удалённого TCP/UDP порта."
+msgstr "Ðомер локального и удалённого TCP/UDP порта"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:184
msgid "TCP/UDP port # for local (default=1194)"
-msgstr "Ðомер локального TCP/UDP порта (1194 по умолчанию)."
+msgstr "Ðомер локального TCP/UDP порта (1194 по умолчанию)"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:188
msgid "TCP/UDP port # for remote (default=1194)"
-msgstr "Ðомер удалённого TCP/UDP порта (1194 по умолчанию)."
+msgstr "Ðомер удалённого TCP/UDP порта (1194 по умолчанию)"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:682
msgid "TLS cipher"
-msgstr "Ðлгоритм ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ TLS."
+msgstr "Ðлгоритм ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ TLS"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:55
msgid "TOS passthrough (applies to IPv4 only)"
-msgstr "TOS переÑылки (применÑетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к IPv4)."
+msgstr "TOS переÑылки (применÑетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к IPv4)"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:78
msgid "Template based configuration"
-msgstr ""
+msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð½Ð° оÑнове шаблонов"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:436
msgid "Temporary directory for client-connect return file"
-msgstr "Ð’Ñ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¿Ð°Ð¿ÐºÐ° Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° возврата '-client-connect'."
+msgstr "Ð’Ñ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¿Ð°Ð¿ÐºÐ° Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° возврата '-client-connect'"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:12
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:40
msgid "The 'Name' field must not be empty!"
-msgstr ""
+msgstr "Поле 'ИмÑ' не должно быть пуÑтым!"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-file.lua:18
msgid ""
"The OVPN config file (%s) could not be found, please check your "
"configuration."
-msgstr ""
+msgstr "OPVN файл (%s) не найден, проверьте вашу конфигурацию."
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:754
msgid "The highest supported TLS version"
-msgstr "Ð¡Ð°Ð¼Ð°Ñ Ð²Ñ‹ÑÐ¾ÐºÐ°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð° TLS."
+msgstr "Ð¡Ð°Ð¼Ð°Ñ Ð²Ñ‹ÑÐ¾ÐºÐ°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð° TLS"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:758
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:73
msgid "The key direction for 'tls-auth' and 'secret' options"
-msgstr "Указать ключ Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² 'tls-auth' и 'secret'."
+msgstr "Указать ключ Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² 'tls-auth' и 'secret'"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:750
msgid "The lowest supported TLS version"
-msgstr "Ð¡Ð°Ð¼Ð°Ñ Ð½Ð¸Ð·ÐºÐ°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð° TLS."
+msgstr "Ð¡Ð°Ð¼Ð°Ñ Ð½Ð¸Ð·ÐºÐ°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð° TLS"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-file.lua:27
msgid ""
"The size of the OVPN config file (%s) is too large for online editing in "
"LuCI (&ge; 100 KB)."
msgstr ""
+"Размер OPVN файла (%s) Ñлишком большой Ð´Ð»Ñ Ð¾Ð½Ð»Ð°Ð¹Ð½ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² "
+"LuCI (&ge 100 Кб)"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:762
msgid "This completely disables cipher negotiation"
-msgstr ""
+msgstr "Отключение механизма ÑоглаÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑˆÐ¸Ñ„Ñ€Ð¾Ð²"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:702
msgid "Timeframe for key exchange"
-msgstr "Временные рамки Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° ключами."
+msgstr "Временные рамки Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° ключами"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:204
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:25
@@ -854,16 +861,16 @@ msgstr "Тип иÑпользуемого уÑтройÑтва."
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:104
msgid "Upload"
-msgstr ""
+msgstr "Загрузить"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:104
msgid "Upload ovpn file"
-msgstr ""
+msgstr "Загрузка OVPN файла"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:256
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:45
msgid "Use fast LZO compression"
-msgstr "ИÑпользовать быÑтрое Ñжатие 'lzo'."
+msgstr "ИÑпользовать быÑтрое Ñжатие 'lzo'"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:510
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:53
@@ -872,23 +879,23 @@ msgstr "ИÑпользовать протокол"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:208
msgid "Use tun/tap device node"
-msgstr "ИÑпользование виртуального уÑтройÑтва tun/tap узлом."
+msgstr "ИÑпользование виртуального уÑтройÑтва tun/tap узлом"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:471
msgid "Use username as common name"
-msgstr "ИÑпользовать Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² качеÑтве общего имени."
+msgstr "ИÑпользовать Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² качеÑтве общего имени"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:63
msgid "Write log to file"
-msgstr "ЗапиÑывать ÑÐ¾Ð±Ñ‹Ñ‚Ð¸Ñ Ð² файл."
+msgstr "ЗапиÑывать ÑÐ¾Ð±Ñ‹Ñ‚Ð¸Ñ Ð² файл"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:75
msgid "Write process ID to file"
-msgstr "ЗапиÑать ID процеÑÑа в файл."
+msgstr "ЗапиÑать ID процеÑÑа в файл"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:95
msgid "Write status to file every n seconds"
-msgstr "ЗапиÑывать ÑоÑтоÑние в файл каждые n Ñекунд."
+msgstr "ЗапиÑывать ÑоÑтоÑние в файл каждые n Ñекунд"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:112
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:114
@@ -897,15 +904,12 @@ msgstr "нет"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:200
msgid "tun/tap device"
-msgstr "Виртуальное уÑтройÑтво tun/tap."
+msgstr "Виртуальное уÑтройÑтво tun/tap"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:303
msgid "tun/tap inactivity timeout"
-msgstr "промежуток времени проÑÑ‚Ð¾Ñ tun/tap."
+msgstr "Промежуток времени проÑÑ‚Ð¾Ñ tun/tap"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:111
msgid "yes (%i)"
msgstr "да (%i)"
-
-#~ msgid "Invalid"
-#~ msgstr "Ðеверно"
diff --git a/applications/luci-app-openvpn/po/zh-cn/openvpn.po b/applications/luci-app-openvpn/po/zh-cn/openvpn.po
index 3736027f1a..40b920dc9b 100644
--- a/applications/luci-app-openvpn/po/zh-cn/openvpn.po
+++ b/applications/luci-app-openvpn/po/zh-cn/openvpn.po
@@ -1,12 +1,12 @@
#
-# Yangfl <mmyangfl@gmail.com>, 2017.
+# Yangfl <mmyangfl@gmail.com>, 2017, 2019.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-19 19:35+0200\n"
-"PO-Revision-Date: 2017-10-29 14:37+0800\n"
+"PO-Revision-Date: 2019-01-15 11:20+0800\n"
"Last-Translator: Yangfl <mmyangfl@gmail.com>\n"
"Language-Team: <debian-l10n-chinese@lists.debian.org>\n"
"Language: zh_CN\n"
@@ -27,7 +27,7 @@ msgstr "“net30â€ï¼Œâ€œp2pâ€ï¼Œæˆ–“subnetâ€"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:480
msgid "Accept options pushed from server"
-msgstr "接å—从æœåŠ¡å™¨å‘é€è¿‡æ¥çš„选项"
+msgstr "接å—从æœåŠ¡å™¨æŽ¨é€çš„选项"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:92
msgid "Add"
@@ -39,7 +39,7 @@ msgstr "建立连接åŽæ·»åŠ è·¯ç”±"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:92
msgid "Add template based configuration"
-msgstr ""
+msgstr "添加基于模æ¿çš„é…ç½®"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:718
msgid "Additional authentication over TLS"
@@ -199,7 +199,7 @@ msgstr "ä¸ç¼“å­˜ --askpass 或 --auth-user-pass passwords"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:244
msgid "Don't drop incoming tun packets with same destination as host"
-msgstr ""
+msgstr "ä¸ä¸¢å¼ƒç›®çš„地å€ä¸Žæœ¬æœºç›¸åŒçš„ tun 报文"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:386
msgid "Don't inherit global push options"
@@ -257,7 +257,7 @@ msgstr "å…许 TLS 并伪装为æœåŠ¡å™¨"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:164
msgid "Enable a compression algorithm"
-msgstr ""
+msgstr "å¯ç”¨åŽ‹ç¼©ç®—法"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:277
msgid "Enable internal datagram fragmentation"
@@ -334,7 +334,7 @@ msgstr "实例 \"%s\""
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:18
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:46
msgid "Instance with that name already exists!"
-msgstr ""
+msgstr "具有该å称的实例已存在ï¼"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:335
msgid "Keep local IP address on restart"
@@ -388,7 +388,7 @@ msgstr "历å²æ—¥å¿—文件的行数"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:95
msgid "OVPN configuration file upload"
-msgstr ""
+msgstr "OVPN é…置文件上传"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:734
msgid "Only accept connections from given X509 name"
@@ -442,15 +442,15 @@ msgstr "æ¯ n 秒 ping 一次远程 TCP/UDP 端å£"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-file.lua:28
msgid "Please edit this file directly in a terminal session."
-msgstr ""
+msgstr "请直接在终端会è¯ä¸­ç¼–辑此文件。"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:51
msgid "Please select a valid OVPN config file to upload!"
-msgstr ""
+msgstr "请选择è¦ä¸Šä¼ çš„有效 OVPN é…置文件ï¼"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:23
msgid "Please select a valid VPN template!"
-msgstr ""
+msgstr "请选择有效的 VPN 模æ¿ï¼"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:160
msgid "Policy level over usage of external programs and scripts"
@@ -531,7 +531,7 @@ msgstr "远程 ping 超时åŽé‡å¯"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:766
msgid "Restrict the allowed ciphers to be negotiated"
-msgstr ""
+msgstr "é™å®šå商时å…许的密ç ç®—法"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:686
msgid "Retransmit timeout on TLS control channel"
@@ -551,7 +551,7 @@ msgstr "路由å­ç½‘至客户端"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:59
msgid "Run as an inetd or xinetd server"
-msgstr "以 inetd 或 xinetd æœåŠ¡å™¨çš„æ–¹å¼è¿è¡Œ"
+msgstr "以 inetd 或 xinetd æœåŠ¡æ–¹å¼è¿è¡Œ"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:144
msgid "Run script cmd on client connection"
@@ -567,20 +567,20 @@ msgstr "æ¯æ¬¡é‡å¯éƒ½æ‰§è¡Œå¯åŠ¨/关闭脚本"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-file.lua:37
msgid "Save"
-msgstr ""
+msgstr "ä¿å­˜"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-file.lua:61
msgid ""
"Section to add an optional 'auth-user-pass' file with your credentials (%s)"
-msgstr ""
+msgstr "在此区域编辑“auth-user-passâ€æ–‡ä»¶çš„内容(%s)"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-file.lua:40
msgid "Section to modify the OVPN config file (%s)"
-msgstr ""
+msgstr "在此区域修改 OVPN é…置文件(%s)"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:85
msgid "Select template ..."
-msgstr ""
+msgstr "选择模æ¿â€¦"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:495
msgid "Send notification to peer on disconnect"
@@ -674,7 +674,7 @@ msgstr "指定路由默认网关"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:561
msgid "Specify whether the client is required to supply a valid certificate"
-msgstr ""
+msgstr "指定是å¦è¦æ±‚客户端æ供有效è¯ä¹¦"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:354
msgid "Start OpenVPN in a hibernating state"
@@ -723,7 +723,7 @@ msgstr "TOS ç©¿é€ï¼ˆä»…é™ IPv4)"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:78
msgid "Template based configuration"
-msgstr ""
+msgstr "基于模æ¿çš„é…ç½®"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:436
msgid "Temporary directory for client-connect return file"
@@ -732,13 +732,13 @@ msgstr "客户端连接返回文件的临时目录"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:12
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:40
msgid "The 'Name' field must not be empty!"
-msgstr ""
+msgstr "“å称â€å­—段ä¸èƒ½ä¸ºç©º"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-file.lua:18
msgid ""
"The OVPN config file (%s) could not be found, please check your "
"configuration."
-msgstr ""
+msgstr "无法找到 OVPN é…置文件(%s),请检查您的é…置。"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:754
msgid "The highest supported TLS version"
@@ -757,11 +757,11 @@ msgstr "最低支æŒçš„ TLS 版本"
msgid ""
"The size of the OVPN config file (%s) is too large for online editing in "
"LuCI (&ge; 100 KB)."
-msgstr ""
+msgstr "OVPN é…置文件(%s)过大,无法使用 LuCI 在线编辑(&ge; 100 KB)。"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:762
msgid "This completely disables cipher negotiation"
-msgstr ""
+msgstr "这将完全ç¦ç”¨å¯†ç å商"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:702
msgid "Timeframe for key exchange"
@@ -774,11 +774,11 @@ msgstr "使用设备类型"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:104
msgid "Upload"
-msgstr ""
+msgstr "上传"
#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:104
msgid "Upload ovpn file"
-msgstr ""
+msgstr "上传 opvn 文件"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:256
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:45
diff --git a/applications/luci-app-opkg/po/ru/opkg.po b/applications/luci-app-opkg/po/ru/opkg.po
index 21bd0fa8d4..e5be37a56e 100644
--- a/applications/luci-app-opkg/po/ru/opkg.po
+++ b/applications/luci-app-opkg/po/ru/opkg.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: LuCI: base\n"
"POT-Creation-Date: 2010-05-09 01:01+0300\n"
-"PO-Revision-Date: 2018-10-25 19:04+0300\n"
+"PO-Revision-Date: 2019-01-15 13:35+0300\n"
"Last-Translator: Anton Kikin <a.kikin@tano-systems.com>\n"
"Language-Team: http://cyber-place.ru\n"
"Language: ru\n"
@@ -21,7 +21,7 @@ msgstr "ДейÑтвиÑ"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:710
msgid "Automatically remove unused dependencies"
-msgstr ""
+msgstr "ÐвтоматичеÑки удалÑÑ‚ÑŒ неиÑпользуемые завиÑимоÑти"
#: applications/luci-app-opkg/luasrc/view/opkg.htm:115
msgid "Available"
@@ -34,6 +34,11 @@ msgid ""
"custom repository entries. The configuration in the other files may be "
"changed but is usually not preserved by <em>sysupgrade</em>."
msgstr ""
+"Ðиже приведен ÑпиÑок различных файлов конфигурации, иÑпользуемых "
+"<em>opkg</em>. ИÑпользуйте файл <em>opkg.conf</em> Ð´Ð»Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ñ… наÑтроек и "
+"<em>customfeeds.conf</em> Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑких наÑтроек репозиториев. "
+"ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð² других файлах может производтÑÑ, но такие наÑтройки могут не "
+"ÑохранÑÑ‚ÑŒÑÑ ÑƒÑ‚Ð¸Ð»Ð¸Ñ‚Ð¾Ð¹ <em>sysupgrade</em>."
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:582
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:627
@@ -44,16 +49,15 @@ msgstr "Отменить"
#: applications/luci-app-opkg/luasrc/view/opkg.htm:97
msgid "Clear"
-msgstr ""
+msgstr "ОчиÑтить"
#: applications/luci-app-opkg/luasrc/view/opkg.htm:110
-#, fuzzy
msgid "Configure opkg…"
-msgstr "ÐаÑтройка config файла"
+msgstr "ÐаÑтройки менеджера пакетов..."
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:559
msgid "Dependencies"
-msgstr ""
+msgstr "ЗавиÑимоÑти"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:565
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:696
@@ -63,7 +67,7 @@ msgstr "ОпиÑание"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:570
msgid "Details for package <em>%h</em>"
-msgstr ""
+msgstr "ÐŸÐ¾Ð´Ñ€Ð¾Ð±Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ пакете <em>%h</em>"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:762
msgid "Dismiss"
@@ -71,20 +75,19 @@ msgstr "Отклонить"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:227
msgid "Displaying %d-%d of %d"
-msgstr ""
+msgstr "Показано %d-%d из %d"
#: applications/luci-app-opkg/luasrc/view/opkg.htm:101
msgid "Download and install package"
msgstr "Загрузить и уÑтановить пакет"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:748
-#, fuzzy
msgid "Errors"
-msgstr "Ошибка"
+msgstr "Ошибки"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:736
msgid "Executing package manager"
-msgstr ""
+msgstr "ЗапуÑк менеджера пакетов"
#: applications/luci-app-opkg/luasrc/view/opkg.htm:95
msgid "Filter"
@@ -102,66 +105,60 @@ msgstr "УÑтановить"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:178
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:386
#: applications/luci-app-opkg/luasrc/view/opkg.htm:116
-#, fuzzy
msgid "Installed"
-msgstr "УÑтановить"
+msgstr "УÑтановлено"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:611
msgid ""
"Installing packages from untrusted sources is a potential security risk! "
"Really attempt to install <em>%h</em>?"
msgstr ""
+"УÑтановка пакетов из недоверенных иÑточников может привеÑти к угрозе "
+"безопаÑноÑти! Ð’Ñ‹ дейÑтвительно хотите уÑтановить <em>%h</em>?"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:167
-#, fuzzy
msgid "Install…"
-msgstr "УÑтановить"
+msgstr "УÑтановить..."
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:636
-#, fuzzy
msgid "Loading configuration data…"
-msgstr "Применение конфигурации..."
+msgstr "Загрузка данных конфигурации..."
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:769
msgid "Loading package information…"
-msgstr ""
+msgstr "Загрузка информации о пакете..."
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:621
-#, fuzzy
msgid "Manually install package"
-msgstr "Загрузить и уÑтановить пакет"
+msgstr "Ð ÑƒÑ‡Ð½Ð°Ñ ÑƒÑтановка пакета"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:374
-#, fuzzy
msgid "Needs upgrade"
-msgstr "ÐŸÑ€Ð¸Ð½ÑƒÐ´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾ÑˆÐ¸Ð²ÐºÐ°"
+msgstr "ТребуетÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ðµ"
#: applications/luci-app-opkg/luasrc/view/opkg.htm:124
msgid "Next page"
-msgstr ""
+msgstr "Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ñтраница"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:240
msgid "No information available"
msgstr "Ðет доÑтупной информации"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:228
-#, fuzzy
msgid "No packages"
-msgstr "Ðайти пакет"
+msgstr "Ðет пакетов"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:244
msgid "No packages matching \"<strong>%h</strong>\"."
-msgstr ""
+msgstr "Ðет пакетов ÑоответÑтвующих запроÑу «<strong>%h</strong>»."
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:406
-#, fuzzy
msgid "Not available"
-msgstr "Ð’Ñего доÑтупно"
+msgstr "Ðе доÑтупно"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:391
-#, fuzzy
msgid "Not installed"
-msgstr "Ðе подключено"
+msgstr "Ðе уÑтановлено"
#: applications/luci-app-opkg/luasrc/view/opkg.htm:103
msgid "OK"
@@ -170,7 +167,6 @@ msgstr "OK"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:635
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:667
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:676
-#, fuzzy
msgid "OPKG Configuration"
msgstr "ÐаÑтройка OPKG"
@@ -179,17 +175,16 @@ msgid "Package name"
msgstr "Ð˜Ð¼Ñ Ð¿Ð°ÐºÐµÑ‚Ð°"
#: applications/luci-app-opkg/luasrc/view/opkg.htm:102
-#, fuzzy
msgid "Package name or URL…"
-msgstr "Ð˜Ð¼Ñ Ð¿Ð°ÐºÐµÑ‚Ð°"
+msgstr "Ð˜Ð¼Ñ Ð¿Ð°ÐºÐµÑ‚Ð° или URL..."
#: applications/luci-app-opkg/luasrc/view/opkg.htm:122
msgid "Previous page"
-msgstr ""
+msgstr "ÐŸÑ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ñтраница"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:618
msgid "Really attempt to install <em>%h</em>?"
-msgstr ""
+msgstr "Ð’Ñ‹ дейÑтвительно хотите уÑтановить <em>%h</em>?"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:157
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:723
@@ -198,11 +193,12 @@ msgstr "Удалить"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:701
msgid "Remove package <em>%h</em>"
-msgstr ""
+msgstr "Удалить пакет <em>%h</em>"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:555
msgid "Require approx. %.1024mB size for %d package(s) to install."
msgstr ""
+"ТребуетÑÑ Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð½Ð¾ %.1024mБ Ñвободного проÑтранÑтва Ð´Ð»Ñ ÑƒÑтановки %d пакетов"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:381
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:399
@@ -210,15 +206,19 @@ msgid ""
"Require version %h %h,\n"
"installed %h"
msgstr ""
+"ТребуетÑÑ Ð²ÐµÑ€ÑÐ¸Ñ %h %h,\n"
+"уÑтановлен %h"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:404
msgid ""
"Required dependency package <em>%h</em> is not available in any repository."
msgstr ""
+"Требуемый в качеÑтве завиÑимоÑти пакет <em>%h</em> не доÑтупен ни в одном "
+"из Ñконфигурированных репозиториев."
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:372
msgid "Requires update to %h %h"
-msgstr ""
+msgstr "ТребуетÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ до %h %h"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:245
msgid "Reset"
@@ -229,9 +229,8 @@ msgid "Save"
msgstr "Сохранить"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:668
-#, fuzzy
msgid "Saving configuration data…"
-msgstr "Применение конфигурации..."
+msgstr "Сохранение данных конфигурации..."
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:573
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:704
@@ -249,42 +248,45 @@ msgstr "Программное обеÑпечение"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:753
msgid "The <em>opkg %h</em> command failed with code <code>%d</code>."
-msgstr ""
+msgstr "Команда <em>opkg %h</em> завершилаÑÑŒ Ñ ÐºÐ¾Ð´Ð¾Ð¼ ошибки <code>%d</code>."
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:377
msgid ""
"The installed version of package <em>%h</em> is not compatible, require %s "
"while %s is installed."
msgstr ""
+"УÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¿Ð°ÐºÐµÑ‚Ð° <em>%h</em> не ÑовмеÑтима. ТребуетÑÑ ÑƒÑтановка "
+"%s Ð´Ð»Ñ ÑƒÑтановки %s"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:614
msgid "The package <em>%h</em> is not available in any configured repository."
msgstr ""
+"Пакет <em>%h</em> не доÑтупен ни в одном из Ñконфигурированных репозиториев."
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:394
msgid ""
"The repository version of package <em>%h</em> is not compatible, require %s "
"but only %s is available."
msgstr ""
+"ВерÑÐ¸Ñ Ð¿Ð°ÐºÐµÑ‚Ð° <em>%h</em>, доÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ð² репозитории, неÑовмеÑтима. ТребуетÑÑ "
+"%s, но доÑтупна только %s."
#: applications/luci-app-opkg/luasrc/view/opkg.htm:96
msgid "Type to filter…"
-msgstr ""
+msgstr "Введите Ð´Ð»Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ð¸..."
#: applications/luci-app-opkg/luasrc/view/opkg.htm:108
-#, fuzzy
msgid "Update lists…"
-msgstr "Обновить ÑпиÑки"
+msgstr "Обновить ÑпиÑки..."
#: applications/luci-app-opkg/luasrc/view/opkg.htm:117
-#, fuzzy
msgid "Updates"
-msgstr "Обновить ÑпиÑки"
+msgstr "ОбновлениÑ"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:149
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:173
msgid "Upgrade…"
-msgstr ""
+msgstr "Обновление..."
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:572
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:703
@@ -295,12 +297,11 @@ msgstr "ВерÑиÑ"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:383
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:401
msgid "Version incompatible"
-msgstr ""
+msgstr "ВерÑÐ¸Ñ Ð½ÐµÑовмеÑтима"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:738
-#, fuzzy
msgid "Waiting for the <em>opkg %h</em> command to complete…"
-msgstr "Ожидание Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹..."
+msgstr "Ожидание Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ <em>opkg %h</em>..."
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:533
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:692
@@ -311,9 +312,9 @@ msgstr "неизвеÑтный"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:531
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:690
msgid "~%.1024mB compressed"
-msgstr ""
+msgstr "~%.1024mБ Ñжато"
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:529
#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:688
msgid "~%.1024mB installed"
-msgstr ""
+msgstr "~%.1024mБ уÑтановлено"
diff --git a/applications/luci-app-radicale2/Makefile b/applications/luci-app-radicale2/Makefile
new file mode 100644
index 0000000000..83a2e7125e
--- /dev/null
+++ b/applications/luci-app-radicale2/Makefile
@@ -0,0 +1,14 @@
+include $(TOPDIR)/rules.mk
+
+LUCI_TITLE:=Radicale v2.x CalDAV/CardDAV Server
+LUCI_DEPENDS:=+radicale2 +rpcd-mod-rad2-enc
+LUCI_PKGARCH:=all
+
+PKG_LICENSE:=Apache-2.0
+PKG_MAINTAINER:=Daniel Dickinson <cshored@thecshore.com>
+
+LUA_TARGET:=source
+
+include ../../luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
diff --git a/applications/luci-app-radicale2/luasrc/controller/radicale2.lua b/applications/luci-app-radicale2/luasrc/controller/radicale2.lua
new file mode 100644
index 0000000000..7b94552ed6
--- /dev/null
+++ b/applications/luci-app-radicale2/luasrc/controller/radicale2.lua
@@ -0,0 +1,38 @@
+-- Licensed to the public under the Apache License 2.0.
+
+module("luci.controller.radicale2", package.seeall)
+
+function index()
+ local page
+
+ -- no config create an empty one
+ if not nixio.fs.access("/etc/config/radicale2") then
+ nxfs.writefile("/etc/config/radicale2", "")
+ end
+
+ page = entry({"admin", "services", "radicale2"}, alias("admin", "services", "radicale2", "server"), _("Radicale 2.x"))
+ page.leaf = false
+
+ page = entry({"admin", "services", "radicale2", "server"}, cbi("radicale2/server"), _("Server Settings"))
+ page.leaf = true
+ page.order = 10
+
+ page = entry({"admin", "services", "radicale2", "auth"}, cbi("radicale2/auth"), _("Authentication / Users"))
+ page.leaf = true
+ page.order = 20
+
+ page = entry({"admin", "services", "radicale2", "storage"}, cbi("radicale2/storage"), _("Storage"))
+ page.leaf = true
+ page.order = 30
+
+ page = entry({"admin", "services", "radicale2", "logging"}, cbi("radicale2/logging"), _("Logging"))
+ page.leaf = true
+ page.order = 40
+end
+
+function pymodexists(module)
+ retfun = luci.util.execi('python3 -c \'import importlib.util as util;found_module = util.find_spec("' .. module .. '");print(found_module is not None);print("\\n")\'')
+ retval = retfun() == "True"
+ while retfun() do end
+ return retval
+end
diff --git a/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua b/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua
new file mode 100644
index 0000000000..71fd3a32ee
--- /dev/null
+++ b/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua
@@ -0,0 +1,209 @@
+-- Licensed to the public under the Apache License 2.0.
+
+local rad2 = luci.controller.radicale2
+local fs = require("nixio.fs")
+local util = require("luci.util")
+
+local m = Map("radicale2", translate("Radicale 2.x"),
+ translate("A lightweight CalDAV/CardDAV server"))
+
+local s = m:section(NamedSection, "auth", "section", translate("Authentication"))
+s.addremove = true
+s.anonymous = false
+
+local at = s:option(ListValue, "type", translate("Authentication Type"))
+at:value("", translate("Default (htpasswd file from users below)"))
+at:value("htpasswd", translate("htpasswd file (manually populated)"))
+at:value("none", translate("No authentication"))
+at:value("remote_user", translate("REMOTE_USER from web server"))
+at:value("http_x_remote_user", translate("X-Remote-User from web server"))
+at.default = ""
+at.rmempty = true
+
+local o = s:option(Value, "htpasswd_filename", translate("Filename"), translate("htpasswd-formatted file filename"))
+o:depends("type", "htpasswd")
+o.rmempty = true
+o.placeholder = "/etc/radicale2/users"
+o.default = ""
+
+local hte = s:option(ListValue, "htpasswd_encryption", translate("Encryption"), translate("Password encryption method"))
+hte:depends("type", "htpasswd")
+hte:depends("type", "")
+hte:value("plain", translate("Plaintext"))
+hte:value("sha1", translate("SHA1"))
+hte:value("ssha", translate("SSHA"))
+hte:value("crypt", translate("crypt"))
+if rad2.pymodexists("passlib") then
+ hte:value("md5", translate("md5"))
+ if rad2.pymodexists("bcrypt") then
+ hte:value("bcrypt", translate("bcrypt"))
+ end
+end
+hte.default = "plain"
+hte.rmempty = true
+
+if not rad2.pymodexists("bcrypt") then
+ o = s:option(DummyValue, "nobcrypt", translate("Insecure hashes"), translate("Install python3-passlib and python3-bcrypt to enable a secure hash"))
+else
+ o = s:option(DummyValue, "nobcrypt", translate("Insecure hashes"), translate("Select bcrypt above to enable a secure hash"))
+ o:depends("htpasswd_encrypt","")
+ o:depends("htpasswd_encrypt","plain")
+ o:depends("htpasswd_encrypt","sha1")
+ o:depends("htpasswd_encrypt","ssha")
+ o:depends("htpasswd_encrypt","crypt")
+ o:depends("htpasswd_encrypt","md5")
+end
+
+o = s:option(Value, "delay", translate("Retry Delay"), translate("Required time between a failed authentication attempt and trying again"))
+o.rmempty = true
+o.default = 1
+o.datatype = "uinteger"
+o:depends("type", "")
+o:depends("type", "htpasswd")
+o:depends("type", "remote_user")
+o:depends("type", "http_x_remote_user")
+
+s = m:section(TypedSection, "user", translate("User"), translate("Users and Passwords"))
+s.addremove = true
+s.anonymous = true
+
+o = s:option(Value, "name", translate("Username"))
+o.rmempty = true
+o.placeholder = "johndoe"
+
+if rad2.pymodexists("passlib") then
+
+local plainpass = s:option(Value, "plain_pass", translate("Plaintext Password"))
+plainpass.placeholder = "Example password"
+plainpass.password = true
+
+local ppconfirm = s:option(Value, "plain_pass_confirm", translate("Confirm Plaintext Password"))
+ppconfirm.placeholder = "Example password"
+ppconfirm.password = true
+
+plainpass.cfgvalue = function(self, section)
+ return self:formvalue(section)
+end
+
+plainpass.write = function(self, section)
+ return true
+end
+
+
+ppconfirm.cfgvalue = plainpass.cfgvalue
+ppconfirm.write = plainpass.write
+
+plainpass.validate = function(self, value, section)
+ if self:cfgvalue(section) ~= ppconfirm:cfgvalue(section) then
+ return nil, translate("Password and confirmation do not match")
+ end
+ return AbstractValue.validate(self, value, section)
+end
+
+ppconfirm.validate = function(self, value, section)
+ if self:cfgvalue(section) ~= plainpass:cfgvalue(section) then
+ return nil, translate("Password and confirmation do not match")
+ end
+ return AbstractValue.validate(self, value, section)
+end
+
+local pass = s:option(Value, "password", translate("Encrypted Password"), translate("If 'Plaintext Password' filled and matches 'Confirm Plaintext Password' then this field becomes of hash of that password, otherwise this field remains the existing hash (you can also put your own hash value for the type of hash listed above)."))
+pass.password = true
+pass.rmempty = false
+
+function encpass(self, section)
+ local plainvalue = plainpass:cfgvalue(section)
+ local pvc = ppconfirm:cfgvalue(section)
+ local encvalue, err
+
+ if not plainvalue or not pvc or plainvalue == "" or pvc == "" or plainvalue ~= pvc then
+ return nil
+ end
+ local enctype = hte:formvalue("auth")
+ if not enctype then
+ enctype = hte:cfgvalue("auth")
+ end
+ if not enctype or enctype == "" or enctype == "plain" then
+ return plainvalue
+ end
+
+ encvalue, err = util.ubus("rad2-enc", "encrypt", { type = enctype, plainpass = plainvalue })
+ if not encvalue then
+ return nil
+ end
+
+ return encvalue and encvalue.encrypted_password
+end
+
+pass.parse = function(self, section, novld)
+ local encvalue
+ if self:cfgvalue(section) then
+ if not plainpass:cfgvalue(section) then
+ return Value.parse(self, section)
+ else
+ encvalue = encpass(self, section)
+ if encvalue then
+ self.formvalue = function(self, section)
+ return encvalue
+ end
+ return Value.parse(self, section, novld)
+ else
+ self.formvalue = self.cfgvalue
+ return Value.parse(self, section, novld)
+ end
+ end
+ else
+ encvalue = encpass(self, section)
+ if encvalue then
+ self.formvalue = function(self, section)
+ return encvalue
+ end
+ return Value.parse(self, section, novld)
+ else
+ return nil
+ end
+ end
+end
+
+else
+local pass = s:option(Value, "password", translate("Encrypted Password"), translate("Generate this field using an generator for Apache htpasswd-style authentication files (for the hash format you have chosen above), or install python3-passlib to enable the ability to create the hash by entering the plaintext in a field that will appear on this page if python3-passlib is installed."))
+pass.password = true
+pass.rmempty = false
+
+end -- python3-passlib installed
+
+-- TODO: Allow configuration of rights file from this page
+local s = m:section(NamedSection, "section", "rights", translate("Rights"), translate("User-based ACL Settings"))
+s.addremove = true
+s.anonymous = false
+
+o = s:option(ListValue, "type", translate("Rights Type"))
+o:value("", translate("Default (owner only)"))
+o:value("owner_only", translate("RO: None, RW: Owner"))
+o:value("authenticated", translate("RO: None, RW: Authenticated Users"))
+o:value("owner_write", translate("RO: Authenticated Users, RW: Owner"))
+o:value("from_file", translate("Based on settings in 'Rights File'"))
+o:value("none", translate("RO: All, RW: All"))
+o.default = ""
+o.rmempty = true
+
+rights_file = s:option(FileUpload, "file", translate("Rights File"))
+rights_file.rmempty = true
+rights_file:depends("type", "from_file")
+
+o = s:option(Button, "remove_conf",
+ translate("Remove configuration for rights file"),
+ translate("This permanently deletes the rights file and configuration to use same."))
+o.inputstyle = "remove"
+o:depends("type", "from_file")
+
+function o.write(self, section)
+ if cert_file:cfgvalue(section) and fs.access(o:cfgvalue(section)) then fs.unlink(rights_file:cfgvalue(section)) end
+ self.map:del(section, "file")
+ self.map:del(section, "rights_file")
+ luci.http.redirect(luci.dispatcher.build_url("admin", "services", "radicale2", "auth"))
+end
+
+-- TODO: Allow configuration rights file from this page
+
+return m
diff --git a/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua b/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua
new file mode 100644
index 0000000000..779bef8591
--- /dev/null
+++ b/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua
@@ -0,0 +1,40 @@
+-- Licensed to the public under the Apache License 2.0.
+
+local m = Map("radicale2", translate("Radicale 2.x"),
+ translate("A lightweight CalDAV/CardDAV server"))
+
+local s = m:section(NamedSection, "logging", "section", translate("Logging"))
+s.addremove = true
+s.anonymous = false
+
+local logging_file = nil
+
+logging_file = s:option(FileUpload, "config", translate("Logging File"), translate("Log configuration file (no file means default procd which ends up in syslog"))
+logging_file.rmempty = true
+logging_file.default = ""
+
+o = s:option(Button, "remove_conf", translate("Remove configuration for logging"),
+ translate("This permanently deletes configuration for logging"))
+o.inputstyle = "remove"
+
+function o.write(self, section)
+ if logging_file:cfgvalue(section) and fs.access(logging_file:cfgvalue(section)) then fs.unlink(loggin_file:cfgvalue(section)) end
+ self.map:del(section, "config")
+ luci.http.redirect(luci.dispatcher.build_url("admin", "services", "radicale2", "logging"))
+end
+
+o = s:option(Flag, "debug", translate("Debug"), translate("Send debug information to logs"))
+o.rmempty = true
+o.default = o.disabled
+
+o = s:option(Flag, "full_environment", translate("Dump Environment"), translate("Include full environment in logs"))
+o.rmempty = true
+o.default = o.disabled
+
+o = s:option(Flag, "mask_passwords", translate("Mask Passwords"), translate("Redact passwords in logs"))
+o.rmempty = true
+o.default = o.enabled
+
+-- TODO: Allow configuration logging file from this page
+
+return m
diff --git a/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua b/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua
new file mode 100644
index 0000000000..47ef868b8c
--- /dev/null
+++ b/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua
@@ -0,0 +1,144 @@
+-- Licensed to the public under the Apache License 2.0.
+
+local fs = require("nixio.fs")
+local rad2 = require "luci.controller.radicale2"
+local http = require("luci.http")
+
+local m = Map("radicale2", translate("Radicale 2.x"),
+ translate("A lightweight CalDAV/CardDAV server"))
+
+s = m:section(SimpleSection, translate("Radicale v2 Web UI"))
+s.addremove = false
+s.anonymous = true
+
+o = s:option(DummyValue, "radicale2_webui_go", translate("Go to Radicale v2 Web UI"))
+o.template = "cbi/raduigo"
+o.section = "cbi-radicale2_webui"
+
+local s = m:section(NamedSection, "server", "section", translate("Server Settings"))
+s.addremove = true
+s.anonymous = false
+
+o.section = "cbi-radicale2_web_ui"
+
+local lhttp = nil
+local certificate_file = nil
+local key_file = nil
+local certificate_authority_file = nil
+
+s:tab("general", translate("General Settings"))
+s:tab("advanced", translate("Advanced Settings"))
+
+lhttp = s:taboption("general", DynamicList, "host", translate("HTTP(S) Listeners (address:port)"))
+lhttp.datatype = "list(ipaddrport(1))"
+lhttp.placeholder = "127.0.0.1:5232"
+
+o = s:taboption("advanced", Value, "max_connection", translate("Max Connections"), translate("Maximum number of simultaneous connections"))
+o.rmempty = true
+o.placeholder = 20
+o.datatype = "uinteger"
+
+
+o = s:taboption("advanced", Value, "max_content_length", translate("Max Content Length"), translate("Maximum size of request body (bytes)"))
+o.rmempty = true
+o.datatype = "uinteger"
+o.placeholder = 100000000
+
+o = s:taboption("advanced", Value, "timeout", translate("Timeout"), translate("Socket timeout (seconds)"))
+o.rmempty = true
+o.placeholder = 30
+o.datatype = "uinteger"
+
+sslon = s:taboption("general", Flag, "ssl", translate("SSL"), translate("Enable SSL connections"))
+sslon.rmempty = true
+sslon.default = o.disabled
+sslon.formvalue = function(self, section)
+ if not rad2.pymodexists('ssl') then
+ return false
+ end
+ return Flag.formvalue(self, section)
+end
+
+cert_file = s:taboption("general", FileUpload, "certificate", translate("Certificate"))
+cert_file.rmempty = true
+cert_file:depends("ssl", true)
+
+key_file = s:taboption("general", FileUpload, "key", translate("Private Key"))
+key_file.rmempty = true
+key_file:depends("ssl", true)
+
+ca_file = s:taboption("general", FileUpload, "certificate_authority", translate("Client Certificate Authority"), translate("For verifying client certificates"))
+ca_file.rmempty = true
+ca_file:depends("ssl", true)
+
+o = s:taboption("advanced", Value, "ciphers", translate("Allowed Ciphers"), translate("See python3-openssl documentation for available ciphers"))
+o.rmempty = true
+o:depends("ssl", true)
+
+o = s:taboption("advanced", Value, "protocol", translate("Use Protocol"), translate("See python3-openssl documentation for available protocols"))
+o.rmempty = true
+o:depends("ssl", true)
+o.placeholder = "PROTOCOL_TLSv1_2"
+
+o = s:taboption("general", Button, "remove_conf",
+ translate("Remove configuration for certificate, key, and CA"),
+ translate("This permanently deletes the cert, key, and configuration to use same."))
+o.inputstyle = "remove"
+o:depends("ssl", true)
+
+function o.write(self, section)
+ if cert_file:cfgvalue(section) and fs.access(cert_file:cfgvalue(section)) then fs.unlink(cert_file:cfgvalue(section)) end
+ if key_file:cfgvalue(section) and fs.access(key_file:cfgvalue(section)) then fs.unlink(key_file:cfgvalue(section)) end
+ if ca_file:cfgvalue(section) and fs.access(key_file:cfgvalue(section)) then fs.unlink(ca_file:cfgvalue(section)) end
+ self.map:del(section, "certificate")
+ self.map:del(section, "key")
+ self.map:del(section, "certificate_authority")
+ self.map:del(section, "protocol")
+ self.map:del(section, "ciphers")
+ luci.http.redirect(luci.dispatcher.build_url("admin", "services", "radicale2", "server"))
+end
+
+if not rad2.pymodexists('ssl') then
+ o = s:taboption("general", DummyValue, "sslnotpreset", translate("SSL not available"), translate("Install package python3-openssl to support SSL connections"))
+end
+
+o = s:taboption("advanced", Flag, "dns_lookup", translate("DNS Lookup"), translate("Lookup reverse DNS for clients for logging"))
+o.rmempty = true
+o.default = o.enabled
+
+o = s:taboption("advanced", Value, "realm", translate("Realm"), translate("HTTP(S) Basic Authentication Realm"))
+o.rmempty = true
+o.placeholder = "Radicale - Password Required"
+
+local s = m:section(NamedSection, "web", "section", translate("Web UI"))
+s.addremove = true
+s.anonymous = false
+
+o = s:option(ListValue, "type", translate("Web UI Type"))
+o:value("", "Default (Built-in)")
+o:value("internal", "Built-in")
+o:value("none", "None")
+o.default = ""
+o.rmempty = true
+
+local s = m:section(NamedSection, "headers", "section", translate("Headers"), translate("HTTP(S) Headers"))
+s.addremove = true
+s.anonymous = false
+
+o = s:option(Value, "cors", translate("CORS"), translate("Header: X-Access-Control-Allow-Origin"))
+o.rmempty = true
+o.placeholder = "*"
+
+local s = m:section(NamedSection, "encoding", "section", translate("Document Encoding"))
+s.addremove = true
+s.anonymous = false
+
+o = s:option(Value, "request", translate("Request"), translate("Encoding for responding to requests/events"))
+o.rmempty = true
+o.placeholder = "utf-8"
+
+o = s:option(Value, "stock", translate("Storage"), translate("Encoding for storing local collections"))
+o.rmempty = true
+o.placeholder = "utf-8"
+
+return m
diff --git a/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua b/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua
new file mode 100644
index 0000000000..3440296edf
--- /dev/null
+++ b/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua
@@ -0,0 +1,50 @@
+-- Licensed to the public under the Apache License 2.0.
+
+local rad2 = luci.controller.radicale2
+local fs = require("nixio.fs")
+
+local m = Map("radicale2", translate("Radicale 2.x"),
+ translate("A lightweight CalDAV/CardDAV server"))
+
+local s = m:section(NamedSection, "storage", "section", translate("Storage"))
+s.addremove = true
+s.anonymous = false
+
+o = s:option(ListValue, "type", translate("Storage Type"))
+o:value("", translate("Default (multifilesystem)"))
+o:value("multifilesystem", translate("Multiple files on filesystem"))
+o.default = ""
+o.rmempty = true
+
+o = s:option(Value, "filesystem_folder", translate("Folder"), translate("Folder in which to store collections"))
+o:depends("type", "")
+o:depends("type", "multifilesystem")
+o.rmempty = true
+o.placeholder = "/srv/radicale2/data"
+
+o = s:option(Flag, "filesystem_locking", translate("Use File Locks"), translate("Prevent other instances or processes from modifying collections while in use"))
+o:depends("type", "")
+o:depends("type", "multifilesystem")
+o.rmempty = true
+o.default = o.enabled
+
+o = s:option(Value, "max_sync_token_age", translate("Max Sync Token Age"), translate("Delete sync token that are older (seconds)"))
+o:depends("type", "")
+o:depends("type", "multifilesystem")
+o.rmempty = true
+o.placeholder = 2592000
+o.datatype = "uinteger"
+
+o = s:option(Flag, "filesystem_close_lock_file", translate("Close Lock File"), translate("Close the lock file when no more clients are waiting"))
+o:depends("type", "")
+o:depends("type", "multifilesystem")
+o.rmempty = true
+o.default = o.disabled
+
+o = s:option(Value, "hook", translate("Hook"), translate("Command that is run after changes to storage"))
+o:depends("type", "")
+o:depends("type", "multifilesystem")
+o.rmempty = true
+o.placeholder = ("Example: ([ -d .git ] || git init) && git add -A && (git diff --cached --quiet || git commit -m \"Changes by \"%(user)s")
+
+return m
diff --git a/applications/luci-app-radicale2/luasrc/view/cbi/raduigo.htm b/applications/luci-app-radicale2/luasrc/view/cbi/raduigo.htm
new file mode 100644
index 0000000000..2f449d7b0b
--- /dev/null
+++ b/applications/luci-app-radicale2/luasrc/view/cbi/raduigo.htm
@@ -0,0 +1,25 @@
+<%
+local uci = require "luci.model.uci".cursor()
+local http_port = uci:get("radicale2", "server", "host")
+local usessl = uci:get("radicale2", "server", "ssl")
+if type(http_port) == "table" then
+ http_port = http_port[1]
+end
+
+ if http_port then
+ http_port = http_port:match("(%d+)$")
+ end
+ if not http_port then
+ http_port = "5232"
+ end
+%>
+<script type="text/javascript">
+<%
+if usessl then
+%>
+ var protocol = 'https'
+<% else %>
+ var protocol = 'http'
+<% end %>
+document.write('<a href="' + protocol + '://' + window.location.hostname + ':' + <%=http_port%> + '/"><%=luci.i18n.translate("Go to Radicale 2.x Web UI")%></a>');
+</script>
diff --git a/applications/luci-app-radicale2/po/en/radicale2.po b/applications/luci-app-radicale2/po/en/radicale2.po
new file mode 100644
index 0000000000..7a1bb2527d
--- /dev/null
+++ b/applications/luci-app-radicale2/po/en/radicale2.po
@@ -0,0 +1,496 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: luci-app-radicale 2\n"
+"PO-Revision-Date: 2019-01-09 06:32-0500\n"
+"Last-Translator: Daniel F. Dickinson <cshored@thecshore.com>\n"
+"Language-Team: English\n"
+"Language: en\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:8
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:4
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:8
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:7
+msgid "A lightweight CalDAV/CardDAV server"
+msgstr "A lightweight CalDAV/CardDAV server"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:30
+msgid "Advanced Settings"
+msgstr "Advanced Settings"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:74
+msgid "Allowed Ciphers"
+msgstr "Allowed Ciphers"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:10
+msgid "Authentication"
+msgstr "Authentication"
+
+#: applications/luci-app-radicale2/luasrc/controller/radicale2.lua:20
+msgid "Authentication / Users"
+msgstr "Authentication / Users"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:14
+msgid "Authentication Type"
+msgstr "Authentication Type"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:185
+msgid "Based on settings in 'Rights File'"
+msgstr "Based on settings in 'Rights File'"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:128
+msgid "CORS"
+msgstr "CORS"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:62
+msgid "Certificate"
+msgstr "Certificate"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:70
+msgid "Client Certificate Authority"
+msgstr "Client Certificate Authority"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:38
+msgid "Close Lock File"
+msgstr "Close Lock File"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:38
+msgid "Close the lock file when no more clients are waiting"
+msgstr "Close the lock file when no more clients are waiting"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:44
+msgid "Command that is run after changes to storage"
+msgstr "Command that is run after changes to storage"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:80
+msgid "Confirm Plaintext Password"
+msgstr "Confirm Plaintext Password"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:105
+msgid "DNS Lookup"
+msgstr "DNS Lookup"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:26
+msgid "Debug"
+msgstr "Debug"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:15
+msgid "Default (htpasswd file from users below)"
+msgstr "Default (htpasswd file from users below)"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:14
+msgid "Default (multifilesystem)"
+msgstr "Default (multifilesystem)"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:181
+msgid "Default (owner only)"
+msgstr "Default (owner only)"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:31
+msgid "Delete sync token that are older (seconds)"
+msgstr "Delete sync token that are older (seconds)"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:132
+msgid "Document Encoding"
+msgstr "Document Encoding"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:30
+msgid "Dump Environment"
+msgstr "Dump Environment"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:52
+msgid "Enable SSL connections"
+msgstr "Enable SSL connections"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:136
+msgid "Encoding for responding to requests/events"
+msgstr "Encoding for responding to requests/events"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:140
+msgid "Encoding for storing local collections"
+msgstr "Encoding for storing local collections"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:110
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:169
+msgid "Encrypted Password"
+msgstr "Encrypted Password"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:29
+msgid "Encryption"
+msgstr "Encryption"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:23
+msgid "Filename"
+msgstr "Filename"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:19
+msgid "Folder"
+msgstr "Folder"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:19
+msgid "Folder in which to store collections"
+msgstr "Folder in which to store collections"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:70
+msgid "For verifying client certificates"
+msgstr "For verifying client certificates"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:29
+msgid "General Settings"
+msgstr "General Settings"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:169
+msgid ""
+"Generate this field using an generator for Apache htpasswd-style "
+"authentication files (for the hash format you have chosen above), or install "
+"python3-passlib to enable the ability to create the hash by entering the "
+"plaintext in a field that will appear on this page if python3-passlib is "
+"installed."
+msgstr ""
+"Generate this field using an generator for Apache htpasswd-style "
+"authentication files (for the hash format you have chosen above), or install "
+"python3-passlib to enable the ability to create the hash by entering the "
+"plaintext in a field that will appear on this page if python3-passlib is "
+"installed."
+
+#: applications/luci-app-radicale2/luasrc/view/cbi/raduigo.htm:24
+msgid "Go to Radicale 2.x Web UI"
+msgstr "Go to Radicale 2.x Web UI"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:14
+msgid "Go to Radicale v2 Web UI"
+msgstr "Go to Radicale v2 Web UI"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:109
+msgid "HTTP(S) Basic Authentication Realm"
+msgstr "HTTP(S) Basic Authentication Realm"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:124
+msgid "HTTP(S) Headers"
+msgstr "HTTP(S) Headers"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:32
+msgid "HTTP(S) Listeners (address:port)"
+msgstr "HTTP(S) Listeners (address:port)"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:128
+msgid "Header: X-Access-Control-Allow-Origin"
+msgstr "Header: X-Access-Control-Allow-Origin"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:124
+msgid "Headers"
+msgstr "Headers"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:44
+msgid "Hook"
+msgstr "Hook"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:110
+msgid ""
+"If 'Plaintext Password' filled and matches 'Confirm Plaintext Password' then "
+"this field becomes of hash of that password, otherwise this field remains "
+"the existing hash (you can also put your own hash value for the type of hash "
+"listed above)."
+msgstr ""
+"If 'Plaintext Password' filled and matches 'Confirm Plaintext Password' then "
+"this field becomes of hash of that password, otherwise this field remains "
+"the existing hash (you can also put your own hash value for the type of hash "
+"listed above)."
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:30
+msgid "Include full environment in logs"
+msgstr "Include full environment in logs"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:46
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:48
+msgid "Insecure hashes"
+msgstr "Insecure hashes"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:102
+msgid "Install package python3-openssl to support SSL connections"
+msgstr "Install package python3-openssl to support SSL connections"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:46
+msgid "Install python3-passlib and python3-bcrypt to enable a secure hash"
+msgstr "Install python3-passlib and python3-bcrypt to enable a secure hash"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:12
+msgid ""
+"Log configuration file (no file means default procd which ends up in syslog"
+msgstr ""
+"Log configuration file (no file means default procd which ends up in syslog"
+
+#: applications/luci-app-radicale2/luasrc/controller/radicale2.lua:28
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:6
+msgid "Logging"
+msgstr "Logging"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:12
+msgid "Logging File"
+msgstr "Logging File"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:105
+msgid "Lookup reverse DNS for clients for logging"
+msgstr "Lookup reverse DNS for clients for logging"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:34
+msgid "Mask Passwords"
+msgstr "Mask Passwords"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:36
+msgid "Max Connections"
+msgstr "Max Connections"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:42
+msgid "Max Content Length"
+msgstr "Max Content Length"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:31
+msgid "Max Sync Token Age"
+msgstr "Max Sync Token Age"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:36
+msgid "Maximum number of simultaneous connections"
+msgstr "Maximum number of simultaneous connections"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:42
+msgid "Maximum size of request body (bytes)"
+msgstr "Maximum size of request body (bytes)"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:15
+msgid "Multiple files on filesystem"
+msgstr "Multiple files on filesystem"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:17
+msgid "No authentication"
+msgstr "No authentication"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:98
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:105
+msgid "Password and confirmation do not match"
+msgstr "Password and confirmation do not match"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:29
+msgid "Password encryption method"
+msgstr "Password encryption method"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:32
+msgid "Plaintext"
+msgstr "Plaintext"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:76
+msgid "Plaintext Password"
+msgstr "Plaintext Password"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:25
+msgid ""
+"Prevent other instances or processes from modifying collections while in use"
+msgstr ""
+"Prevent other instances or processes from modifying collections while in use"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:66
+msgid "Private Key"
+msgstr "Private Key"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:18
+msgid "REMOTE_USER from web server"
+msgstr "REMOTE_USER from web server"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:186
+msgid "RO: All, RW: All"
+msgstr "RO: All, RW: All"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:184
+msgid "RO: Authenticated Users, RW: Owner"
+msgstr "RO: Authenticated Users, RW: Owner"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:183
+msgid "RO: None, RW: Authenticated Users"
+msgstr "RO: None, RW: Authenticated Users"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:182
+msgid "RO: None, RW: Owner"
+msgstr "RO: None, RW: Owner"
+
+#: applications/luci-app-radicale2/luasrc/controller/radicale2.lua:13
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:7
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:3
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:7
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:6
+msgid "Radicale 2.x"
+msgstr "Radicale 2.x"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:10
+msgid "Radicale v2 Web UI"
+msgstr "Radicale v2 Web UI"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:109
+msgid "Realm"
+msgstr "Realm"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:34
+msgid "Redact passwords in logs"
+msgstr "Redact passwords in logs"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:84
+msgid "Remove configuration for certificate, key, and CA"
+msgstr "Remove configuration for certificate, key, and CA"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:16
+msgid "Remove configuration for logging"
+msgstr "Remove configuration for logging"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:195
+msgid "Remove configuration for rights file"
+msgstr "Remove configuration for rights file"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:136
+msgid "Request"
+msgstr "Request"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:57
+msgid "Required time between a failed authentication attempt and trying again"
+msgstr "Required time between a failed authentication attempt and trying again"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:57
+msgid "Retry Delay"
+msgstr "Retry Delay"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:176
+msgid "Rights"
+msgstr "Rights"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:190
+msgid "Rights File"
+msgstr "Rights File"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:180
+msgid "Rights Type"
+msgstr "Rights Type"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:33
+msgid "SHA1"
+msgstr "SHA1"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:34
+msgid "SSHA"
+msgstr "SSHA"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:52
+msgid "SSL"
+msgstr "SSL"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:102
+msgid "SSL not available"
+msgstr "SSL not available"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:74
+msgid "See python3-openssl documentation for available ciphers"
+msgstr "See python3-openssl documentation for available ciphers"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:78
+msgid "See python3-openssl documentation for available protocols"
+msgstr "See python3-openssl documentation for available protocols"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:48
+msgid "Select bcrypt above to enable a secure hash"
+msgstr "Select bcrypt above to enable a secure hash"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:26
+msgid "Send debug information to logs"
+msgstr "Send debug information to logs"
+
+#: applications/luci-app-radicale2/luasrc/controller/radicale2.lua:16
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:18
+msgid "Server Settings"
+msgstr "Server Settings"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:47
+msgid "Socket timeout (seconds)"
+msgstr "Socket timeout (seconds)"
+
+#: applications/luci-app-radicale2/luasrc/controller/radicale2.lua:24
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:140
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:9
+msgid "Storage"
+msgstr "Storage"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:13
+msgid "Storage Type"
+msgstr "Storage Type"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:17
+msgid "This permanently deletes configuration for logging"
+msgstr "This permanently deletes configuration for logging"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:85
+msgid "This permanently deletes the cert, key, and configuration to use same."
+msgstr "This permanently deletes the cert, key, and configuration to use same."
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:196
+msgid "This permanently deletes the rights file and configuration to use same."
+msgstr ""
+"This permanently deletes the rights file and configuration to use same."
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:47
+msgid "Timeout"
+msgstr "Timeout"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:25
+msgid "Use File Locks"
+msgstr "Use File Locks"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:78
+msgid "Use Protocol"
+msgstr "Use Protocol"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:66
+msgid "User"
+msgstr "User"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:176
+msgid "User-based ACL Settings"
+msgstr "User-based ACL Settings"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:70
+msgid "Username"
+msgstr "Username"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:66
+msgid "Users and Passwords"
+msgstr "Users and Passwords"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:113
+msgid "Web UI"
+msgstr "Web UI"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:117
+msgid "Web UI Type"
+msgstr "Web UI Type"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:19
+msgid "X-Remote-User from web server"
+msgstr "X-Remote-User from web server"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:39
+msgid "bcrypt"
+msgstr "bcrypt"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:35
+msgid "crypt"
+msgstr "crypt"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:16
+msgid "htpasswd file (manually populated)"
+msgstr "htpasswd file (manually populated)"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:23
+msgid "htpasswd-formatted file filename"
+msgstr "htpasswd-formatted file filename"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:37
+msgid "md5"
+msgstr "md5"
diff --git a/applications/luci-app-radicale2/po/templates/radicale2.pot b/applications/luci-app-radicale2/po/templates/radicale2.pot
new file mode 100644
index 0000000000..be11ff1fe0
--- /dev/null
+++ b/applications/luci-app-radicale2/po/templates/radicale2.pot
@@ -0,0 +1,475 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:8
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:4
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:8
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:7
+msgid "A lightweight CalDAV/CardDAV server"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:30
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:74
+msgid "Allowed Ciphers"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:10
+msgid "Authentication"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/controller/radicale2.lua:20
+msgid "Authentication / Users"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:14
+msgid "Authentication Type"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:185
+msgid "Based on settings in 'Rights File'"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:128
+msgid "CORS"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:62
+msgid "Certificate"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:70
+msgid "Client Certificate Authority"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:38
+msgid "Close Lock File"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:38
+msgid "Close the lock file when no more clients are waiting"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:44
+msgid "Command that is run after changes to storage"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:80
+msgid "Confirm Plaintext Password"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:105
+msgid "DNS Lookup"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:26
+msgid "Debug"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:15
+msgid "Default (htpasswd file from users below)"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:14
+msgid "Default (multifilesystem)"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:181
+msgid "Default (owner only)"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:31
+msgid "Delete sync token that are older (seconds)"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:132
+msgid "Document Encoding"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:30
+msgid "Dump Environment"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:52
+msgid "Enable SSL connections"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:136
+msgid "Encoding for responding to requests/events"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:140
+msgid "Encoding for storing local collections"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:110
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:169
+msgid "Encrypted Password"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:29
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:23
+msgid "Filename"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:19
+msgid "Folder"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:19
+msgid "Folder in which to store collections"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:70
+msgid "For verifying client certificates"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:29
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:169
+msgid ""
+"Generate this field using an generator for Apache htpasswd-style "
+"authentication files (for the hash format you have chosen above), or install "
+"python3-passlib to enable the ability to create the hash by entering the "
+"plaintext in a field that will appear on this page if python3-passlib is "
+"installed."
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/view/cbi/raduigo.htm:24
+msgid "Go to Radicale 2.x Web UI"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:14
+msgid "Go to Radicale v2 Web UI"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:109
+msgid "HTTP(S) Basic Authentication Realm"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:124
+msgid "HTTP(S) Headers"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:32
+msgid "HTTP(S) Listeners (address:port)"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:128
+msgid "Header: X-Access-Control-Allow-Origin"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:124
+msgid "Headers"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:44
+msgid "Hook"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:110
+msgid ""
+"If 'Plaintext Password' filled and matches 'Confirm Plaintext Password' then "
+"this field becomes of hash of that password, otherwise this field remains "
+"the existing hash (you can also put your own hash value for the type of hash "
+"listed above)."
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:30
+msgid "Include full environment in logs"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:46
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:48
+msgid "Insecure hashes"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:102
+msgid "Install package python3-openssl to support SSL connections"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:46
+msgid "Install python3-passlib and python3-bcrypt to enable a secure hash"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:12
+msgid ""
+"Log configuration file (no file means default procd which ends up in syslog"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/controller/radicale2.lua:28
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:6
+msgid "Logging"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:12
+msgid "Logging File"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:105
+msgid "Lookup reverse DNS for clients for logging"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:34
+msgid "Mask Passwords"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:36
+msgid "Max Connections"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:42
+msgid "Max Content Length"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:31
+msgid "Max Sync Token Age"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:36
+msgid "Maximum number of simultaneous connections"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:42
+msgid "Maximum size of request body (bytes)"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:15
+msgid "Multiple files on filesystem"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:17
+msgid "No authentication"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:98
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:105
+msgid "Password and confirmation do not match"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:29
+msgid "Password encryption method"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:32
+msgid "Plaintext"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:76
+msgid "Plaintext Password"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:25
+msgid ""
+"Prevent other instances or processes from modifying collections while in use"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:66
+msgid "Private Key"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:18
+msgid "REMOTE_USER from web server"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:186
+msgid "RO: All, RW: All"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:184
+msgid "RO: Authenticated Users, RW: Owner"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:183
+msgid "RO: None, RW: Authenticated Users"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:182
+msgid "RO: None, RW: Owner"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/controller/radicale2.lua:13
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:7
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:3
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:7
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:6
+msgid "Radicale 2.x"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:10
+msgid "Radicale v2 Web UI"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:109
+msgid "Realm"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:34
+msgid "Redact passwords in logs"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:84
+msgid "Remove configuration for certificate, key, and CA"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:16
+msgid "Remove configuration for logging"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:195
+msgid "Remove configuration for rights file"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:136
+msgid "Request"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:57
+msgid "Required time between a failed authentication attempt and trying again"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:57
+msgid "Retry Delay"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:176
+msgid "Rights"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:190
+msgid "Rights File"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:180
+msgid "Rights Type"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:33
+msgid "SHA1"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:34
+msgid "SSHA"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:52
+msgid "SSL"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:102
+msgid "SSL not available"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:74
+msgid "See python3-openssl documentation for available ciphers"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:78
+msgid "See python3-openssl documentation for available protocols"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:48
+msgid "Select bcrypt above to enable a secure hash"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:26
+msgid "Send debug information to logs"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/controller/radicale2.lua:16
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:18
+msgid "Server Settings"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:47
+msgid "Socket timeout (seconds)"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/controller/radicale2.lua:24
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:140
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:9
+msgid "Storage"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:13
+msgid "Storage Type"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:17
+msgid "This permanently deletes configuration for logging"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:85
+msgid "This permanently deletes the cert, key, and configuration to use same."
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:196
+msgid "This permanently deletes the rights file and configuration to use same."
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:47
+msgid "Timeout"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:25
+msgid "Use File Locks"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:78
+msgid "Use Protocol"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:66
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:176
+msgid "User-based ACL Settings"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:70
+msgid "Username"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:66
+msgid "Users and Passwords"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:113
+msgid "Web UI"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:117
+msgid "Web UI Type"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:19
+msgid "X-Remote-User from web server"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:39
+msgid "bcrypt"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:35
+msgid "crypt"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:16
+msgid "htpasswd file (manually populated)"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:23
+msgid "htpasswd-formatted file filename"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:37
+msgid "md5"
+msgstr ""
diff --git a/applications/luci-app-rp-pppoe-server/po/en/rp-pppoe-server.po b/applications/luci-app-rp-pppoe-server/po/en/rp-pppoe-server.po
new file mode 100644
index 0000000000..451e44de1e
--- /dev/null
+++ b/applications/luci-app-rp-pppoe-server/po/en/rp-pppoe-server.po
@@ -0,0 +1,101 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2019-01-09 07:01-0500\n"
+"Last-Translator: Daniel F. Dickinson <cshored@thecshore.com>\n"
+"Language-Team: English\n"
+"Language: en\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:19
+msgid "Access Concentrator Name"
+msgstr "Access Concentrator Name"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:32
+msgid "First remote IP"
+msgstr "First remote IP"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:29
+msgid "IP of listening side"
+msgstr "IP of listening side"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:44
+msgid ""
+"Instead of starting at beginning and going to end, randomize session number"
+msgstr ""
+"Instead of starting at beginning and going to end, randomize session number"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:15
+msgid "Interface"
+msgstr "Interface"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:15
+msgid "Interface on which to listen."
+msgstr "Interface on which to listen."
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:62
+msgid "MSS"
+msgstr "MSS"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:35
+msgid "Maximum sessions"
+msgstr "Maximum sessions"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:25
+msgid "Maximum sessions per peer"
+msgstr "Maximum sessions per peer"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:52
+msgid "Offset"
+msgstr "Offset"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:40
+msgid "Options file"
+msgstr "Options file"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:52
+msgid "PPP offset"
+msgstr "PPP offset"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:47
+msgid "PPP unit number"
+msgstr "PPP unit number"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:9
+msgid "PPPoE Server Configuration"
+msgstr "PPPoE Server Configuration"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/controller/rp-pppoe-server.lua:11
+msgid "RP PPPoE Server"
+msgstr "RP PPPoE Server"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:44
+msgid "Random session selection"
+msgstr "Random session selection"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:8
+msgid "Roaring Penguin PPPoE Server"
+msgstr "Roaring Penguin PPPoE Server"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:11
+msgid "Server Configuration"
+msgstr "Server Configuration"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:22
+msgid "Service Name"
+msgstr "Service Name"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:68
+msgid "Sync"
+msgstr "Sync"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:57
+msgid "Timeout"
+msgstr "Timeout"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:47
+msgid "Unit"
+msgstr "Unit"
diff --git a/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua b/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua
index 553b297ac0..e4d1a2745e 100644
--- a/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua
+++ b/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua
@@ -24,7 +24,7 @@ end
function src_dst_option(s, ...)
local o = s:taboption(...)
- o.datatype = "or(ip4addr,cidr4)"
+ o.datatype = "or(ipaddr,cidr)"
end
s = m:section(NamedSection, "ss_rules", "ss_rules")
diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/collectd.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/collectd.lua
index 663a3f12d4..b380febac0 100644
--- a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/collectd.lua
+++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/collectd.lua
@@ -1,7 +1,7 @@
-- Copyright 2008 Freifunk Leipzig / Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
-require("luci.sys")
+local sys = require("luci.sys")
m = Map("luci_statistics",
@@ -17,7 +17,7 @@ s = m:section( NamedSection, "collectd", "luci_statistics" )
-- general.hostname (Hostname)
hostname = s:option( Value, "Hostname", translate("Hostname") )
-hostname.default = luci.sys.hostname()
+hostname.default = sys.hostname()
hostname.optional = true
-- general.basedir (BaseDir)
diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/conntrack.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/conntrack.lua
index f89cdb1fb8..608144f135 100644
--- a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/conntrack.lua
+++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/conntrack.lua
@@ -1,13 +1,5 @@
---[[
-
-Copyright 2011 Jo-Philipp Wich <jow@openwrt.org>
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-]]--
+-- Copyright 2011 Jo-Philipp Wich <jow@openwrt.org>
+-- Licensed to the public under the Apache License 2.0.
m = Map("luci_statistics",
translate("Conntrack Plugin Configuration"),
diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/dns.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/dns.lua
index dafcc452cc..4245018661 100644
--- a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/dns.lua
+++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/dns.lua
@@ -1,7 +1,7 @@
-- Copyright 2008 Freifunk Leipzig / Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
-require("luci.sys")
+local sys = require("luci.sys")
m = Map("luci_statistics",
@@ -24,7 +24,7 @@ interfaces.widget = "select"
interfaces.size = 5
interfaces:depends( "enable", 1 )
interfaces:value("any")
-for k, v in pairs(luci.sys.net.devices()) do
+for k, v in pairs(sys.net.devices()) do
interfaces:value(v)
end
diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/interface.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/interface.lua
index 752212f4d4..60c88d072c 100644
--- a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/interface.lua
+++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/interface.lua
@@ -1,7 +1,7 @@
-- Copyright 2008 Freifunk Leipzig / Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
-require("luci.sys")
+local sys = require("luci.sys")
m = Map("luci_statistics",
@@ -23,7 +23,7 @@ interfaces = s:option( MultiValue, "Interfaces", translate("Monitor interfaces")
interfaces.widget = "select"
interfaces.size = 5
interfaces:depends( "enable", 1 )
-for k, v in pairs(luci.sys.net.devices()) do
+for k, v in pairs(sys.net.devices()) do
interfaces:value(v)
end
diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/iptables.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/iptables.lua
index ded3f7f996..375a15bf1a 100644
--- a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/iptables.lua
+++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/iptables.lua
@@ -1,13 +1,12 @@
-- Copyright 2008 Freifunk Leipzig / Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
-require("luci.sys.iptparser")
+local ip = require("luci.sys.iptparser").IptParser()
-ip = luci.sys.iptparser.IptParser()
-chains = { }
-targets = { }
+local chains = { }
+local targets = { }
-for i, rule in ipairs( ip:find() ) do
+for i, rule in ipairs( ip:find() ) do
if rule.chain and rule.target then
chains[rule.chain] = true
targets[rule.target] = true
diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/memory.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/memory.lua
index 5510a5a8e8..fa677b8d12 100644
--- a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/memory.lua
+++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/memory.lua
@@ -1,13 +1,5 @@
---[[
-
-Copyright 2011 Manuel Munz <freifunk at somakoma dot de>
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-]]--
+-- Copyright 2011 Manuel Munz <freifunk at somakoma dot de>
+-- Licensed to the public under the Apache License 2.0.
m = Map("luci_statistics",
translate("Memory Plugin Configuration"),
diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/netlink.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/netlink.lua
index 66449ec467..784ad1fdbb 100644
--- a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/netlink.lua
+++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/netlink.lua
@@ -1,9 +1,9 @@
-- Copyright 2008 Freifunk Leipzig / Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
-require("luci.sys")
+local sys = require("luci.sys")
-local devices = luci.sys.net.devices()
+local devices = sys.net.devices()
m = Map("luci_statistics",
diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/openvpn.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/openvpn.lua
index 193f0448ae..f0a5ab5930 100644
--- a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/openvpn.lua
+++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/openvpn.lua
@@ -1,11 +1,8 @@
-- Copyright 2015 Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
-require "luci.sys"
-
local m, s, o
-
m = Map("luci_statistics",
translate("OpenVPN Plugin Configuration"),
translate("The OpenVPN plugin gathers information about the current vpn connection status."))
diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/sensors.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/sensors.lua
index 77e36bfaff..69066880c3 100644
--- a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/sensors.lua
+++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/sensors.lua
@@ -1,8 +1,6 @@
-- Copyright 2015 Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
-require "luci.sys"
-
local m, s, o
local sensor_types = {
["12v"] = "voltage",
diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/uptime.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/uptime.lua
index 3a6c4644e3..5e32da7ffe 100644
--- a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/uptime.lua
+++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/uptime.lua
@@ -1,13 +1,5 @@
---[[
-
-Copyright 2013 Thomas Endt <tmo26@gmx.de>
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-]]--
+-- Copyright 2013 Thomas Endt <tmo26@gmx.de>
+-- Licensed to the public under the Apache License 2.0.
m = Map("luci_statistics",
translate("Uptime Plugin Configuration"),
diff --git a/applications/luci-app-statistics/luasrc/statistics/i18n.lua b/applications/luci-app-statistics/luasrc/statistics/i18n.lua
index 7877e61ab3..6b01958cbe 100644
--- a/applications/luci-app-statistics/luasrc/statistics/i18n.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/i18n.lua
@@ -3,15 +3,14 @@
module("luci.statistics.i18n", package.seeall)
-require("luci.util")
-require("luci.i18n")
+local util = require("luci.util")
+local i18n = require("luci.i18n")
-Instance = luci.util.class()
-
+Instance = util.class()
function Instance.__init__( self, graph )
- self.i18n = luci.i18n
+ self.i18n = i18n
self.graph = graph
end
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua
index f543e67599..b9f48a45bd 100644
--- a/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua
@@ -3,30 +3,28 @@
module("luci.statistics.rrdtool", package.seeall)
-require("luci.statistics.datatree")
-require("luci.statistics.rrdtool.colors")
-require("luci.statistics.i18n")
-require("luci.model.uci")
-require("luci.util")
-require("luci.sys")
+local tree = require("luci.statistics.datatree")
+local colors = require("luci.statistics.rrdtool.colors")
+local i18n = require("luci.statistics.i18n")
+local uci = require("luci.model.uci").cursor()
+local util = require("luci.util")
+local sys = require("luci.sys")
+local fs = require("nixio.fs")
-local fs = require "nixio.fs"
-
-Graph = luci.util.class()
+Graph = util.class()
function Graph.__init__( self, timespan, opts )
opts = opts or { }
- local uci = luci.model.uci.cursor()
local sections = uci:get_all( "luci_statistics" )
-- options
opts.timespan = timespan or sections.rrdtool.default_timespan or 900
opts.rrasingle = opts.rrasingle or ( sections.collectd_rrdtool.RRASingle == "1" )
opts.rramax = opts.rramax or ( sections.collectd_rrdtool.RRAMax == "1" )
- opts.host = opts.host or sections.collectd.Hostname or luci.sys.hostname()
+ opts.host = opts.host or sections.collectd.Hostname or sys.hostname()
opts.width = opts.width or sections.rrdtool.image_width or 400
opts.rrdpath = opts.rrdpath or sections.collectd_rrdtool.DataDir or "/tmp/rrd"
opts.imgpath = opts.imgpath or sections.rrdtool.image_path or "/tmp/rrdimg"
@@ -34,9 +32,9 @@ function Graph.__init__( self, timespan, opts )
opts.imgpath = opts.imgpath:gsub("/$","")
-- helper classes
- self.colors = luci.statistics.rrdtool.colors.Instance()
- self.tree = luci.statistics.datatree.Instance(opts.host)
- self.i18n = luci.statistics.i18n.Instance( self )
+ self.colors = colors.Instance()
+ self.tree = tree.Instance(opts.host)
+ self.i18n = i18n.Instance( self )
-- rrdtool default args
self.args = {
@@ -102,7 +100,7 @@ function Graph._rrdtool( self, def, rrd )
opt = opt:gsub( "{file}", rrd )
end
- cmdline[#cmdline+1] = luci.util.shellquote(opt)
+ cmdline[#cmdline+1] = util.shellquote(opt)
end
-- execute rrdtool
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/colors.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/colors.lua
index 5b35dff67c..0d3af712fd 100644
--- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/colors.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/colors.lua
@@ -3,10 +3,10 @@
module("luci.statistics.rrdtool.colors", package.seeall)
-require("luci.util")
+local util = require("luci.util")
-Instance = luci.util.class()
+Instance = util.class()
function Instance.from_string( self, s )
return {
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/apcups.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/apcups.lua
index 9f7a51a868..37055f5861 100644
--- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/apcups.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/apcups.lua
@@ -19,8 +19,7 @@ function rrdargs( graph, plugin, plugin_instance )
ups_inst[t] = graph.tree:data_instances( plugin, plugin_instance, t )
end
-
- -- Check if hash table or array is empty or nil-filled
+ -- Check if hash table or array is empty or nil-filled
local function empty( t )
for _, v in pairs(t) do
@@ -57,8 +56,8 @@ function rrdargs( graph, plugin, plugin_instance )
end
- -- Graph definitions for APC UPS measurements MUST use only 'instances':
- -- e.g. instances = { voltage = { "input", "output" } }
+ -- Graph definitions for APC UPS measurements MUST use only 'instances':
+ -- e.g. instances = { voltage = { "input", "output" } }
local voltagesdc = {
title = "%H: Voltages on APC UPS - Battery",
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/conntrack.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/conntrack.lua
index fbc47731ef..5212b736e2 100644
--- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/conntrack.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/conntrack.lua
@@ -4,6 +4,7 @@
module("luci.statistics.rrdtool.definitions.conntrack",package.seeall)
function rrdargs( graph, plugin, plugin_instance, dtype )
+
return {
title = "%H: Conntrack entries",
vlabel = "Count",
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/curl.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/curl.lua
index 89a65a6b5f..2bbdfb08fb 100644
--- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/curl.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/curl.lua
@@ -4,6 +4,7 @@
module("luci.statistics.rrdtool.definitions.curl", package.seeall)
function rrdargs( graph, plugin, plugin_instance, dtype )
+
return {
title = "%H: cUrl Response Time for #%pi",
y_min = "0",
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/disk.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/disk.lua
index 8aabb7f64e..b6f7d6d5f8 100644
--- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/disk.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/disk.lua
@@ -4,6 +4,7 @@
module("luci.statistics.rrdtool.definitions.disk", package.seeall)
function rrdargs( graph, plugin, plugin_instance, dtype )
+
return {
{
title = "%H: Disk I/O operations on %pi",
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/netlink.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/netlink.lua
index a612126ed0..f485048538 100644
--- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/netlink.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/netlink.lua
@@ -37,7 +37,6 @@ function rrdargs( graph, plugin, plugin_instance )
}
}
-
--
-- packet diagram
--
@@ -119,7 +118,6 @@ function rrdargs( graph, plugin, plugin_instance )
}
}
-
--
-- multicast diagram
--
@@ -144,7 +142,6 @@ function rrdargs( graph, plugin, plugin_instance )
}
}
-
--
-- collision diagram
--
@@ -169,7 +166,6 @@ function rrdargs( graph, plugin, plugin_instance )
}
}
-
--
-- error diagram
--
@@ -206,6 +202,5 @@ function rrdargs( graph, plugin, plugin_instance )
}
}
-
return { traffic, packets, multicast, collisions, errors }
end
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/olsrd.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/olsrd.lua
index a69469568e..481557bb7f 100644
--- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/olsrd.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/olsrd.lua
@@ -9,18 +9,18 @@ function rrdargs( graph, plugin, plugin_instance, dtype )
if plugin_instance == "routes" then
g[#g+1] = {
- -- diagram data description
+ -- diagram data description
title = "%H: Total amount of OLSR routes", vlabel = "n",
number_format = "%5.0lf", data = {
- types = { "routes" },
+ types = { "routes" },
options = {
routes = {
color = "ff0000",
title = "Total number of routes"
}
}
- }
- }
+ }
+ }
g[#g+1] = {
title = "%H: Average route ETX", vlabel = "ETX", detail = true,
@@ -80,7 +80,7 @@ function rrdargs( graph, plugin, plugin_instance, dtype )
number_format = "%5.2lf", detail = true,
data = {
types = { "signal_quality" },
-
+
instances = {
signal_quality = { instances[i], instances[i+1] },
},
@@ -106,7 +106,7 @@ function rrdargs( graph, plugin, plugin_instance, dtype )
title= "%H: Total amount of OLSR links", vlabel = "n",
number_format = "%5.0lf", data = {
instances = { "" },
- types = { "links" },
+ types = { "links" },
options = {
links = {
color = "0000ff",
@@ -114,7 +114,7 @@ function rrdargs( graph, plugin, plugin_instance, dtype )
}
}
}
- }
+ }
g[#g+1] = {
title= "%H: Average signal quality", vlabel = "n",
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/ping.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/ping.lua
index 6ecdb5c8ad..5b575bfff2 100644
--- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/ping.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/ping.lua
@@ -4,6 +4,7 @@
module("luci.statistics.rrdtool.definitions.ping", package.seeall)
function rrdargs( graph, plugin, plugin_instance, dtype )
+
return {
-- Ping roundtrip time
{ title = "%H: ICMP Round Trip Time",
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/processes.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/processes.lua
index 62d0545973..010ac1cd2e 100644
--- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/processes.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/processes.lua
@@ -5,8 +5,8 @@ module("luci.statistics.rrdtool.definitions.processes", package.seeall)
function rrdargs( graph, plugin, plugin_instance, dtype )
- if plugin_instance == "" then
- return {
+ if plugin_instance == "" then
+ return {
title = "%H: Processes",
vlabel = "Processes/s",
data = {
@@ -26,9 +26,9 @@ function rrdargs( graph, plugin, plugin_instance, dtype )
ps_state_zombies = { color = "ff0000", title = "Zombies" }
}
}
- }
- else
- return {
+ }
+ else
+ return {
{
title = "%H: CPU time used by %pi",
vlabel = "Jiffies",
@@ -113,5 +113,5 @@ function rrdargs( graph, plugin, plugin_instance, dtype )
}
}
}
- end
+ end
end
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/sensors.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/sensors.lua
index f8bddb96e3..b3119234a4 100644
--- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/sensors.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/sensors.lua
@@ -4,6 +4,7 @@
module("luci.statistics.rrdtool.definitions.sensors", package.seeall)
function rrdargs( graph, plugin, plugin_instance )
+
return {
{
per_instance = true,
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/splash_leases.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/splash_leases.lua
index 65fba5299d..1a192ae6a6 100644
--- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/splash_leases.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/splash_leases.lua
@@ -1,27 +1,26 @@
-- Copyright 2013 Freifunk Augsburg / Michael Wendland <michael@michiwend.com>
-- Licensed to the public under the Apache License 2.0.
-
module("luci.statistics.rrdtool.definitions.splash_leases", package.seeall)
-
+
function rrdargs( graph, plugin, plugin_instance, dtype )
-
- return {
- title = "%H: Splash Leases",
- vlabel = "Active Clients",
- y_min = "0",
- number_format = "%5.1lf",
- data = {
- sources = {
- splash_leases = { "leased", "whitelisted", "blacklisted" }
- },
-
- options = {
- splash_leases__leased = { color = "00CC00", title = "Leased", overlay = false },
- splash_leases__whitelisted = { color = "0000FF", title = "Whitelisted", overlay = false },
- splash_leases__blacklisted = { color = "FF0000", title = "Blacklisted", overlay = false }
- }
- }
- }
-end
+ return {
+ title = "%H: Splash Leases",
+ vlabel = "Active Clients",
+ y_min = "0",
+ number_format = "%5.1lf",
+ data = {
+ sources = {
+ splash_leases = { "leased", "whitelisted", "blacklisted" }
+ },
+
+ options = {
+ splash_leases__leased = { color = "00CC00", title = "Leased", overlay = false },
+ splash_leases__whitelisted = { color = "0000FF", title = "Whitelisted", overlay = false },
+ splash_leases__blacklisted = { color = "FF0000", title = "Blacklisted", overlay = false }
+ }
+ }
+ }
+
+end
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/tcpconns.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/tcpconns.lua
index 50a9470de5..7e7ed238f4 100644
--- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/tcpconns.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/tcpconns.lua
@@ -4,6 +4,7 @@
module("luci.statistics.rrdtool.definitions.tcpconns", package.seeall)
function rrdargs( graph, plugin, plugin_instance, dtype )
+
return {
title = "%H: TCP connections to port %pi",
vlabel = "Connections/s",
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/uptime.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/uptime.lua
index 077ec57e83..a50e78491f 100644
--- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/uptime.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/uptime.lua
@@ -13,15 +13,14 @@ module("luci.statistics.rrdtool.definitions.uptime", package.seeall)
function rrdargs( graph, plugin, plugin_instance, dtype )
- return {
- title = "%H: Uptime", vlabel = "seconds",
- number_format = "%5.0lf%s", data = {
- types = { "uptime" },
- options = {
- uptime = { title = "Uptime %di", noarea = true }
- }
- }
- }
-
+ return {
+ title = "%H: Uptime", vlabel = "seconds",
+ number_format = "%5.0lf%s", data = {
+ types = { "uptime" },
+ options = {
+ uptime = { title = "Uptime %di", noarea = true }
+ }
+ }
+ }
end
diff --git a/applications/luci-app-uhttpd/po/en/uhttpd.po b/applications/luci-app-uhttpd/po/en/uhttpd.po
new file mode 100644
index 0000000000..67c06d8547
--- /dev/null
+++ b/applications/luci-app-uhttpd/po/en/uhttpd.po
@@ -0,0 +1,265 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2019-01-09 07:00-0500\n"
+"Last-Translator: Daniel F. Dickinson <cshored@theshore.com>\n"
+"Language-Team: English\n"
+"Language: en\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:135
+msgid ""
+"(/old/path=/new/path) or (just /old/path which becomes /cgi-prefix/old/path)"
+msgstr ""
+"(/old/path=/new/path) or (just /old/path which becomes /cgi-prefix/old/path)"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:145
+msgid "404 Error"
+msgstr "404 Error"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:7
+msgid "A lightweight single-threaded HTTP(S) server"
+msgstr "A lightweight single-threaded HTTP(S) server"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:20
+msgid "Advanced Settings"
+msgstr "Advanced Settings"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:135
+msgid "Aliases"
+msgstr "Aliases"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:149
+msgid "Base directory for files to be served"
+msgstr "Base directory for files to be served"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:22
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:50
+msgid "Bind to specific interface:port (by specifying interface address"
+msgstr "Bind to specific interface:port (by specifying interface address"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:126
+msgid "CGI filetype handler"
+msgstr "CGI filetype handler"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:153
+msgid "CGI is disabled if not present."
+msgstr "CGI is disabled if not present."
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:142
+msgid "Config file (e.g. for credentials for Basic Auth)"
+msgstr "Config file (e.g. for credentials for Basic Auth)"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:187
+msgid "Connection reuse"
+msgstr "Connection reuse"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:221
+msgid "Country"
+msgstr "Country"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:173
+msgid "Disable JSON-RPC authorization via ubus session API"
+msgstr "Disable JSON-RPC authorization via ubus session API"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:129
+msgid "Do not follow symlinks outside document root"
+msgstr "Do not follow symlinks outside document root"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:132
+msgid "Do not generate directory listings."
+msgstr "Do not generate directory listings."
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:148
+msgid "Document root"
+msgstr "Document root"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:122
+msgid "E.g specify with index.html and index.php when using PHP"
+msgstr "E.g specify with index.html and index.php when using PHP"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:160
+msgid "Embedded Lua interpreter is disabled if not present."
+msgstr "Embedded Lua interpreter is disabled if not present."
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:169
+msgid "Enable JSON-RPC Cross-Origin Resource Support"
+msgstr "Enable JSON-RPC Cross-Origin Resource Support"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:19
+msgid "For settings primarily geared to serving more than the web UI"
+msgstr "For settings primarily geared to serving more than the web UI"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:19
+msgid "Full Web Server Settings"
+msgstr "Full Web Server Settings"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:160
+msgid "Full real path to handler for Lua scripts"
+msgstr "Full real path to handler for Lua scripts"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:18
+msgid "General Settings"
+msgstr "General Settings"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:22
+msgid "HTTP listeners (address:port)"
+msgstr "HTTP listeners (address:port)"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:94
+msgid "HTTPS Certificate (DER Encoded)"
+msgstr "HTTPS Certificate (DER Encoded)"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:96
+msgid "HTTPS Private Key (DER Encoded)"
+msgstr "HTTPS Private Key (DER Encoded)"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:50
+msgid "HTTPS listener (address:port)"
+msgstr "HTTPS listener (address:port)"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:90
+msgid "Ignore private IPs on public interface"
+msgstr "Ignore private IPs on public interface"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:122
+msgid "Index page(s)"
+msgstr "Index page(s)"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:126
+msgid ""
+"Interpreter to associate with file endings ('suffix=handler', e.g. '.php=/"
+"usr/bin/php-cgi')"
+msgstr ""
+"Interpreter to associate with file endings ('suffix=handler', e.g. '.php=/"
+"usr/bin/php-cgi')"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:214
+msgid "Length of key in bits"
+msgstr "Length of key in bits"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:227
+msgid "Location"
+msgstr "Location"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:197
+msgid "Maximum number of connections"
+msgstr "Maximum number of connections"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:201
+msgid "Maximum number of script requests"
+msgstr "Maximum number of script requests"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:177
+msgid "Maximum wait time for Lua, CGI, or ubus execution"
+msgstr "Maximum wait time for Lua, CGI, or ubus execution"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:182
+msgid "Maximum wait time for network activity"
+msgstr "Maximum wait time for network activity"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:166
+msgid "Override path for ubus socket"
+msgstr "Override path for ubus socket"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:153
+msgid "Path prefix for CGI scripts"
+msgstr "Path prefix for CGI scripts"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:90
+msgid ""
+"Prevent access from private (RFC1918) IPs on an interface if it has an "
+"public IP address"
+msgstr ""
+"Prevent access from private (RFC1918) IPs on an interface if it has an "
+"public IP address"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:138
+msgid "Realm for Basic Auth"
+msgstr "Realm for Basic Auth"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:86
+msgid "Redirect all HTTP to HTTPS"
+msgstr "Redirect all HTTP to HTTPS"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:109
+msgid "Remove configuration for certificate and key"
+msgstr "Remove configuration for certificate and key"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:98
+msgid "Remove old certificate and key"
+msgstr "Remove old certificate and key"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:218
+msgid "Server Hostname"
+msgstr "Server Hostname"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:20
+msgid ""
+"Settings which are either rarely needed or which affect serving the WebUI"
+msgstr ""
+"Settings which are either rarely needed or which affect serving the WebUI"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:224
+msgid "State"
+msgstr "State"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:192
+msgid "TCP Keepalive"
+msgstr "TCP Keepalive"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:110
+msgid "This permanently deletes the cert, key, and configuration to use same."
+msgstr "This permanently deletes the cert, key, and configuration to use same."
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:210
+msgid "Valid for # of Days"
+msgstr "Valid for # of Days"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:145
+msgid ""
+"Virtual URL or CGI script to display on status '404 Not Found'. Must begin "
+"with '/'"
+msgstr ""
+"Virtual URL or CGI script to display on status '404 Not Found'. Must begin "
+"with '/'"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:156
+msgid "Virtual path prefix for Lua scripts"
+msgstr "Virtual path prefix for Lua scripts"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:163
+msgid "Virtual path prefix for ubus via JSON-RPC integration"
+msgstr "Virtual path prefix for ubus via JSON-RPC integration"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:142
+msgid "Will not use HTTP authentication if not present"
+msgstr "Will not use HTTP authentication if not present"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:218
+msgid "a.k.a CommonName"
+msgstr "a.k.a CommonName"
+
+#: applications/luci-app-uhttpd/luasrc/controller/uhttpd/uhttpd.lua:13
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:6
+msgid "uHTTPd"
+msgstr "uHTTPd"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:205
+msgid "uHTTPd Self-signed Certificate Parameters"
+msgstr "uHTTPd Self-signed Certificate Parameters"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:99
+msgid ""
+"uHTTPd will generate a new self-signed certificate using the configuration "
+"shown below."
+msgstr ""
+"uHTTPd will generate a new self-signed certificate using the configuration "
+"shown below."
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:163
+msgid "ubus integration is disabled if not present"
+msgstr "ubus integration is disabled if not present"
diff --git a/build/i18n-add-language.sh b/build/i18n-add-language.sh
new file mode 100755
index 0000000000..24203c2331
--- /dev/null
+++ b/build/i18n-add-language.sh
@@ -0,0 +1,37 @@
+#!/usr/bin/env bash
+
+LANG=$1
+
+case "$LANG" in
+ [a-z][a-z]|[a-z][a-z]-[a-z][a-z]) : ;;
+ *)
+ echo "Usage: $0 <ISO_CODE>\n" >&2
+ exit 1
+ ;;
+esac
+
+ADDED=0
+
+for podir in ./*/*/po; do
+ [ -d "$podir/templates" ] || continue
+
+ mkdir "$podir/$LANG"
+ for catalog in $(cd "$podir/templates"; echo *.pot); do
+ if [ -f "$podir/templates/$catalog" -a ! -f "$podir/$LANG/${catalog%.pot}.po" ]; then
+ msginit --no-translator -l "$LANG" -i "$podir/templates/$catalog" -o "$podir/$LANG/${catalog%.pot}.po"
+ git add "$podir/$LANG/${catalog%.pot}.po"
+ ADDED=$((ADDED + 1))
+ fi
+ done
+done
+
+if [ $ADDED -gt 0 ]; then
+ echo ""
+ echo "Added $ADDED new translation catalogs for language '$LANG'."
+ echo "Please also edit 'luci.mk' and add"
+ echo ""
+ echo " LUCI_LANG.$LANG=Native Language Name"
+ echo ""
+ echo "to properly package the translation files."
+ echo ""
+fi
diff --git a/libs/rpcd-mod-rad2-enc/Makefile b/libs/rpcd-mod-rad2-enc/Makefile
new file mode 100644
index 0000000000..4cffc01cd3
--- /dev/null
+++ b/libs/rpcd-mod-rad2-enc/Makefile
@@ -0,0 +1,49 @@
+#
+# Copyright (C) 2016-2017 Jo-Philipp Wich <jo@mein.io>
+#
+# Licensed under the Apache License, Version 2.0.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=rpcd-mod-rad2-enc
+PKG_VERSION:=20190109
+PKG_MAINTAINER:=Daniel Dickinson <cshored@thecshore.com>
+
+PKG_LICENSE:=Apache-2.0
+
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Build/Prepare
+ true
+endef
+
+define Build/Compile
+ true
+endef
+
+define Package/rpcd-mod-rad2-enc
+ SECTION:=libs
+ CATEGORY:=Libraries
+ TITLE:=Radicale 2.x Hashing RPC module
+ DEPENDS:=+rpcd +python3 +python3-passlib
+endef
+
+define Package/rpcd-mod-rad2-enc/description
+ Python3 password hashing module for use Radicale 2.x LuCI app
+endef
+
+define Package/rpcd-mod-rad2-enc/install
+ $(INSTALL_DIR) $(1)/usr/libexec/rpcd
+ $(INSTALL_BIN) ./files/rad2-enc $(1)/usr/libexec/rpcd
+endef
+
+define Package/rpcd-mod-rad2-enc/postinst
+#!/bin/sh
+killall -HUP rpcd 2>/dev/null
+exit 0
+endef
+
+$(eval $(call BuildPackage,rpcd-mod-rad2-enc))
diff --git a/libs/rpcd-mod-rad2-enc/files/rad2-enc b/libs/rpcd-mod-rad2-enc/files/rad2-enc
new file mode 100755
index 0000000000..43bc49325c
--- /dev/null
+++ b/libs/rpcd-mod-rad2-enc/files/rad2-enc
@@ -0,0 +1,50 @@
+#!/usr/bin/python3
+
+import base64
+import sys
+import json
+from passlib import hash
+
+def main():
+
+ if len(sys.argv) < 2:
+ return -1
+
+ if sys.argv[1] == 'list':
+ print('{ "encrypt": { "type": "str", "plainpass": "str" } }\n')
+ return 0
+
+ if sys.argv[1] == 'call':
+ if len(sys.argv) < 3:
+ return -1
+
+ if sys.argv[2] != 'encrypt':
+ return -1
+
+ encpass = ""
+ try:
+ jsonin = json.loads(sys.stdin.readline())
+ enctype = jsonin['type'].strip()
+ plainpass = jsonin['plainpass']
+
+ if enctype == 'ssha':
+ encpass = hash.ldap_salted_sha1.hash(plainpass)
+ elif enctype == 'sha1':
+ encpass = hash.ldap_sha1.hash(plainpass)
+ elif enctype == 'plain':
+ encpass = plainpass
+ elif enctype == 'md5':
+ encpass = hash.apr_md5_crypt.hash(plainpass)
+ elif enctype == 'bcrypt':
+ encpass = hash.bcrypt.hash(plainpass)
+ elif enctype == 'crypt':
+ encpass = hash.des_crypt.hash(plainpass)
+
+ except:
+ encpass = ""
+
+ print(json.dumps({ "encrypted_password": encpass}))
+
+ return 0
+
+main()
diff --git a/modules/luci-base/htdocs/luci-static/resources/cbi.js b/modules/luci-base/htdocs/luci-static/resources/cbi.js
index f93c9351a7..67ddc6af36 100644
--- a/modules/luci-base/htdocs/luci-static/resources/cbi.js
+++ b/modules/luci-base/htdocs/luci-static/resources/cbi.js
@@ -443,10 +443,10 @@ var CBIValidatorPrototype = {
m6 = this.value.match((bracket == 1) ? /^\[(.+)\]:(\d+)$/ : /^([^\[\]]+):(\d+)$/);
if (m4)
- return this.assert(this.apply('ip4addr', m4[0], [true]) && this.apply('port', m4[1]),
+ return this.assert(this.apply('ip4addr', m4[1], [true]) && this.apply('port', m4[2]),
_('valid address:port'));
- return this.assert(m6 && this.apply('ip6addr', m6[0], [true]) && this.apply('port', m6[1]),
+ return this.assert(m6 && this.apply('ip6addr', m6[1], [true]) && this.apply('port', m6[2]),
_('valid address:port'));
},
diff --git a/modules/luci-base/po/ru/base.po b/modules/luci-base/po/ru/base.po
index 0beac06472..c390fc78a9 100644
--- a/modules/luci-base/po/ru/base.po
+++ b/modules/luci-base/po/ru/base.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: LuCI: base\n"
"POT-Creation-Date: 2010-05-09 01:01+0300\n"
-"PO-Revision-Date: 2018-11-20 20:01+0300\n"
+"PO-Revision-Date: 2019-01-15 06:45+0300\n"
"Last-Translator: Anton Kikin <a.kikin@tano-systems.com>\n"
"Language-Team: http://cyber-place.ru\n"
"Language: ru\n"
@@ -25,7 +25,7 @@ msgstr "%d бит"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:307
msgid "%d invalid field(s)"
-msgstr ""
+msgstr "%d неверных полей"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/vlan.lua:256
msgid "%s is untagged in multiple VLANs!"
@@ -362,11 +362,11 @@ msgstr "Добавить"
#: modules/luci-base/luasrc/model/cbi/admin_network/proto_static.lua:60
msgid "Add IPv4 address…"
-msgstr ""
+msgstr "Добавить IPv4 адреÑ..."
#: modules/luci-base/luasrc/model/cbi/admin_network/proto_static.lua:129
msgid "Add IPv6 address…"
-msgstr ""
+msgstr "Добавить IPv6 адреÑ..."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:120
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:143
@@ -511,11 +511,11 @@ msgstr "ОбъÑвлÑÑ‚ÑŒ вÑегда, как маршрутизатор по
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:50
msgid "Always off (%s)"
-msgstr ""
+msgstr "Ð’Ñегда выключен (%s)"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:48
msgid "Always on (%s)"
-msgstr ""
+msgstr "Ð’Ñегда включен (%s)"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/wifi.lua:258
msgid ""
@@ -1234,7 +1234,7 @@ msgstr ""
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:52
msgid "Custom flash intervall (%s)"
-msgstr ""
+msgstr "Произвольный интервал Ð¼Ð¸Ð³Ð°Ð½Ð¸Ñ (%s)"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:4
msgid ""
@@ -1246,15 +1246,15 @@ msgstr ""
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/wifi.lua:760
msgid "DAE-Client"
-msgstr ""
+msgstr "DAE-Клиент"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/wifi.lua:768
msgid "DAE-Port"
-msgstr ""
+msgstr "DAE-Порт"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/wifi.lua:776
msgid "DAE-Secret"
-msgstr ""
+msgstr "DAE-Секрет"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/ifaces.lua:448
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/ifaces.lua:459
@@ -2005,7 +2005,7 @@ msgstr "Прошивка..."
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:60
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:62
msgid "Flashmemory write access (%s)"
-msgstr ""
+msgstr "ЗапиÑÑŒ во флешпамÑÑ‚ÑŒ (%s)"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/ifaces.lua:498
msgid "Force"
@@ -2198,7 +2198,7 @@ msgstr "Ошибки ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº заголовка (HEC)"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:56
msgid "Heartbeat intervall (%s)"
-msgstr ""
+msgstr "Интервал heartbeat (%s)"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/system.lua:14
msgid ""
@@ -2354,7 +2354,7 @@ msgstr "IPv4-адреÑ"
#: protocols/luci-proto-ipip/luasrc/model/network/proto_ipip.lua:9
msgid "IPv4-in-IPv4 (RFC2003)"
-msgstr "IPv4-in-IPv4 (RFC2003)"
+msgstr "IPv4-в-IPv4 (RFC2003)"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/iface_status.js:23
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/iface_status.js:24
@@ -2396,7 +2396,7 @@ msgstr "ÐаÑтройки IPv6"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/network.lua:195
msgid "IPv6 ULA-Prefix"
-msgstr "IPv6 ULA-Prefix"
+msgstr "IPv6 ULA-префикÑ"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/index.js:71
msgid "IPv6 Upstream"
@@ -3366,7 +3366,7 @@ msgstr "Образ ÑиÑтемы Ð´Ð»Ñ Ñетевой загрузки"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:54
msgid "Network device activity (%s)"
-msgstr ""
+msgstr "ÐктивноÑÑ‚ÑŒ Ñетевого уÑтройÑтва (%s)"
#: modules/luci-base/luasrc/model/network.lua:33
msgid "Network device is not present"
@@ -4912,11 +4912,11 @@ msgstr "Изменить протокол"
#: modules/luci-base/luasrc/view/cbi/ipaddr.htm:26
msgid "Switch to CIDR list notation"
-msgstr ""
+msgstr "Переключить в формат CIDR"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:64
msgid "Switchport activity (%s)"
-msgstr ""
+msgstr "ÐктивноÑÑ‚ÑŒ порта коммутатора (%s)"
#: modules/luci-mod-system/luasrc/view/admin_system/clock_status.htm:25
#: modules/luci-mod-system/luasrc/view/admin_system/clock_status.htm:34
@@ -5856,26 +5856,29 @@ msgid ""
"R0/R1 key options below are not applied. Disable this to use the R0 and R1 "
"key options."
msgstr ""
+"При иÑпользовании PSK, PMK может генерироватьÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки. ЕÑли "
+"включено, опции ключей R0/R1, раÑположенные ниже, не применÑÑŽÑ‚ÑÑ. Ð”Ð»Ñ "
+"иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð¿Ñ†Ð¸Ð¹ ключей R0/R1 отключите данную опцию."
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:74
msgid "Wi-Fi activity (%s)"
-msgstr ""
+msgstr "ÐктивноÑÑ‚ÑŒ Wi-Fi (%s)"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:70
msgid "Wi-Fi client association (%s)"
-msgstr ""
+msgstr "ÐÑÑÐ¾Ñ†Ð¸Ð°Ñ†Ð¸Ñ Wi-Fi клиента (%s)"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:66
msgid "Wi-Fi data reception (%s)"
-msgstr ""
+msgstr "Приём данных Wi-Fi (%s)"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:68
msgid "Wi-Fi data transmission (%s)"
-msgstr ""
+msgstr "Передача данных Wi-Fi (%s)"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:72
msgid "Wi-Fi on (%s)"
-msgstr ""
+msgstr "Wi-Fi включен (%s)"
#: modules/luci-base/luasrc/view/cbi/wireless_modefreq.htm:161
msgid "Width"
@@ -6471,154 +6474,3 @@ msgstr "да"
#: modules/luci-base/luasrc/view/cbi/delegator.htm:20
msgid "« Back"
msgstr "« Ðазад"
-
-#~ msgid ""
-#~ "When using a PSK, the PMK can be generated locally without inter AP "
-#~ "communications"
-#~ msgstr ""
-#~ "При иÑпользовании PSK, PMK может быть Ñоздан локально без коммуникации AP "
-#~ "между Ñобой"
-
-#~ msgid "Apply unchecked"
-#~ msgstr "Применить без проверки"
-
-#~ msgid ""
-#~ "The device could not be reached within %d seconds after applying the "
-#~ "pending changes, which caused the configuration to be rolled back for "
-#~ "safety reasons. If you believe that the configuration changes are correct "
-#~ "nonetheless, perform an unchecked configuration apply. Alternatively, you "
-#~ "can dismiss this warning and edit changes before attempting to apply "
-#~ "again, or revert all pending changes to keep the currently working "
-#~ "configuration state."
-#~ msgstr ""
-#~ "УÑтройÑтво недоÑтупно в течение %d Ñекунд поÑле Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹. Это "
-#~ "привело к откату конфигурации из Ñоображений безопаÑноÑти. ЕÑли вы "
-#~ "Ñчитаете, что ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð²ÐµÑ€Ð½Ð°, выполните наÑтройку без проверки. Кроме "
-#~ "того, вы можете отклонить Ñто предупреждение и отредактировать Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ "
-#~ "перед попыткой применить конфигурацию Ñнова или откатить вÑе изменениÑ, "
-#~ "чтобы Ñохранить рабочее ÑоÑтоÑние конфигурации."
-
-#~ msgid "Waiting for configuration to get applied… %ds"
-#~ msgstr "Ожидание Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸... %d Ñек"
-
-#~ msgid ""
-#~ "Here you can paste public SSH-Keys (one per line) for SSH public-key "
-#~ "authentication."
-#~ msgstr ""
-#~ "ЗдеÑÑŒ вы можете добавить открытые SSH ключи (один ключ на Ñтроку) Ð´Ð»Ñ SSH "
-#~ "аутентификации."
-
-#~ msgid "Password successfully changed!"
-#~ msgstr "Пароль уÑпешно изменён!"
-
-#~ msgid "Unknown Error, password not changed!"
-#~ msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°, пароль не был изменен!"
-
-#~ msgid "Design"
-#~ msgstr "Тема"
-
-#~ msgid "Available packages"
-#~ msgstr "ДоÑтупные пакеты"
-
-#~ msgid "Bind only to specific interfaces rather than wildcard address."
-#~ msgstr ""
-#~ "Соединение только Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ñ‹Ð¼Ð¸ интерфейÑами, не иÑпользующими "
-#~ "подÑтановочные адреÑа (wildcard)."
-
-#~ msgid ""
-#~ "Build/distribution specific feed definitions. This file will NOT be "
-#~ "preserved in any sysupgrade."
-#~ msgstr ""
-#~ "Build/distribution оригинальные feed-Ñ‹. Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² Ñтом файле ÐЕ "
-#~ "ÑохранÑÑ‚ÑÑ Ð¿Ñ€Ð¸ перепрошивке sysupgrade-ÑовмеÑтимым образом."
-
-#~ msgid ""
-#~ "Custom feed definitions, e.g. private feeds. This file can be preserved "
-#~ "in a sysupgrade."
-#~ msgstr ""
-#~ "Custom-ные feed-Ñ‹ — Ñто пользовательÑкие feed-Ñ‹. Этот файл может быть "
-#~ "Ñохранен при перепрошивке sysupgrade-ÑовмеÑтимым образом."
-
-#~ msgid "Custom feeds"
-#~ msgstr "СпиÑок custom-ных feed-ов"
-
-#~ msgid "Displaying only packages containing"
-#~ msgstr "ПоказываютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ пакеты, Ñодержащие"
-
-#~ msgid "Distribution feeds"
-#~ msgstr "СпиÑок feed-ов диÑтрибутива"
-
-#~ msgid "Download and install package"
-#~ msgstr "Загрузить и уÑтановить пакет"
-
-#~ msgid "Filter"
-#~ msgstr "Фильтр"
-
-#~ msgid "Find package"
-#~ msgstr "Ðайти пакет"
-
-#~ msgid "Free space"
-#~ msgstr "Свободное меÑто"
-
-#~ msgid "General options for opkg"
-#~ msgstr "ОÑновные наÑтройки opkg"
-
-#~ msgid "Install"
-#~ msgstr "УÑтановить"
-
-#~ msgid "Installed packages"
-#~ msgstr "УÑтановленные пакеты"
-
-#~ msgid "No package lists available"
-#~ msgstr "СпиÑок пакетов не доÑтупен"
-
-#~ msgid "OK"
-#~ msgstr "OK"
-
-#~ msgid "OPKG-Configuration"
-#~ msgstr "ÐаÑтройка OPKG"
-
-#~ msgid "Package lists are older than 24 hours"
-#~ msgstr "СпиÑок пакетов обновлÑлÑÑ Ð±Ð¾Ð»ÐµÐµ 24 чаÑов назад"
-
-#~ msgid "Package name"
-#~ msgstr "Ð˜Ð¼Ñ Ð¿Ð°ÐºÐµÑ‚Ð°"
-
-#~ msgid "Please update package lists first"
-#~ msgstr "ПожалуйÑта обновите ÑпиÑок пакетов"
-
-#~ msgid "Size (.ipk)"
-#~ msgstr "Размер (.ipk)"
-
-#~ msgid "Software"
-#~ msgstr "Программное обеÑпечение"
-
-#~ msgid "Update lists"
-#~ msgstr "Обновить ÑпиÑки"
-
-#~ msgid "Version"
-#~ msgstr "ВерÑиÑ"
-
-#~ msgid "none"
-#~ msgstr "ничего"
-
-#~ msgid "Disable DNS setup"
-#~ msgstr "Отключить DNS наÑтройки"
-
-#~ msgid "IPv4 and IPv6"
-#~ msgstr "IPv4 и IPv6"
-
-#~ msgid "IPv4 only"
-#~ msgstr "Только IPv4"
-
-#~ msgid "IPv6 only"
-#~ msgstr "Только IPv6"
-
-#~ msgid "Lease validity time"
-#~ msgstr "Срок дейÑÑ‚Ð²Ð¸Ñ Ð°Ñ€ÐµÐ½Ð´Ñ‹"
-
-#~ msgid "Multicast address"
-#~ msgstr "ÐÐ´Ñ€ÐµÑ Ð¼ÑƒÐ»ÑŒÑ‚Ð¸Ð²ÐµÑ‰Ð°Ð½Ð¸Ñ"
-
-#~ msgid "Protocol family"
-#~ msgstr "СемейÑтво протоколов"
diff --git a/modules/luci-base/po/zh-cn/base.po b/modules/luci-base/po/zh-cn/base.po
index ac57c19da5..5fce99935c 100644
--- a/modules/luci-base/po/zh-cn/base.po
+++ b/modules/luci-base/po/zh-cn/base.po
@@ -1,10 +1,10 @@
#
# Yangfl <mmyangfl@gmail.com>, 2018.
-# Zheng Qian <sotux82@gmail.com>, 2018.
+# Zheng Qian <sotux82@gmail.com>, 2019.
#
msgid ""
msgstr ""
-"PO-Revision-Date: 2018-12-14 09:11+0800\n"
+"PO-Revision-Date: 2019-01-10 16:10+0800\n"
"Last-Translator: Yangfl <mmyangfl@gmail.com>\n"
"Language-Team: <debian-l10n-chinese@lists.debian.org>\n"
"Language: \n"
@@ -493,11 +493,11 @@ msgstr "总是通告默认路由"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:50
msgid "Always off (%s)"
-msgstr ""
+msgstr "总是关闭(%s)"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:48
msgid "Always on (%s)"
-msgstr ""
+msgstr "总是开å¯ï¼ˆ%s)"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/wifi.lua:258
msgid ""
@@ -920,7 +920,7 @@ msgstr "更改访问设备的管ç†å‘˜å¯†ç "
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:10
msgid "Changing password…"
-msgstr "正在更改密ç â€¦â€¦"
+msgstr "正在更改密ç â€¦"
#: modules/luci-base/luasrc/view/cbi/wireless_modefreq.htm:157
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_status.js:45
@@ -1184,7 +1184,7 @@ msgstr ""
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:52
msgid "Custom flash intervall (%s)"
-msgstr ""
+msgstr "自定义闪çƒé—´éš”(%s)"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:4
msgid ""
@@ -1935,7 +1935,7 @@ msgstr "正在刷写…"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:60
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:62
msgid "Flashmemory write access (%s)"
-msgstr ""
+msgstr "闪存写访问(%s)"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/ifaces.lua:498
msgid "Force"
@@ -2128,7 +2128,7 @@ msgstr "请求头错误代ç é”™è¯¯ï¼ˆHEC)"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:56
msgid "Heartbeat intervall (%s)"
-msgstr ""
+msgstr "心跳间隔(%s)"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/system.lua:14
msgid ""
@@ -2850,7 +2850,7 @@ msgstr "加载中"
#: modules/luci-mod-system/luasrc/view/admin_system/sshkeys.htm:35
msgid "Loading SSH keys…"
-msgstr "正在加载 SSH 密钥……"
+msgstr "正在加载 SSH 密钥…"
#: modules/luci-base/luasrc/model/network.lua:30
msgid "Local IP address is invalid"
@@ -3266,7 +3266,7 @@ msgstr "网络å¯åŠ¨é•œåƒ"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:54
msgid "Network device activity (%s)"
-msgstr ""
+msgstr "网络设备活动(%s)"
#: modules/luci-base/luasrc/model/network.lua:33
msgid "Network device is not present"
@@ -3467,7 +3467,7 @@ msgstr "一个或多个必选项值为空ï¼"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
-msgstr "打开列表……"
+msgstr "打开列表…"
#: protocols/luci-proto-openconnect/luasrc/model/network/proto_openconnect.lua:9
msgid "OpenConnect (CISCO AnyConnect)"
@@ -4398,7 +4398,7 @@ msgstr "ä¿å­˜ mtdblock 内容"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:120
msgid "Saving keys…"
-msgstr "正在ä¿å­˜å¯†é’¥â€¦â€¦"
+msgstr "正在ä¿å­˜å¯†é’¥â€¦"
#: modules/luci-mod-network/luasrc/view/admin_network/wifi_overview.htm:15
msgid "Scan"
@@ -4770,7 +4770,7 @@ msgstr "切æ¢åˆ° CIDR 列表记法"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:64
msgid "Switchport activity (%s)"
-msgstr ""
+msgstr "交æ¢å£æ´»åŠ¨ï¼ˆ%s)"
#: modules/luci-mod-system/luasrc/view/admin_system/clock_status.htm:25
#: modules/luci-mod-system/luasrc/view/admin_system/clock_status.htm:34
@@ -5167,7 +5167,7 @@ msgstr "时区"
#: modules/luci-base/htdocs/luci-static/resources/xhr.js:47
msgid "To login…"
-msgstr "登录……"
+msgstr "去登录…"
#: modules/luci-mod-system/luasrc/view/admin_system/flashops.htm:32
msgid ""
@@ -5665,23 +5665,23 @@ msgstr ""
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:74
msgid "Wi-Fi activity (%s)"
-msgstr ""
+msgstr "Wi-Fi 活动(%s)"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:70
msgid "Wi-Fi client association (%s)"
-msgstr ""
+msgstr "Wi-Fi 客户端关è”(%s)"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:66
msgid "Wi-Fi data reception (%s)"
-msgstr ""
+msgstr "Wi-Fi æ•°æ®æŽ¥æ”¶ï¼ˆ%s)"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:68
msgid "Wi-Fi data transmission (%s)"
-msgstr ""
+msgstr "Wi-Fi æ•°æ®ä¼ è¾“(%s)"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/leds.lua:72
msgid "Wi-Fi on (%s)"
-msgstr ""
+msgstr "Wi-Fi å¼€å¯ï¼ˆ%s)"
#: modules/luci-base/luasrc/view/cbi/wireless_modefreq.htm:161
msgid "Width"
diff --git a/modules/luci-mod-freifunk/luasrc/model/cbi/freifunk/basics.lua b/modules/luci-mod-freifunk/luasrc/model/cbi/freifunk/basics.lua
index b08366de6c..eb0b49b11c 100644
--- a/modules/luci-mod-freifunk/luasrc/model/cbi/freifunk/basics.lua
+++ b/modules/luci-mod-freifunk/luasrc/model/cbi/freifunk/basics.lua
@@ -15,7 +15,7 @@ community.rmempty = false
local profile
for profile in fs.glob(profiles) do
- local name = uci:get_first(profile, "community", "name") or "?"
+ local name = uci:get_first(string.gsub(profile, "/etc/config/", ""), "community", "name") or "?"
community:value(string.gsub(profile, "/etc/config/profile_", ""), name)
end
diff --git a/modules/luci-mod-freifunk/luasrc/view/freifunk/adminindex.htm b/modules/luci-mod-freifunk/luasrc/view/freifunk/adminindex.htm
index e0252ba891..a3f079716c 100644
--- a/modules/luci-mod-freifunk/luasrc/view/freifunk/adminindex.htm
+++ b/modules/luci-mod-freifunk/luasrc/view/freifunk/adminindex.htm
@@ -1,22 +1,15 @@
<%+header%>
<%
local uci = require "luci.model.uci".cursor()
-local contact = uci:get_all("freifunk", "contact")
+local nickname = uci:get("freifunk", "contact", "nickname") or ""
+local name = uci:get("freifunk", "contact", "name") or ""
+local mail = uci:get("freifunk", "contact", "mail") or ""
local contacturl = luci.dispatcher.build_url(luci.dispatcher.context.path[1], "freifunk", "contact")
local hostname = uci:get_first ("system", "system", "hostname")
local latitude = uci:get_first ("system", "system", "latitude")
local longitude = uci:get_first ("system", "system", "longitude")
local location = uci:get_first ("system", "system", "location")
local basicsurl = luci.dispatcher.build_url(luci.dispatcher.context.path[1], "freifunk", "basics")
-local nickname, name, mail
-if not contact then
- nickname, name, mail = ""
-else
- nickname = contact.nickname
- name = contact.name
- mail = contact.mail
-end
-
%>
<h2><%:Freifunk Overview%></h2>
diff --git a/modules/luci-mod-freifunk/luasrc/view/freifunk/contact.htm b/modules/luci-mod-freifunk/luasrc/view/freifunk/contact.htm
index dca35376cb..dececeff51 100644
--- a/modules/luci-mod-freifunk/luasrc/view/freifunk/contact.htm
+++ b/modules/luci-mod-freifunk/luasrc/view/freifunk/contact.htm
@@ -9,22 +9,15 @@
<%
local uci = require "luci.model.uci".cursor()
-local contact = uci:get_all("freifunk", "contact")
-local nickname, name, mail, phone, location, note
-local lon = uci:get_first("system", "system", "longitude")
-local lat = uci:get_first("system", "system", "latitude")
-
-if not contact then
- nickname, name, homepage, mail, phone, location, note = ""
-else
- nickname = contact.nickname or ""
- name = contact.name or ""
- homepage = contact.homepage or {}
- mail = contact.mail or ""
- phone = contact.phone or ""
- location = uci:get_first("system", "system", "location") or contact.location
- note = contact.note or ""
-end
+local nickname = uci:get("freifunk", "contact", "nickname") or ""
+local name = uci:get("freifunk", "contact", "name") or ""
+local homepage = uci:get("freifunk", "contact", "homepage") or {}
+local mail = uci:get("freifunk", "contact", "mail") or ""
+local phone = uci:get("freifunk", "contact", "phone") or ""
+local location = uci:get_first("system", "system", "locaton") or uci:get("freifunk", "contact", "location") or ""
+local note = uci:get("freifunk", "contact", "note") or ""
+local lon = uci:get_first("system", "system", "longitude") or ""
+local lat = uci:get_first("system", "system", "latitude") or ""
%>
<h2 name="content"><%:Contact%></h2>
diff --git a/modules/luci-mod-freifunk/luasrc/view/freifunk/index.htm b/modules/luci-mod-freifunk/luasrc/view/freifunk/index.htm
index 3134f0b1b9..3affc73fb9 100644
--- a/modules/luci-mod-freifunk/luasrc/view/freifunk/index.htm
+++ b/modules/luci-mod-freifunk/luasrc/view/freifunk/index.htm
@@ -9,18 +9,10 @@
local uci = require "luci.model.uci".cursor()
local tpl = require "luci.template"
local fs = require "nixio.fs"
-local ff = {}
-local ff = uci:get_all("freifunk")
-if not ff or not ff.community.name then
- community = "Freifunk"
- DefaultText = ""
- nickname = "No Nickname set"
-else
- community = ff.community.name
- DefaultText = ff.community.DefaultText
- nickname = ff.contact.nickname
-end
+local community = uci:get("freifunk", "community", "name") or "Freifunk"
+local DefaultText = uci:get("freifunk", "community", "DefaultText") or ""
+local nickname = uci:get("freifunk", "contact", "nickname") or "No Nickname set"
local co = "profile_" .. community
--local community = uci:get_first(co, "community", "name") or "Freifunk"
diff --git a/themes/luci-theme-rosy/htdocs/luci-static/rosy/cascade.css b/themes/luci-theme-rosy/htdocs/luci-static/rosy/cascade.css
index 77f0ecf3e2..ab7cac626c 100644
--- a/themes/luci-theme-rosy/htdocs/luci-static/rosy/cascade.css
+++ b/themes/luci-theme-rosy/htdocs/luci-static/rosy/cascade.css
@@ -23,25 +23,32 @@
font-weight: normal;
font-style: normal;
}
+
strong {
font-weight: normal;
}
+
.table {
display: table;
position: relative;
}
+
.tr {
display: table-row;
}
+
.thead {
display: table-header-group;
}
+
.tbody {
display: table-row-group;
}
+
.tfoot {
display: table-footer-group;
}
+
.td,
.th {
vertical-align: middle;
@@ -49,13 +56,16 @@ strong {
display: table-cell;
padding: .8em;
}
+
.th {
font-weight: normal;
}
+
.tr.placeholder {
height: 4em;
background-color: #f9f9f9;
}
+
.tr.placeholder>.td {
position: absolute;
left: 0;
@@ -65,56 +75,69 @@ strong {
line-height: 3em;
background: #f9f9f9;
}
+
.table[width="33%"],
.th[width="33%"],
.td[width="33%"] {
width: 33%;
}
+
.table[width="100%"],
.th[width="100%"],
.td[width="100%"] {
width: 100%;
}
+
.col-1 {
flex: 1 1 30px !important;
-webkit-flex: 1 1 30px !important;
}
+
.col-2 {
flex: 2 2 60px !important;
-webkit-flex: 2 2 60px !important;
}
+
.col-3 {
flex: 3 3 90px !important;
-webkit-flex: 3 3 90px !important;
}
+
.col-4 {
flex: 4 4 120px !important;
-webkit-flex: 4 4 120px !important;
}
+
.col-5 {
flex: 5 5 150px !important;
-webkit-flex: 5 5 150px !important;
}
+
.col-6 {
flex: 6 6 180px !important;
-webkit-flex: 6 6 180px !important;
}
+
.col-7 {
flex: 7 7 210px !important;
-webkit-flex: 7 7 210px !important;
}
+
.col-8 {
flex: 8 8 240px !important;
-webkit-flex: 8 8 240px !important;
}
+
.col-9 {
flex: 9 9 270px !important;
-webkit-flex: 9 9 270px !important;
}
+
.col-10 {
flex: 10 10 300px !important;
-webkit-flex: 10 10 300px !important;
}
+
.cbi-button-up,
.cbi-button-down,
.cbi-value-helpicon,
@@ -129,26 +152,42 @@ strong {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
+
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
-.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
+
+.h1,
+.h2,
+.h3,
+.h4,
+.h5,
+.h6,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
font-family: inherit;
font-weight: normal;
line-height: 1.1;
color: inherit;
}
+
html {
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
position: relative;
}
+
body {
font-size: 0.8rem;
background-color: #EEE;
}
+
html,
body {
margin: 0px;
@@ -157,6 +196,7 @@ body {
min-height: 100%;
font-family: Microsoft Yahei, WenQuanYi Micro Hei, sans-serif, "Helvetica Neue", Helvetica, Hiragino Sans GB;
}
+
select {
padding: 0.36rem 0.8rem;
color: #555;
@@ -164,6 +204,7 @@ select {
background-image: none;
border: 1px solid #ccc;
}
+
select,
input,
.cbi-dropdown {
@@ -179,30 +220,37 @@ input,
height: auto;
font-size: 0.8rem;
}
+
select:not([multiple="multiple"]):focus,
input:focus {
border-color: #0099CC;
}
+
select[multiple="multiple"] {
height: auto;
}
+
code {
color: #0099CC;
}
+
abbr {
color: #005470;
text-decoration: underline;
cursor: help;
}
+
hr {
margin: 1rem 0;
border-color: #EEE;
opacity: 0.1;
}
+
footer>a {
color: #aaa;
text-decoration: none;
}
+
.main>.loading {
position: fixed;
width: 100%;
@@ -212,6 +260,7 @@ footer>a {
background-color: #354057;
top: 0;
}
+
.main>.loading>span {
display: block;
text-align: center;
@@ -220,27 +269,34 @@ footer>a {
font-size: 1.2rem;
line-height: 45px;
}
+
.main>.loading>span>.loading-img {
margin-right: 0.2rem;
display: inline-block;
}
+
.main>.loading>span>.loading-img img {
vertical-align: middle;
}
+
.pull-right {
float: right;
}
+
.pull-left {
float: left;
}
+
li {
list-style-type: none;
}
+
h1 {
font-size: 2rem;
padding-bottom: 10px;
border-bottom: 1px solid #eee;
}
+
h2 {
margin: 2rem 0 0 0;
color: #354057;
@@ -248,23 +304,28 @@ h2 {
padding-bottom: 10px;
border-bottom: 1px solid #eee;
}
+
h3 {
margin: 2rem 0 0 0;
font-size: 1.4rem;
padding-bottom: 10px;
}
+
h4 {
margin: 2rem 0 0 0;
font-size: 1.2rem;
padding-bottom: 10px;
}
+
.mobile-hide {
display: inline-block;
}
+
.PC-hide {
width: 100%;
display: none;
}
+
.cbi-section {
margin: 1rem 0 0 0;
padding: 2rem;
@@ -278,9 +339,11 @@ h4 {
background-color: #FFF;
-webkit-overflow-scrolling: touch;
}
+
.cbi-section>legend {
display: none !important;
}
+
.cbi-section>h3:first-child,
.panel-title {
width: 100%;
@@ -291,10 +354,12 @@ h4 {
padding-bottom: 1rem;
margin: 0;
}
+
.table {
width: 100%;
border-radius: 20px;
}
+
.table>.tbody>.tr>.td,
.table>.tbody>.tr>.th,
.table>.tfoot>.tr>.td,
@@ -305,65 +370,63 @@ h4 {
border-top: 1px solid #ddd;
white-space: nowrap;
}
+
.cbi-section-table-cell {
white-space: nowrap;
align-self: flex-end;
flex: 1 1 auto;
}
+
.cbi-section-table {
border: none;
}
+
.cbi-section-table-row {
text-align: center;
margin-bottom: 1rem;
background: #f4f4f4;
}
+
.cbi-section-table-row:last-child {
margin-bottom: 0;
}
+
.cbi-section-table-row>.cbi-value-field .cbi-input-select,
.cbi-section-table-row>.cbi-value-field .cbi-input-text,
.cbi-section-table-row>.cbi-value-field .cbi-input-password,
.cbi-section-table-row>.cbi-value-field .cbi-dropdown {
width: 100%;
}
+
.cbi-section-table-row>.cbi-value-field [data-dynlist]>input,
.cbi-section-table-row>.cbi-value-field input.cbi-input-password {
width: calc(100% - 1.5rem);
}
-div>table>tbody>tr:nth-of-type(2n),
-div>.table>.tbody>.tr:nth-of-type(2n) {
- background-color: #f9f9f9;
-}
-div>table>tbody>tr:nth-of-type(2n),
-div>.table>.tbody>.tr:nth-of-type(2n) {
- background-color: #f9f9f9;
-}
-.cbi-section .table .tr.table-titles {
- background-color: #eee;
-}
+
.table .tr:first-child .td:first-child,
.table .tr:first-child::before,
.table .tr:first-child .th:first-child {
border-top-left-radius: 10px;
}
+
.table .tr:first-child .td:last-child,
.table .tr:first-child .th:last-child {
border-top-right-radius: 10px;
}
+
.table .tr:last-child .td:first-child,
.table .tr:last-child::before {
border-bottom-left-radius: 10px;
}
+
.table .tr:last-child .td:last-child {
border-bottom-right-radius: 10px;
}
+
.table .tr.placeholder:last-child {
background-color: transparent;
}
-.cbi-section .table .cbi-section-table-titles {
- background-color: #e0e0e0;
-}
+
/* fix progress bar */
.cbi-progressbar {
background-color: #9bc1cc;
@@ -371,11 +434,13 @@ div>.table>.tbody>.tr:nth-of-type(2n) {
overflow: hidden;
position: relative;
}
+
.cbi-progressbar div {
background-color: #468ea4;
height: 20px;
border-radius: 20px;
}
+
.cbi-progressbar::after {
content: attr(title);
position: absolute;
@@ -387,34 +452,39 @@ div>.table>.tbody>.tr:nth-of-type(2n) {
line-height: 1.2rem;
color: #fff;
}
+
/* fix multiple table */
table table,
.table .table {
border: none;
}
+
.cbi-value-field table,
.cbi-value-field .table {
border: none;
}
+
td>table>tbody>tr>td,
.td>.table>.tbody>.tr>.td {
border: none;
}
+
.cbi-value-field>table>tbody>tr>td,
.cbi-value-field>.table>.tbody>.tr>.td {
border: none;
}
+
/* button style */
.btn,
.cbi-button {
margin: 0 .8rem .5rem 0;
-webkit-appearance: none;
- color: #354057;
- background-color: transparent;
+ color: rgba(0, 0, 0, 0.87);
+ background-color: #F0F0F0;
transition: all 0.2s ease-in-out;
display: inline-block;
padding: .5rem .8rem;
- border: 1px solid;
+ border: none;
border-radius: 25px;
cursor: pointer;
-ms-touch-action: manipulation;
@@ -432,6 +502,7 @@ td>table>tbody>tr>td,
display: inline-block;
text-decoration: none;
}
+
.btn:disabled,
.cbi-button:disabled {
cursor: not-allowed;
@@ -439,6 +510,7 @@ td>table>tbody>tr>td,
opacity: 0.60;
box-shadow: none;
}
+
.cbi-page-actions .cbi-button-apply,
.cbi-section-actions .cbi-button-edit,
.cbi-button-edit.important,
@@ -450,6 +522,7 @@ td>table>tbody>tr>td,
background-color: #337ab7;
border: none;
}
+
.cbi-button-add.important,
.cbi-button-save.important,
.cbi-button-positive.important,
@@ -459,6 +532,7 @@ td>table>tbody>tr>td,
background-color: transparent;
border: 1px solid #337ab7;
}
+
.cbi-button-remove.important,
.cbi-button-reset.important,
.cbi-button-negative.important {
@@ -466,6 +540,7 @@ td>table>tbody>tr>td,
background-color: #d9534f;
border: none;
}
+
.cbi-button-find,
.cbi-button-link,
.cbi-button-up,
@@ -475,6 +550,7 @@ td>table>tbody>tr>td,
background-color: transparent;
border: 1px solid #468ea4;
}
+
.cbi-button-edit,
.cbi-button-reload,
.cbi-button-action {
@@ -482,6 +558,7 @@ td>table>tbody>tr>td,
background-color: transparent;
border: 1px solid #468ea4;
}
+
.cbi-page-actions .cbi-button-apply+.cbi-button-save,
.cbi-button-add,
.cbi-button-save,
@@ -490,6 +567,7 @@ td>table>tbody>tr>td,
background-color: transparent;
border: 1px solid #354057;
}
+
.cbi-section-remove>.cbi-button,
.cbi-button-remove,
.cbi-button-reset,
@@ -498,12 +576,15 @@ td>table>tbody>tr>td,
background-color: transparent;
border: 1px solid #F24C7C;
}
+
.cbi-page-actions .cbi-button-link:first-child {
float: left;
}
+
.a-to-btn {
text-decoration: none;
}
+
/* table */
.container>.tabs,
.container>.tabs>li[class~="active"],
@@ -513,78 +594,91 @@ td>table>tbody>tr>td,
.container>.cbi-tabmenu>li:hover {
border-radius: 20px;
}
+
.container .cbi-map .cbi-tabmenu,
.container .cbi-map .cbi-tabmenu>li[class~="cbi-tab"],
.container .cbi-map .cbi-tabmenu>li:hover {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
+
.container .cbi-map .cbi-tabmenu,
.container>.tabs,
.container>.cbi-tabmenu {
overflow: hidden;
}
+
.container .cbi-map .cbi-tabmenu+div {
border-radius: 0;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
}
+
.tabs {
background-color: #FFFFFF;
margin-top: 1rem;
}
+
.cbi-tabmenu>li,
.tabs>li {
margin-right: .4rem;
display: inline-block;
padding: 0.6rem 0rem;
}
+
.cbi-tabmenu>li>a,
.tabs>li>a {
text-decoration: none;
color: #404040;
padding: 0.5rem 0.8rem;
}
+
.tabs>li[class~="active"],
.tabs>li:hover {
cursor: pointer;
background-color: #337ab7;
}
+
.tabs>li[class~="active"]>a,
.tabs>li:hover>a {
color: #fff;
}
+
.cbi-tabmenu {
border-top: 1px solid #D4D4D4;
border-left: 1px solid #D4D4D4;
border-right: 1px solid #D4D4D4;
}
+
.cbi-tabmenu>li:hover {
background-color: #F1F1F1;
}
+
.cbi-tabmenu>li[class~="cbi-tab"] {
background-color: #fff;
}
+
.cbi-tabmenu {
background-color: #D4D4D4;
}
[data-tab-title] {
- height: 0;
- opacity: 0;
- overflow: hidden;
+ height: 0;
+ opacity: 0;
+ overflow: hidden;
}
[data-tab-active="true"] {
- opacity: 1;
- height: auto;
- overflow: visible;
- transition: opacity .25s ease-in;
+ opacity: 1;
+ height: auto;
+ overflow: visible;
+ transition: opacity .25s ease-in;
}
.cbi-section-remove:nth-of-type(2n) {
background-color: #f9f9f9;
}
+
.cbi-section-node-tabbed {
padding: 0;
margin-top: 0;
@@ -592,20 +686,25 @@ td>table>tbody>tr>td,
border-left: 1px solid #D4D4D4;
border-right: 1px solid #D4D4D4;
}
+
.cbi-tabcontainer>.cbi-value:nth-of-type(2n) {
background-color: #f9f9f9;
}
+
.cbi-value-field,
.cbi-value-description {
display: table-cell;
line-height: 1.25;
}
+
.cbi-value-helpicon>img {
display: none;
}
+
.cbi-value-helpicon:before {
content: "\f059";
}
+
.cbi-value-description {
font-size: small;
opacity: 0.5;
@@ -659,12 +758,19 @@ td>table>tbody>tr>td,
vertical-align: middle;
}
-.cbi-rowstyle-1 {
+.table .tr.cbi-rowstyle-2,
+.table .tr:nth-child(n) {
+ background-color: #eee;
+}
+
+.table .tr.cbi-rowstyle-1,
+.table .tr:nth-child(2n) {
background-color: #f9f9f9;
}
-.cbi-rowstyle-2 {
- background-color: #eee;
+.table .tr.table-titles,
+.table .tr.cbi-section-table-titles {
+ background-color: #ddd;
}
.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell {
@@ -1370,10 +1476,6 @@ header>.container>.pull-right>* {
.node-status-processes .cbi-section {
overflow-x: scroll;
}
-.node-status-iptables #iptables .table-titles,
-.node-system-opkg #packages .cbi-section-table-titles {
- background-color: #eee;
-}
/* fix status realtime traffic and wireless */
@@ -1418,6 +1520,7 @@ header>.container>.pull-right>* {
.node-services-samba.lang_enNetwork #cbi-samba-sambashare .table-container {
overflow-x: scroll;
}
+
.node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-title {
margin-bottom: 1rem;
width: auto;
@@ -1645,8 +1748,7 @@ header .logout a {
float: right;
width: calc(100% + 10px);
height: calc(100% - 110px);
- overflow-y: scroll;
- overflow-x: hidden;
+ overflow: hidden;
}
.main>.main-left .nav {
@@ -1784,6 +1886,25 @@ footer {
right: 0;
}
+.modal-overlay-active #modal_overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ width: 100%;
+ background-color: #000000b8;
+ z-index: 2000;
+}
+
+.modal-overlay-active #modal_overlay .modal {
+ width: 50%;
+ background-color: #fff;
+ margin: 150px auto;
+ border-radius: 20px;
+ color: #333;
+}
+
/* The style of the prompt message */
.alert-message {
@@ -1837,20 +1958,25 @@ footer {
min-height: 100%;
background: #fff url(./loginBG.png) no-repeat center center / cover;
}
+
.node-main-login header {
display: none;
}
+
.node-main-login .main {
height: auto;
}
+
.node-main-login>.main>.main-left {
display: none;
}
+
.node-main-login>.main>.main-right {
width: 100%;
height: auto;
min-height: 100%;
}
+
.node-main-login>.main #maincontent {
position: absolute;
min-width: 492px;
@@ -1861,12 +1987,14 @@ footer {
height: auto;
text-align: center;
}
+
.node-main-login>.main .container {
padding: 0;
width: 30%;
max-width: 492px;
display: inline-block;
}
+
.node-main-login>.main .logoImg a {
margin: 0 0 18px 0;
display: block;
@@ -1874,13 +2002,16 @@ footer {
color: #fff;
text-decoration: none;
}
+
.node-main-login>.main .logoImg img:first-child {
width: 72px;
}
+
.node-main-login .warning {
background-color: #3E4A62;
color: #fff;
}
+
.node-main-login>.main form h2 {
margin: 17px 0;
padding: 0;
@@ -1889,32 +2020,38 @@ footer {
font-weight: normal;
border: 0;
}
+
.node-main-login>.main form .cbi-map-descr {
margin: 0 0 12px;
padding: 0;
font-size: 12px;
color: #B1B6BB;
}
+
.node-main-login>.main form .cbi-section {
margin: 0;
padding: 0;
background-color: transparent;
box-shadow: none;
}
+
.node-main-login>.main form .cbi-value {
display: block;
}
+
.node-main-login>.main form .cbi-value-title {
margin: 0;
padding: 0;
display: none;
}
-.node-main-login>.main form .cbi-value-field {
+
+.node-main-login>.main form .cbi-value .cbi-value-field {
margin-bottom: 16px;
display: block;
width: 100%;
position: relative;
}
+
.node-main-login>.main form .cbi-value-field input {
padding-left: 48px;
width: 100%;
@@ -1924,6 +2061,7 @@ footer {
font-size: 20px;
color: #9c9fa1;
}
+
.node-main-login form .cbi-value-field .iconpwd,
.node-main-login form .cbi-value-field .iconuser,
.node-main-login form .cbi-value-field .iconeye {
@@ -1934,28 +2072,35 @@ footer {
left: 16px;
transform: translateY(-50%);
}
+
.node-main-login form .cbi-value-field .iconpwd {
background: transparent url(./pwd.png) no-repeat center center / 100%;
}
+
.node-main-login form .cbi-value-field .iconuser {
background: transparent url(./user.png) no-repeat center center / 100%;
}
+
.node-main-login form .cbi-value-field .iconeye {
left: auto;
right: 16px;
background: transparent url(./op-eye.png) no-repeat center center / 100%;
}
+
.node-main-login form .cbi-value-field .cleye {
background-image: url(./cl-eye.png);
}
+
.node-main-login form .cbi-value-field .opeye {
background-image: url(./op-eye.png);
}
+
.node-main-login form .cbi-page-actions {
padding: 0;
border: 0;
text-align: center;
}
+
.node-main-login form .cbi-page-actions input {
margin: 0 0 0 -4px;
padding: 9px 0;
@@ -1965,38 +2110,47 @@ footer {
width: 50%;
font-size: 18px;
}
+
.node-main-login form .cbi-page-actions .cbi-button-apply {
background-color: #F24C7C;
border-top-left-radius: 50px;
border-bottom-left-radius: 50px;
}
+
.node-main-login form .cbi-page-actions .cbi-button-reset {
background-color: #8a4568;
color: #fff;
border-top-right-radius: 50px;
border-bottom-right-radius: 50px;
}
+
.node-main-login input.cbi-input-text {
box-shadow: 0 0 0 1000px white inset;
}
+
/* Interface after login */
.logged-in {
background-color: #EBF1F6;
}
+
.logged-in header {
height: 70px;
}
+
.logged-in .main {
overflow: hidden;
}
+
.logged-in .main-right {
padding: 0 1rem 3rem 0;
margin-top: 90px;
float: right;
}
+
.logged-in .main .logoImg {
display: none;
}
+
.logged-in .main .main-left .nav-container {
background-color: #354057;
border-radius: 20px;
@@ -2006,6 +2160,7 @@ footer {
right: -10px;
bottom: 10px;
}
+
.logged-in .main .main-left .brand {
margin: 0 auto;
padding: 44px 0 23px;
@@ -2023,11 +2178,13 @@ footer {
-webkit-text-overflow: ellipsis;
-o-text-overflow: ellipsis;
}
+
.logged-in .alert-message {
padding: 20px 2rem;
border: none;
background-color: #fff;
}
+
.logged-in .alert-message a {
padding: 8px 2rem;
width: auto;
@@ -2035,65 +2192,81 @@ footer {
background-color: #468EA4;
color: #fff;
}
+
@media screen and (max-width: 1600px) {
.main-left {
width: calc(0% + 13rem);
}
+
.btn,
.cbi-button {
padding: 0.3rem 0.6rem;
font-size: 0.8rem;
}
+
header>.container>.pull-right>* {
top: 0.35rem;
}
+
.label {
padding: 0.2rem 0.6rem;
}
+
.cbi-value-title {
width: 15rem;
padding-right: 0.6rem;
}
+
.cbi-input-textarea {
font-size: small;
}
}
+
@media screen and (max-width: 1280px) {
.node-main-login>.main .container {
width: 50%;
}
+
.cbi-tabmenu>li>a,
.tabs>li>a {
padding: 0.2rem 0.5rem;
}
+
.panel-title {
font-size: 1.1rem;
padding-bottom: 1rem;
}
+
table {
font-size: 0.7rem !important;
width: 100% !important;
}
+
.main>.main-left .nav>li,
.main>.main-left .nav>li a,
.main>.main-left .nav>.slide>.menu {
font-size: 0.9rem;
}
+
.main>.main-left .nav>.slide>.slide-menu>li>a {
font-size: 0.7rem;
}
}
+
@media screen and (max-width: 992px) {
.logged-in header {
padding: 0 .8rem;
height: 45px;
}
+
header .brand {
display: none;
}
+
header .btn-con {
line-height: 45px;
}
+
.main-left {
width: auto;
height: auto;
@@ -2108,35 +2281,49 @@ footer {
min-width: 0;
overflow: hidden;
}
+
+ .main>.main-left .navbar-container {
+ overflow-y: scroll;
+ overflow-x: hidden;
+ }
+
.main>.main-left .nav>.slide>.slide-menu>li {
width: 90%;
}
+
header .container {
line-height: 43px;
}
+
.main-right {
width: 100%;
}
+
.node-main-login>.main .container {
width: 60%;
}
+
.showSide {
padding: 0.1rem;
display: inline-block;
vertical-align: middle;
}
+
.cbi-value-title {
width: 9rem;
padding-right: 1rem;
}
+
#diag-rc-output>pre {
font-size: 1rem;
}
+
.tr {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
+
.th,
.td {
flex: 2 2 25%;
@@ -2145,48 +2332,57 @@ footer {
word-wrap: break-word;
display: inline-block;
}
+
.td select,
.td input[type="text"] {
word-wrap: normal;
width: 100%;
}
+
.td [data-dynlist]>input,
.td input.cbi-input-password {
width: calc(100% - 1.5rem);
}
+
.td[data-type="button"],
.td[data-type="fvalue"] {
flex: 1 1 12.5%;
text-align: left;
}
+
.th.cbi-value-field,
.td.cbi-value-field,
.th.cbi-section-table-cell,
.td.cbi-section-table-cell {
flex-basis: auto;
}
+
.cbi-section-table-row {
display: flex;
flex-wrap: wrap;
flex-direction: row;
justify-content: space-between;
}
+
.td.cbi-value-field,
.cbi-section-table-cell {
text-align: center;
display: inline-block;
flex: 10 10 auto;
}
+
.td.cbi-section-actions {
text-align: right;
align-self: flex-end;
vertical-align: bottom;
}
+
.tr.table-titles,
.tr.cbi-section-table-titles,
.tr.cbi-section-table-descr {
display: none;
}
+
.tr[data-title]::before,
.tr.cbi-section-table-titles.named::before {
display: block;
@@ -2195,24 +2391,30 @@ footer {
font-size: .9rem;
border-bottom: 1px solid rgba(0, 0, 0, .26);
}
+
.td[data-title] {
text-align: left;
font-size: 12px;
}
+
.td[data-title]::before {
display: block;
}
+
.hide-sm,
.hide-xs {
display: none;
}
+
/* All styles of the login interface */
.node-main-login .showSide {
display: none !important;
}
+
.logged-in .main {
padding-bottom: .8rem;
}
+
.logged-in .main .main-left .nav-container {
background-color: #354057;
border-radius: 0;
@@ -2222,6 +2424,7 @@ footer {
right: 20%;
bottom: 0;
}
+
.logged-in .main-right {
padding: 0 .8rem;
margin-top: calc(45px + .8rem);
@@ -2229,69 +2432,86 @@ footer {
max-width: unset;
float: unset;
}
+
.logged-in .alert-message {
padding: 8px .8rem;
}
+
.cbi-section {
margin: .8rem 0 0 0;
padding: .8rem;
}
+
small {
font-size: 10px;
line-height: 0;
}
+
.cbi-section>h3:first-child,
.panel-title {
font-size: 1rem;
}
+
.network-status-table .ifacebox-body>span {
font-size: 12px;
}
+
.cbi-section .ifacebox-body .ifacebadge>span {
font-size: 12px;
}
+
.table .tr.cbi-rowstyle-1:nth-child(n),
.table .tr:nth-child(n) {
font-size: 12px;
}
+
.node-network-firewall .table .tr.cbi-rowstyle-1:nth-child(n),
.node-network-firewall .table .tr:nth-child(n) {
border-radius: 20px;
overflow: hidden;
}
+
h2 {
margin: 1rem 0 0 0;
font-size: 1.4rem;
padding-bottom: 0;
border-bottom: none;
}
+
h4 {
font-size: 1rem;
}
+
.cbi-section-node-tabbed {
padding: 0 .5rem;
}
+
.cbi-button,
.cbi-button-action.important {
margin-right: .3rem;
}
+
select {
border-bottom: 1px solid rgba(0, 0, 0, .26);
}
+
.node-status-processes .table .tr.cbi-rowstyle-1:nth-child(n),
.node-status-processes .table .tr:nth-child(n) {
border-radius: 20px;
}
}
+
@media screen and (max-width: 768px) {
.node-main-login {
background: none;
}
+
.node-main-login>.main .logoImg a {
font-size: 30px;
margin: 12px 0 22px 0;
color: #354057;
}
+
.node-main-login>.main #maincontent {
padding-top: 0;
padding-bottom: 1rem;
@@ -2299,49 +2519,61 @@ footer {
top: 0;
transform: translateY(0) translateX(-50%);
}
+
.alert-message {
padding: 8px 15%;
}
+
.alert-message>h4 {
font-size: 14px;
}
+
.alert-message>p,
.alert-message a {
font-size: 12px;
}
+
.a lert-message>h4 {
padding: 8px 0 8px 36px;
}
+
.alert-message a {
padding: 8px 0;
margin-top: 8px;
}
+
.node-main-login .warning {
background-color: #F5F5F6;
color: #354057;
}
+
.alert-message a {
color: #f24c7c;
background: #fff;
}
+
.node-main-login>.main form h2 {
font-size: 16px;
margin: 20px 0 16px;
color: #354057;
}
+
.node-main-login>.main form .cbi-value-field input {
padding-left: 34px;
height: 36px;
background-size: 16px;
font-size: 16px;
}
+
.node-main-login>.main form .cbi-value-field {
margin-bottom: 20px;
}
+
.node-main-login form .cbi-page-actions input {
padding: 6px 0;
font-size: 16px;
}
+
.node-main-login form .cbi-value-field .iconpwd,
.node-main-login form .cbi-value-field .iconuser,
.node-main-login form .cbi-value-field .iconeye {
@@ -2349,21 +2581,26 @@ footer {
width: 16px;
left: 12px;
}
+
.node-main-login form .cbi-value-field .iconeye {
left: auto;
right: 12px;
}
+
.mobile-hide {
display: none;
}
+
.PC-hide {
display: inline-block;
}
}
+
@media screen and (max-width: 480px) {
body {
font-size: 1rem;
}
+
.cbi-value-title {
width: 100%;
min-width: 0rem !important;
@@ -2372,42 +2609,53 @@ footer {
margin-bottom: 0.5rem;
text-align: left;
}
+
.cbi-value-field,
.cbi-value-description {
width: 100%;
}
+
.cbi-value>.cbi-value-field {
display: inline-block;
}
+
.cbi-tabmenu>li,
.tabs>li {
padding: 0.6rem 0rem;
}
+
.cbi-tabmenu>li>a,
.tabs>li>a {
padding: 0.2rem 0.3rem;
font-size: 0.9rem;
}
+
.cbi-page-actions>div>input {
display: none;
}
+
.tabs>li>a {
font-size: 0.9rem;
}
+
select,
input {
font-size: 10px;
}
+
.panel-title {
font-size: 1.4rem;
padding-bottom: 1rem;
}
+
.node-system-packages>.main .cbi-value.cbi-value-last>div {
width: 100% !important;
}
+
.node-system-packages>.main .cbi-value .cbi-value-field input {
width: 100%;
}
+
.node-status-iptables>.main div>.cbi-map>form {
position: static !important;
margin: 0 0 2rem 0;
@@ -2422,66 +2670,83 @@ footer {
border-radius: 20px;
-webkit-overflow-scrolling: touch;
}
+
.node-status-iptables>.main div>.cbi-map>form input[type="submit"] {
width: 100% !important;
margin: 0;
}
+
.node-status-iptables>.main div>.cbi-map>form input[type="submit"]+input[type="submit"] {
margin-top: 1rem;
}
+
.node-main-login>.main .container {
min-width: 90%;
}
+
.th,
.td {
flex-basis: 50%;
}
+
.td.cbi-value-field {
flex-basis: 100%;
}
+
.td.cbi-value-field[data-type="dvalue"] {
flex-basis: 50%;
}
+
.td.cbi-value-field[data-type="button"],
.td.cbi-value-field[data-type="fvalue"] {
flex-basis: 25%;
text-align: left;
}
+
.tr[data-title]::before,
.tr.cbi-section-table-titles.named::before {
font-size: 1rem;
}
+
.hide-xs {
display: none;
}
+
/* All styles of the login interface */
.node-main-login>.main .cbi-value {
padding: 0;
}
+
.alert-message {
padding: 8px 10%;
}
}
+
@media screen and (min-width: 992px) {
.cbi-value-field .cbi-input-select {
width: 20rem;
}
+
.cbi-value-field .cbi-dropdown {
min-width: 20rem;
}
}
+
@media screen and (min-width: 1280px) {
.cbi-value-field .cbi-input-select {
width: 22rem;
}
+
.cbi-value-field .cbi-dropdown {
min-width: 22rem;
}
}
+
@media screen and (min-width: 1600px) {
.cbi-value-field .cbi-input-select {
width: 25rem;
}
+
.cbi-value-field .cbi-dropdown {
min-width: 25rem;
}
diff --git a/themes/luci-theme-rosy/htdocs/luci-static/rosy/js/ScrollY.js b/themes/luci-theme-rosy/htdocs/luci-static/rosy/js/ScrollY.js
new file mode 100644
index 0000000000..38d82d103e
--- /dev/null
+++ b/themes/luci-theme-rosy/htdocs/luci-static/rosy/js/ScrollY.js
@@ -0,0 +1 @@
+!function(win,dom){function MyScrollBar(o){this.init(o)}function getStyle(obj,name){return win.getComputedStyle?getComputedStyle(obj,null)[name]:obj.currentStyle[name]}function setStyle(obj,oStyle){for(var i in oStyle)obj.style[i]=oStyle[i]}function getOffsetSize(obj){var sDisplay=getStyle(obj,"display"),res={};if("none"!=sDisplay)res.width=obj.offsetWidth,res.height=obj.offsetHeight;else{var oldStyle={position:getStyle(obj,"position"),visibility:getStyle(obj,"visibility"),display:sDisplay},newStyle;setStyle(obj,{position:"absolute",visibility:"hidden",display:"inline-block"}),res.width=obj.offsetWidth,res.height=obj.offsetHeight,setStyle(obj,oldStyle)}return res}function getClientSize(obj){var iTopW=parseInt(getStyle(obj,"borderTopWidth")),iRightW=parseInt(getStyle(obj,"borderRightWidth")),iBottomW=parseInt(getStyle(obj,"borderBottomWidth")),iLeftW=parseInt(getStyle(obj,"borderLeftWidth")),oOffset=getOffsetSize(obj);return{width:oOffset.width<=0?oOffset.width:oOffset.width-iLeftW-iRightW,height:oOffset.height<=0?oOffset.height:oOffset.height-iTopW-iBottomW}}function canSelectText(bCan){bCan?(dom.body.style.mozUserSelect="text",dom.body.style.webkitUserSelect="text",dom.body.style.msUserSelect="text",dom.body.style.khtmlUserSelect="text",dom.body.style.userSelect="text"):(dom.body.style.mozUserSelect="none",dom.body.style.webkitUserSelect="none",dom.body.style.msUserSelect="none",dom.body.style.khtmlUserSelect="none",dom.body.style.userSelect="none")}function getPosition(obj,goal){var oPos={top:obj.offsetTop,left:obj.offsetLeft};if(obj.parentNode==goal)return oPos;var obj=getPosition(obj.parentNode,goal);oPos.top+=obj.top,oPos.left+=obj.left}MyScrollBar.prototype.init=function(o){this.bYBar=!1,this.iScrollTop=0,this.iScrollLeft=0,this.bYShow=!1,this.oWrapper=dom.getElementById(o.selId),this.oScroll=this.oWrapper.firstElementChild,this.setParam(o),this.addScrollBar(),this.initState(),this.initEvent()},MyScrollBar.prototype.initState=function(){var sWPosition;"static"==getStyle(this.oWrapper,"position")&&setStyle(this.oWrapper,{position:"relative"}),setStyle(this.oScroll,{position:"relative"}),this.bYBar&&(setStyle(this.oYBox,{display:this.enterShow?"none":"block",position:"absolute",top:0,right:0,zIndex:10,width:this.width+"px",height:"100%",backgroundColor:this.bgColor}),setStyle(this.oYBar,{position:"absolute",top:0,left:0,width:"100%",backgroundColor:this.barColor,borderRadius:this.borderRadius+"px",transition:"all "+this.time+"ms"})),this.setSize()},MyScrollBar.prototype.initEvent=function(){var _this=this,sUserAgent;-1!=win.navigator.userAgent.toLowerCase().indexOf("firefox")?this.oWrapper.addEventListener("DOMMouseScroll",function(e){_this.bYBar&&_this.bYShow&&(e.preventDefault(),_this.iScrollTop+=e.detail>0?60:-60,_this.iScrollTop=_this.iScrollTop<=0?0:_this.iScrollTop>=_this.iScrollH-_this.iWrapperH?_this.iScrollH-_this.iWrapperH:_this.iScrollTop,_this.setTransLate(),_this.setYTop(_this.iScrollTop/_this.iScrollH*_this.iYBoxH))}):this.oWrapper.onmousewheel=function(evt){if(_this.bYBar&&_this.bYShow){var e=evt||win.event;evt?e.preventDefault():e.returnValue=!1,_this.iScrollTop+=e.wheelDelta<0?60:-60,_this.iScrollTop=_this.iScrollTop<=0?0:_this.iScrollTop>=_this.iScrollH-_this.iWrapperH?_this.iScrollH-_this.iWrapperH:_this.iScrollTop,_this.setTransLate(),_this.setYTop(_this.iScrollTop/_this.iScrollH*_this.iYBoxH)}};var isInWrapper=!1;this.oWrapper.onmouseenter=function(){isInWrapper=!0,_this.enterShow&&_this.bYBar&&_this.bYShow&&setStyle(_this.oYBox,{display:"block"})},this.oWrapper.onmouseleave=function(){isInWrapper=!1,_this.enterShow&&_this.bYBar&&!bYDown&&_this.bYShow&&setStyle(_this.oYBox,{display:"none"})};var bYDown=!1,bYLeave=!0,iDownPageY=0,iYBarTop=0;this.bYBar&&(this.enterColor&&(this.oYBar.onmouseenter=function(){bYLeave=!1,setStyle(this,{backgroundColor:_this.enterColor})},this.oYBar.onmouseleave=function(){bYLeave=!0,bYDown||setStyle(this,{backgroundColor:_this.barColor})}),this.oYBar.onmousedown=function(e){_this.bYShow&&(bYDown=!0,iDownPageY=e.clientY+dom.documentElement.scrollTop||dom.body.scrollTop,iYBarTop=parseInt(getStyle(this,"top")),_this.setYTime(0),canSelectText(!1))},dom.addEventListener("mouseup",function(){bYDown&&_this.bYShow&&(bYDown=!1,_this.setYTime(_this.time),canSelectText(!0),!isInWrapper&&_this.enterShow&&setStyle(_this.oYBox,{display:"none"})),!bYDown&&bYLeave&&setStyle(_this.oYBar,{backgroundColor:_this.barColor})}),dom.addEventListener("mousemove",function(e){if(bYDown&&_this.bYShow){var iNowPageY=e.clientY+dom.documentElement.scrollTop||dom.body.scrollTop,iNowTop=iYBarTop+iNowPageY-iDownPageY;iNowTop=iNowTop<=0?0:iNowTop>=_this.iYBoxH-_this.iYBarH?_this.iYBoxH-_this.iYBarH:iNowTop,_this.iScrollTop=iNowTop/_this.iYBoxH*_this.iScrollH,_this.setTransLate(),_this.setYTop(iNowTop)}}),this.oYBar.ondrag=function(e){var e=evt||win.event;evt?e.preventDefault():e.returnValue=!1})},MyScrollBar.prototype.setParam=function(o){this.width=o.width?o.width:10,this.bgColor=o.bgColor?o.bgColor:"#eaeaea",this.barColor=o.barColor?o.barColor:"#ccc",this.enterColor=o.enterColor||!1,this.enterShow=!1!==o.enterShow,this.hasY=!1!==o.hasY,this.borderRadius=o.borderRadius>=0?o.borderRadius:this.width/2,this.time=o.time||0},MyScrollBar.prototype.addScrollBar=function(){this.getSize(),this.hasY&&(this.bYBar=!0,this.oYBox=dom.createElement("div"),this.oYBar=dom.createElement("div"),this.oYBox.appendChild(this.oYBar),this.oWrapper.insertBefore(this.oYBox,this.oScroll))},MyScrollBar.prototype.getSize=function(){var oWrapperSize=getClientSize(this.oWrapper),oScrollSize=getClientSize(this.oScroll);this.iWrapperClientH=oWrapperSize.height,this.iPaddingT=parseInt(getStyle(this.oWrapper,"paddingTop")),this.iPaddingR=parseInt(getStyle(this.oWrapper,"paddingRight")),this.iPaddingB=parseInt(getStyle(this.oWrapper,"paddingBottom")),this.iPaddingL=parseInt(getStyle(this.oWrapper,"paddingLeft")),this.iWrapperH=oWrapperSize.height-this.iPaddingT-this.iPaddingB,this.iScrollH=oScrollSize.height,this.bYBar&&(this.iYBoxH=oWrapperSize.height,this.iYBarH=this.iWrapperH/this.iScrollH*this.iYBoxH)},MyScrollBar.prototype.setSize=function(time){var _this=this;time=time||100,setTimeout(function(){_this.getSize(),_this.iScrollTop>=_this.iScrollH-_this.iWrapperH&&(_this.iScrollTop=_this.iScrollH-_this.iWrapperH),_this.bYBar&&(_this.iWrapperH>=_this.iScrollH?(setStyle(_this.oYBox,{display:"none"}),_this.bYShow=!1):(_this.enterShow||setStyle(_this.oYBox,{display:"block"}),setStyle(_this.oYBar,{height:_this.iYBarH+"px",top:_this.iScrollTop/_this.iScrollH*_this.iYBoxH+"px"},0),_this.bYShow=!0))},time)},MyScrollBar.prototype.setTransLate=function(iTime){var sTranslate="translate(-"+this.iScrollLeft+"px, -"+this.iScrollTop+"px)";setStyle(this.oScroll,{transition:"all "+(iTime>=0?iTime:this.time)+"ms",transform:sTranslate,msTransform:sTranslate,mozTransform:sTranslate,webkitTransform:sTranslate,oTransform:sTranslate})},MyScrollBar.prototype.setYTime=function(iTime){setStyle(this.oYBar,{transition:"all "+(iTime>=0?iTime:this.time)+"ms"})},MyScrollBar.prototype.setYTop=function(iTop){setStyle(this.oYBar,{top:iTop+"px"})},MyScrollBar.prototype.jump=function(o){o=o||{};var oPos={top:0,left:0},iTop=0,iBottome=this.iScrollH-this.iWrapperClientH+this.iPaddingT+this.iPaddingB>0?this.iScrollH-this.iWrapperClientH+this.iPaddingT+this.iPaddingB:0,iLeft=0,iRight=this.iScrollW-this.iWrapperClientW+this.iPaddingL+this.iPaddingR>0?this.iScrollW-this.iWrapperClientW+this.iPaddingL+this.iPaddingR:0,obj;if(o.id)oPos=getPosition(document.getElementById(o.id),this.oScroll),this.bYBar&&(oPos.top+=this.iPaddingT);else if(o.pos)if("string"==typeof o.pos)switch(o.pos){case"top":oPos.top=0;break;case"bottom":oPos.top=iBottome;break;case"left":oPos.left=0;break;case"right":oPos.left=iRight}else"object"==typeof o.pos&&(oPos=o.pos);oPos.top=oPos.top>iBottome?iBottome:oPos.top>=0?oPos.top:0,this.iScrollTop=oPos.top,this.setTransLate(o.time),this.bYBar&&(this.setYTime(o.time),this.setYTop(this.iScrollTop/this.iScrollH*this.iYBoxH))},"function"==typeof define&&define.amd&&define([],function(){return MyScrollBar}),win.MyScrollBar=MyScrollBar}(window,document); \ No newline at end of file
diff --git a/themes/luci-theme-rosy/htdocs/luci-static/rosy/js/script.js b/themes/luci-theme-rosy/htdocs/luci-static/rosy/js/script.js
index 76ee383ccb..c1a3dcd000 100755
--- a/themes/luci-theme-rosy/htdocs/luci-static/rosy/js/script.js
+++ b/themes/luci-theme-rosy/htdocs/luci-static/rosy/js/script.js
@@ -81,6 +81,17 @@
/**
* menu click
*/
+ if ($('.nav').length > 0 && $(window).width() > 992) {
+ var oScroll = new MyScrollBar({
+ selId: 'navBox',
+ time: 100,
+ bgColor: 'transprent',
+ barColor: '#839dd67a',
+ enterColor: '#839dd6cc',
+ enterShow: false
+ });
+ }
+
$(".main > .main-left .nav > .slide > .menu").click(function () {
var ul = $(this).next(".slide-menu");
var menu = $(this);
@@ -94,6 +105,14 @@
ul.removeClass("active");
});
}
+ if ($('.nav').length > 0 && $(window).width() > 992) {
+ oScroll.setSize(200);
+ }
+ setInterval(function(){
+ if($('.nav').height() < $('.navbar-container').height()){
+ $('.nav').css('transform', 'translate(0px, 0px)');
+ }
+ }, 300);
return false;
});
@@ -259,10 +278,10 @@
}else {
$('.node-main-login form .cbi-value-last input[type="text"]').prop('type', 'password');
$('.node-main-login form .cbi-value-field .iconeye').removeClass('cleye').addClass('opeye');
- num = true
+ num = true;
}
- })
+ });
$('body.logged-in').css('min-height', $(window).height());
@@ -271,21 +290,26 @@
$('.logged-in .main-right').outerWidth( $(window).width() - $('.logged-in .main-left').width() - 50 );
}
- $('.cbi-section .table').each(function(){
- var thisTr = $(this).children('.tr').get(0);
- var td = $(thisTr).children('.td').get(0);
- var th = $(thisTr).children('.th').get(0)
- var a = window.getComputedStyle(thisTr, ':before').getPropertyValue('content');
- console.log(td, th);
+ $('.cbi-section .table').each(function () {
+ var firTr = $(this).children('.tr').get(0);
+ var firTd = $(firTr).children('.td').get(0);
+ var th = $(firTr).children('.th').get(0);
- if( th && a != 'none' ){
+ var laTr = $(this).children('.tr').get($(this).children('.tr').length - 1);
+ var laTd = $(laTr).children('.td').get(0);
+ var a = window.getComputedStyle(firTr, ':before').getPropertyValue('content');
+
+ if (th && a != 'none') {
$(th).css('border-top-left-radius', '0');
- }else if( td && a != 'none' ){
- $(td).css('border-top-left-radius', '0');
+ } else if (firTd && a != 'none') {
+ $(firTd).css('border-top-left-radius', '0');
+ }
+ if (laTd && a != 'none') {
+ $(laTd).css('border-bottom-left-radius', '0');
}
});
});
- $('.lang_enNetwork #cbi-samba-sambashare .table').wrap('<div class="table-container"></div>');
+ $('#iptables').prev().css('margin-top', '10px');
})(jQuery);
diff --git a/themes/luci-theme-rosy/luasrc/view/themes/rosy/footer.htm b/themes/luci-theme-rosy/luasrc/view/themes/rosy/footer.htm
index f0cbe4e968..4377e1ca98 100755
--- a/themes/luci-theme-rosy/luasrc/view/themes/rosy/footer.htm
+++ b/themes/luci-theme-rosy/luasrc/view/themes/rosy/footer.htm
@@ -43,8 +43,8 @@
<script>
var luciLocation = <%= luci.http.write_json(luci.dispatcher.context.path) %>;
</script>
-<script src="<%=media%>/js/jquery.min.js?v=git-18.247.71242-9541751"></script>
-<script src="<%=media%>/js/script.js?v=git-18.247.71242-9541751"></script>
+<script src="<%=media%>/js/jquery.min.js"></script>
+<script src="<%=media%>/js/script.js"></script>
</body>
</html>
diff --git a/themes/luci-theme-rosy/luasrc/view/themes/rosy/header.htm b/themes/luci-theme-rosy/luasrc/view/themes/rosy/header.htm
index 21fa78e3c6..a6aafbed61 100644
--- a/themes/luci-theme-rosy/luasrc/view/themes/rosy/header.htm
+++ b/themes/luci-theme-rosy/luasrc/view/themes/rosy/header.htm
@@ -123,7 +123,7 @@
local function render_topmenu()
local childs = disp.node_childs(cattree)
if #childs > 0 then
- write('<ul class="nav">')
+ write('<ul class="nav scroll">')
for i, r in ipairs(childs) do
local nnode = cattree.nodes[r]
@@ -231,6 +231,7 @@
<% end -%>
<script src="<%=resource%>/cbi.js"></script>
<script src="<%=resource%>/xhr.js"></script>
+ <script src="<%=media%>/js/ScrollY.js"></script>
</head>
<body class="lang_<%=luci.i18n.context.lang%> <%- if node then %><%= striptags( node.title ) %><%- end %> <% if luci.dispatcher.context.authsession then %>logged-in<% end %>">
@@ -264,7 +265,7 @@
<div class="nav-container">
<a class="brand" href="#">
<%=boardinfo.hostname or "?"%></a>
- <div class="navbar-container">
+ <div class="navbar-container" id="navBox">
<% render_topmenu() %>
</div>
</div>