diff options
285 files changed, 17235 insertions, 3947 deletions
diff --git a/applications/luci-app-adblock/Makefile b/applications/luci-app-adblock/Makefile index 8efe2d6048..ae1eba2516 100644 --- a/applications/luci-app-adblock/Makefile +++ b/applications/luci-app-adblock/Makefile @@ -1,14 +1,12 @@ -# Copyright (C) 2016 Openwrt.org -# -# This is free software, licensed under the Apache License, Version 2.0 . -# +# Copyright 2017 Dirk Brenken (dev@brenken.org) +# This is free software, licensed under the Apache License, Version 2.0 include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI support for Adblock -LUCI_DEPENDS:=+adblock +LUCI_DEPENDS:=+adblock +luci-lib-jsonc LUCI_PKGARCH:=all include ../../luci.mk -# call BuildPackage - OpenWrt buildroot signature +# call BuildPackage - OpenWrt buildroot signature
\ No newline at end of file diff --git a/applications/luci-app-adblock/luasrc/controller/adblock.lua b/applications/luci-app-adblock/luasrc/controller/adblock.lua index d8b471814f..03b9fc20eb 100644 --- a/applications/luci-app-adblock/luasrc/controller/adblock.lua +++ b/applications/luci-app-adblock/luasrc/controller/adblock.lua @@ -1,12 +1,52 @@ --- Copyright 2016 Openwrt.org --- Licensed to the public under the Apache License 2.0. +-- Copyright 2017 Dirk Brenken (dev@brenken.org) +-- This is free software, licensed under the Apache License, Version 2.0 module("luci.controller.adblock", package.seeall) +local fs = require("nixio.fs") +local util = require("luci.util") +local template = require("luci.template") +local i18n = require("luci.i18n") + function index() if not nixio.fs.access("/etc/config/adblock") then return end + entry({"admin", "services", "adblock"}, firstchild(), _("Adblock"), 30).dependent = false + entry({"admin", "services", "adblock", "tab_from_cbi"}, cbi("adblock/overview_tab", {hideresetbtn=true, hidesavebtn=true}), _("Overview"), 10).leaf = true + entry({"admin", "services", "adblock", "logfile"}, call("logread"), _("View Logfile"), 20).leaf = true + entry({"admin", "services", "adblock", "advanced"}, firstchild(), _("Advanced"), 100) + entry({"admin", "services", "adblock", "advanced", "blacklist"}, cbi("adblock/blacklist_tab"), _("Edit Blacklist"), 110).leaf = true + entry({"admin", "services", "adblock", "advanced", "whitelist"}, cbi("adblock/whitelist_tab"), _("Edit Whitelist"), 120).leaf = true + entry({"admin", "services", "adblock", "advanced", "configuration"}, cbi("adblock/configuration_tab"), _("Edit Configuration"), 130).leaf = true + entry({"admin", "services", "adblock", "advanced", "query"}, call("query"), _("Query domains"), 140).leaf = true + entry({"admin", "services", "adblock", "advanced", "result"}, call("queryData"), nil, 150).leaf = true +end + +function logread() + local logfile = util.trim(util.exec("logread -e 'adblock'")) + template.render("adblock/logread", {title = i18n.translate("Adblock Logfile"), content = logfile}) +end - entry({"admin", "services", "adblock"}, cbi("adblock"), _("Adblock"), 40) +function query() + template.render("adblock/query", {title = i18n.translate("Adblock Domain Query")}) +end + +function queryData(domain) + if domain and domain:match("^[a-zA-Z0-9%-%._]+$") then + luci.http.prepare_content("text/plain") + local cmd = "/etc/init.d/adblock query %q 2>&1" + local util = io.popen(cmd % domain) + if util then + while true do + local line = util:read("*l") + if not line then + break + end + luci.http.write(line) + luci.http.write("\n") + end + util:close() + end + end end diff --git a/applications/luci-app-adblock/luasrc/model/cbi/adblock.lua b/applications/luci-app-adblock/luasrc/model/cbi/adblock.lua deleted file mode 100644 index 0a4a4cdd2f..0000000000 --- a/applications/luci-app-adblock/luasrc/model/cbi/adblock.lua +++ /dev/null @@ -1,63 +0,0 @@ --- Copyright 2016 Hannu Nyman --- Licensed to the public under the Apache License 2.0. - -m = Map("adblock", translate("Adblock"), - translate("Configuration of the adblock package to block ad/abuse domains by using DNS.")) - --- General options - -s = m:section(NamedSection, "global", "adblock", translate("Global options")) - -o1 = s:option(Flag, "adb_enabled", translate("Enable adblock")) -o1.rmempty = false -o1.default = 0 - -o3 = s:option(Value, "adb_whitelist", translate("Whitelist file"), - translate("File with whitelisted hosts/domains that are allowed despite being on a blocklist.")) -o3.rmempty = false -o3.datatype = "file" - --- Blocklist options - -bl = m:section(TypedSection, "source", translate("Blocklist sources"), - translate("Available blocklist sources (") - .. [[<a href="https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md" target="_blank">]] - .. translate("see list details") - .. [[</a>]] - .. translate("). Note that list URLs and Shallalist category selections are not configurable via Luci.")) -bl.template = "cbi/tblsection" - -name = bl:option(Flag, "enabled", translate("Enabled")) -name.rmempty = false - -des = bl:option(DummyValue, "adb_src_desc", translate("Description")) - --- Additional options - -s2 = m:section(NamedSection, "global", "adblock", translate("Backup options")) - -o4 = s2:option(Flag, "adb_backup", translate("Enable blocklist backup")) -o4.rmempty = false -o4.default = 0 - -o5 = s2:option(Value, "adb_backupdir", translate("Backup directory")) -o5.rmempty = false -o5.datatype = "directory" - --- Extra options - -e = m:section(NamedSection, "global", "adblock", translate("Extra options"), - translate("Options for further tweaking in case the defaults are not suitable for you.")) - -a = e:option(Flag, "adb_debug", translate("Enable verbose debug logging")) -a.default = a.disabled -a.rmempty = false - -a = e:option(Value, "adb_iface", translate("Restrict reload trigger to certain interface(s)"), - translate("Space separated list of wan interfaces that trigger reload action. " .. - "To disable reload trigger set it to 'false'. Default: empty")) -a.datatype = "network" -a.rmempty = true - -return m - diff --git a/applications/luci-app-adblock/luasrc/model/cbi/adblock/blacklist_tab.lua b/applications/luci-app-adblock/luasrc/model/cbi/adblock/blacklist_tab.lua new file mode 100644 index 0000000000..59cd1e80fa --- /dev/null +++ b/applications/luci-app-adblock/luasrc/model/cbi/adblock/blacklist_tab.lua @@ -0,0 +1,51 @@ +-- Copyright 2017 Dirk Brenken (dev@brenken.org) +-- This is free software, licensed under the Apache License, Version 2.0 + +local fs = require("nixio.fs") +local util = require("luci.util") +local uci = require("uci") +local adbinput = uci.get("adblock", "blacklist", "adb_src" or "/etc/adblock/adblock.blacklist") + +if not nixio.fs.access(adbinput) then + m = SimpleForm("error", nil, + translate("Input file not found, please check your configuration.")) + m.reset = false + m.submit = false + return m +end + +if nixio.fs.stat(adbinput).size > 524288 then + m = SimpleForm("error", nil, + translate("The file size is too large for online editing in LuCI (> 512 KB). ") + .. translate("Please edit this file directly in a terminal session.")) + m.reset = false + m.submit = false + return m +end + +m = SimpleForm("input", nil) +m:append(Template("adblock/config_css")) +m.reset = false + +s = m:section(SimpleSection, nil, + translatef("This form allows you to modify the content of the adblock blacklist (%s).<br />", adbinput) + .. translate("Please add only one domain per line. Comments introduced with '#' are allowed - ip addresses, wildcards and regex are not.")) + +f = s:option(TextValue, "data") +f.datatype = "string" +f.rows = 20 +f.rmempty = true + +function f.cfgvalue() + return nixio.fs.readfile(adbinput) or "" +end + +function f.write(self, section, data) + return nixio.fs.writefile(adbinput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n") +end + +function s.handle(self, state, data) + return true +end + +return m diff --git a/applications/luci-app-adblock/luasrc/model/cbi/adblock/configuration_tab.lua b/applications/luci-app-adblock/luasrc/model/cbi/adblock/configuration_tab.lua new file mode 100644 index 0000000000..1607f1440a --- /dev/null +++ b/applications/luci-app-adblock/luasrc/model/cbi/adblock/configuration_tab.lua @@ -0,0 +1,38 @@ +-- Copyright 2017 Dirk Brenken (dev@brenken.org) +-- This is free software, licensed under the Apache License, Version 2.0 + +local fs = require("nixio.fs") +local util = require("luci.util") +local adbinput = "/etc/config/adblock" + +if not nixio.fs.access(adbinput) then + m = SimpleForm("error", nil, translate("Input file not found, please check your configuration.")) + m.reset = false + m.submit = false + return m +end + +m = SimpleForm("input", nil) +m:append(Template("adblock/config_css")) +m.reset = false + +s = m:section(SimpleSection, nil, + translate("This form allows you to modify the content of the main adblock configuration file (/etc/config/adblock).")) + +f = s:option(TextValue, "data") +f.rows = 20 +f.rmempty = true + +function f.cfgvalue() + return nixio.fs.readfile(adbinput) or "" +end + +function f.write(self, section, data) + return nixio.fs.writefile(adbinput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n") +end + +function s.handle(self, state, data) + return true +end + +return m 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 new file mode 100644 index 0000000000..f71fb7ba4d --- /dev/null +++ b/applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua @@ -0,0 +1,168 @@ +-- Copyright 2017 Dirk Brenken (dev@brenken.org) +-- This is free software, licensed under the Apache License, Version 2.0 + +local fs = require("nixio.fs") +local uci = require("uci") +local sys = require("luci.sys") +local json = require("luci.jsonc") +local adbinput = uci.get("adblock", "global", "adb_rtfile") or "/tmp/adb_runtime.json" +local parse = json.parse(fs.readfile(adbinput) or "") +local dnsFile1 = sys.exec("find '/tmp/dnsmasq.d/.adb_hidden' -maxdepth 1 -type f -name 'adb_list*' -print 2>/dev/null") +local dnsFile2 = sys.exec("find '/var/lib/unbound/.adb_hidden' -maxdepth 1 -type f -name 'adb_list*' -print 2>/dev/null") + +m = Map("adblock", translate("Adblock"), + translate("Configuration of the adblock package to block ad/abuse domains by using DNS. ") + .. translatef("For further information " + .. "<a href=\"%s\" target=\"_blank\">" + .. "see online documentation</a>", "https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md")) + +function m.on_after_commit(self) + luci.sys.call("/etc/init.d/adblock reload >/dev/null 2>&1") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "adblock")) +end + +-- Main adblock options + +s = m:section(NamedSection, "global", "adblock") + +o1 = s:option(Flag, "adb_enabled", translate("Enable adblock")) +o1.default = o1.enabled +o1.rmempty = false + +btn = s:option(Button, "", translate("Suspend / Resume adblock")) +if dnsFile1 ~= "" or dnsFile2 ~= "" then + btn.inputtitle = translate("Resume adblock") + btn.inputstyle = "apply" + btn.disabled = false + function btn.write() + luci.sys.call("/etc/init.d/adblock resume >/dev/null 2>&1") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "adblock")) + end +else + btn.inputtitle = translate("Suspend adblock") + btn.inputstyle = "reset" + btn.disabled = false + function btn.write() + luci.sys.call("/etc/init.d/adblock suspend >/dev/null 2>&1") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "adblock")) + end +end + +o2 = s:option(Value, "adb_iface", translate("Restrict interface trigger to certain interface(s)"), + translate("Space separated list of interfaces that trigger adblock processing. ".. + "To disable event driven (re-)starts remove all entries.")) +o2.rmempty = true + +o3 = s:option(Value, "adb_triggerdelay", translate("Trigger delay"), + translate("Additional trigger delay in seconds before adblock processing begins.")) +o3.default = 2 +o3.datatype = "range(1,90)" +o3.rmempty = false + +o4 = s:option(Flag, "adb_debug", translate("Enable verbose debug logging")) +o4.default = o4.disabled +o4.rmempty = false + +-- Runtime information + +ds = s:option(DummyValue, "_dummy", translate("Runtime information")) +ds.template = "cbi/nullsection" + +dv1 = s:option(DummyValue, "status", translate("Status")) +dv1.template = "adblock/runtime" +if parse == nil then + dv1.value = translate("n/a") +elseif parse.data.blocked_domains == "0" then + dv1.value = translate("no domains blocked") +elseif dnsFile1 ~= "" or dnsFile2 ~= "" then + dv1.value = translate("suspended") +else + dv1.value = translate("active") +end +dv2 = s:option(DummyValue, "adblock_version", translate("Adblock version")) +dv2.template = "adblock/runtime" +if parse ~= nil then + dv2.value = parse.data.adblock_version or translate("n/a") +else + dv2.value = translate("n/a") +end + +dv3 = s:option(DummyValue, "fetch_info", translate("Download Utility (SSL Library)"), + translate("For SSL protected blocklist sources you need a suitable SSL library, e.g. 'libustream-ssl' or the wget 'built-in'.")) +dv3.template = "adblock/runtime" +if parse ~= nil then + dv3.value = parse.data.fetch_info or translate("n/a") +else + dv3.value = translate("n/a") +end + +dv4 = s:option(DummyValue, "dns_backend", translate("DNS backend")) +dv4.template = "adblock/runtime" +if parse ~= nil then + dv4.value = parse.data.dns_backend or translate("n/a") +else + dv4.value = translate("n/a") +end + +dv5 = s:option(DummyValue, "blocked_domains", translate("Blocked domains (overall)")) +dv5.template = "adblock/runtime" +if parse ~= nil then + dv5.value = parse.data.blocked_domains or translate("n/a") +else + dv5.value = translate("n/a") +end + +dv6 = s:option(DummyValue, "last_rundate", translate("Last rundate")) +dv6.template = "adblock/runtime" +if parse ~= nil then + dv6.value = parse.data.last_rundate or translate("n/a") +else + dv6.value = translate("n/a") +end + +-- Blocklist table + +bl = m:section(TypedSection, "source", translate("Blocklist sources"), + translate("Available blocklist sources. ") + .. translate("Note that list URLs and Shallalist category selections are configurable in the 'Advanced' section.")) +bl.template = "cbi/tblsection" + +name = bl:option(Flag, "enabled", translate("Enabled")) +name.rmempty = false + +ssl = bl:option(DummyValue, "adb_src", translate("SSL req.")) +function ssl.cfgvalue(self, section) + local source = self.map:get(section, "adb_src") + if source and source:match("https://") then + return translate("Yes") + else + return translate("No") + end +end + +des = bl:option(DummyValue, "adb_src_desc", translate("Description")) + +-- Extra options + +e = m:section(NamedSection, "global", "adblock", translate("Extra options"), + translate("Options for further tweaking in case the defaults are not suitable for you.")) + +e1 = e:option(Flag, "adb_forcedns", translate("Force local DNS"), + translate("Redirect all DNS queries to the local resolver.")) +e1.default = e1.disabled +e1.rmempty = false + +e2 = e:option(Flag, "adb_forcesrt", translate("Force Overall Sort"), + translate("Enable memory intense overall sort / duplicate removal on low memory devices (< 64 MB RAM)")) +e2.default = e2.disabled +e2.rmempty = false + +e3 = e:option(Flag, "adb_backup", translate("Enable blocklist backup")) +e3.default = e3.disabled +e3.rmempty = false + +e4 = e:option(Value, "adb_backupdir", translate("Backup directory")) +e4.datatype = "directory" +e4.rmempty = false + +return m diff --git a/applications/luci-app-adblock/luasrc/model/cbi/adblock/whitelist_tab.lua b/applications/luci-app-adblock/luasrc/model/cbi/adblock/whitelist_tab.lua new file mode 100644 index 0000000000..10a593859f --- /dev/null +++ b/applications/luci-app-adblock/luasrc/model/cbi/adblock/whitelist_tab.lua @@ -0,0 +1,50 @@ +-- Copyright 2017 Dirk Brenken (dev@brenken.org) +-- This is free software, licensed under the Apache License, Version 2.0 + +local fs = require("nixio.fs") +local util = require("luci.util") +local uci = require("uci") +local adbinput = uci.get("adblock", "global", "adb_whitelist") or "/etc/adblock/adblock.whitelist" + +if not nixio.fs.access(adbinput) then + m = SimpleForm("error", nil, translate("Input file not found, please check your configuration.")) + m.reset = false + m.submit = false + return m +end + +if nixio.fs.stat(adbinput).size > 524288 then + m = SimpleForm("error", nil, + translate("The file size is too large for online editing in LuCI (> 512 KB). ") + .. translate("Please edit this file directly in a terminal session.")) + m.reset = false + m.submit = false + return m +end + +m = SimpleForm("input", nil) +m:append(Template("adblock/config_css")) +m.reset = false + +s = m:section(SimpleSection, nil, + translatef("This form allows you to modify the content of the adblock whitelist (%s).<br />", adbinput) + .. translate("Please add only one domain per line. Comments introduced with '#' are allowed - ip addresses, wildcards and regex are not.")) + +f = s:option(TextValue, "data") +f.datatype = "string" +f.rows = 20 +f.rmempty = true + +function f.cfgvalue() + return nixio.fs.readfile(adbinput) or "" +end + +function f.write(self, section, data) + return nixio.fs.writefile(adbinput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n") +end + +function s.handle(self, state, data) + return true +end + +return m diff --git a/applications/luci-app-adblock/luasrc/view/adblock/config_css.htm b/applications/luci-app-adblock/luasrc/view/adblock/config_css.htm new file mode 100644 index 0000000000..53493a18fb --- /dev/null +++ b/applications/luci-app-adblock/luasrc/view/adblock/config_css.htm @@ -0,0 +1,10 @@ +<style type="text/css"> + textarea + { + border: 1px solid #cccccc; + padding: 5px; + font-size: 12px; + font-family: monospace; + resize: none; + } +</style> diff --git a/applications/luci-app-adblock/luasrc/view/adblock/logread.htm b/applications/luci-app-adblock/luasrc/view/adblock/logread.htm new file mode 100644 index 0000000000..5e25a549c6 --- /dev/null +++ b/applications/luci-app-adblock/luasrc/view/adblock/logread.htm @@ -0,0 +1,14 @@ +<%# +Copyright 2017 Dirk Brenken (dev@brenken.org) +This is free software, licensed under the Apache License, Version 2.0 +-%> + +<%+header%> + +<div class="cbi-map"> + <fieldset class="cbi-section"> + <div class="cbi-section-descr"><%:This form shows the syslog output, pre-filtered for adblock related messages only.%></div> + <textarea id="logread_id" style="width: 100%; height: 450px; border: 1px solid #cccccc; padding: 5px; font-size: 12px; font-family: monospace; resize: none;" readonly="readonly" wrap="off" rows="<%=content:cmatch("\n")+2%>"><%=content:pcdata()%></textarea> + </fieldset> +</div> +<%+footer%> diff --git a/applications/luci-app-adblock/luasrc/view/adblock/query.htm b/applications/luci-app-adblock/luasrc/view/adblock/query.htm new file mode 100644 index 0000000000..ce706e40aa --- /dev/null +++ b/applications/luci-app-adblock/luasrc/view/adblock/query.htm @@ -0,0 +1,65 @@ +<%# +Copyright 2017 Dirk Brenken (dev@brenken.org) +This is free software, licensed under the Apache License, Version 2.0 +-%> + +<%+header%> + +<script type="text/javascript" src="<%=resource%>/cbi.js"></script> +<script type="text/javascript"> +//<![CDATA[ + var stxhr = new XHR(); + + function update_status(data) + { + var domain = data.value; + var input = document.getElementById('query_input'); + var output = document.getElementById('query_output'); + + if (input && output) + { + output.innerHTML = + '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /> ' + + '<%:Waiting for command to complete...%>' + ; + input.parentNode.style.display = 'block'; + input.style.display = 'inline'; + stxhr.post('<%=luci.dispatcher.build_url('admin/services/adblock/advanced/result/')%>' + domain, { token: '<%=token%>' }, + function(x) + { + if (x.responseText) + { + input.style.display = 'none'; + output.innerHTML = String.format('<pre>%h</pre>', x.responseText); + } + else + { + input.style.display = 'none'; + output.innerHTML = '<span class="error"><%:Invalid domain specified!%></span>'; + } + } + ); + } + } +//]]> +</script> + +<form method="post" action="<%=REQUEST_URI%>"> + <div class="cbi-map"> + <fieldset class="cbi-section"> + <div class="cbi-section-descr"><%:This form allows you to query active block lists for certain domains, e.g. for whitelisting.%></div> + <div style="width:33%; float:left;"> + <input style="margin: 5px 0" type="text" value="www.lede-project.org" name="input" /> + <input type="button" value="<%:Query%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.input)" /> + </div> + <br style="clear:both" /> + <br /> + </fieldset> + </div> + <fieldset class="cbi-section" style="display:none"> + <legend id="query_input"><%:Collecting data...%></legend> + <span id="query_output"></span> + </fieldset> +</form> + +<%+footer%> diff --git a/applications/luci-app-adblock/luasrc/view/adblock/runtime.htm b/applications/luci-app-adblock/luasrc/view/adblock/runtime.htm new file mode 100644 index 0000000000..ee3a4553a8 --- /dev/null +++ b/applications/luci-app-adblock/luasrc/view/adblock/runtime.htm @@ -0,0 +1,10 @@ +<%# +Copyright 2017 Dirk Brenken (dev@brenken.org) +This is free software, licensed under the Apache License, Version 2.0 +-%> + +<%+cbi/valueheader%> + +<input name="runtime" id="runtime" type="text" class="cbi-input-text" style="border: none; box-shadow: none; background-color: #ffffff; color: #0069d6;" value="<%=self:cfgvalue(section)%>" disabled="disabled" /> + +<%+cbi/valuefooter%> diff --git a/applications/luci-app-adblock/po/ja/adblock.po b/applications/luci-app-adblock/po/ja/adblock.po index a3c982f3d1..ac470fedd6 100644 --- a/applications/luci-app-adblock/po/ja/adblock.po +++ b/applications/luci-app-adblock/po/ja/adblock.po @@ -8,45 +8,79 @@ msgstr "" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.11\n" +"X-Generator: Poedit 2.0.1\n" "Language: ja\n" -msgid "" -"). Note that list URLs and Shallalist category selections are not " -"configurable via Luci." -msgstr "" -")。ã“れらã®ãƒªã‚¹ãƒˆã®URLãŠã‚ˆã³shallaリストã®ã‚«ãƒ†ã‚´ãƒªãƒ¼é¸æŠžã¯ã€Luciã«ã‚ˆã£ã¦è¨å®š" -"ã§ããªã„ã“ã¨ã«æ³¨æ„ã—ã¾ã™ã€‚" - msgid "Adblock" msgstr "Adblock" -msgid "Available blocklist sources (" -msgstr "利用å¯èƒ½ãªãƒ–ãƒãƒƒã‚¯ãƒªã‚¹ãƒˆæ供元ã§ã™ï¼ˆ" +msgid "Adblock Domain Query" +msgstr "Adblock ドメイン検索" + +msgid "Adblock Logfile" +msgstr "Adblock ãƒã‚°ãƒ•ã‚¡ã‚¤ãƒ«" + +msgid "Adblock version" +msgstr "Adblock ãƒãƒ¼ã‚¸ãƒ§ãƒ³" + +msgid "Additional trigger delay in seconds before adblock processing begins." +msgstr "Adblock ã®å‡¦ç†ãŒé–‹å§‹ã•ã‚Œã‚‹ã¾ã§ã®ã€è¿½åŠ ã®é…延時間(秒)ã§ã™ã€‚" + +msgid "Advanced" +msgstr "詳細è¨å®š" + +msgid "Available blocklist sources." +msgstr "利用å¯èƒ½ãªãƒ–ãƒãƒƒã‚¯ãƒªã‚¹ãƒˆæ供元ã§ã™ã€‚" msgid "Backup directory" -msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ— ディレクトリ" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—å…ˆ ディレクトリ" -msgid "Backup options" -msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ— オプション" +msgid "Blocked domains (overall)" +msgstr "ブãƒãƒƒã‚¯æ¸ˆã¿ãƒ‰ãƒ¡ã‚¤ãƒ³ï¼ˆå…¨ä½“)" msgid "Blocklist sources" msgstr "ブãƒãƒƒã‚¯ãƒªã‚¹ãƒˆæ供元" +msgid "Collecting data..." +msgstr "データåŽé›†ä¸ã§ã™..." + msgid "" "Configuration of the adblock package to block ad/abuse domains by using DNS." msgstr "" -"広告/ä¸æ£ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’DNSを利用ã—ã¦ãƒ–ãƒãƒƒã‚¯ã™ã‚‹ã€adblock パッケージã®è¨å®šã§ã™ã€‚" +"DNS ã®åˆ©ç”¨ã«ã‚ˆã£ã¦åºƒå‘Š/ä¸æ£ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’ブãƒãƒƒã‚¯ã™ã‚‹ã€Adblock パッケージã®è¨å®šã§" +"ã™ã€‚" + +msgid "DNS backend" +msgstr "DNS ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰" msgid "Description" msgstr "説明" +msgid "Download Utility (SSL Library)" +msgstr "ダウンãƒãƒ¼ãƒ‰ ユーティリティ(SSL ライブラリ)" + +msgid "Edit Blacklist" +msgstr "ブラックリストã®ç·¨é›†" + +msgid "Edit Configuration" +msgstr "è¨å®šã®ç·¨é›†" + +msgid "Edit Whitelist" +msgstr "ホワイトリストã®ç·¨é›†" + msgid "Enable adblock" -msgstr "adblockã®æœ‰åŠ¹åŒ–" +msgstr "Adblock ã®æœ‰åŠ¹åŒ–" msgid "Enable blocklist backup" msgstr "ブãƒãƒƒã‚¯ãƒªã‚¹ãƒˆ ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã®æœ‰åŠ¹åŒ–" +msgid "" +"Enable memory intense overall sort / duplicate removal on low memory devices " +"(< 64 MB RAM)" +msgstr "" +"メモリー容é‡ã®å°‘ãªã„デãƒã‚¤ã‚¹ï¼ˆRAM 64MB 未満)ã«ãŠã„ã¦ã€ä¸€æ™‚ファイル内ã®å…¨ä½“çš„" +"ãªã‚½ãƒ¼ãƒˆåŠã³é‡è¤‡ã®é™¤åŽ»ã‚’有効ã«ã—ã¾ã™ã€‚" + msgid "Enable verbose debug logging" msgstr "詳細ãªãƒ‡ãƒãƒƒã‚° ãƒã‚°ã®æœ‰åŠ¹åŒ–" @@ -57,34 +91,240 @@ msgid "Extra options" msgstr "æ‹¡å¼µè¨å®š" msgid "" -"File with whitelisted hosts/domains that are allowed despite being on a " -"blocklist." +"For SSL protected blocklist sources you need a suitable SSL library, e.g. " +"'libustream-ssl' or the wget 'built-in'." +msgstr "" +"SSLã§ä¿è·ã•ã‚Œã¦ã„るブãƒãƒƒã‚¯ãƒªã‚¹ãƒˆã®å–å¾—ã«ã¯ã€é©åˆ‡ãªSSL ライブラリãŒå¿…è¦ã§ã™ã€‚" +"例: 'libustream-ssl' ã¾ãŸã¯ wget 'ビルトイン'" + +msgid "" +"For further information <a href=\"%s\" target=\"_blank\">see online " +"documentation</a>" msgstr "" -"ファイルã®ãƒ›ãƒ¯ã‚¤ãƒˆãƒªã‚¹ãƒˆ ホスト/ドメインã¯ã€ãƒ–ãƒãƒƒã‚¯ãƒªã‚¹ãƒˆã«ç™»éŒ²ã•ã‚Œã¦ã„ã¦ã‚‚" -"許å¯ã•ã‚Œã¾ã™ã€‚" +"詳細ãªæƒ…å ±ã¯<a href=\"%s\" target=\"_blank\">オンライン ドã‚ュメント</a>を確" +"èªã—ã¦ãã ã•ã„。" + +msgid "Force Overall Sort" +msgstr "全体ソートã®å¼·åˆ¶" + +msgid "Force local DNS" +msgstr "ãƒãƒ¼ã‚«ãƒ« DNS ã®å¼·åˆ¶" + +msgid "Input file not found, please check your configuration." +msgstr "入力ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。è¨å®šã‚’確èªã—ã¦ãã ã•ã„。" + +msgid "Invalid domain specified!" +msgstr "無効ãªãƒ‰ãƒ¡ã‚¤ãƒ³ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã™ï¼" -msgid "Global options" -msgstr "一般è¨å®š" +msgid "Last rundate" +msgstr "最終実行日時" + +msgid "Loading" +msgstr "èªè¾¼ä¸" + +msgid "No" +msgstr "ã„ã„ãˆ" + +msgid "" +"Note that list URLs and Shallalist category selections are configurable in " +"the 'Advanced' section." +msgstr "" +"リスト㮠URL åŠã³ \"Shalla\" リストã®ã‚«ãƒ†ã‚´ãƒªãƒ¼è¨å®šã¯ã€'詳細è¨å®š' セクション" +"ã§è¨å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚" msgid "" "Options for further tweaking in case the defaults are not suitable for you." msgstr "デフォルトè¨å®šãŒé©åˆ‡ã§ãªã„å ´åˆã€è¿½åŠ ã§è¨å®šã™ã‚‹ãŸã‚ã®ã‚ªãƒ—ションã§ã™ã€‚" -msgid "Restrict reload trigger to certain interface(s)" -msgstr "リãƒãƒ¼ãƒ‰ãƒˆãƒªã‚¬ã‚’特定ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã«é™å®šã™ã‚‹" +msgid "Overview" +msgstr "概è¦" + +msgid "" +"Please add only one domain per line. Comments introduced with '#' are " +"allowed - ip addresses, wildcards and regex are not." +msgstr "" +"1è¡Œã«1ã¤ã®ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’è¿½åŠ ã—ã¦ãã ã•ã„。'#' ã‹ã‚‰å§‹ã¾ã‚‹ã‚³ãƒ¡ãƒ³ãƒˆã‚’記述ã§ãã¾ã™" +"ãŒã€IP アドレスやワイルドカードã€æ£è¦è¡¨ç¾ã‚’è¨å®šå€¤ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›" +"ん。" + +msgid "Please edit this file directly in a terminal session." +msgstr "ターミナル セッションã§ç›´æŽ¥ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’編集ã—ã¦ãã ã•ã„。" + +msgid "Query" +msgstr "検索" + +msgid "Query domains" +msgstr "ドメインã®æ¤œç´¢" + +msgid "Redirect all DNS queries to the local resolver." +msgstr "å…¨ã¦ã® DNS クエリをãƒãƒ¼ã‚«ãƒ« リゾルãƒã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã—ã¾ã™ã€‚" + +msgid "Restrict interface trigger to certain interface(s)" +msgstr "インターフェース トリガーを特定ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã«é™å®šã™ã‚‹" + +msgid "Resume adblock" +msgstr "Adblock ã®å†é–‹" + +msgid "Runtime information" +msgstr "å®Ÿè¡Œæƒ…å ±" + +msgid "SSL req." +msgstr "SSL å¿…é ˆ" + +msgid "" +"Space separated list of interfaces that trigger adblock processing. To " +"disable event driven (re-)starts remove all entries." +msgstr "" +"Adblock ã®å‡¦ç†ã®ãƒˆãƒªã‚¬ãƒ¼ã¨ãªã‚‹ã€ã‚¹ãƒšãƒ¼ã‚¹ã§åŒºåˆ‡ã‚‰ã‚ŒãŸã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã®ãƒªã‚¹ãƒˆ" +"ã§ã™ã€‚処ç†ã‚’発生ã•ã›ã‚‹ã‚¤ãƒ™ãƒ³ãƒˆã‚’無効ã«ã™ã‚‹ã«ã¯ã€å…¨ã¦ã®ã‚¨ãƒ³ãƒˆãƒªãƒ¼ã‚’削除ã—ã¦ç©º" +"欄ã«ã—ã¾ã™ã€‚" + +msgid "Status" +msgstr "ステータス" + +msgid "Suspend / Resume adblock" +msgstr "Adblock ã®ä¸€æ™‚åœæ¢/å†é–‹" + +msgid "Suspend adblock" +msgstr "Adblock ã®ä¸€æ™‚åœæ¢" + +msgid "The file size is too large for online editing in LuCI (> 512 KB)." +msgstr "" +"ファイル サイズãŒå¤§ãã™ãŽã‚‹ãŸã‚〠LuCI 上ã§ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ç·¨é›†ã§ãã¾ã›ã‚“(> " +"512 KB)。" + +msgid "" +"This form allows you to modify the content of the adblock blacklist (%s)." +"<br />" +msgstr "" +"ã“ã®ãƒ•ã‚©ãƒ¼ãƒ ã§ã¯ã€Adblock ブラックリスト (%s) ã®å†…容を変更ã™ã‚‹ã“ã¨ãŒã§ãã¾" +"ã™ã€‚<br />" + +msgid "" +"This form allows you to modify the content of the adblock whitelist (%s)." +"<br />" +msgstr "" +"ã“ã®ãƒ•ã‚©ãƒ¼ãƒ ã§ã¯ã€Adblock ホワイトリスト (%s) ã®å†…容を変更ã™ã‚‹ã“ã¨ãŒã§ãã¾" +"ã™ã€‚<br />" + +msgid "" +"This form allows you to modify the content of the main adblock configuration " +"file (/etc/config/adblock)." +msgstr "" +"ã“ã®ãƒ•ã‚©ãƒ¼ãƒ ã§ã¯ã€ãƒ¡ã‚¤ãƒ³ã®Adblock è¨å®šãƒ•ã‚¡ã‚¤ãƒ« (/etc/config/adblock) ã®å†…容を" +"変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚" + +msgid "" +"This form allows you to query active block lists for certain domains, e.g. " +"for whitelisting." +msgstr "" +"ã“ã®ãƒ•ã‚©ãƒ¼ãƒ ã§ã¯ã€ç¾åœ¨æœ‰åŠ¹ãªãƒªã‚¹ãƒˆå†…ã§ç‰¹å®šã®ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’検索ã™ã‚‹ã“ã¨ãŒã§ãã¾" +"ã™ã€‚例: ホワイトリスト内" msgid "" -"Space separated list of wan interfaces that trigger reload action. To " -"disable reload trigger set it to 'false'. Default: empty" +"This form shows the syslog output, pre-filtered for adblock related messages " +"only." msgstr "" -"リãƒãƒ¼ãƒ‰å®Ÿè¡Œã®ãƒˆãƒªã‚¬ã¨ãªã‚‹ã€ã‚¹ãƒšãƒ¼ã‚¹ã§åŒºåˆ‡ã‚‰ã‚ŒãŸWANインターフェースã®ãƒªã‚¹ãƒˆã§" -"ã™ã€‚リãƒãƒ¼ãƒ‰ãƒˆãƒªã‚¬ã‚’無効ã«ã™ã‚‹ã«ã¯ã€ false ã‚’è¨å®šã—ã¾ã™ã€‚デフォルト:(空)" +"ã“ã®ãƒ•ã‚©ãƒ¼ãƒ ã«ã¯ã€ã‚·ã‚¹ãƒ†ãƒ ãƒã‚°å†…ã® Adblock ã«é–¢é€£ã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ã¿ãŒè¡¨ç¤ºã•ã‚Œ" +"ã¾ã™ã€‚" + +msgid "Trigger delay" +msgstr "トリガーé…延" + +msgid "View Logfile" +msgstr "ãƒã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã‚’見る" + +msgid "Waiting for command to complete..." +msgstr "コマンドã®å®Œäº†ã‚’ãŠå¾…ã¡ãã ã•ã„..." + +msgid "Yes" +msgstr "ã¯ã„" + +msgid "active" +msgstr "動作ä¸" + +msgid "n/a" +msgstr "利用ä¸å¯" + +msgid "no domains blocked" +msgstr "ブãƒãƒƒã‚¯ã•ã‚ŒãŸãƒ‰ãƒ¡ã‚¤ãƒ³ã¯ã‚ã‚Šã¾ã›ã‚“" + +msgid "suspended" +msgstr "一時åœæ¢ä¸" + +#~ msgid "." +#~ msgstr "。" + +#~ msgid "For further information" +#~ msgstr "詳細ãªæƒ…å ±ã¯" + +#~ msgid "see online documentation" +#~ msgstr "オンライン ドã‚ュメントを確èªã—ã¦ãã ã•ã„" + +#~ msgid "Backup options" +#~ msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ— オプション" + +#~ msgid "Restrict interface reload trigger to certain interface(s)" +#~ msgstr "リãƒãƒ¼ãƒ‰ トリガを特定ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã«é™å®šã™ã‚‹" + +#~ msgid "" +#~ "Space separated list of interfaces that trigger a reload action. To " +#~ "disable reload trigger at all remove all entries." +#~ msgstr "" +#~ "リãƒãƒ¼ãƒ‰ã®ãƒˆãƒªã‚¬ã¨ãªã‚‹ã€ã‚¹ãƒšãƒ¼ã‚¹ã§åŒºåˆ‡ã‚‰ã‚ŒãŸã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã®ãƒªã‚¹ãƒˆã§ã™ã€‚" +#~ "リãƒãƒ¼ãƒ‰ トリガを無効ã«ã™ã‚‹ã«ã¯ã€å…¨ã¦ã®ã‚¨ãƒ³ãƒˆãƒªãƒ¼ã‚’削除ã—ã¦ç©ºæ¬„ã«ã—ã¾ã™ã€‚" + +#~ msgid "" +#~ "Space separated list of interfaces that trigger a reload action. To " +#~ "disable reload trigger at all set it to 'false'." +#~ msgstr "" +#~ "リãƒãƒ¼ãƒ‰ã®ãƒˆãƒªã‚¬ã¨ãªã‚‹ã€ã‚¹ãƒšãƒ¼ã‚¹ã§åŒºåˆ‡ã‚‰ã‚ŒãŸã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã®ãƒªã‚¹ãƒˆã§" +#~ "ã™ã€‚'false' ã«è¨å®šã—ãŸå ´åˆã€å…¨ã¦ã®ãƒªãƒãƒ¼ãƒ‰ トリガã¯ç„¡åŠ¹ã«ãªã‚Šã¾ã™ã€‚" + +#~ msgid "" +#~ "Please add only one domain per line. Comments introduced with '#' are " +#~ "allowed - ip addresses, wildcards & regex are not." +#~ msgstr "" +#~ "一行ã«ä¸€ã¤ã®ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’è¿½åŠ ã—ã¦ãã ã•ã„。'#' ã‹ã‚‰å§‹ã¾ã‚‹ã‚³ãƒ¡ãƒ³ãƒˆã‚’記述ã§ãã¾" +#~ "ã™ãŒã€IPアドレスやワイルドカードã€æ£è¦è¡¨ç¾ã‚’è¨å®šå€¤ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯ã§ã" +#~ "ã¾ã›ã‚“。" + +#~ msgid "" +#~ "). Note that list URLs and Shallalist category selections are not " +#~ "configurable via Luci." +#~ msgstr "" +#~ ")。ã“れらã®ãƒªã‚¹ãƒˆã®URLãŠã‚ˆã³shallaリストã®é¸æŠžæ¸ˆã¿ã‚«ãƒ†ã‚´ãƒªãƒ¼ã¯ã€Luciを通" +#~ "ã—ã¦è¨å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。" + +#~ msgid "Available blocklist sources (" +#~ msgstr "利用å¯èƒ½ãªãƒ–ãƒãƒƒã‚¯ãƒªã‚¹ãƒˆæ供元ã§ã™ï¼ˆ" + +#~ msgid "" +#~ "File with whitelisted hosts/domains that are allowed despite being on a " +#~ "blocklist." +#~ msgstr "" +#~ "ホワイトリスト ファイル内ã®ãƒ›ã‚¹ãƒˆ/ドメインã¯ã€ãƒ–ãƒãƒƒã‚¯ãƒªã‚¹ãƒˆã®ç™»éŒ²ã«é–¢ã‚ら" +#~ "ãšè¨±å¯ã•ã‚Œã¾ã™ã€‚" + +#~ msgid "Global options" +#~ msgstr "一般è¨å®š" + +#~ msgid "Restrict reload trigger to certain interface(s)" +#~ msgstr "リãƒãƒ¼ãƒ‰ãƒˆãƒªã‚¬ã‚’特定ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã«é™å®šã™ã‚‹" + +#~ msgid "" +#~ "Space separated list of wan interfaces that trigger reload action. To " +#~ "disable reload trigger set it to 'false'. Default: empty" +#~ msgstr "" +#~ "リãƒãƒ¼ãƒ‰å®Ÿè¡Œã®ãƒˆãƒªã‚¬ã¨ãªã‚‹ã€ã‚¹ãƒšãƒ¼ã‚¹ã§åŒºåˆ‡ã‚‰ã‚ŒãŸWANインターフェースã®ãƒªã‚¹" +#~ "トã§ã™ã€‚リãƒãƒ¼ãƒ‰ãƒˆãƒªã‚¬ã‚’無効ã«ã™ã‚‹ã«ã¯ã€ false ã‚’è¨å®šã—ã¾ã™ã€‚デフォルト:" +#~ "(空)" -msgid "Whitelist file" -msgstr "ホワイトリスト ファイル" +#~ msgid "Whitelist file" +#~ msgstr "ホワイトリスト ファイル" -msgid "see list details" -msgstr "リストã®è©³ç´°ã‚’見る" +#~ msgid "see list details" +#~ msgstr "リストã®è©³ç´°ã‚’見る" #~ msgid "Count" #~ msgstr "カウント" diff --git a/applications/luci-app-adblock/po/pt-br/adblock.po b/applications/luci-app-adblock/po/pt-br/adblock.po new file mode 100644 index 0000000000..72f6910429 --- /dev/null +++ b/applications/luci-app-adblock/po/pt-br/adblock.po @@ -0,0 +1,270 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: pt_BR\n" + +msgid "Adblock" +msgstr "Adblock" + +msgid "Adblock Domain Query" +msgstr "" + +msgid "Adblock Logfile" +msgstr "" + +msgid "Adblock version" +msgstr "" + +msgid "Additional trigger delay in seconds before adblock processing begins." +msgstr "" + +msgid "Advanced" +msgstr "" + +msgid "Available blocklist sources." +msgstr "" + +msgid "Backup directory" +msgstr "Diretório da cópia de segurança" + +msgid "Blocked domains (overall)" +msgstr "" + +msgid "Blocklist sources" +msgstr "Fontes de listas de bloqueio" + +msgid "Collecting data..." +msgstr "" + +msgid "" +"Configuration of the adblock package to block ad/abuse domains by using DNS." +msgstr "" +"Configuração do pacote adblock para bloquear, usando o DNS, domÃnios que " +"distribuem propagandas abusivas." + +msgid "DNS backend" +msgstr "" + +msgid "Description" +msgstr "Descrição" + +msgid "Download Utility (SSL Library)" +msgstr "" + +msgid "Edit Blacklist" +msgstr "" + +msgid "Edit Configuration" +msgstr "" + +msgid "Edit Whitelist" +msgstr "" + +msgid "Enable adblock" +msgstr "Habilitar adblock" + +msgid "Enable blocklist backup" +msgstr "Habilitar cópia de segurança da lista de bloqueio" + +msgid "" +"Enable memory intense overall sort / duplicate removal on low memory devices " +"(< 64 MB RAM)" +msgstr "" + +msgid "Enable verbose debug logging" +msgstr "Habilite registros detalhados para depuração" + +msgid "Enabled" +msgstr "Habilitado" + +msgid "Extra options" +msgstr "Opções adicionais" + +msgid "" +"For SSL protected blocklist sources you need a suitable SSL library, e.g. " +"'libustream-ssl' or the wget 'built-in'." +msgstr "" + +msgid "" +"For further information <a href=\"%s\" target=\"_blank\">see online " +"documentation</a>" +msgstr "" + +msgid "Force Overall Sort" +msgstr "" + +msgid "Force local DNS" +msgstr "" + +msgid "Input file not found, please check your configuration." +msgstr "" + +msgid "Invalid domain specified!" +msgstr "" + +msgid "Last rundate" +msgstr "" + +msgid "Loading" +msgstr "" + +msgid "No" +msgstr "" + +msgid "" +"Note that list URLs and Shallalist category selections are configurable in " +"the 'Advanced' section." +msgstr "" + +msgid "" +"Options for further tweaking in case the defaults are not suitable for you." +msgstr "" +"Opções para aprimoramentos adicionais caso as opções padrão não sejam " +"suficientes para você." + +msgid "Overview" +msgstr "" + +msgid "" +"Please add only one domain per line. Comments introduced with '#' are " +"allowed - ip addresses, wildcards and regex are not." +msgstr "" + +msgid "Please edit this file directly in a terminal session." +msgstr "" + +msgid "Query" +msgstr "" + +msgid "Query domains" +msgstr "" + +msgid "Redirect all DNS queries to the local resolver." +msgstr "" + +msgid "Restrict interface trigger to certain interface(s)" +msgstr "" + +msgid "Resume adblock" +msgstr "" + +msgid "Runtime information" +msgstr "" + +msgid "SSL req." +msgstr "" + +msgid "" +"Space separated list of interfaces that trigger adblock processing. To " +"disable event driven (re-)starts remove all entries." +msgstr "" + +msgid "Status" +msgstr "" + +msgid "Suspend / Resume adblock" +msgstr "" + +msgid "Suspend adblock" +msgstr "" + +msgid "The file size is too large for online editing in LuCI (> 512 KB)." +msgstr "" + +msgid "" +"This form allows you to modify the content of the adblock blacklist (%s)." +"<br />" +msgstr "" + +msgid "" +"This form allows you to modify the content of the adblock whitelist (%s)." +"<br />" +msgstr "" + +msgid "" +"This form allows you to modify the content of the main adblock configuration " +"file (/etc/config/adblock)." +msgstr "" + +msgid "" +"This form allows you to query active block lists for certain domains, e.g. " +"for whitelisting." +msgstr "" + +msgid "" +"This form shows the syslog output, pre-filtered for adblock related messages " +"only." +msgstr "" + +msgid "Trigger delay" +msgstr "" + +msgid "View Logfile" +msgstr "" + +msgid "Waiting for command to complete..." +msgstr "" + +msgid "Yes" +msgstr "" + +msgid "active" +msgstr "" + +msgid "n/a" +msgstr "" + +msgid "no domains blocked" +msgstr "" + +msgid "suspended" +msgstr "" + +#~ msgid "Backup options" +#~ msgstr "Opções da cópia de segurança" + +#~ msgid "" +#~ "). Note that list URLs and Shallalist category selections are not " +#~ "configurable via Luci." +#~ msgstr "" +#~ "). Note que a lista de URL e as seleções de categoria da Shallalist não " +#~ "são configuráveis pelo Luci." + +#~ msgid "Available blocklist sources (" +#~ msgstr "Fontes de listas de bloqueio disponÃveis (" + +#~ msgid "" +#~ "File with whitelisted hosts/domains that are allowed despite being on a " +#~ "blocklist." +#~ msgstr "" +#~ "Arquivo com a lista branca dos equipamentos/domÃnios que serão " +#~ "autorizados mesmo estando na lista de bloqueio." + +#~ msgid "Global options" +#~ msgstr "Opções Globais" + +#~ msgid "Restrict reload trigger to certain interface(s)" +#~ msgstr "Restringir o gatilho de recarga para somente alguma(s) interface(s)" + +#~ msgid "" +#~ "Space separated list of wan interfaces that trigger reload action. To " +#~ "disable reload trigger set it to 'false'. Default: empty" +#~ msgstr "" +#~ "Lista das interfaces WAN, separadas por espaço, que podem disparar uma " +#~ "ação de recarga. Para desabilitar este gatilho, defina-o como 'false'. " +#~ "Padrão: em branco" + +#~ msgid "Whitelist file" +#~ msgstr "Arquivo da lista branca" + +#~ msgid "see list details" +#~ msgstr "veja os detalhes da lista" diff --git a/applications/luci-app-adblock/po/sv/adblock.po b/applications/luci-app-adblock/po/sv/adblock.po index 22a30e9a10..7f271221ae 100644 --- a/applications/luci-app-adblock/po/sv/adblock.po +++ b/applications/luci-app-adblock/po/sv/adblock.po @@ -1,41 +1,74 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8\n" -msgid "" -"). Note that list URLs and Shallalist category selections are not " -"configurable via Luci." +msgid "Adblock" +msgstr "Adblock" + +msgid "Adblock Domain Query" msgstr "" -msgid "Adblock" -msgstr "Blockering av annonser" +msgid "Adblock Logfile" +msgstr "Adblock's loggfil" + +msgid "Adblock version" +msgstr "Version för Adblock" -msgid "Available blocklist sources (" -msgstr "Tillgängliga källor för blockeringslistor (" +msgid "Additional trigger delay in seconds before adblock processing begins." +msgstr "" + +msgid "Advanced" +msgstr "Avancerat" + +msgid "Available blocklist sources." +msgstr "Tillgängliga källor för blockeringslistor" msgid "Backup directory" msgstr "Säkerhetskopiera mapp" -msgid "Backup options" -msgstr "Alternativ för säkerhetskopiering" +msgid "Blocked domains (overall)" +msgstr "Blockerade domäner (övergripande)" msgid "Blocklist sources" msgstr "Källor för blockeringslistor" +msgid "Collecting data..." +msgstr "Samlar in data..." + msgid "" "Configuration of the adblock package to block ad/abuse domains by using DNS." msgstr "" -"Konfiguration av paket adblock för att blockera annons/otillÃ¥tna domäner " -"genom att användning DNS." +"Konfiguration av paketet adblock för att blockera annons/otillÃ¥tna domäner " +"genom att använda DNS." + +msgid "DNS backend" +msgstr "Bakände för DNS" msgid "Description" msgstr "Beskrivning" +msgid "Download Utility (SSL Library)" +msgstr "Nerladdningsprogram (SSL-bibliotek)" + +msgid "Edit Blacklist" +msgstr "Redigera svartlista" + +msgid "Edit Configuration" +msgstr "Redigerar konfigurationen" + +msgid "Edit Whitelist" +msgstr "Redigera vitlista" + msgid "Enable adblock" -msgstr "Aktivera abblock" +msgstr "Aktivera adblock" msgid "Enable blocklist backup" msgstr "Aktivera säkerhetskopiering av blockeringslistan" +msgid "" +"Enable memory intense overall sort / duplicate removal on low memory devices " +"(< 64 MB RAM)" +msgstr "" + msgid "Enable verbose debug logging" msgstr "" @@ -46,30 +79,164 @@ msgid "Extra options" msgstr "Extra alternativ" msgid "" -"File with whitelisted hosts/domains that are allowed despite being on a " -"blocklist." +"For SSL protected blocklist sources you need a suitable SSL library, e.g. " +"'libustream-ssl' or the wget 'built-in'." msgstr "" -msgid "Global options" -msgstr "Globala alternativ" +msgid "" +"For further information <a href=\"%s\" target=\"_blank\">see online " +"documentation</a>" +msgstr "" + +msgid "Force Overall Sort" +msgstr "" + +msgid "Force local DNS" +msgstr "Tvinga lokal DNS" + +msgid "Input file not found, please check your configuration." +msgstr "" +"Inmatningsfilen hittades inte, var vänlig och kontrollera din konfiguration." + +msgid "Invalid domain specified!" +msgstr "Ogiltig domän angiven!" + +msgid "Last rundate" +msgstr "" + +msgid "Loading" +msgstr "Laddar" + +msgid "No" +msgstr "Nej" + +msgid "" +"Note that list URLs and Shallalist category selections are configurable in " +"the 'Advanced' section." +msgstr "" msgid "" "Options for further tweaking in case the defaults are not suitable for you." msgstr "" -msgid "Restrict reload trigger to certain interface(s)" +msgid "Overview" +msgstr "Översikt" + +msgid "" +"Please add only one domain per line. Comments introduced with '#' are " +"allowed - ip addresses, wildcards and regex are not." +msgstr "" + +msgid "Please edit this file directly in a terminal session." +msgstr "" + +msgid "Query" +msgstr "" + +msgid "Query domains" +msgstr "" + +msgid "Redirect all DNS queries to the local resolver." +msgstr "" + +msgid "Restrict interface trigger to certain interface(s)" +msgstr "" + +msgid "Resume adblock" +msgstr "Ã…teruppta adblock" + +msgid "Runtime information" +msgstr "Information om kör-tid" + +msgid "SSL req." +msgstr "" + +msgid "" +"Space separated list of interfaces that trigger adblock processing. To " +"disable event driven (re-)starts remove all entries." +msgstr "" + +msgid "Status" +msgstr "Status" + +msgid "Suspend / Resume adblock" +msgstr "Upphäv / Ã…teruppta adblock" + +msgid "Suspend adblock" +msgstr "Upphäv adblock" + +msgid "The file size is too large for online editing in LuCI (> 512 KB)." +msgstr "" + +msgid "" +"This form allows you to modify the content of the adblock blacklist (%s)." +"<br />" +msgstr "" + +msgid "" +"This form allows you to modify the content of the adblock whitelist (%s)." +"<br />" msgstr "" msgid "" -"Space separated list of wan interfaces that trigger reload action. To " -"disable reload trigger set it to 'false'. Default: empty" +"This form allows you to modify the content of the main adblock configuration " +"file (/etc/config/adblock)." msgstr "" -msgid "Whitelist file" -msgstr "Vitlista fil" +msgid "" +"This form allows you to query active block lists for certain domains, e.g. " +"for whitelisting." +msgstr "" + +msgid "" +"This form shows the syslog output, pre-filtered for adblock related messages " +"only." +msgstr "" + +msgid "Trigger delay" +msgstr "" + +msgid "View Logfile" +msgstr "Visa loggfil" + +msgid "Waiting for command to complete..." +msgstr "Väntar pÃ¥ att kommandot ska slutföras..." + +msgid "Yes" +msgstr "Ja" + +msgid "active" +msgstr "aktiv" + +msgid "n/a" +msgstr "n/a" + +msgid "no domains blocked" +msgstr "inga domäner blockerades" + +msgid "suspended" +msgstr "upphävd" + +#~ msgid "." +#~ msgstr "." + +#~ msgid "For further information" +#~ msgstr "För mer information" + +#~ msgid "Backup options" +#~ msgstr "Alternativ för säkerhetskopiering" + +#~ msgid "Available blocklist sources (" +#~ msgstr "Tillgängliga källor för blockeringslistor (" + +#~ msgid "Global options" +#~ msgstr "Globala alternativ" + +#~ msgid "Whitelist file" +#~ msgstr "Vitlista fil" -msgid "see list details" -msgstr "se listans detaljer" +#~ msgid "see list details" +#~ msgstr "se listans detaljer" #~ msgid "Count" #~ msgstr "Räkna" diff --git a/applications/luci-app-adblock/po/templates/adblock.pot b/applications/luci-app-adblock/po/templates/adblock.pot index 6b2dbd13b3..c5771ef22e 100644 --- a/applications/luci-app-adblock/po/templates/adblock.pot +++ b/applications/luci-app-adblock/po/templates/adblock.pot @@ -1,39 +1,72 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" -msgid "" -"). Note that list URLs and Shallalist category selections are not " -"configurable via Luci." +msgid "Adblock" msgstr "" -msgid "Adblock" +msgid "Adblock Domain Query" +msgstr "" + +msgid "Adblock Logfile" +msgstr "" + +msgid "Adblock version" msgstr "" -msgid "Available blocklist sources (" +msgid "Additional trigger delay in seconds before adblock processing begins." +msgstr "" + +msgid "Advanced" +msgstr "" + +msgid "Available blocklist sources." msgstr "" msgid "Backup directory" msgstr "" -msgid "Backup options" +msgid "Blocked domains (overall)" msgstr "" msgid "Blocklist sources" msgstr "" +msgid "Collecting data..." +msgstr "" + msgid "" "Configuration of the adblock package to block ad/abuse domains by using DNS." msgstr "" +msgid "DNS backend" +msgstr "" + msgid "Description" msgstr "" +msgid "Download Utility (SSL Library)" +msgstr "" + +msgid "Edit Blacklist" +msgstr "" + +msgid "Edit Configuration" +msgstr "" + +msgid "Edit Whitelist" +msgstr "" + msgid "Enable adblock" msgstr "" msgid "Enable blocklist backup" msgstr "" +msgid "" +"Enable memory intense overall sort / duplicate removal on low memory devices " +"(< 64 MB RAM)" +msgstr "" + msgid "Enable verbose debug logging" msgstr "" @@ -44,27 +77,139 @@ msgid "Extra options" msgstr "" msgid "" -"File with whitelisted hosts/domains that are allowed despite being on a " -"blocklist." +"For SSL protected blocklist sources you need a suitable SSL library, e.g. " +"'libustream-ssl' or the wget 'built-in'." +msgstr "" + +msgid "" +"For further information <a href=\"%s\" target=\"_blank\">see online " +"documentation</a>" +msgstr "" + +msgid "Force Overall Sort" +msgstr "" + +msgid "Force local DNS" +msgstr "" + +msgid "Input file not found, please check your configuration." +msgstr "" + +msgid "Invalid domain specified!" msgstr "" -msgid "Global options" +msgid "Last rundate" +msgstr "" + +msgid "Loading" +msgstr "" + +msgid "No" +msgstr "" + +msgid "" +"Note that list URLs and Shallalist category selections are configurable in " +"the 'Advanced' section." msgstr "" msgid "" "Options for further tweaking in case the defaults are not suitable for you." msgstr "" -msgid "Restrict reload trigger to certain interface(s)" +msgid "Overview" +msgstr "" + +msgid "" +"Please add only one domain per line. Comments introduced with '#' are " +"allowed - ip addresses, wildcards and regex are not." +msgstr "" + +msgid "Please edit this file directly in a terminal session." +msgstr "" + +msgid "Query" +msgstr "" + +msgid "Query domains" +msgstr "" + +msgid "Redirect all DNS queries to the local resolver." +msgstr "" + +msgid "Restrict interface trigger to certain interface(s)" +msgstr "" + +msgid "Resume adblock" +msgstr "" + +msgid "Runtime information" +msgstr "" + +msgid "SSL req." +msgstr "" + +msgid "" +"Space separated list of interfaces that trigger adblock processing. To " +"disable event driven (re-)starts remove all entries." +msgstr "" + +msgid "Status" +msgstr "" + +msgid "Suspend / Resume adblock" +msgstr "" + +msgid "Suspend adblock" +msgstr "" + +msgid "The file size is too large for online editing in LuCI (> 512 KB)." msgstr "" msgid "" -"Space separated list of wan interfaces that trigger reload action. To " -"disable reload trigger set it to 'false'. Default: empty" +"This form allows you to modify the content of the adblock blacklist (%s)." +"<br />" +msgstr "" + +msgid "" +"This form allows you to modify the content of the adblock whitelist (%s)." +"<br />" +msgstr "" + +msgid "" +"This form allows you to modify the content of the main adblock configuration " +"file (/etc/config/adblock)." +msgstr "" + +msgid "" +"This form allows you to query active block lists for certain domains, e.g. " +"for whitelisting." +msgstr "" + +msgid "" +"This form shows the syslog output, pre-filtered for adblock related messages " +"only." +msgstr "" + +msgid "Trigger delay" +msgstr "" + +msgid "View Logfile" +msgstr "" + +msgid "Waiting for command to complete..." +msgstr "" + +msgid "Yes" +msgstr "" + +msgid "active" +msgstr "" + +msgid "n/a" msgstr "" -msgid "Whitelist file" +msgid "no domains blocked" msgstr "" -msgid "see list details" +msgid "suspended" msgstr "" diff --git a/applications/luci-app-adblock/po/zh-cn/adblock.po b/applications/luci-app-adblock/po/zh-cn/adblock.po index 2878d8afaf..dfa03f32b1 100644 --- a/applications/luci-app-adblock/po/zh-cn/adblock.po +++ b/applications/luci-app-adblock/po/zh-cn/adblock.po @@ -1,53 +1,87 @@ +# liushuyu <liushuyu_011@163.com>, 2017. msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: kuoruan@gmail.com\n" -"Language-Team: none\n" +"PO-Revision-Date: 2017-04-15 21:35-0600\n" +"Last-Translator: liushuyu <liushuyu011@gmail.com>\n" +"Language-Team: Chinese <kde-i18n-doc@kde.org>\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.5\n" +"X-Generator: Poedit 2.0.1\n" "Plural-Forms: nplurals=1; plural=0;\n" -msgid "" -"). Note that list URLs and Shallalist category selections are not " -"configurable via Luci." -msgstr ")。需è¦æ³¨æ„的是列表URLå’Œåˆ—è¡¨ç±»åˆ«é€‰é¡¹æ— æ³•é€šè¿‡Luci设置。" - msgid "Adblock" msgstr "Adblock" -msgid "Available blocklist sources (" -msgstr "å¯ç”¨æ‹¦æˆªåˆ—表æ¥æºï¼ˆ" +msgid "Adblock Domain Query" +msgstr "" + +msgid "Adblock Logfile" +msgstr "Adblock 日志文件" + +msgid "Adblock version" +msgstr "Adblock 版本" + +msgid "Additional trigger delay in seconds before adblock processing begins." +msgstr "" + +msgid "Advanced" +msgstr "高级" + +msgid "Available blocklist sources." +msgstr "å¯ç”¨çš„ blocklist æ¥æº" msgid "Backup directory" msgstr "备份目录" -msgid "Backup options" -msgstr "备份选项" +msgid "Blocked domains (overall)" +msgstr "" msgid "Blocklist sources" msgstr "拦截列表æ¥æº" +msgid "Collecting data..." +msgstr "æ£åœ¨æ”¶é›†æ•°æ®..." + msgid "" "Configuration of the adblock package to block ad/abuse domains by using DNS." msgstr "Adblock é…置工具,通过 DNS æ¥æ‹¦æˆªå¹¿å‘Šå’Œé˜»æ¢åŸŸå。" +msgid "DNS backend" +msgstr "DNS åŽç«¯" + msgid "Description" msgstr "æè¿°" +msgid "Download Utility (SSL Library)" +msgstr "" + +msgid "Edit Blacklist" +msgstr "编辑黑åå•" + +msgid "Edit Configuration" +msgstr "编辑设置" + +msgid "Edit Whitelist" +msgstr "编辑白åå•" + msgid "Enable adblock" msgstr "å¯ç”¨Adblock" msgid "Enable blocklist backup" msgstr "å¯ç”¨æ‹¦æˆªè§„则备份" -msgid "Enable verbose debug logging" +msgid "" +"Enable memory intense overall sort / duplicate removal on low memory devices " +"(< 64 MB RAM)" msgstr "" +msgid "Enable verbose debug logging" +msgstr "å¯ç”¨è¯¦ç»†è°ƒè¯•è¾“出" + msgid "Enabled" msgstr "å¯ç”¨" @@ -55,30 +89,176 @@ msgid "Extra options" msgstr "é¢å¤–选项" msgid "" -"File with whitelisted hosts/domains that are allowed despite being on a " -"blocklist." -msgstr "å…许的主机/域å列表" +"For SSL protected blocklist sources you need a suitable SSL library, e.g. " +"'libustream-ssl' or the wget 'built-in'." +msgstr "" + +msgid "" +"For further information <a href=\"%s\" target=\"_blank\">see online " +"documentation</a>" +msgstr "" + +msgid "Force Overall Sort" +msgstr "" + +msgid "Force local DNS" +msgstr "" + +msgid "Input file not found, please check your configuration." +msgstr "" + +msgid "Invalid domain specified!" +msgstr "æ— æ•ˆåŸŸåï¼" + +msgid "Last rundate" +msgstr "" + +msgid "Loading" +msgstr "åŠ è½½ä¸" -msgid "Global options" -msgstr "全局选项" +msgid "No" +msgstr "å¦" + +msgid "" +"Note that list URLs and Shallalist category selections are configurable in " +"the 'Advanced' section." +msgstr "" msgid "" "Options for further tweaking in case the defaults are not suitable for you." msgstr "在默认设置并ä¸é€‚åˆä½ 时的é¢å¤–选项。" -msgid "Restrict reload trigger to certain interface(s)" +msgid "Overview" +msgstr "总览" + +msgid "" +"Please add only one domain per line. Comments introduced with '#' are " +"allowed - ip addresses, wildcards and regex are not." +msgstr "" + +msgid "Please edit this file directly in a terminal session." +msgstr "" + +msgid "Query" +msgstr "查询" + +msgid "Query domains" +msgstr "" + +msgid "Redirect all DNS queries to the local resolver." +msgstr "" + +msgid "Restrict interface trigger to certain interface(s)" +msgstr "" + +msgid "Resume adblock" +msgstr "æ¢å¤ Adblock" + +msgid "Runtime information" +msgstr "è¿è¡Œä¿¡æ¯" + +msgid "SSL req." +msgstr "" + +msgid "" +"Space separated list of interfaces that trigger adblock processing. To " +"disable event driven (re-)starts remove all entries." +msgstr "" + +msgid "Status" +msgstr "状æ€" + +msgid "Suspend / Resume adblock" +msgstr "æš‚åœ/æ¢å¤ Adblock" + +msgid "Suspend adblock" +msgstr "æš‚åœ Adblock" + +msgid "The file size is too large for online editing in LuCI (> 512 KB)." +msgstr "" + +msgid "" +"This form allows you to modify the content of the adblock blacklist (%s)." +"<br />" +msgstr "" + +msgid "" +"This form allows you to modify the content of the adblock whitelist (%s)." +"<br />" +msgstr "" + +msgid "" +"This form allows you to modify the content of the main adblock configuration " +"file (/etc/config/adblock)." +msgstr "" + +msgid "" +"This form allows you to query active block lists for certain domains, e.g. " +"for whitelisting." msgstr "" msgid "" -"Space separated list of wan interfaces that trigger reload action. To " -"disable reload trigger set it to 'false'. Default: empty" +"This form shows the syslog output, pre-filtered for adblock related messages " +"only." +msgstr "" + +msgid "Trigger delay" +msgstr "触å‘延迟" + +msgid "View Logfile" +msgstr "查看日志文件" + +msgid "Waiting for command to complete..." +msgstr "æ£åœ¨æ‰§è¡Œå‘½ä»¤..." + +msgid "Yes" +msgstr "是" + +msgid "active" +msgstr "å·²å¯ç”¨" + +msgid "n/a" msgstr "" -msgid "Whitelist file" -msgstr "白åå•æ–‡ä»¶" +msgid "no domains blocked" +msgstr "没有被拦截的域å" + +msgid "suspended" +msgstr "已暂åœ" + +#~ msgid "." +#~ msgstr "." + +#~ msgid "For further information" +#~ msgstr "更多信æ¯" + +#~ msgid "see online documentation" +#~ msgstr "查看在线文档" + +#~ msgid "Backup options" +#~ msgstr "备份选项" + +#~ msgid "" +#~ "). Note that list URLs and Shallalist category selections are not " +#~ "configurable via Luci." +#~ msgstr ")。需è¦æ³¨æ„的是列表URLå’Œåˆ—è¡¨ç±»åˆ«é€‰é¡¹æ— æ³•é€šè¿‡Luci设置。" + +#~ msgid "Available blocklist sources (" +#~ msgstr "å¯ç”¨æ‹¦æˆªåˆ—表æ¥æºï¼ˆ" + +#~ msgid "" +#~ "File with whitelisted hosts/domains that are allowed despite being on a " +#~ "blocklist." +#~ msgstr "å…许的主机/域å列表" + +#~ msgid "Global options" +#~ msgstr "全局选项" + +#~ msgid "Whitelist file" +#~ msgstr "白åå•æ–‡ä»¶" -msgid "see list details" -msgstr "查看列表详情" +#~ msgid "see list details" +#~ msgstr "查看列表详情" #~ msgid "Count" #~ msgstr "æ•°é‡" diff --git a/applications/luci-app-ahcp/po/pt-br/ahcp.po b/applications/luci-app-ahcp/po/pt-br/ahcp.po index 55ec29cdc7..741c14572b 100644 --- a/applications/luci-app-ahcp/po/pt-br/ahcp.po +++ b/applications/luci-app-ahcp/po/pt-br/ahcp.po @@ -1,20 +1,20 @@ msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2014-03-29 23:07+0200\n" -"Last-Translator: Luiz Angelo <luizluca@gmail.com>\n" +"Project-Id-Version: \n" +"PO-Revision-Date: 2017-02-17 17:07-0200\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" "Language-Team: none\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Pootle 2.0.6\n" +"X-Generator: Poedit 1.8.11\n" +"POT-Creation-Date: \n" msgid "AHCP Server" msgstr "Servidor AHCP" -#, fuzzy msgid "" "AHCP is an autoconfiguration protocol for IPv6 and dual-stack IPv6/IPv4 " "networks designed to be used in place of router discovery or DHCP on " diff --git a/applications/luci-app-aria2/po/pt-br/aria2.po b/applications/luci-app-aria2/po/pt-br/aria2.po new file mode 100644 index 0000000000..1bb4137446 --- /dev/null +++ b/applications/luci-app-aria2/po/pt-br/aria2.po @@ -0,0 +1,236 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: pt_BR\n" + +msgid "\"Falloc\" is not available in all cases." +msgstr "\"Falloc\" não está disponÃvel em todas as classes." + +msgid "<abbr title=\"Distributed Hash Table\">DHT</abbr> enabled" +msgstr "" +"<abbr title=\"Distributed Hash Table/Tabla de disperção distribuÃda\">DHT</" +"abbr> habilitado" + +msgid "<abbr title=\"Local Peer Discovery\">LPD</abbr> enabled" +msgstr "" +"<abbr title=\"Local Peer Discovery/Descoberta de Parceiros Locais\">LPD</" +"abbr> habilitado" + +msgid "Additional Bt tracker enabled" +msgstr "Rastreadores BitTorrent adicionais habilitado" + +msgid "Aria2" +msgstr "Aria2" + +msgid "Aria2 Settings" +msgstr "Configurações do Aria2" + +msgid "Aria2 Status" +msgstr "Estado do Aria2" + +msgid "" +"Aria2 is a multi-protocol & multi-source download utility, here you can " +"configure the settings." +msgstr "" +"Aria2 é um utilitário de transferência multi-protocolo de múltiplas fontes, " +"aqui você pode configurá-lo." + +msgid "Autosave session interval" +msgstr "Intervalo para autossalvamento da sessão" + +msgid "BitTorrent Settings" +msgstr "Configurações do BitTorrent" + +msgid "BitTorrent listen port" +msgstr "Porta de escuta do BitTorrent" + +msgid "Collecting data..." +msgstr "Coletando dados..." + +msgid "Config file directory" +msgstr "Diretório dos arquivos de configuração" + +msgid "Debug" +msgstr "Depuração" + +msgid "Default download directory" +msgstr "Diretório padrão de arquivos baixados" + +msgid "Disk cache" +msgstr "Cache em Disco" + +msgid "Enable log" +msgstr "Habilitar registros" + +msgid "Enabled" +msgstr "Habilitado" + +msgid "Error" +msgstr "Erro" + +msgid "Extra Settings" +msgstr "Configurações Adicionais" + +msgid "Falloc" +msgstr "Falloc" + +msgid "Files and Locations" +msgstr "Arquivos e Locais" + +msgid "Follow torrent" +msgstr "Seguir torrent" + +msgid "General Settings" +msgstr "Configurações Gerais" + +msgid "Generate Randomly" +msgstr "Gerar aleatoriamente" + +msgid "Info" +msgstr "Informações" + +msgid "List of additional Bt tracker" +msgstr "Lista de rastreadores BitTorrent adicionais" + +msgid "List of extra settings" +msgstr "Lista de configurações adicionais" + +msgid "Log file is in the config file dir." +msgstr "" +"Arquivo de registro (log) está no diretório do arquivo de configuração." + +msgid "Log level" +msgstr "NÃvel do registro" + +msgid "Max concurrent downloads" +msgstr "Número máximo de transferencias simultâneas" + +msgid "Max connection per server" +msgstr "Numero máximo de conexões por servidor" + +msgid "Max number of peers per torrent" +msgstr "Numero máximo de parceiros por torrent" + +msgid "Max number of split" +msgstr "Numero máximo de divisões" + +msgid "Min split size" +msgstr "Tamanho mÃnimo da divisão" + +msgid "No Authentication" +msgstr "Sem Autenticação" + +msgid "Notice" +msgstr "Aviso" + +msgid "Off" +msgstr "Desligado" + +msgid "Open WebUI-Aria2" +msgstr "Abrir WebUI-Aria2" + +msgid "Open YAAW" +msgstr "Abrir YAAW" + +msgid "Overall download limit" +msgstr "Limite global para baixar" + +msgid "Overall speed limit enabled" +msgstr "Limite da taxa de transferência global habilitado" + +msgid "Overall upload limit" +msgstr "Limite global para subir" + +msgid "Per task download limit" +msgstr "Limite por tarefa para baixar" + +msgid "Per task speed limit enabled" +msgstr "Limite da taxa de transferência por tarefa habilitado" + +msgid "Per task upload limit" +msgstr "Limite por tarefa para subir" + +msgid "Prealloc" +msgstr "Pré-alocação" + +msgid "Preallocation" +msgstr "Pré-alocação" + +msgid "Prefix of peer ID" +msgstr "Prefixo da identificação do paceiro" + +msgid "RPC Token" +msgstr "" +"Chave eletrônica do <abbr title=\"Remote Procedure Call/Chamada de " +"Procedimento Remoto\">RPC</abbr>" + +msgid "RPC authentication method" +msgstr "" +"Método de autenticação do <abbr title=\"Remote Procedure Call/Chamada de " +"Procedimento Remoto\">RPC</abbr>" + +msgid "RPC password" +msgstr "" +"Senha do <abbr title=\"Remote Procedure Call/Chamada de Procedimento Remoto" +"\">RPC</abbr>" + +msgid "RPC port" +msgstr "" +"Porta do <abbr title=\"Remote Procedure Call/Chamada de Procedimento Remoto" +"\">RPC</abbr>" + +msgid "RPC username" +msgstr "" +"Nome do usuario do <abbr title=\"Remote Procedure Call/Chamada de " +"Procedimento Remoto\">RPC</abbr>" + +msgid "Run daemon as user" +msgstr "Executar serviço como usuário" + +msgid "Sec" +msgstr "Segurança" + +msgid "Task Settings" +msgstr "Configurações das tarefas" + +msgid "The Aria2 service is not running." +msgstr "O serviço Aria2 está parado." + +msgid "The Aria2 service is running." +msgstr "O serviço Aria2 está em execução." + +msgid "Token" +msgstr "Chave eletrônica" + +msgid "Trunc" +msgstr "Truncar" + +msgid "Use WebSocket" +msgstr "Use WebSockets" + +msgid "User agent value" +msgstr "Valor da identificação do agente do usuário" + +msgid "Username & Password" +msgstr "Usuário & Senha" + +msgid "View Json-RPC URL" +msgstr "Visualizar URL do JSON-RPC" + +msgid "Warn" +msgstr "Atenção" + +msgid "in bytes, You can append K or M." +msgstr "em bytes. Você pode sufixar com K (quilo) ou M (mega)." + +msgid "in bytes/sec, You can append K or M." +msgstr "em bytes por segundo. Você pode sufixar com K (quilo) ou M (mega)." diff --git a/applications/luci-app-bcp38/Makefile b/applications/luci-app-bcp38/Makefile new file mode 100644 index 0000000000..9ab5a6701d --- /dev/null +++ b/applications/luci-app-bcp38/Makefile @@ -0,0 +1,18 @@ +# +# Copyright (C) 2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=BCP38 LuCI interface +LUCI_DEPENDS:=+luci-mod-admin-full +bcp38 + +PKG_MAINTAINER:=Toke Høiland-Jørgensen <toke@toke.dk> +PKG_LICENSE:=Apache-2.0 + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-bcp38/luasrc/controller/bcp38.lua b/applications/luci-app-bcp38/luasrc/controller/bcp38.lua new file mode 100644 index 0000000000..7ea22835d6 --- /dev/null +++ b/applications/luci-app-bcp38/luasrc/controller/bcp38.lua @@ -0,0 +1,7 @@ +module("luci.controller.bcp38", package.seeall) + +function index() + entry({"admin", "network", "firewall", "bcp38"}, + cbi("bcp38"), + _("BCP38"), 50).dependent = false +end diff --git a/applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua b/applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua new file mode 100644 index 0000000000..632074a56f --- /dev/null +++ b/applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua @@ -0,0 +1,60 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2014 Toke Høiland-Jørgensen <toke@toke.dk> + +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 + +$Id$ +]]-- + +local wa = require "luci.tools.webadmin" +local net = require "luci.model.network".init() +local ifaces = net:get_interfaces() + +m = Map("bcp38", translate("BCP38"), + translate("This function blocks packets with private address destinations " .. + "from going out onto the internet as per " .. + "<a href=\"http://tools.ietf.org/html/bcp38\">BCP 38</a>. " .. + "For IPv6, only source specific default routes are installed, so " .. + "no BCP38 firewall routes are needed.")) + +s = m:section(TypedSection, "bcp38", translate("BCP38 config")) +s.anonymous = true +-- BASIC +e = s:option(Flag, "enabled", translate("Enable")) +e.rmempty = false + +a = s:option(Flag, "detect_upstream", translate("Auto-detect upstream IP"), + translate("Attempt to automatically detect if the upstream IP " .. + "will be blocked by the configuration, and add an exception if it will. " .. + "If this does not work correctly, you can add exceptions manually below.")) +a.rmempty = false + +n = s:option(ListValue, "interface", translate("Interface name"), translate("Interface to apply the blocking to " .. + "(should be the upstream WAN interface).")) +for _, iface in ipairs(ifaces) do + if iface:is_up() then + n:value(iface:name()) + end +end +n.rmempty = false + +ma = s:option(DynamicList, "match", + translate("Blocked IP ranges")) + +ma.datatype = "ip4addr" + +nm = s:option(DynamicList, "nomatch", + translate("Allowed IP ranges"), translate("Takes precedence over blocked ranges. ".. + "Use to whitelist your upstream network if you're behind a double NAT " .. + "and the auto-detection doesn't work.")) + +nm.datatype = "ip4addr" + + +return m diff --git a/applications/luci-app-bcp38/root/etc/uci-defaults/60_luci-bcp38 b/applications/luci-app-bcp38/root/etc/uci-defaults/60_luci-bcp38 new file mode 100755 index 0000000000..c204236e37 --- /dev/null +++ b/applications/luci-app-bcp38/root/etc/uci-defaults/60_luci-bcp38 @@ -0,0 +1,11 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@bcp38[-1] + add ucitrack bcp38 + add_list ucitrack.@bcp38[0].affects=firewall + commit ucitrack +EOF + +rm -f /tmp/luci-indexcache +exit 0 diff --git a/applications/luci-app-clamav/Makefile b/applications/luci-app-clamav/Makefile new file mode 100644 index 0000000000..f91e692af8 --- /dev/null +++ b/applications/luci-app-clamav/Makefile @@ -0,0 +1,18 @@ +# +# Copyright (C) 2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=ClamAV LuCI interface +LUCI_DEPENDS:=+luci-mod-admin-full +clamav + +PKG_MAINTAINER:=Marko Ratkaj <marko.ratkaj@sartura.hr> +PKG_LICENSE:=Apache-2.0 + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-clamav/luasrc/controller/clamav.lua b/applications/luci-app-clamav/luasrc/controller/clamav.lua new file mode 100644 index 0000000000..02f3bfc4b1 --- /dev/null +++ b/applications/luci-app-clamav/luasrc/controller/clamav.lua @@ -0,0 +1,22 @@ +--[[ + +LuCI ClamAV module + +Copyright (C) 2015, Itus Networks, Inc. + +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 + +Author: Marko Ratkaj <marko.ratkaj@sartura.hr> + Luka Perkov <luka.perkov@sartura.hr> + +]]-- + +module("luci.controller.clamav", package.seeall) + +function index() + entry({"admin", "services", "clamav"}, cbi("clamav"), _("ClamAV")) +end diff --git a/applications/luci-app-clamav/luasrc/model/cbi/clamav.lua b/applications/luci-app-clamav/luasrc/model/cbi/clamav.lua new file mode 100644 index 0000000000..ff98139d4a --- /dev/null +++ b/applications/luci-app-clamav/luasrc/model/cbi/clamav.lua @@ -0,0 +1,178 @@ +--[[ + +LuCI ClamAV module + +Copyright (C) 2015, Itus Networks, Inc. + +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 + +Author: Marko Ratkaj <marko.ratkaj@sartura.hr> + Luka Perkov <luka.perkov@sartura.hr> + +]]-- + +local fs = require "nixio.fs" +local sys = require "luci.sys" +require "ubus" + +m = Map("clamav", translate("ClamAV")) +m.on_after_commit = function() luci.sys.call("/etc/init.d/clamav restart") end + +s = m:section(TypedSection, "clamav") +s.anonymous = true +s.addremove = false + +s:tab("tab_advanced", translate("Settings")) +s:tab("tab_logs", translate("Log")) + +--------------- Settings -------------- + +LogFileMaxSize = s:taboption("tab_advanced", Value, "LogFileMaxSize", translate("Max size of log file")) +LogFileMaxSize:value("512K", translate("512K")) +LogFileMaxSize:value("1M", translate("1M")) +LogFileMaxSize:value("2M", translate("2M")) +LogFileMaxSize.default = "1M" + +LogTime = s:taboption("tab_advanced", ListValue, "LogTime", translate("Log time with each message")) +LogTime:value("no", translate("No")) +LogTime:value("yes", translate("Yes")) +LogTime.default = "no" + +LogVerbose = s:taboption("tab_advanced", ListValue, "LogVerbose", translate("Enable verbose logging")) +LogVerbose:value("no", translate("No")) +LogVerbose:value("yes", translate("Yes")) +LogVerbose.default = "no" + +ExtendedDetectionInfo = s:taboption("tab_advanced", ListValue, "ExtendedDetectionInfo", translate("Log additional infection info")) +ExtendedDetectionInfo:value("no", translate("No")) +ExtendedDetectionInfo:value("yes", translate("Yes")) +ExtendedDetectionInfo.default = "no" + +dummy3 = s:taboption("tab_advanced", DummyValue, "") +dummy4 = s:taboption("tab_advanced", DummyValue, "") + +MaxDirectoryRecursion = s:taboption("tab_advanced", Value, "MaxDirectoryRecursion", translate("Max directory scan depth")) +MaxDirectoryRecursion:value("15", translate("15")) +MaxDirectoryRecursion:value("20", translate("20")) +MaxDirectoryRecursion.default = "15" + +FollowDirectorySymlink = s:taboption("tab_advanced", ListValue, "FollowDirectorySymlink", translate("Follow directory symlinks")) +FollowDirectorySymlink:value("no", translate("No")) +FollowDirectorySymlink:value("yes", translate("Yes")) +FollowDirectorySymlink.default = "no" + +FollowFileSymlinks = s:taboption("tab_advanced", ListValue, "FollowFileSymlinks", translate("Follow file symlinks")) +FollowFileSymlinks:value("no", translate("No")) +FollowFileSymlinks:value("yes", translate("Yes")) +FollowFileSymlinks.default = "no" + +DetectPUA = s:taboption("tab_advanced", ListValue, "DetectPUA", translate("Detect possibly unwanted apps")) +DetectPUA:value("no", translate("No")) +DetectPUA:value("yes", translate("Yes")) +DetectPUA.default = "no" + +ScanPE = s:taboption("tab_advanced", ListValue, "ScanPE", translate("Scan portable executables")) +ScanPE:value("no", translate("No")) +ScanPE:value("yes", translate("Yes")) +ScanPE.default = "yes" + +ScanELF = s:taboption("tab_advanced", ListValue, "ScanELF", translate("Scan ELF files")) +ScanELF:value("no", translate("No")) +ScanELF:value("yes", translate("Yes")) +ScanELF.default = "yes" + +DetectBrokenExecutables = s:taboption("tab_advanced", ListValue, "DetectBrokenExecutables", translate("Detect broken executables")) +DetectBrokenExecutables:value("no", translate("No")) +DetectBrokenExecutables:value("yes", translate("Yes")) +DetectBrokenExecutables.default = "no" + +ScanOLE2 = s:taboption("tab_advanced", ListValue, "ScanOLE2", translate("Scan MS Office and .msi files")) +ScanOLE2:value("no", translate("No")) +ScanOLE2:value("yes", translate("Yes")) +ScanOLE2.default = "yes" + +ScanPDF = s:taboption("tab_advanced", ListValue, "ScanPDF", translate("Scan pdf files")) +ScanPDF:value("no", translate("No")) +ScanPDF:value("yes", translate("Yes")) +ScanPDF.default = "yes" + +ScanSWF = s:taboption("tab_advanced", ListValue, "ScanSWF", translate("Scan swf files")) +ScanSWF:value("no", translate("No")) +ScanSWF:value("yes", translate("Yes")) +ScanSWF.default = "yes" + +ScanMail = s:taboption("tab_advanced", ListValue, "ScanMail", translate("Scan emails")) +ScanMail:value("no", translate("No")) +ScanMail:value("yes", translate("Yes")) +ScanMail.default = "yes" + +ScanPartialMessages = s:taboption("tab_advanced", ListValue, "ScanPartialMessages", translate("Scan RFC1341 messages split over many emails")) +ScanPartialMessages:value("no", translate("No")) +ScanPartialMessages:value("yes", translate("Yes")) +ScanPartialMessages.default = "no" + +ScanArchive = s:taboption("tab_advanced", ListValue, "ScanArchive", translate("Scan archives")) +ScanArchive:value("no", translate("No")) +ScanArchive:value("yes", translate("Yes")) +ScanArchive.default = "yes" + +ArchiveBlockEncrypted = s:taboption("tab_advanced", ListValue, "ArchiveBlockEncrypted", translate("Block encrypted archives")) +ArchiveBlockEncrypted:value("no", translate("No")) +ArchiveBlockEncrypted:value("yes", translate("Yes")) +ArchiveBlockEncrypted.default = "no" + +dummy5 = s:taboption("tab_advanced", DummyValue, "") +dummy6 = s:taboption("tab_advanced", DummyValue, "") + +StreamMinPort = s:taboption("tab_advanced", Value, "StreamMinPort", translate("Port range, lowest port")) +StreamMinPort.datatype = "portrange" +StreamMinPort:value("1024",translate("1024")) +StreamMinPort.default = "1024" + +StreamMaxPort = s:taboption("tab_advanced", Value, "StreamMaxPort", translate("Port range, highest port")) +StreamMaxPort.datatype = "portrange" +StreamMaxPort:value("2048",translate("2048")) +StreamMaxPort.default = "2048" + +MaxThreads = s:taboption("tab_advanced", Value, "MaxThreads", translate("Max number of threads")) +MaxThreads.datatype = "and(uinteger,min(1))" +MaxThreads:value("10",translate("10")) +MaxThreads:value("20",translate("20")) +MaxThreads.default = "10" + +SelfCheck = s:taboption("tab_advanced", Value, "SelfCheck", translate("Database check every N sec")) +SelfCheck.datatype = "and(uinteger,min(1))" +SelfCheck:value("600",translate("600")) +SelfCheck.default = "600" + +MaxFileSize = s:taboption("tab_advanced", Value, "MaxFileSize", translate("Max size of scanned file")) +MaxFileSize.datatype = "string" +MaxFileSize:value("150M",translate("150M")) +MaxFileSize:value("50M",translate("50M")) +MaxFileSize.default = "150M" + +------------------ Log -------------------- + +clamav_logfile = s:taboption("tab_logs", TextValue, "lines", "") +clamav_logfile.wrap = "off" +clamav_logfile.rows = 25 +clamav_logfile.rmempty = true + +function clamav_logfile.cfgvalue() + local uci = require "luci.model.uci".cursor_state() + local file = "/tmp/clamd.log" + if file then + return fs.readfile(file) or "" + else + return "" + end +end + +function clamav_logfile.write() +end + +return m diff --git a/applications/luci-app-clamav/po/ja/clamav.po b/applications/luci-app-clamav/po/ja/clamav.po new file mode 100644 index 0000000000..c54c7b18aa --- /dev/null +++ b/applications/luci-app-clamav/po/ja/clamav.po @@ -0,0 +1,130 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.12\n" +"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Language: ja\n" + +msgid "10" +msgstr "10" + +msgid "1024" +msgstr "1024" + +msgid "15" +msgstr "15" + +msgid "150M" +msgstr "150M" + +msgid "1M" +msgstr "1M" + +msgid "20" +msgstr "20" + +msgid "2048" +msgstr "2048" + +msgid "2M" +msgstr "2M" + +msgid "50M" +msgstr "50M" + +msgid "512K" +msgstr "512K" + +msgid "600" +msgstr "600" + +msgid "Block encrypted archives" +msgstr "æš—å·åŒ–ã•ã‚ŒãŸã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã®ãƒ–ãƒãƒƒã‚¯" + +msgid "ClamAV" +msgstr "ClamAV" + +msgid "Database check every N sec" +msgstr "データベース ãƒã‚§ãƒƒã‚¯é–“隔(秒)" + +msgid "Detect broken executables" +msgstr "ç ´æã—ãŸå®Ÿè¡Œãƒ•ã‚¡ã‚¤ãƒ«ã®æ¤œå‡º" + +msgid "Detect possibly unwanted apps" +msgstr "ä¸å¿…è¦ã¨æ€ã‚れるアプリケーションã®æ¤œå‡º" + +msgid "Enable verbose logging" +msgstr "詳細ãªãƒã‚°ã®æœ‰åŠ¹åŒ–" + +msgid "Follow directory symlinks" +msgstr "ディレクトリ シンボリックリンクã«å¾“ã†" + +msgid "Follow file symlinks" +msgstr "ファイル シンボリックリンクã«å¾“ã†" + +msgid "Log" +msgstr "ãƒã‚°" + +msgid "Log additional infection info" +msgstr "è¿½åŠ ã®æ„ŸæŸ“æƒ…å ±ãƒã‚°" + +msgid "Log time with each message" +msgstr "ãƒã‚° メッセージ毎ã«æ™‚åˆ»ã‚’ä»˜åŠ " + +msgid "Max directory scan depth" +msgstr "ディレクトリ スã‚ャンã®æœ€å¤§æ·±åº¦" + +msgid "Max number of threads" +msgstr "スレッドã®æœ€å¤§æ•°" + +msgid "Max size of log file" +msgstr "ãƒã‚°ã®æœ€å¤§ã‚µã‚¤ã‚º" + +msgid "Max size of scanned file" +msgstr "" + +msgid "No" +msgstr "ã„ã„ãˆ" + +msgid "Port range, highest port" +msgstr "ãƒãƒ¼ãƒˆç¯„囲(上é™ï¼‰" + +msgid "Port range, lowest port" +msgstr "ãƒãƒ¼ãƒˆç¯„囲(下é™ï¼‰" + +msgid "Scan ELF files" +msgstr "ELF ファイルã®ã‚¹ã‚ャン" + +msgid "Scan MS Office and .msi files" +msgstr "MS Office 㨠.msi ファイルã®ã‚¹ã‚ャン" + +msgid "Scan RFC1341 messages split over many emails" +msgstr "" + +msgid "Scan archives" +msgstr "アーカイブã®ã‚¹ã‚ャン" + +msgid "Scan emails" +msgstr "E-mailã®ã‚¹ã‚ャン" + +msgid "Scan pdf files" +msgstr "PDF ファイルã®ã‚¹ã‚ャン" + +msgid "Scan portable executables" +msgstr "ãƒãƒ¼ã‚¿ãƒ–ル 実行ファイルã®ã‚¹ã‚ャン" + +msgid "Scan swf files" +msgstr "SWF ファイルã®ã‚¹ã‚ャン" + +msgid "Settings" +msgstr "è¨å®š" + +msgid "Yes" +msgstr "ã¯ã„" diff --git a/applications/luci-app-clamav/po/templates/clamav.pot b/applications/luci-app-clamav/po/templates/clamav.pot new file mode 100644 index 0000000000..768f73093a --- /dev/null +++ b/applications/luci-app-clamav/po/templates/clamav.pot @@ -0,0 +1,119 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +msgid "10" +msgstr "" + +msgid "1024" +msgstr "" + +msgid "15" +msgstr "" + +msgid "150M" +msgstr "" + +msgid "1M" +msgstr "" + +msgid "20" +msgstr "" + +msgid "2048" +msgstr "" + +msgid "2M" +msgstr "" + +msgid "50M" +msgstr "" + +msgid "512K" +msgstr "" + +msgid "600" +msgstr "" + +msgid "Block encrypted archives" +msgstr "" + +msgid "ClamAV" +msgstr "" + +msgid "Database check every N sec" +msgstr "" + +msgid "Detect broken executables" +msgstr "" + +msgid "Detect possibly unwanted apps" +msgstr "" + +msgid "Enable verbose logging" +msgstr "" + +msgid "Follow directory symlinks" +msgstr "" + +msgid "Follow file symlinks" +msgstr "" + +msgid "Log" +msgstr "" + +msgid "Log additional infection info" +msgstr "" + +msgid "Log time with each message" +msgstr "" + +msgid "Max directory scan depth" +msgstr "" + +msgid "Max number of threads" +msgstr "" + +msgid "Max size of log file" +msgstr "" + +msgid "Max size of scanned file" +msgstr "" + +msgid "No" +msgstr "" + +msgid "Port range, highest port" +msgstr "" + +msgid "Port range, lowest port" +msgstr "" + +msgid "Scan ELF files" +msgstr "" + +msgid "Scan MS Office and .msi files" +msgstr "" + +msgid "Scan RFC1341 messages split over many emails" +msgstr "" + +msgid "Scan archives" +msgstr "" + +msgid "Scan emails" +msgstr "" + +msgid "Scan pdf files" +msgstr "" + +msgid "Scan portable executables" +msgstr "" + +msgid "Scan swf files" +msgstr "" + +msgid "Settings" +msgstr "" + +msgid "Yes" +msgstr "" diff --git a/applications/luci-app-clamav/po/zh-cn/clamav.po b/applications/luci-app-clamav/po/zh-cn/clamav.po new file mode 100644 index 0000000000..6a2c5dfd54 --- /dev/null +++ b/applications/luci-app-clamav/po/zh-cn/clamav.po @@ -0,0 +1,131 @@ +# liushuyu <liushuyu_011@163.com>, 2017. +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2017-04-15 21:37-0600\n" +"Language-Team: Chinese <kde-i18n-doc@kde.org>\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.1\n" +"Last-Translator: liushuyu <liushuyu011@gmail.com>\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Language: zh_CN\n" + +msgid "10" +msgstr "10" + +msgid "1024" +msgstr "1024" + +msgid "15" +msgstr "15" + +msgid "150M" +msgstr "150M" + +msgid "1M" +msgstr "1M" + +msgid "20" +msgstr "20" + +msgid "2048" +msgstr "2048" + +msgid "2M" +msgstr "2M" + +msgid "50M" +msgstr "50M" + +msgid "512K" +msgstr "512K" + +msgid "600" +msgstr "600" + +msgid "Block encrypted archives" +msgstr "æ‹¦æˆªåŠ å¯†çš„å½’æ¡£æ–‡ä»¶" + +msgid "ClamAV" +msgstr "ClamAV" + +msgid "Database check every N sec" +msgstr "æ¯ N 秒检测一次数æ®åº“" + +msgid "Detect broken executables" +msgstr "æ£€æµ‹ç ´æŸçš„å¯æ‰§è¡Œæ–‡ä»¶" + +msgid "Detect possibly unwanted apps" +msgstr "检测ä¸å—欢迎的软件" + +msgid "Enable verbose logging" +msgstr "å¯ç”¨è¯¦ç»†æ—¥å¿—输出" + +msgid "Follow directory symlinks" +msgstr "è·Ÿéšç›®å½•ç¬¦å·é“¾æŽ¥" + +msgid "Follow file symlinks" +msgstr "è·Ÿéšæ–‡ä»¶ç¬¦å·é“¾æŽ¥" + +msgid "Log" +msgstr "日志" + +msgid "Log additional infection info" +msgstr "记录详细的感染信æ¯" + +msgid "Log time with each message" +msgstr "记录消æ¯æ—¶é—´æˆ³" + +msgid "Max directory scan depth" +msgstr "最大扫æ深度" + +msgid "Max number of threads" +msgstr "最大线程数" + +msgid "Max size of log file" +msgstr "最大日志大å°" + +msgid "Max size of scanned file" +msgstr "最大å¯æ‰«æ的文件大å°" + +msgid "No" +msgstr "å¦" + +msgid "Port range, highest port" +msgstr "端å£èŒƒå›´ï¼Œæœ€å¤§ç«¯å£" + +msgid "Port range, lowest port" +msgstr "端å£èŒƒå›´ï¼Œæœ€å°ç«¯å£" + +msgid "Scan ELF files" +msgstr "扫æ ELF 文件" + +msgid "Scan MS Office and .msi files" +msgstr "扫æ MS Office 文档和 .msi 安装包文件" + +msgid "Scan RFC1341 messages split over many emails" +msgstr "扫æç¬¦åˆ RFC1341 邮件分离规范的邮件" + +msgid "Scan archives" +msgstr "扫æ归档文件" + +msgid "Scan emails" +msgstr "扫æ电å邮件" + +msgid "Scan pdf files" +msgstr "扫æ PDF 文件" + +msgid "Scan portable executables" +msgstr "扫æ PE (Windows) å¯æ‰§è¡Œæ–‡ä»¶" + +msgid "Scan swf files" +msgstr "扫æ SWF 文件" + +msgid "Settings" +msgstr "设置" + +msgid "Yes" +msgstr "是" diff --git a/applications/luci-app-commands/po/pt-br/commands.po b/applications/luci-app-commands/po/pt-br/commands.po index f6bee73c91..4d04bffbc1 100644 --- a/applications/luci-app-commands/po/pt-br/commands.po +++ b/applications/luci-app-commands/po/pt-br/commands.po @@ -1,15 +1,16 @@ msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2014-03-15 22:02+0200\n" -"Last-Translator: Luiz Angelo <luizluca@gmail.com>\n" +"Project-Id-Version: \n" +"PO-Revision-Date: 2017-02-20 17:39-0300\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" "Language-Team: none\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Pootle 2.0.6\n" +"X-Generator: Poedit 1.8.11\n" +"POT-Creation-Date: \n" msgid "A short textual description of the configured command" msgstr "Uma pequena descrição textual do comando configurado" @@ -40,10 +41,10 @@ msgid "Command" msgstr "Comando" msgid "Command executed successfully." -msgstr "" +msgstr "O comando executou com sucesso." msgid "Command exited with status code" -msgstr "" +msgstr "O comando encerrou com um estado de erro" msgid "Command failed" msgstr "O comando falhou" @@ -76,7 +77,7 @@ msgid "Download" msgstr "Baixar" msgid "Download execution result" -msgstr "" +msgstr "Baixar os resultados da execução" msgid "Failed to execute command!" msgstr "Falha ao executar comando!" @@ -88,7 +89,7 @@ msgid "Loading" msgstr "Carregando" msgid "Or display result" -msgstr "" +msgstr "Ou mostre o resultado" msgid "Public access" msgstr "Acesso público" @@ -97,10 +98,10 @@ msgid "Run" msgstr "Executar" msgid "Standard Error" -msgstr "" +msgstr "SaÃda de Erro" msgid "Standard Output" -msgstr "" +msgstr "SaÃda Padrão" msgid "" "This page allows you to configure custom shell commands which can be easily " diff --git a/applications/luci-app-cshark/Makefile b/applications/luci-app-cshark/Makefile new file mode 100644 index 0000000000..40b0e9fb7f --- /dev/null +++ b/applications/luci-app-cshark/Makefile @@ -0,0 +1,17 @@ +# +# Copyright (C) 2017 Dan Luedtke <mail@danrl.com> +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=Cloudshark capture tool Web UI +LUCI_DEPENDS:=+cshark +LUCI_PKGARCH:=all + +PKG_MAINTAINER:=Luka Perkov <luka@openwrt.org> + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-cshark/luasrc/controller/cshark.lua b/applications/luci-app-cshark/luasrc/controller/cshark.lua new file mode 100644 index 0000000000..4d9bbba290 --- /dev/null +++ b/applications/luci-app-cshark/luasrc/controller/cshark.lua @@ -0,0 +1,125 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright (C) 2014, QA Cafe, Inc. + +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 + +]]-- + +module("luci.controller.cshark", package.seeall) + +function index() + page = node("admin", "network", "cloudshark") + page.target = cbi("admin_network/cshark") + page.title = _("CloudShark") + page.order = 70 + + page = entry({"admin", "network", "cshark_iface_dump_start"}, call("cshark_iface_dump_start"), nil) + page.leaf = true + + page = entry({"admin", "network", "cshark_iface_dump_stop"}, call("cshark_iface_dump_stop"), nil) + page.leaf = true + + page = entry({"admin", "network", "cshark_check_status"}, call("cshark_check_status"), nil) + page.leaf = true + + page = entry({"admin", "network", "cshark_link_list_get"}, call("cshark_link_list_get"), nil) + page.leaf = true + + page = entry({"admin", "network", "cshark_link_list_clear"}, call("cshark_link_list_clear"), nil) + page.leaf = true +end + +function cshark_iface_dump_start(ifname, value, flag, filter) + if ifname == nil or ifname == '' then + ifname = 'any' + end + if tonumber(value) == nil + then + value = '0' + end + if filter == nil or filter == '' then + filter = '' + end + + if flag == nil or flag == '' then + filter = 'T' + end + + luci.http.prepare_content("text/plain") + + local res = os.execute("(/sbin/cshark -i " .. ifname .. " -" .. flag .. " " .. value .. " -p /tmp/cshark-luci.pid " .. filter .. " > /tmp/cshark-luci.out 2>&1) &") + luci.http.write(tostring(res)) +end + +function cshark_iface_dump_stop() + luci.http.prepare_content("text/plain") + + local f = io.open("/tmp/cshark-luci.pid", "rb") + local pid = f:read("*all") + io.close(f) + + local res = os.execute("kill -TERM " .. pid) + luci.http.write(tostring(res)) +end + +function cshark_check_status() + + local msg = ""; + local status; + local f = io.open("/tmp/cshark-luci.pid","r") + if f ~= nil then + status = 1; + io.close(f) + else + status = 0; + end + + f = io.open("/tmp/cshark-luci.out","r") + if f ~= nil then + msg = f:read("*all") + io.close(f) + if msg ~= '' then + os.remove('/tmp/cshark-luci.out') + end + end + + luci.http.prepare_content("application/json") + + local res = {} + res["status"] = status; + res["msg"] = msg; + + luci.http.write_json(res) +end + +function cshark_link_list_get() + local uci = require("uci").cursor() + + luci.http.prepare_content("application/json") + + luci.http.write("[") + + local t = uci:get("cshark", "cshark", "entry") + if (t ~= nil) then + for i = #t, 1, -1 do + luci.http.write("[\"" .. t[i] .. "\"],") + end + end + + luci.http.write("[]]") +end + +function cshark_link_list_clear() + local uci = require("uci").cursor() + + uci:delete("cshark", "cshark", "entry") + uci:commit("cshark"); + + luci.http.status(200, "OK") +end diff --git a/applications/luci-app-cshark/luasrc/model/cbi/admin_network/cshark.lua b/applications/luci-app-cshark/luasrc/model/cbi/admin_network/cshark.lua new file mode 100644 index 0000000000..8db95596f8 --- /dev/null +++ b/applications/luci-app-cshark/luasrc/model/cbi/admin_network/cshark.lua @@ -0,0 +1,30 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright (C) 2014, QA Cafe, Inc. + +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 + +$Id$ +]]-- + +local fs = require "nixio.fs" + +m = Map("cshark", translate("CloudShark")) + +if fs.access("/etc/config/cshark") then + m:section(SimpleSection).template = "cshark" + + s = m:section(TypedSection, "cshark", translate("Options")) + s.anonymous = true + s.addremove = false + + s:option(Value, "url", translate("CloudShark URL")) + s:option(Value, "token", translate("CloudShark API token")) +end + +return m diff --git a/applications/luci-app-cshark/luasrc/view/cshark.htm b/applications/luci-app-cshark/luasrc/view/cshark.htm new file mode 100644 index 0000000000..bc67f806c4 --- /dev/null +++ b/applications/luci-app-cshark/luasrc/view/cshark.htm @@ -0,0 +1,291 @@ +<%# +LuCI - Lua Configuration Interface + +Copyright (C) 2014, QA Cafe, Inc. + +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 + +$Id$ + +-%> + +<fieldset class="cbi-section"> + <legend><%:Start network capture%></legend> + <div class="cbi-section-node"> + <table class="cbi-section-table"> + <tr> + <th><%:Interface%></th> + <th colspan='2'><%:seconds, packets, bytes%></th> + <th><%:Filter%></th> + <th><%:Actions%></th> + </tr> + <tr> + <td> + <select title="<%:Interface%>" style="width:auto" id="s_interfaces"> + <% + local nixio = require "nixio" + for k, v in ipairs(nixio.getifaddrs()) do + if v.family == "packet" then + %> + <option value="<%=v.name%>"><%=v.name%> </option> + <% + end + end + %> + <option value="any"><%:any%></option> + </select> + </td> + <td colspan='2'> + <input id="tx_value" type="text" value="0" /> + <select title="<%:timeout, bytes, seconds%>" id="s_value_type" style="width:auto"> + <option value="T"><%:seconds%></option> + <option value="P"><%:packets%></option> + <option value="S"><%:bytes%></option> + </select> + </td> + <td> + <input style="margin: 5px 0" type="text" title="<%:Filter%>" placeholder="filter" id="i_filter" /> + </td> + <td> + <input type="button" id="bt_action" data-action="start" value="<%:Start capture%>" class="cbi-button" /> + </td> + </tr> + </table> + </div> +</fieldset> + +<fieldset class="cbi-section"> + <span id="cshark-rc-output"></span> +</fieldset> + +<hr/> + +<fieldset class="cbi-section"> + <legend><%:Capture links%></legend> + <div class="cbi-section-node"> + <table id="t_link_list" class="cbi-section-table"> + <tr class="cbi-section-table-titles"> + <th class="cbi-section-table-cell"><%:Capture URL%></th> + <th class="cbi-section-table-cell"><%:Capture time%></th> + </tr> + </table> + </div> +</fieldset> + +<fieldset class="cbi-section"> + <a href="https://support.cloudshark.org/openwrt/openwrt-cloudshark.html" target="_blank">Visit support.cloudshark.org for help.</a> +</fieldset> + +<hr/> + +<script type="text/javascript" src="<%=resource%>/cbi.js"></script> +<script type="text/javascript">//<![CDATA[ + + var capture_running = 0; + var pid_file = 0; + var bt_action = document.getElementById('bt_action'); + var a_clear_links = document.getElementById('a_clear_links'); + var output = document.getElementById('cshark-rc-output'); + var loader = '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" width="16" height="16" style="vertical-align:middle" /> '; + var msg = { 'start' : '<%:Waiting for capture to complete...%>', 'stop' : '<%:Waiting for upload to complete...%>' }; + var status_msg = msg['start']; + + function get_date(timestamp) + { + function pad_str(str) + { + return (str < 10) ? "0" + str : str; + } + + var current_date = new Date(timestamp * 1000); + return current_date.getFullYear() + "-" + + pad_str(current_date.getMonth() + 1) + "-" + + pad_str(current_date.getDate()) + " " + + pad_str(current_date.getHours()) + ":" + + pad_str(current_date.getMinutes()) + ":" + + pad_str(current_date.getSeconds()); + } + + bt_action.onclick = function() + { + var action = this.getAttribute("data-action"); + var csxhr = new XHR(); + + if (action == "stop") + { + update_status(action); + + bt_action.disabled = true; + + csxhr.get('<%=luci.dispatcher.build_url("admin", "network")%>/cshark_iface_dump_stop', null, + function(x) + { + if (!x || x.responseText.trim() != "0") + { + update_status("failed", "Invalid response on stop."); + } + }); + + } + else if (action == "start") + { + + var s_interfaces = document.getElementById('s_interfaces'); + var s_value_type = document.getElementById('s_value_type'); + var i_filter = document.getElementById('i_filter'); + + var if_n = s_interfaces.selectedIndex; + var t_n = s_value_type.selectedIndex; + var ifname = s_interfaces.options[if_n].value.trim(); + var filter_val = i_filter.value.trim(); + var tx_val = document.getElementById('tx_value').value.trim(); + var type_val = s_value_type.options[t_n].value.trim(); + + if (type_val != 'P' && type_val != 'T' && type_val != 'S') type_val = 'T'; + + if (!ifname || !type_val) return; + + if (isNaN(tx_val)) return alert("<%:value for [seconds, packets, bytes] must be Integer%>"); + + update_status(action); + + csxhr.get('<%=luci.dispatcher.build_url("admin", "network")%>/cshark_iface_dump_start/' + ifname + '/' + tx_val + '/' + type_val + '/'+ filter_val, null, + function(x) + { + if (!x) + update_status("failed", "Invalid response on start."); + else + update_status("running"); + }); + } + } + + function update_status(status, message) + { + switch (status) + { + case 'start': + case 'stop': + status_msg = msg[status]; + output.innerHTML = loader + status_msg; + break + + case 'running': + if (capture_running) break;; + + output.innerHTML = loader + status_msg; + + bt_action.value = '<%:Stop capture%>'; + bt_action.setAttribute('data-action', 'stop'); + capture_running = 1; + break; + + case 'completed': + case 'failed': + if (!capture_running) break; + + if (status == "completed") + { + link_list_update(); + } + + output.innerHTML = "<pre>" + message + "</pre>"; + bt_action.value = '<%:Start capture%>'; + bt_action.setAttribute('data-action', 'start'); + bt_action.disabled = false; + capture_running = 0; + break; + } + } + + + function check_status() + { + + XHR.poll(3, '<%=luci.dispatcher.build_url("admin", "network")%>/cshark_check_status', null, + function(x, data) + { + if (!x) + { + if (capture_running) + update_status("failed", "Invalid response when fetching status."); + + return; + } + console.log(data) + + update_status( (data.status == 1) && "running" || "completed", data.msg); + }) + } + + function link_list_clear() + { + var csxhr_del = new XHR(); + csxhr_del.get('<%=luci.dispatcher.build_url("admin", "network")%>/cshark_link_list_clear', null, + function(x) + { + if (!x) + return false; + + link_list_update(); + }); + } + + + function link_list_update() + { + var t_link = document.getElementById("t_link_list"); + if (!t_link) return; + + var row_count = t_link.rows.length; + while(--row_count) t_link.deleteRow(row_count); + + var cell = t_link.insertRow(-1).insertCell(0); + cell.colSpan = 2; + cell.innerHTML = loader; + + var csxhr_link = new XHR(); + csxhr_link.get('<%=luci.dispatcher.build_url("admin", "network")%>/cshark_link_list_get', null, + function(x, entries) + { + var row = t_link.deleteRow(1); + + if (!x) return; + + if (!entries || !entries.length) + { + var cell = t_link.insertRow(-1).insertCell(0); + cell.colSpan = 2; + cell.innerHTML = '<em><br />There are no captures available yet.</em>'; + + return; + } + + for (var i = 0, len = entries.length; i < len ; i++) + { + var entry = entries[i][0]; + if (!entry) continue; + + var data = entry.split(","); + var url = data[0]; + var timestamp = data[1]; + + var row = t_link.insertRow(-1); + row.insertCell(0).innerHTML = '<a href="'+url+'" target="_blank">'+url+'</a>'; + row.insertCell(1).innerHTML = get_date(timestamp); + } + + var cell = t_link.insertRow(-1).insertCell(0); + cell.colSpan = 2; + cell.style.textAlign="center"; + cell.innerHTML = '<input type="button" onclick="link_list_clear()" class="cbi-button" value ="<%:Clear list%>" />'; + }) + } + + check_status(); + link_list_update(); +//]]></script> diff --git a/applications/luci-app-ddns/Makefile b/applications/luci-app-ddns/Makefile index 88c905a41a..69f9880d4f 100644 --- a/applications/luci-app-ddns/Makefile +++ b/applications/luci-app-ddns/Makefile @@ -2,7 +2,7 @@ # Copyright 2008 Steven Barth <steven@midlink.org> # Copyright 2008 Jo-Philipp Wich <jow@openwrt.org> # Copyright 2013 Manuel Munz <freifunk at somakoma dot de> -# Copyright 2014-2016 Christian Schoenebeck <christian dot schoenebeck at gmail dot com> +# Copyright 2014-2017 Christian Schoenebeck <christian dot schoenebeck at gmail dot com> # # This is free software, licensed under the Apache License, Version 2.0 @@ -16,7 +16,7 @@ PKG_VERSION:=2.4.8 # Release == build # increase on changes of translation files -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_LICENSE:=Apache-2.0 PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com> diff --git a/applications/luci-app-ddns/luasrc/controller/ddns.lua b/applications/luci-app-ddns/luasrc/controller/ddns.lua index 63bb8bf4be..1dfa625541 100755 --- a/applications/luci-app-ddns/luasrc/controller/ddns.lua +++ b/applications/luci-app-ddns/luasrc/controller/ddns.lua @@ -1,7 +1,7 @@ -- Copyright 2008 Steven Barth <steven@midlink.org> -- Copyright 2008 Jo-Philipp Wich <jow@openwrt.org> -- Copyright 2013 Manuel Munz <freifunk at somakoma dot de> --- Copyright 2014-2016 Christian Schoenebeck <christian dot schoenebeck at gmail dot com> +-- Copyright 2014-2017 Christian Schoenebeck <christian dot schoenebeck at gmail dot com> -- Licensed to the public under the Apache License 2.0. module("luci.controller.ddns", package.seeall) @@ -24,7 +24,7 @@ local srv_ver_min = "2.7.6" -- minimum version of service required local srv_ver_cmd = luci_helper .. [[ -V | awk {'print $2'}]] local app_name = "luci-app-ddns" local app_title = "Dynamic DNS" -local app_version = "2.4.8-1" +local app_version = "2.4.8-2" function index() local nxfs = require "nixio.fs" -- global definitions not available @@ -180,12 +180,10 @@ local function _get_status() end -- get/set monitored interface and IP version - local iface = s["interface"] or "_nonet_" + local iface = s["interface"] or "wan" local use_ipv6 = tonumber(s["use_ipv6"]) or 0 - if iface ~= "_nonet_" then - local ipv = (use_ipv6 == 1) and "IPv6" or "IPv4" - iface = ipv .. " / " .. iface - end + local ipv = (use_ipv6 == 1) and "IPv6" or "IPv4" + iface = ipv .. " / " .. iface -- try to get registered IP local lookup_host = s["lookup_host"] or "_nolookup_" diff --git a/applications/luci-app-ddns/po/pt-br/ddns.po b/applications/luci-app-ddns/po/pt-br/ddns.po index 4970846516..ab22837b28 100644 --- a/applications/luci-app-ddns/po/pt-br/ddns.po +++ b/applications/luci-app-ddns/po/pt-br/ddns.po @@ -2,15 +2,15 @@ msgid "" msgstr "" "Project-Id-Version: luci-app-ddns 2.4.0-1\n" "POT-Creation-Date: 2016-01-30 11:07+0100\n" -"PO-Revision-Date: 2016-07-01 22:40-0300\n" -"Last-Translator: Matheus Dal Mago <matheusdalmago10@gmail.com>\n" +"PO-Revision-Date: 2017-02-20 17:41-0300\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" "Language-Team: \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 1.8.8\n" +"X-Generator: Poedit 1.8.11\n" msgid "&" msgstr "&" @@ -228,7 +228,7 @@ msgid "Error Retry Interval" msgstr "Intervalo de tentativas em Erro" msgid "Event Network" -msgstr "" +msgstr "Rede de Evento" msgid "File" msgstr "Arquivo" @@ -438,16 +438,16 @@ msgid "No certificates found" msgstr "Nenhum certificado encontrado" msgid "No data" -msgstr "" +msgstr "Sem dados" msgid "No logging" -msgstr "" +msgstr "Sem registros" msgid "Non-public and by default blocked IP's" msgstr "IPs não públicos e bloqueados por padrão" msgid "Notice" -msgstr "" +msgstr "Aviso" msgid "Number of last lines stored in log files" msgstr "Número das últimas linhas salvas nos arquivos de log" @@ -475,7 +475,7 @@ msgstr "" "Em Erro, o script irá para a execução após um número definido de tentativas" msgid "OpenWrt Wiki" -msgstr "" +msgstr "Wiki do OpenWRT" msgid "Optional Encoded Parameter" msgstr "Parâmetro Opcionalmente Codificado" @@ -490,7 +490,7 @@ msgid "Optional: Replaces [PARAMOPT] in Update-URL (NOT URL-encoded)" msgstr "Opcional: Substitui [PARAMOPT] na URL de atualização" msgid "Overview" -msgstr "" +msgstr "Visão Geral" msgid "PROXY-Server" msgstr "servidor PROXY" @@ -575,7 +575,7 @@ msgid "There is no service configured." msgstr "Não há serviço configurado" msgid "Timer Settings" -msgstr "" +msgstr "Configurações do Controlador de Tempo" msgid "To change global settings click here" msgstr "Clique aqui para mudar configurações globais" diff --git a/applications/luci-app-dynapoint/Makefile b/applications/luci-app-dynapoint/Makefile index d16ef4a8fa..83512dba5e 100644 --- a/applications/luci-app-dynapoint/Makefile +++ b/applications/luci-app-dynapoint/Makefile @@ -9,9 +9,6 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI Support for DynaPoint LUCI_DEPENDS:=+dynapoint -PKG_NAME:=luci-app-dynapoint -PKG_VERSION:=1.0 -PKG_RELEASE:=1 PKG_LICENSE:=GPL-3.0+ PKG_MAINTAINER:=Tobias Ilte <tobias.ilte@campus.tu-berlin.de> include ../../luci.mk diff --git a/applications/luci-app-dynapoint/po/pt-br/dynapoint.po b/applications/luci-app-dynapoint/po/pt-br/dynapoint.po new file mode 100644 index 0000000000..59b02629a9 --- /dev/null +++ b/applications/luci-app-dynapoint/po/pt-br/dynapoint.po @@ -0,0 +1,107 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: pt_BR\n" + +msgid "Activate this wVIF if status is:" +msgstr "Aivar este wVIF se o estado for:" + +msgid "Append hostname to ssid" +msgstr "Sufixar o nome do equipamento ao SSID" + +msgid "Append the router's hostname to the SSID when connectivity check fails" +msgstr "" +"Sufixar o nome do roteador ao SSID quando a verificação da conectividade " +"falhar" + +msgid "Check Internet connectivity via HTTP header download" +msgstr "Cerifique a conectividade com a internet baixando o cabeçalho HTTP " + +msgid "Configuration" +msgstr "Configuração" + +msgid "Curl is currently not installed." +msgstr "O cURL não está instalado." + +msgid "Device" +msgstr "Dispositivo" + +msgid "Disabled" +msgstr "Desabilitado" + +msgid "DynaPoint" +msgstr "DynaPoint" + +msgid "Dynamic Access Point Manager" +msgstr "Gerenciamento do Ponto de Acesso Dinâmico" + +msgid "Enabled" +msgstr "Habilitado" + +msgid "" +"Failure counter after how many failed download attempts, the state is " +"considered as offline" +msgstr "Numero de falhar para considerar como inalcançável" + +msgid "List of Wireless Virtual Interfaces (wVIF)" +msgstr "Lista de Interfaces Virtuais Wireless (wVIF)" + +msgid "List of host addresses" +msgstr "Lista de endereços dos equipamentos" + +msgid "" +"List of host addresses (url or IP) to track and request http headers from" +msgstr "" +"Lista de endereços dos equipamentos (URL ou endereço IP) para requisitar " +"cabeçalhos HTTP" + +msgid "Mode" +msgstr "Modo" + +msgid "Not used by DynaPoint" +msgstr "Não usado pelo DynaPoint" + +msgid "Offline" +msgstr "Desconectado" + +msgid "Online" +msgstr "Conectado" + +msgid "SSID" +msgstr "SSID" + +msgid "Switch_to_offline threshold" +msgstr "Limiar para mudar para desconectado" + +msgid "Test-run interval" +msgstr "Intervalo para execução do teste" + +msgid "Time interval in seconds to re-start a new test run" +msgstr "Intervalo, em segundos, para reiniciar um nova execução do teste" + +msgid "Use curl" +msgstr "Usar cURL" + +msgid "Use curl instead of wget" +msgstr "Usar cURL ao invés do wget" + +msgid "Use curl instead of wget for testing the connectivity." +msgstr "Usar cURL ao invés do wget para testar a conectividade." + +msgid "Used interface" +msgstr "Dispositivos usadas" + +msgid "Which interface should curl use. (Use ifconfig to find out)" +msgstr "Qual dispositivo o cURL deve usar. (Use ifconfig para listá-las)" + +msgid "WiFi Status" +msgstr "Estado da WiFi" diff --git a/applications/luci-app-e2guardian/Makefile b/applications/luci-app-e2guardian/Makefile new file mode 100644 index 0000000000..c3ac029885 --- /dev/null +++ b/applications/luci-app-e2guardian/Makefile @@ -0,0 +1,18 @@ +# +# Copyright (C) 2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=E2Guardian LuCI Interface +LUCI_DEPENDS:=+luci-mod-admin-full +e2guardian + +PKG_MAINTAINER:=Marko Ratkaj <marko.ratkaj@sartura.hr> +PKG_LICENSE:=Apache-2.0 + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-e2guardian/luasrc/controller/e2guardian.lua b/applications/luci-app-e2guardian/luasrc/controller/e2guardian.lua new file mode 100644 index 0000000000..dd545f50ba --- /dev/null +++ b/applications/luci-app-e2guardian/luasrc/controller/e2guardian.lua @@ -0,0 +1,22 @@ +--[[ + +LuCI E2Guardian module + +Copyright (C) 2015, Itus Networks, Inc. + +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 + +Author: Marko Ratkaj <marko.ratkaj@sartura.hr> + Luka Perkov <luka.perkov@sartura.hr> + +]]-- + +module("luci.controller.e2guardian", package.seeall) + +function index() + entry({"admin", "services", "e2guardian"}, cbi("e2guardian"), _("E2Guardian")) +end diff --git a/applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua b/applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua new file mode 100644 index 0000000000..b62132108c --- /dev/null +++ b/applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua @@ -0,0 +1,399 @@ +--[[ + +LuCI E2Guardian module + +Copyright (C) 2015, Itus Networks, Inc. + +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 + +Author: Marko Ratkaj <marko.ratkaj@sartura.hr> + Luka Perkov <luka.perkov@sartura.hr> + +]]-- + +local fs = require "nixio.fs" +local sys = require "luci.sys" + +m = Map("e2guardian", translate("E2Guardian")) +m.on_after_commit = function() luci.sys.call("/etc/init.d/e2guardian restart") end + +s = m:section(TypedSection, "e2guardian") +s.anonymous = true +s.addremove = false + +s:tab("tab_general", translate("General Settings")) +s:tab("tab_additional", translate("Additional Settings")) +s:tab("tab_logs", translate("Logs")) + + +----------------- General Settings Tab ----------------------- + +filterip = s:taboption("tab_general", Value, "filterip", translate("IP that E2Guardian listens")) +filterip.datatype = "ip4addr" + +filterports = s:taboption("tab_general", Value, "filterports", translate("Port that E2Guardian listens")) +filterports.datatype = "portrange" +filterports.placeholder = "0-65535" + +proxyip = s:taboption("tab_general", Value, "proxyip", translate("IP address of the proxy")) +proxyip.datatype = "ip4addr" +proxyip.default = "127.0.0.1" + +proxyport = s:taboption("tab_general", Value, "proxyport", translate("Port of the proxy")) +proxyport.datatype = "portrange" +proxyport.placeholder = "0-65535" + +languagedir = s:taboption("tab_general", Value, "languagedir", translate("Language dir")) +languagedir.datatype = "string" +languagedir.default = "/usr/share/e2guardian/languages" + +language = s:taboption("tab_general", Value, "language", translate("Language to use")) +language.datatype = "string" +language.default = "ukenglish" + +loglevel = s:taboption("tab_general", ListValue, "loglevel", translate("Logging Settings")) +loglevel:value("0", translate("none")) +loglevel:value("1", translate("just denied")) +loglevel:value("2", translate("all text based")) +loglevel:value("3", translate("all requests")) +loglevel.default = "2" + +logexceptionhits = s:taboption("tab_general", ListValue, "logexceptionhits", translate("Log Exception Hits")) +logexceptionhits:value("0", translate("never")) +logexceptionhits:value("1", translate("log, but don't mark as exceptions")) +logexceptionhits:value("2", translate("log and mark")) +logexceptionhits.default = "2" + +logfileformat = s:taboption("tab_general", ListValue, "logfileformat", translate("Log File Format")) +logfileformat:value("1", translate("DansgGuardian format, space delimited")) +logfileformat:value("2", translate("CSV-style format")) +logfileformat:value("3", translate("Squid Log File Format")) +logfileformat:value("4", translate("Tab delimited")) +logfileformat:value("5", translate("Protex format")) +logfileformat:value("6", translate("Protex format with server field blanked")) +logfileformat.default = "1" + +accessdeniedaddress = s:taboption("tab_general", Value, "accessdeniedaddress", translate("Access denied address"), +translate("Server to which the cgi e2guardian reporting script was copied. Reporting levels 1 and 2 only")) +accessdeniedaddress.datatype = "string" +accessdeniedaddress.default = "http://YOURSERVER.YOURDOMAIN/cgi-bin/e2guardian.pl" + +usecustombannedimage = s:taboption("tab_general", ListValue, "usecustombannedimage", translate("Banned image replacement")) +usecustombannedimage:value("on", translate("Yes")) +usecustombannedimage:value("off", translate("No")) +usecustombannedimage.default = "on" + +custombannedimagefile = s:taboption("tab_general", Value, "custombannedimagefile", translate("Custom banned image file")) +custombannedimagefile.datatype = "string" +custombannedimagefile.default = "/usr/share/e2guardian/transparent1x1.gif" + +usecustombannedflash = s:taboption("tab_general", ListValue, "usecustombannedflash", translate("Banned flash replacement")) +usecustombannedflash:value("on", translate("Yes")) +usecustombannedflash:value("off", translate("No")) +usecustombannedflash.default = "on" + +custombannedflashfile = s:taboption("tab_general", Value, "custombannedflashfile", translate("Custom banned flash file")) +custombannedflashfile.datatype = "string" +custombannedflashfile.default = "/usr/share/e2guardian/blockedflash.swf" + +filtergroups = s:taboption("tab_general", Value, "filtergroups", translate("Number of filter groups")) +filtergroups.datatype = "and(uinteger,min(1))" +filtergroups.default = "1" + +filtergroupslist = s:taboption("tab_general", Value, "filtergroupslist", translate("List of filter groups")) +filtergroupslist.datatype = "string" +filtergroupslist.default = "/etc/e2guardian/lists/filtergroupslist" + +bannediplist = s:taboption("tab_general", Value, "bannediplist", translate("List of banned IPs")) +bannediplist.datatype = "string" +bannediplist.default = "/etc/e2guardian/lists/bannediplist" + +exceptioniplist = s:taboption("tab_general", Value, "exceptioniplist", translate("List of IP exceptions")) +exceptioniplist.datatype = "string" +exceptioniplist.default = "/etc/e2guardian/lists/exceptioniplist" + +perroomblockingdirectory = s:taboption("tab_general", Value, "perroomblockingdirectory", translate("Per-Room blocking definition directory")) +perroomblockingdirectory.datatype = "string" +perroomblockingdirectory.default = "/etc/e2guardian/lists/bannedrooms/" + +showweightedfound = s:taboption("tab_general", ListValue, "showweightedfound", translate("Show weighted phrases found")) +showweightedfound:value("on", translate("Yes")) +showweightedfound:value("off", translate("No")) +showweightedfound.default = "on" + +weightedphrasemode = s:taboption("tab_general", ListValue, "weightedphrasemode", translate("Weighted phrase mode")) +weightedphrasemode:value("0", translate("off")) +weightedphrasemode:value("1", translate("on, normal operation")) +weightedphrasemode:value("2", translate("on, phrase found only counts once on a page")) +weightedphrasemode.default = "2" + +urlcachenumber = s:taboption("tab_general", Value, "urlcachenumber", translate("Clean result caching for URLs")) +urlcachenumber.datatype = "and(uinteger,min(0))" +urlcachenumber.default = "1000" + +urlcacheage = s:taboption("tab_general", Value, "urlcacheage", translate("Age before they should be ignored in seconds")) +urlcacheage.datatype = "and(uinteger,min(0))" +urlcacheage.default = "900" + +scancleancache = s:taboption("tab_general", ListValue, "scancleancache", translate("Cache for content (AV) scans as 'clean'")) +scancleancache:value("on", translate("Yes")) +scancleancache:value("off", translate("No")) +scancleancache.default = "on" + +phrasefiltermode = s:taboption("tab_general", ListValue, "phrasefiltermode", translate("Filtering options")) +phrasefiltermode:value("0", translate("raw")) +phrasefiltermode:value("1", translate("smart")) +phrasefiltermode:value("2", translate("both raw and smart")) +phrasefiltermode:value("3", translate("meta/title")) +phrasefiltermode.default = "2" + +preservecase = s:taboption("tab_general", ListValue, "perservecase", translate("Lower caseing options")) +preservecase:value("0", translate("force lower case")) +preservecase:value("1", translate("don't change")) +preservecase:value("2", translate("scan fist in lower, then in original")) +preservecase.default = "0" + +hexdecodecontent = s:taboption("tab_general", ListValue, "hexdecodecontent", translate("Hex decoding options")) +hexdecodecontent:value("on", translate("Yes")) +hexdecodecontent:value("off", translate("No")) +hexdecodecontent.default = "off" + +forcequicksearch = s:taboption("tab_general", ListValue, "forcequicksearch", translate("Quick search")) +forcequicksearch:value("on", translate("Yes")) +forcequicksearch:value("off", translate("No")) +forcequicksearch.default = "off" + +reverseaddresslookups= s:taboption("tab_general", ListValue, "reverseaddresslookups", translate("Reverse lookups for banned site and URLs")) +reverseaddresslookups:value("on", translate("Yes")) +reverseaddresslookups:value("off", translate("No")) +reverseaddresslookups.default = "off" + +reverseclientiplookups = s:taboption("tab_general", ListValue, "reverseclientiplookups", translate("Reverse lookups for banned and exception IP lists")) +reverseclientiplookups:value("on", translate("Yes")) +reverseclientiplookups:value("off", translate("No")) +reverseclientiplookups.default = "off" + +logclienthostnames = s:taboption("tab_general", ListValue, "logclienthostnames", translate("Perform reverse lookups on client IPs for successful requests")) +logclienthostnames:value("on", translate("Yes")) +logclienthostnames:value("off", translate("No")) +logclienthostnames.default = "off" + +createlistcachefiles = s:taboption("tab_general", ListValue, "createlistcachefiles", translate("Build bannedsitelist and bannedurllist cache files")) +createlistcachefiles:value("on",translate("Yes")) +createlistcachefiles:value("off",translate("No")) +createlistcachefiles.default = "on" + +prefercachedlists = s:taboption("tab_general", ListValue, "prefercachedlists", translate("Prefer cached list files")) +prefercachedlists:value("on", translate("Yes")) +prefercachedlists:value("off", translate("No")) +prefercachedlists.default = "off" + +maxuploadsize = s:taboption("tab_general", Value, "maxuploadsize", translate("Max upload size (in Kbytes)")) +maxuploadsize:value("-1", translate("no blocking")) +maxuploadsize:value("0", translate("complete block")) +maxuploadsize.default = "-1" + +maxcontentfiltersize = s:taboption("tab_general", Value, "maxcontentfiltersize", translate("Max content filter size"), +translate("The value must not be higher than max content ram cache scan size or 0 to match it")) +maxcontentfiltersize.datatype = "and(uinteger,min(0))" +maxcontentfiltersize.default = "256" + +maxcontentramcachescansize = s:taboption("tab_general", Value, "maxcontentramcachescansize", translate("Max content ram cache scan size"), +translate("This is the max size of file that DG will download and cache in RAM")) +maxcontentramcachescansize.datatype = "and(uinteger,min(0))" +maxcontentramcachescansize.default = "2000" + +maxcontentfilecachescansize = s:taboption("tab_general", Value, "maxcontentfilecachescansize", translate("Max content file cache scan size")) +maxcontentfilecachescansize.datatype = "and(uinteger,min(0))" +maxcontentfilecachescansize.default = "20000" + +proxytimeout = s:taboption("tab_general", Value, "proxytimeout", translate("Proxy timeout (5-100)")) +proxytimeout.datatype = "range(5,100)" +proxytimeout.default = "20" + +proxyexchange = s:taboption("tab_general", Value, "proxyexchange", translate("Proxy header excahnge (20-300)")) +proxyexchange.datatype = "range(20,300)" +proxyexchange.default = "20" + +pcontimeout = s:taboption("tab_general", Value, "pcontimeout", translate("Pconn timeout"), +translate("How long a persistent connection will wait for other requests")) +pcontimeout.datatype = "range(5,300)" +pcontimeout.default = "55" + +filecachedir = s:taboption("tab_general", Value, "filecachedir", translate("File cache directory")) +filecachedir.datatype = "string" +filecachedir.default = "/tmp" + +deletedownloadedtempfiles = s:taboption("tab_general", ListValue, "deletedownloadedtempfiles", translate("Delete file cache after user completes download")) +deletedownloadedtempfiles:value("on", translate("Yes")) +deletedownloadedtempfiles:value("off", translate("No")) +deletedownloadedtempfiles.default = "on" + +initialtrickledelay = s:taboption("tab_general", Value, "initialtrickledelay", translate("Initial Trickle delay"), +translate("Number of seconds a browser connection is left waiting before first being sent *something* to keep it alive")) +initialtrickledelay.datatype = "and(uinteger,min(0))" +initialtrickledelay.default = "20" + +trickledelay = s:taboption("tab_general", Value, "trickledelay", translate("Trickle delay"), +translate("Number of seconds a browser connection is left waiting before being sent more *something* to keep it alive")) +trickledelay.datatype = "and(uinteger,min(0))" +trickledelay.default = "10" + +downloadmanager = s:taboption("tab_general", Value, "downloadmanager", translate("Download manager")) +downloadmanager.datatype = "string" +downloadmanager.default = "/etc/e2guardian/downloadmanagers/default.conf" + +contentscannertimeout = s:taboption("tab_general", Value, "contentscannertimeout", translate("Content scanner timeout")) +contentscannertimeout.datatype = "and(uinteger,min(0))" +contentscannertimeout.default = "60" + +contentscanexceptions = s:taboption("tab_general", ListValue, "contentscanexceptions", translate("Content scan exceptions")) +contentscanexceptions:value("on", translate("Yes")) +contentscanexceptions:value("off", translate("No")) +contentscanexceptions.default = "off" + +recheckreplacedurls = s:taboption("tab_general", ListValue, "recheckreplacedurls", translate("e-check replaced URLs")) +recheckreplacedurls:value("on", translate("Yes")) +recheckreplacedurls:value("off", translate("No")) +recheckreplacedurls.default = "off" + +forwardedfor = s:taboption("tab_general", ListValue, "forwardedfor", translate("Misc setting: forwardedfor"), +translate("If on, it may help solve some problem sites that need to know the source ip.")) +forwardedfor:value("on", translate("Yes")) +forwardedfor:value("off", translate("No")) +forwardedfor.default = "off" + +usexforwardedfor = s:taboption("tab_general", ListValue, "usexforwardedfor", translate("Misc setting: usexforwardedfor"), +translate("This is for when you have squid between the clients and E2Guardian")) +usexforwardedfor:value("on", translate("Yes")) +usexforwardedfor:value("off", translate("No")) +usexforwardedfor.default = "off" + +logconnectionhandlingerrors = s:taboption("tab_general", ListValue, "logconnectionhandlingerrors", translate("Log debug info about log()ing and accept()ing")) +logconnectionhandlingerrors:value("on", translate("Yes")) +logconnectionhandlingerrors:value("off", translate("No")) +logconnectionhandlingerrors.default = "on" + +logchildprocesshandling = s:taboption("tab_general", ListValue, "logchildprocesshandling", translate("Log child process handling")) +logchildprocesshandling:value("on", translate("Yes")) +logchildprocesshandling:value("off", translate("No")) +logchildprocesshandling.default = "off" + +maxchildren = s:taboption("tab_general", Value, "maxchildren", translate("Max number of processes to spawn")) +maxchildren.datatype = "and(uinteger,min(0))" +maxchildren.default = "180" + +minchildren = s:taboption("tab_general", Value, "minchildren", translate("Min number of processes to spawn")) +minchildren.datatype = "and(uinteger,min(0))" +minchildren.default = "20" + +minsparechildren = s:taboption("tab_general", Value, "minsparechildren", translate("Min number of processes to keep ready")) +minsparechildren.datatype = "and(uinteger,min(0))" +minsparechildren.default = "16" + +preforkchildren = s:taboption("tab_general", Value, "preforkchildren", translate("Sets minimum nuber of processes when it runs out")) +preforkchildren.datatype = "and(uinteger,min(0))" +preforkchildren.default = "10" + +maxsparechildren = s:taboption("tab_general", Value, "maxsparechildren", translate("Sets the maximum number of processes to have doing nothing")) +maxsparechildren.datatype = "and(uinteger,min(0))" +maxsparechildren.default = "32" + +maxagechildren = s:taboption("tab_general", Value, "maxagechildren", translate("Max age of child process")) +maxagechildren.datatype = "and(uinteger,min(0))" +maxagechildren.default = "500" + +maxips = s:taboption("tab_general", Value, "maxips", translate("Max number of clinets allowed to connect")) +maxips:value("0", translate("no limit")) +maxips.default = "0" + +ipipcfilename = s:taboption("tab_general", Value, "ipipcfilename", translate("IP list IPC server directory and filename")) +ipipcfilename.datatype = "string" +ipipcfilename.default = "/tmp/.dguardianipc" + +urlipcfilename = s:taboption("tab_general", Value, "urlipcfilename", translate("Defines URL list IPC server directory and filename used to communicate with the URL cache process")) +urlipcfilename.datatype = "string" +urlipcfilename.default = "/tmp/.dguardianurlipc" + +ipcfilename = s:taboption("tab_general", Value, "ipcfilename", translate("Defines URL list IPC server directory and filename used to communicate with the URL cache process")) +ipcfilename.datatype = "string" +ipcfilename.default = "/tmp/.dguardianipipc" + +nodeamon = s:taboption("tab_general", ListValue, "nodeamon", translate("Disable deamoning")) +nodeamon:value("on", translate("Yes")) +nodeamon:value("off", translate("No")) +nodeamon.default = "off" + +nologger = s:taboption("tab_general", ListValue, "nologger", translate("Disable logger")) +nologger:value("on", translate("Yes")) +nologger:value("off", translate("No")) +nologger.default = "off" + +logadblock = s:taboption("tab_general", ListValue, "logadblock", translate("Enable logging of ADs")) +logadblock:value("on", translate("Yes")) +logadblock:value("off", translate("No")) +logadblock.default = "off" + +loguseragent = s:taboption("tab_general", ListValue, "loguseragent", translate("Enable logging of client user agent")) +loguseragent:value("on", translate("Yes")) +loguseragent:value("off", translate("No")) +loguseragent.default = "off" + +softrestart = s:taboption("tab_general", ListValue, "softrestart", translate("Enable soft restart")) +softrestart:value("on", translate("Yes")) +softrestart:value("off", translate("No")) +softrestart.default = "off" + + +------------------------ Additional Settings Tab ---------------------------- + +e2guardian_config_file = s:taboption("tab_additional", TextValue, "_data", "") +e2guardian_config_file.wrap = "off" +e2guardian_config_file.rows = 25 +e2guardian_config_file.rmempty = false + +function e2guardian_config_file.cfgvalue() + local uci = require "luci.model.uci".cursor_state() + file = "/etc/e2guardian/e2guardianf1.conf" + if file then + return fs.readfile(file) or "" + else + return "" + end +end + +function e2guardian_config_file.write(self, section, value) + if value then + local uci = require "luci.model.uci".cursor_state() + file = "/etc/e2guardian/e2guardianf1.conf" + fs.writefile(file, value:gsub("\r\n", "\n")) + end +end + + +---------------------------- Logs Tab ----------------------------- + +e2guardian_logfile = s:taboption("tab_logs", TextValue, "lines", "") +e2guardian_logfile.wrap = "off" +e2guardian_logfile.rows = 25 +e2guardian_logfile.rmempty = true + +function e2guardian_logfile.cfgvalue() + local uci = require "luci.model.uci".cursor_state() + file = "/tmp/e2guardian/access.log" + if file then + return fs.readfile(file) or "" + else + return "Can't read log file" + end +end + +function e2guardian_logfile.write() + return "" +end + +return m diff --git a/applications/luci-app-firewall/luasrc/model/cbi/firewall/zones.lua b/applications/luci-app-firewall/luasrc/model/cbi/firewall/zones.lua index 694bbd872e..500e5078f4 100644 --- a/applications/luci-app-firewall/luasrc/model/cbi/firewall/zones.lua +++ b/applications/luci-app-firewall/luasrc/model/cbi/firewall/zones.lua @@ -19,7 +19,6 @@ s.addremove = false s:option(Flag, "syn_flood", translate("Enable SYN-flood protection")) o = s:option(Flag, "drop_invalid", translate("Drop invalid packets")) -o.default = o.enabled p = { s:option(ListValue, "input", translate("Input")), diff --git a/applications/luci-app-firewall/po/pt-br/firewall.po b/applications/luci-app-firewall/po/pt-br/firewall.po index 2d601f8575..ab714b50b9 100644 --- a/applications/luci-app-firewall/po/pt-br/firewall.po +++ b/applications/luci-app-firewall/po/pt-br/firewall.po @@ -1,17 +1,17 @@ msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2014-06-21 19:03+0200\n" -"Last-Translator: Éder <eder.grigorio@openmailbox.org>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"PO-Revision-Date: 2017-02-20 17:43-0300\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Pootle 2.0.6\n" +"X-Generator: Poedit 1.8.11\n" +"Language-Team: \n" msgid "%s in %s" msgstr "%s in %s" @@ -143,7 +143,7 @@ msgid "Forward to" msgstr "Encaminhar para" msgid "Friday" -msgstr "" +msgstr "Sexta-feira" msgid "From %s in %s" msgstr "Vindo de %s em %s" @@ -222,10 +222,10 @@ msgstr "" "equipamento cliente." msgid "Monday" -msgstr "" +msgstr "Segunda-Feira" msgid "Month Days" -msgstr "" +msgstr "Dias do mês" msgid "Name" msgstr "Nome" @@ -296,7 +296,7 @@ msgid "Redirect matched incoming traffic to the specified internal host" msgstr "Redireciona tráfego entrante para o computador interno especificado" msgid "Restart Firewall" -msgstr "" +msgstr "Reiniciar o Firewall" msgid "Restrict Masquerading to given destination subnets" msgstr "Restringe o mascaramento para uma subrede de destino especÃfica" @@ -330,7 +330,7 @@ msgid "SNAT port" msgstr "Porta da SNAT" msgid "Saturday" -msgstr "" +msgstr "Sábado" msgid "Source IP address" msgstr "Endereço IP de origem" @@ -360,19 +360,19 @@ msgid "Source zone" msgstr "Zona de origem" msgid "Start Date (yyyy-mm-dd)" -msgstr "" +msgstr "Dia inicial (aaaa-mm-dd)" msgid "Start Time (hh:mm:ss)" -msgstr "" +msgstr "Hora inicial (hh:mm:ss)" msgid "Stop Date (yyyy-mm-dd)" -msgstr "" +msgstr "Dia final (aaaa-mm-dd)" msgid "Stop Time (hh:mm:ss)" -msgstr "" +msgstr "Hora final (hh:mm:ss)" msgid "Sunday" -msgstr "" +msgstr "Domingo" msgid "" "The firewall creates zones over your network interfaces to control network " @@ -411,7 +411,6 @@ msgstr "" "Esta página permite que você mude propriedades avançadas da entrada da regra " "de tráfego, como os equipamentos de origem e destino." -#, fuzzy msgid "" "This section defines common properties of %q. The <em>input</em> and " "<em>output</em> options set the default policies for traffic entering and " @@ -427,10 +426,10 @@ msgstr "" "zona." msgid "Thursday" -msgstr "" +msgstr "Quita-feira" msgid "Time in UTC" -msgstr "" +msgstr "Hora em UTC" msgid "To %s at %s on <var>this device</var>" msgstr "Para %s em %s <var>neste dispositivo</var>" @@ -463,7 +462,7 @@ msgstr "" "ou abrir portas WAN no roteador." msgid "Tuesday" -msgstr "" +msgstr "Terça-feira" msgid "Via %s" msgstr "Via %s" @@ -472,10 +471,10 @@ msgid "Via %s at %s" msgstr "Via %s at %s" msgid "Wednesday" -msgstr "" +msgstr "Quarta-feira" msgid "Week Days" -msgstr "" +msgstr "Dias da semana" msgid "" "You may specify multiple by selecting \"-- custom --\" and then entering " diff --git a/applications/luci-app-fwknopd/Makefile b/applications/luci-app-fwknopd/Makefile index 3fbd88ad61..ba7a8568e7 100644 --- a/applications/luci-app-fwknopd/Makefile +++ b/applications/luci-app-fwknopd/Makefile @@ -8,8 +8,6 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=Fwknopd config - web config for the firewall knock daemon LUCI_DEPENDS:=+fwknopd +qrencode -PKG_VERSION:=1.0 -PKG_RELEASE:=1 PKG_LICENSE:=GPLv2 PKG_MAINTAINER:=Jonathan Bennett <JBennett@incomsystems.biz> include ../../luci.mk diff --git a/applications/luci-app-fwknopd/po/pt-br/fwknopd.po b/applications/luci-app-fwknopd/po/pt-br/fwknopd.po new file mode 100644 index 0000000000..286b49db31 --- /dev/null +++ b/applications/luci-app-fwknopd/po/pt-br/fwknopd.po @@ -0,0 +1,116 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: pt_BR\n" + +msgid "" +"Allow SPA clients to request access to services through an iptables firewall " +"instead of just to it." +msgstr "" +"Permitir que clientes SPA requeiram acesso a serviços através de um firewall " +"iptables ao invés de apenas fazê-lo." + +msgid "Allow SPA clients to request forwarding destination by DNS name." +msgstr "" +"Permitir que clientes SPA requeiram encaminhamento de destinos por nome DNS." + +msgid "Base 64 key" +msgstr "Chave em formato base64" + +msgid "" +"Define a set of ports and protocols (tcp or udp) that will be opened if a " +"valid knock sequence is seen. If this entry is not set, fwknopd will attempt " +"to honor any proto/port request specified in the SPA data (unless of it " +"matches any “RESTRICT_PORTS†entries). Multiple entries are comma-separated." +msgstr "" +"Define um conjunto de porta e protocolos (TCP ou UDP) que serão abertos se " +"uma sequência de batidas for observada. Se esta entrada não estiver " +"definida, fwknopd irá tentar honrar qualquer requisição de protocolo/porta " +"especificada nos dados SPA (a não ser se casar com qualquer entrada de " +"\"RESTRICT_PORTS\"). Múltiplas entradas serão separadas por vÃrgula." + +msgid "" +"Define the length of time access will be granted by fwknopd through the " +"firewall after a valid knock sequence from a source IP address. If " +"“FW_ACCESS_TIMEOUT†is not set then the default timeout of 30 seconds will " +"automatically be set." +msgstr "" +"Define a duração do tempo de acesso que será concedido pelo fwknopd através " +"do firewall depois de uma sequência de batidas válida de um endereço IP. Se " +"“FW_ACCESS_TIMEOUT†não estiver definido, o valor padrão será de 30 " +"segundos. " + +msgid "" +"Define the symmetric key used for decrypting an incoming SPA packet that is " +"encrypted by the fwknop client with Rijndael." +msgstr "" +"Define a chave simétrica usada para decifrar um pacote SPA entrante que foi " +"cifrado pelo cliente fwknop com o algoritmo Rijndael." + +msgid "Enable Uci/Luci control" +msgstr "Habilitar o controle UCI/Luci" + +msgid "Enable config overwrite" +msgstr "Habilitar a sobrescrita da configuração" + +msgid "Firewall Knock Daemon" +msgstr "Servidor do Firwall Knock" + +msgid "Firewall Knock Operator" +msgstr "Operador do Firewall Knock" + +msgid "" +"Force all SPA packets to contain a real IP address within the encrypted " +"data. This makes it impossible to use the -s command line argument on the " +"fwknop client command line, so either -R has to be used to automatically " +"resolve the external address (if the client behind a NAT) or the client must " +"know the external IP and set it via the -a argument." +msgstr "" +"Forçar que todos os pacotes SPA contenham um endereço IP real dentro do " +"pacote cifrado. Isto torna impossÃvel o uso do argumento de linha de comando " +"'-s' no cliente fwknop. Desta forma, ou o argumento '-R' deve ser usada para " +"resolver os endereços externos automaticamente (se o cliente estiver atrás " +"de uma NAT) ou o ciente deve conhecer o seu endereço IP externo e defini-lo " +"através do argumento '-a'." + +msgid "" +"Maximum age in seconds that an SPA packet will be accepted. defaults to 120 " +"seconds" +msgstr "" +"Idade máxima, em segundos, que um pacote SPA será aceito. Padrão é 120 " +"segundos." + +msgid "Normal Key" +msgstr "Chave Normal" + +msgid "Specify the ethernet interface on which fwknopd will sniff packets." +msgstr "" +"Especifica o dispositivo ethernet no qual o fwknopd irá observar os pacotes." + +msgid "The base64 hmac key" +msgstr "A chave de autenticação HMAC em formato base64" + +msgid "Use ANY for any source ip" +msgstr "Use \"ANY\" para qualquer endereço IP de origem" + +msgid "" +"When unchecked, the config files in /etc/fwknopd will be used as is, " +"ignoring any settings here." +msgstr "" +"Quando desmarcado, os arquivos de configuração em /etc/fwknopd serão usados " +"como estão, ignorando qualquer ajustes feitos aqui." + +msgid "access.conf stanzas" +msgstr "Estâncias do access.conf" + +msgid "fwknopd.conf config options" +msgstr "Opções do fwknopd.conf" diff --git a/applications/luci-app-hd-idle/luasrc/controller/hd_idle.lua b/applications/luci-app-hd-idle/luasrc/controller/hd_idle.lua index f273a551df..9a981acac3 100644 --- a/applications/luci-app-hd-idle/luasrc/controller/hd_idle.lua +++ b/applications/luci-app-hd-idle/luasrc/controller/hd_idle.lua @@ -10,6 +10,6 @@ function index() local page - page = entry({"admin", "services", "hd_idle"}, cbi("hd_idle"), _("hd-idle"), 60) + page = entry({"admin", "services", "hd_idle"}, cbi("hd_idle"), _("HDD Idle"), 60) page.dependent = true end diff --git a/applications/luci-app-hd-idle/luasrc/model/cbi/hd_idle.lua b/applications/luci-app-hd-idle/luasrc/model/cbi/hd_idle.lua index 70b04af909..c15fdc028a 100644 --- a/applications/luci-app-hd-idle/luasrc/model/cbi/hd_idle.lua +++ b/applications/luci-app-hd-idle/luasrc/model/cbi/hd_idle.lua @@ -3,8 +3,8 @@ require("nixio.fs") -m = Map("hd-idle", "hd-idle", - translate("hd-idle is a utility program for spinning-down external " .. +m = Map("hd-idle", translate("HDD Idle"), + translate("HDD Idle is a utility program for spinning-down external " .. "disks after a period of idle time.")) s = m:section(TypedSection, "hd-idle", translate("Settings")) @@ -18,9 +18,9 @@ for dev in nixio.fs.glob("/dev/[sh]d[a-z]") do disk:value(nixio.fs.basename(dev)) end -s:option(Value, "idle_time_interval", translate("Idle-time")).default = 10 +s:option(Value, "idle_time_interval", translate("Idle time")).default = 10 s.rmempty = true -unit = s:option(ListValue, "idle_time_unit", translate("Idle-time unit")) +unit = s:option(ListValue, "idle_time_unit", translate("Idle time unit")) unit.default = "minutes" unit:value("minutes", translate("min")) unit:value("hours", translate("h")) diff --git a/applications/luci-app-hd-idle/po/ca/hd_idle.po b/applications/luci-app-hd-idle/po/ca/hd_idle.po index 29618a8961..10ca4cd1cb 100644 --- a/applications/luci-app-hd-idle/po/ca/hd_idle.po +++ b/applications/luci-app-hd-idle/po/ca/hd_idle.po @@ -21,10 +21,20 @@ msgstr "Disc" msgid "Enable" msgstr "Habilita" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "HDD Idle" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"HDD Idle és un programa per ralentitzar els discos externs després d'un " +"perÃode de temps inactiu." + +msgid "Idle time" msgstr "Temps d'inactivitat" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "Unitat de temps d'inactivitat" msgid "Settings" @@ -34,16 +44,6 @@ msgstr "Ajusts" msgid "h" msgstr "h" -msgid "hd-idle" -msgstr "hd-idle" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"hd-idle és un programa per ralentitzar els discos externs després d'un " -"perÃode de temps inactiu." - # Minutes (not minimum) msgid "min" msgstr "min" diff --git a/applications/luci-app-hd-idle/po/cs/hd_idle.po b/applications/luci-app-hd-idle/po/cs/hd_idle.po index e2deb9b20c..b77539278e 100644 --- a/applications/luci-app-hd-idle/po/cs/hd_idle.po +++ b/applications/luci-app-hd-idle/po/cs/hd_idle.po @@ -21,10 +21,20 @@ msgstr "Disk" msgid "Enable" msgstr "Povolit" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "HDD Idle" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"HDD Idle je utilita pro vypnutà externÃch pevných disků po urÄité dobÄ› " +"neÄinnosti." + +msgid "Idle time" msgstr "ÄŒas neÄinnosti" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "ÄŒas neÄinnosti - jednotka" msgid "Settings" @@ -34,16 +44,6 @@ msgstr "NastavenÃ" msgid "h" msgstr "h" -msgid "hd-idle" -msgstr "hd-idle" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"hd-idle je utilita pro vypnutà externÃch pevných disků po urÄité dobÄ› " -"neÄinnosti." - # Minut (ne minimum) msgid "min" msgstr "min" diff --git a/applications/luci-app-hd-idle/po/de/hd_idle.po b/applications/luci-app-hd-idle/po/de/hd_idle.po index fa54896571..79fa603f07 100644 --- a/applications/luci-app-hd-idle/po/de/hd_idle.po +++ b/applications/luci-app-hd-idle/po/de/hd_idle.po @@ -19,10 +19,20 @@ msgstr "Festplatte" msgid "Enable" msgstr "Aktivieren" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "HDD Idle" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"HDD Idle ist ein Hilfsprogramm um externe Festplatten nach einer " +"festgelegten Leerlaufzeit herunter zu fahren." + +msgid "Idle time" msgstr "Leerlaufzeit" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "Leerlaufzeiteinheit" msgid "Settings" @@ -32,16 +42,6 @@ msgstr "Einstellungen" msgid "h" msgstr "Stunden" -msgid "hd-idle" -msgstr "hd-idle" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"hd-idle ist ein Hilfsprogramm um externe Festplatten nach einer festgelegten " -"Leerlaufzeit herunter zu fahren." - # Minutes (not minimum) msgid "min" msgstr "Minuten" diff --git a/applications/luci-app-hd-idle/po/el/hd_idle.po b/applications/luci-app-hd-idle/po/el/hd_idle.po index 4d7c23dfa4..e4f006adf7 100644 --- a/applications/luci-app-hd-idle/po/el/hd_idle.po +++ b/applications/luci-app-hd-idle/po/el/hd_idle.po @@ -19,10 +19,18 @@ msgstr "Δίσκος" msgid "Enable" msgstr "ΕνεÏγοποίηση" -msgid "Idle-time" +msgid "HDD Idle" msgstr "" -msgid "Idle-time unit" +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" + +msgid "Idle time" +msgstr "" + +msgid "Idle time unit" msgstr "" msgid "Settings" @@ -32,14 +40,6 @@ msgstr "Ρυθμίσεις" msgid "h" msgstr "ω" -msgid "hd-idle" -msgstr "" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" - # Minutes (not minimum) msgid "min" msgstr "λεπτά" diff --git a/applications/luci-app-hd-idle/po/en/hd_idle.po b/applications/luci-app-hd-idle/po/en/hd_idle.po index 7aa4db5fe5..3ed519f182 100644 --- a/applications/luci-app-hd-idle/po/en/hd_idle.po +++ b/applications/luci-app-hd-idle/po/en/hd_idle.po @@ -17,11 +17,21 @@ msgstr "Disk" msgid "Enable" msgstr "Enable" -msgid "Idle-time" -msgstr "Idle-time" +msgid "HDD Idle" +msgstr "" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." + +msgid "Idle time" +msgstr "Idle time" -msgid "Idle-time unit" -msgstr "Idle-time unit" +msgid "Idle time unit" +msgstr "Idle time unit" msgid "Settings" msgstr "Settings" @@ -30,16 +40,6 @@ msgstr "Settings" msgid "h" msgstr "h" -msgid "hd-idle" -msgstr "" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." - # Minutes (not minimum) msgid "min" msgstr "min" diff --git a/applications/luci-app-hd-idle/po/es/hd_idle.po b/applications/luci-app-hd-idle/po/es/hd_idle.po index d2bb017a05..09dd3b80d1 100644 --- a/applications/luci-app-hd-idle/po/es/hd_idle.po +++ b/applications/luci-app-hd-idle/po/es/hd_idle.po @@ -19,10 +19,20 @@ msgstr "Disco" msgid "Enable" msgstr "Activar" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "HDD Idle" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"HDD Idle es un programa que gestiona el reposo de discos externos tras un " +"tiempo de inactividad." + +msgid "Idle time" msgstr "Tiempo de inactividad" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "Unidad de tiempo" msgid "Settings" @@ -32,16 +42,6 @@ msgstr "Configuración" msgid "h" msgstr "h" -msgid "hd-idle" -msgstr "hd-idle" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"hd-idle es un programa que gestiona el reposo de discos externos tras un " -"tiempo de inactividad." - # Minutes (not minimum) msgid "min" msgstr "minutos" diff --git a/applications/luci-app-hd-idle/po/fr/hd_idle.po b/applications/luci-app-hd-idle/po/fr/hd_idle.po index 00c092d487..ea30bf192a 100644 --- a/applications/luci-app-hd-idle/po/fr/hd_idle.po +++ b/applications/luci-app-hd-idle/po/fr/hd_idle.po @@ -19,10 +19,20 @@ msgstr "Disque" msgid "Enable" msgstr "Activer" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "HDD Idle" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"HDD Idle est un utilitaire pour arrêter la rotation des disques externes " +"après une période d'inactivité." + +msgid "Idle time" msgstr "Temps d'inactivité" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "Unité de temps" msgid "Settings" @@ -32,16 +42,6 @@ msgstr "Réglages" msgid "h" msgstr "h" -msgid "hd-idle" -msgstr "hd-idle" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"hd-idle est un utilitaire pour arrêter la rotation des disques externes " -"après une période d'inactivité." - # Minutes (not minimum) msgid "min" msgstr "min" diff --git a/applications/luci-app-hd-idle/po/he/hd_idle.po b/applications/luci-app-hd-idle/po/he/hd_idle.po index 0ffde90453..8a73d5f9b8 100644 --- a/applications/luci-app-hd-idle/po/he/hd_idle.po +++ b/applications/luci-app-hd-idle/po/he/hd_idle.po @@ -21,10 +21,20 @@ msgstr "×›×•× ×Ÿ" msgid "Enable" msgstr "×פשר" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"HDD Idle ×”×™× ×” ×ª×•×›× ×ª שירות שמטרתה להקטין ×ת מהירות הסיבוב של ×›×•× × ×™× ×—×™×¦×•× ×™×™× " +"ל×חר זמן ×ž×¡×•×™× ×©×œ חוסר פעילות." + +msgid "Idle time" msgstr "זמן חוסר פעילות" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "יחידת זמן חוסר פעילות" msgid "Settings" @@ -34,16 +44,6 @@ msgstr "הגדרות" msgid "h" msgstr "ש'" -msgid "hd-idle" -msgstr "" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"hd-idle ×”×™× ×” ×ª×•×›× ×ª שירות שמטרתה להקטין ×ת מהירות הסיבוב של ×›×•× × ×™× ×—×™×¦×•× ×™×™× " -"ל×חר זמן ×ž×¡×•×™× ×©×œ חוסר פעילות." - # Minutes (not minimum) msgid "min" msgstr "דק'" diff --git a/applications/luci-app-hd-idle/po/hu/hd_idle.po b/applications/luci-app-hd-idle/po/hu/hd_idle.po index 543a8fc2cc..d902ee0f83 100644 --- a/applications/luci-app-hd-idle/po/hu/hd_idle.po +++ b/applications/luci-app-hd-idle/po/hu/hd_idle.po @@ -21,10 +21,20 @@ msgstr "Lemez" msgid "Enable" msgstr "Engedélyezés" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "HDD Idle" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"HDD Idle egy a külsÅ‘ lemezek adott üresjárati idÅ‘ után történÅ‘ leállÃtására " +"szolgáló segédprogram." + +msgid "Idle time" msgstr "Ãœresjárati idÅ‘" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "Ãœresjárati idÅ‘ egysége" msgid "Settings" @@ -34,16 +44,6 @@ msgstr "BeállÃtások" msgid "h" msgstr "óra" -msgid "hd-idle" -msgstr "hd-idle" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"hd-idle egy a külsÅ‘ lemezek adott üresjárati idÅ‘ után történÅ‘ leállÃtására " -"szolgáló segédprogram." - # Minutes (not minimum) msgid "min" msgstr "perc" diff --git a/applications/luci-app-hd-idle/po/it/hd_idle.po b/applications/luci-app-hd-idle/po/it/hd_idle.po index ffd118dd13..63751c332c 100644 --- a/applications/luci-app-hd-idle/po/it/hd_idle.po +++ b/applications/luci-app-hd-idle/po/it/hd_idle.po @@ -19,10 +19,20 @@ msgstr "Disco" msgid "Enable" msgstr "Abilita" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "HDD Idle" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"HDD Idle è un programma per mettere in standby i dischi esterni dopo un " +"periodo di inattività ." + +msgid "Idle time" msgstr "Tempo di inattività " -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "Unità di misura del tempo di inattività " msgid "Settings" @@ -32,16 +42,6 @@ msgstr "Opzioni" msgid "h" msgstr "ora/e" -msgid "hd-idle" -msgstr "hd-idle" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"HD-idle è un programma per mettere in standby i dischi esterni dopo un " -"periodo di inattività ." - # Minutes (not minimum) msgid "min" msgstr "min" diff --git a/applications/luci-app-hd-idle/po/ja/hd_idle.po b/applications/luci-app-hd-idle/po/ja/hd_idle.po index 9e724ebeb5..6023778c8e 100644 --- a/applications/luci-app-hd-idle/po/ja/hd_idle.po +++ b/applications/luci-app-hd-idle/po/ja/hd_idle.po @@ -19,10 +19,20 @@ msgstr "ディスク" msgid "Enable" msgstr "有効" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "HDD Idle" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"HDD Idleã¯ã‚¢ã‚¤ãƒ‰ãƒ«æ™‚ã«å¤–部ディスクをスピンダウンã•ã›ã‚‹ãŸã‚ã®ã€ãƒ¦ãƒ¼ãƒ†ã‚£ãƒªãƒ†ã‚£" +"プãƒã‚°ãƒ©ãƒ ã§ã™ã€‚" + +msgid "Idle time" msgstr "アイドル時間" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "アイドル時間 (å˜ä½)" msgid "Settings" @@ -32,16 +42,6 @@ msgstr "è¨å®š" msgid "h" msgstr "時" -msgid "hd-idle" -msgstr "hd-idle" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"hd-idleã¯ã‚¢ã‚¤ãƒ‰ãƒ«æ™‚ã«å¤–部ディスクをスピンダウンã•ã›ã‚‹ãŸã‚ã®ã€ãƒ¦ãƒ¼ãƒ†ã‚£ãƒªãƒ†ã‚£ãƒ—" -"ãƒã‚°ãƒ©ãƒ ã§ã™ã€‚" - # Minutes (not minimum) msgid "min" msgstr "分" diff --git a/applications/luci-app-hd-idle/po/ms/hd_idle.po b/applications/luci-app-hd-idle/po/ms/hd_idle.po index 45402b8c52..361f1ac54f 100644 --- a/applications/luci-app-hd-idle/po/ms/hd_idle.po +++ b/applications/luci-app-hd-idle/po/ms/hd_idle.po @@ -18,25 +18,25 @@ msgstr "" msgid "Enable" msgstr "" -msgid "Idle-time" +msgid "HDD Idle" msgstr "" -msgid "Idle-time unit" +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." msgstr "" -msgid "Settings" +msgid "Idle time" msgstr "" -# Hours -msgid "h" +msgid "Idle time unit" msgstr "" -msgid "hd-idle" +msgid "Settings" msgstr "" -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." +# Hours +msgid "h" msgstr "" # Minutes (not minimum) diff --git a/applications/luci-app-hd-idle/po/no/hd_idle.po b/applications/luci-app-hd-idle/po/no/hd_idle.po index dc0c2f8904..6482a291ee 100644 --- a/applications/luci-app-hd-idle/po/no/hd_idle.po +++ b/applications/luci-app-hd-idle/po/no/hd_idle.po @@ -10,10 +10,20 @@ msgstr "Disk" msgid "Enable" msgstr "Aktiver" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "HDD Idle" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"HDD Idle er et verktøy for Ã¥ spinne ned eksterne disker etter en periode med " +"inaktivitet." + +msgid "Idle time" msgstr "Tid inaktiv" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "Tidsenhet" msgid "Settings" @@ -22,16 +32,6 @@ msgstr "Innstillinger" msgid "h" msgstr "timer" -msgid "hd-idle" -msgstr "Hd-Idle" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"hd-idle er et verktøy for Ã¥ spinne ned eksterne disker etter en periode med " -"inaktivitet." - msgid "min" msgstr "minutter" diff --git a/applications/luci-app-hd-idle/po/pl/hd_idle.po b/applications/luci-app-hd-idle/po/pl/hd_idle.po index c6522c19c0..29c286f12c 100644 --- a/applications/luci-app-hd-idle/po/pl/hd_idle.po +++ b/applications/luci-app-hd-idle/po/pl/hd_idle.po @@ -20,10 +20,20 @@ msgstr "Dysk" msgid "Enable" msgstr "WÅ‚Ä…cz" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "HDD Idle" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"HDD Idle jest narzÄ™dziem do zwalniania obrotów zewnÄ™trznych dysków po " +"okreÅ›lonym czasie bezczynnoÅ›ci." + +msgid "Idle time" msgstr "Czas bezczynnoÅ›ci" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "Jednostka czasu bezczynnoÅ›ci" msgid "Settings" @@ -33,16 +43,6 @@ msgstr "Ustawienia" msgid "h" msgstr "godz." -msgid "hd-idle" -msgstr "hd-idle" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"hd-idle jest narzÄ™dziem do zwalniania obrotów zewnÄ™trznych dysków po " -"okreÅ›lonym czasie bezczynnoÅ›ci." - # Minutes (not minimum) msgid "min" msgstr "min" diff --git a/applications/luci-app-hd-idle/po/pt-br/hd_idle.po b/applications/luci-app-hd-idle/po/pt-br/hd_idle.po index 0aaca9389a..adcf063dc6 100644 --- a/applications/luci-app-hd-idle/po/pt-br/hd_idle.po +++ b/applications/luci-app-hd-idle/po/pt-br/hd_idle.po @@ -19,10 +19,20 @@ msgstr "Disco" msgid "Enable" msgstr "Habilitar" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "HDD Idle" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"HDD Idle é um programa utilitário para ativar o modo \"economia de energia" +"\" (spinning-down) de discos externos após um perÃodo de ociosidade." + +msgid "Idle time" msgstr "Tempo de ociosidade" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "Unidade do tempo da ociosidade" msgid "Settings" @@ -32,16 +42,6 @@ msgstr "Configurações" msgid "h" msgstr "horas" -msgid "hd-idle" -msgstr "Hd-idle" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"Hd-idle é um programa utilitário para ativar o modo \"economia de energia" -"\" (spinning-down) de discos externos após um perÃodo de ociosidade." - # Minutes (not minimum) msgid "min" msgstr "minutos" diff --git a/applications/luci-app-hd-idle/po/pt/hd_idle.po b/applications/luci-app-hd-idle/po/pt/hd_idle.po index 16cb085b10..81a6ae27e8 100644 --- a/applications/luci-app-hd-idle/po/pt/hd_idle.po +++ b/applications/luci-app-hd-idle/po/pt/hd_idle.po @@ -19,10 +19,20 @@ msgstr "Disco" msgid "Enable" msgstr "Ativar" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "HDD Idle" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"HDD Idle é um programa utilitário para activar o modo \"economia de energia" +"\" (spinning-down) de discos externos após um perÃodo de ociosidade." + +msgid "Idle time" msgstr "Tempo de ociosidade" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "Unidade de tempo de ociosidade" msgid "Settings" @@ -32,16 +42,6 @@ msgstr "Configurações" msgid "h" msgstr "h" -msgid "hd-idle" -msgstr "hd-idle" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"hd-idle é um programa utilitário para activar o modo \"economia de energia" -"\" (spinning-down) de discos externos após um perÃodo de ociosidade." - # Minutes (not minimum) msgid "min" msgstr "min" diff --git a/applications/luci-app-hd-idle/po/ro/hd_idle.po b/applications/luci-app-hd-idle/po/ro/hd_idle.po index ae6a8b0904..31311cec0f 100644 --- a/applications/luci-app-hd-idle/po/ro/hd_idle.po +++ b/applications/luci-app-hd-idle/po/ro/hd_idle.po @@ -22,10 +22,20 @@ msgstr "Disc" msgid "Enable" msgstr "Activeaza" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "HDD Idle" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"HDD Idle este un utilitar pentru a oprit din rotatie hard disc-urile externe " +"dupa o anumita perioada de inactivitate." + +msgid "Idle time" msgstr "Timp de inactivitate" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "Unitatea de timp pentru masurarea inactivitatii" msgid "Settings" @@ -35,16 +45,6 @@ msgstr "Setari" msgid "h" msgstr "ore" -msgid "hd-idle" -msgstr "hd-idle" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"hd-idle este un utilitar pentru a oprit din rotatie hard disc-urile externe " -"dupa o anumita perioada de inactivitate." - # Minutes (not minimum) msgid "min" msgstr "minute" diff --git a/applications/luci-app-hd-idle/po/ru/hd_idle.po b/applications/luci-app-hd-idle/po/ru/hd_idle.po index 45d4a519be..e58a32f1de 100644 --- a/applications/luci-app-hd-idle/po/ru/hd_idle.po +++ b/applications/luci-app-hd-idle/po/ru/hd_idle.po @@ -21,10 +21,20 @@ msgstr "ДиÑк" msgid "Enable" msgstr "Включить" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "HDD Idle" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"Утилита HDD Idle позволÑет замедлÑÑ‚ÑŒ внешние диÑки поÑле определённого " +"времени бездейÑтвиÑ." + +msgid "Idle time" msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð±ÐµÐ·Ð´ÐµÐ¹ÑтвиÑ" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "Единицы времени бездейÑтвиÑ" msgid "Settings" @@ -34,16 +44,6 @@ msgstr "ÐаÑтройки" msgid "h" msgstr "ч" -msgid "hd-idle" -msgstr "hd-idle" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"Утилита hd-idle позволÑет замедлÑÑ‚ÑŒ внешние диÑки поÑле определённого " -"времени бездейÑтвиÑ." - # Minutes (not minimum) msgid "min" msgstr "мин" diff --git a/applications/luci-app-hd-idle/po/sk/hd_idle.po b/applications/luci-app-hd-idle/po/sk/hd_idle.po index 0ae82d8f93..aa82e966b4 100644 --- a/applications/luci-app-hd-idle/po/sk/hd_idle.po +++ b/applications/luci-app-hd-idle/po/sk/hd_idle.po @@ -14,24 +14,24 @@ msgstr "" msgid "Enable" msgstr "" -msgid "Idle-time" +msgid "HDD Idle" msgstr "" -msgid "Idle-time unit" +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." msgstr "" -msgid "Settings" +msgid "Idle time" msgstr "" -msgid "h" +msgid "Idle time unit" msgstr "" -msgid "hd-idle" +msgid "Settings" msgstr "" -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." +msgid "h" msgstr "" msgid "min" diff --git a/applications/luci-app-hd-idle/po/sv/hd_idle.po b/applications/luci-app-hd-idle/po/sv/hd_idle.po index 1d63095c4f..f2ce8f1019 100644 --- a/applications/luci-app-hd-idle/po/sv/hd_idle.po +++ b/applications/luci-app-hd-idle/po/sv/hd_idle.po @@ -15,24 +15,24 @@ msgstr "" msgid "Enable" msgstr "" -msgid "Idle-time" +msgid "HDD Idle" msgstr "" -msgid "Idle-time unit" +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." msgstr "" -msgid "Settings" +msgid "Idle time" msgstr "" -msgid "h" +msgid "Idle time unit" msgstr "" -msgid "hd-idle" +msgid "Settings" msgstr "" -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." +msgid "h" msgstr "" msgid "min" diff --git a/applications/luci-app-hd-idle/po/templates/hd_idle.pot b/applications/luci-app-hd-idle/po/templates/hd_idle.pot index 56079ed2b5..b8aedcd37a 100644 --- a/applications/luci-app-hd-idle/po/templates/hd_idle.pot +++ b/applications/luci-app-hd-idle/po/templates/hd_idle.pot @@ -7,24 +7,24 @@ msgstr "" msgid "Enable" msgstr "" -msgid "Idle-time" +msgid "HDD Idle" msgstr "" -msgid "Idle-time unit" +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." msgstr "" -msgid "Settings" +msgid "Idle time" msgstr "" -msgid "h" +msgid "Idle time unit" msgstr "" -msgid "hd-idle" +msgid "Settings" msgstr "" -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." +msgid "h" msgstr "" msgid "min" diff --git a/applications/luci-app-hd-idle/po/tr/hd_idle.po b/applications/luci-app-hd-idle/po/tr/hd_idle.po index f9ace872aa..aed11b6c89 100644 --- a/applications/luci-app-hd-idle/po/tr/hd_idle.po +++ b/applications/luci-app-hd-idle/po/tr/hd_idle.po @@ -21,10 +21,20 @@ msgstr "Disk" msgid "Enable" msgstr "Kullanıma Aç" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "Harddisk-Park" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"Harddisk-Park belirli bir zaman sonra diskleri beklemeye alan bir yardımcı " +"programdır" + +msgid "Idle time" msgstr "Bekleme Zamanı" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "bekleme zamanı birimi" msgid "Settings" @@ -34,16 +44,6 @@ msgstr "Ayarlar" msgid "h" msgstr "s" -msgid "hd-idle" -msgstr "Harddisk-Park" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"Harddisk-Park belirli bir zaman sonra diskleri beklemeye alan bir yardımcı " -"programdır" - # Minutes (not minimum) msgid "min" msgstr "d" diff --git a/applications/luci-app-hd-idle/po/uk/hd_idle.po b/applications/luci-app-hd-idle/po/uk/hd_idle.po index 129fd7b4bc..3d8e45c91c 100644 --- a/applications/luci-app-hd-idle/po/uk/hd_idle.po +++ b/applications/luci-app-hd-idle/po/uk/hd_idle.po @@ -22,10 +22,19 @@ msgstr "ДиÑк" msgid "Enable" msgstr "Ðктивувати" -msgid "Idle-time" +#, fuzzy +msgid "HDD Idle" +msgstr "HD-проÑтій" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" + +msgid "Idle time" msgstr "Ð§Ð°Ñ Ð¿Ñ€Ð¾Ñтою" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "" msgid "Settings" @@ -35,15 +44,6 @@ msgstr "ÐалаштуваннÑ" msgid "h" msgstr "" -#, fuzzy -msgid "hd-idle" -msgstr "HD-проÑтій" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" - # Minutes (not minimum) msgid "min" msgstr "хв" diff --git a/applications/luci-app-hd-idle/po/vi/hd_idle.po b/applications/luci-app-hd-idle/po/vi/hd_idle.po index 03ee2c1baa..a5d4ffeead 100644 --- a/applications/luci-app-hd-idle/po/vi/hd_idle.po +++ b/applications/luci-app-hd-idle/po/vi/hd_idle.po @@ -20,12 +20,22 @@ msgstr "á»” Ä‘Ä©a" msgid "Enable" msgstr "KÃch hoạt debug" +msgid "HDD Idle" +msgstr "HDD Idle" + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "" +"HDD Idle là má»™t chÆ°Æ¡ng trình tiện Ãch để quay các Ä‘Ä©a ngoà i sau má»™t khoảng " +"thá»i gian idle." + #, fuzzy -msgid "Idle-time" +msgid "Idle time" msgstr "Thá»i gian Idle" #, fuzzy -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "ÄÆ¡n vị thá»i gian Idle" msgid "Settings" @@ -35,16 +45,6 @@ msgstr "Sắp đặt" msgid "h" msgstr "" -msgid "hd-idle" -msgstr "hd-idle" - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "" -"hd-idle là má»™t chÆ°Æ¡ng trình tiện Ãch để quay các Ä‘Ä©a ngoà i sau má»™t khoảng " -"thá»i gian idle." - # Minutes (not minimum) msgid "min" msgstr "" diff --git a/applications/luci-app-hd-idle/po/zh-cn/hd_idle.po b/applications/luci-app-hd-idle/po/zh-cn/hd_idle.po index 8bc14dcc8b..d67abfd593 100644 --- a/applications/luci-app-hd-idle/po/zh-cn/hd_idle.po +++ b/applications/luci-app-hd-idle/po/zh-cn/hd_idle.po @@ -19,10 +19,18 @@ msgstr "硬盘" msgid "Enable" msgstr "å¼€å¯" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "ç¡¬ç›˜ä¼‘çœ " + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "ç¡¬ç›˜ä¼‘çœ æ˜¯ä¸€ä¸ªè®©ç¡¬ç›˜åœ¨ç©ºé—²ä¸€æ®µæ—¶é—´åŽä¼‘çœ çš„å·¥å…·" + +msgid "Idle time" msgstr "空闲时间" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "空闲时间å•ä½" msgid "Settings" @@ -32,14 +40,6 @@ msgstr "设置" msgid "h" msgstr "å°æ—¶" -msgid "hd-idle" -msgstr "ç¡¬ç›˜ä¼‘çœ " - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "ç¡¬ç›˜ä¼‘çœ æ˜¯ä¸€ä¸ªè®©ç¡¬ç›˜åœ¨ç©ºé—²ä¸€æ®µæ—¶é—´åŽä¼‘çœ çš„å·¥å…·" - # Minutes (not minimum) msgid "min" msgstr "分钟" diff --git a/applications/luci-app-hd-idle/po/zh-tw/hd_idle.po b/applications/luci-app-hd-idle/po/zh-tw/hd_idle.po index bd69785e37..dee14cb089 100644 --- a/applications/luci-app-hd-idle/po/zh-tw/hd_idle.po +++ b/applications/luci-app-hd-idle/po/zh-tw/hd_idle.po @@ -17,10 +17,18 @@ msgstr "ç£ç¢Ÿ" msgid "Enable" msgstr "啟用" -msgid "Idle-time" +msgid "HDD Idle" +msgstr "ç¡¬ç¢Ÿä¼‘çœ " + +msgid "" +"HDD Idle is a utility program for spinning-down external disks after a " +"period of idle time." +msgstr "ç¡¬ç¢Ÿä¼‘çœ æ˜¯æŽ§åˆ¶ç•¶ç¡¬ç¢Ÿé–’ç½®ä¸€æ®µæ™‚é–“å¾Œé€²å…¥ä¼‘çœ æ¨¡å¼çš„工具" + +msgid "Idle time" msgstr "ä¼‘çœ æ™‚é–“" -msgid "Idle-time unit" +msgid "Idle time unit" msgstr "ä¼‘çœ æ™‚é–“å–®ä½" msgid "Settings" @@ -29,14 +37,6 @@ msgstr "è¨å®š" msgid "h" msgstr "å°æ™‚" -msgid "hd-idle" -msgstr "ç¡¬ç¢Ÿä¼‘çœ " - -msgid "" -"hd-idle is a utility program for spinning-down external disks after a period " -"of idle time." -msgstr "ç¡¬ç¢Ÿä¼‘çœ æ˜¯æŽ§åˆ¶ç•¶ç¡¬ç¢Ÿé–’ç½®ä¸€æ®µæ™‚é–“å¾Œé€²å…¥ä¼‘çœ æ¨¡å¼çš„工具" - msgid "min" msgstr "分é˜" diff --git a/applications/luci-app-lxc/Makefile b/applications/luci-app-lxc/Makefile new file mode 100644 index 0000000000..9f313dfb11 --- /dev/null +++ b/applications/luci-app-lxc/Makefile @@ -0,0 +1,17 @@ +# +# Copyright (C) 2017 Dan Luedtke <mail@danrl.com> +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LXC management Web UI +LUCI_DEPENDS:=+luci-mod-admin-full +lxc +lxc-create +liblxc +rpcd-mod-lxc +getopt +xz +LUCI_PKGARCH:=all + +PKG_MAINTAINER:=Petar Koretic <petar.koretic@sartura.hr> + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-lxc/htdocs/luci-static/resources/cbi/green.gif b/applications/luci-app-lxc/htdocs/luci-static/resources/cbi/green.gif Binary files differnew file mode 100644 index 0000000000..d09febf127 --- /dev/null +++ b/applications/luci-app-lxc/htdocs/luci-static/resources/cbi/green.gif diff --git a/applications/luci-app-lxc/htdocs/luci-static/resources/cbi/purple.gif b/applications/luci-app-lxc/htdocs/luci-static/resources/cbi/purple.gif Binary files differnew file mode 100644 index 0000000000..f0d68cc8b2 --- /dev/null +++ b/applications/luci-app-lxc/htdocs/luci-static/resources/cbi/purple.gif diff --git a/applications/luci-app-lxc/htdocs/luci-static/resources/cbi/red.gif b/applications/luci-app-lxc/htdocs/luci-static/resources/cbi/red.gif Binary files differnew file mode 100644 index 0000000000..c1b39bbedb --- /dev/null +++ b/applications/luci-app-lxc/htdocs/luci-static/resources/cbi/red.gif diff --git a/applications/luci-app-lxc/luasrc/controller/lxc.lua b/applications/luci-app-lxc/luasrc/controller/lxc.lua new file mode 100644 index 0000000000..ea7adbafbb --- /dev/null +++ b/applications/luci-app-lxc/luasrc/controller/lxc.lua @@ -0,0 +1,167 @@ +--[[ + +LuCI LXC module + +Copyright (C) 2014, Cisco Systems, Inc. + +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 + +Author: Petar Koretic <petar.koretic@sartura.hr> + +]]-- + +module("luci.controller.lxc", package.seeall) + +require "ubus" +local conn = ubus.connect() +if not conn then + error("Failed to connect to ubus") +end + + +function fork_exec(command) + local pid = nixio.fork() + if pid > 0 then + return + elseif pid == 0 then + -- change to root dir + nixio.chdir("/") + + -- patch stdin, out, err to /dev/null + local null = nixio.open("/dev/null", "w+") + if null then + nixio.dup(null, nixio.stderr) + nixio.dup(null, nixio.stdout) + nixio.dup(null, nixio.stdin) + if null:fileno() > 2 then + null:close() + end + end + + -- replace with target command + nixio.exec("/bin/sh", "-c", command) + end +end + +function index() + page = node("admin", "services", "lxc") + page.target = cbi("lxc") + page.title = _("LXC Containers") + page.order = 70 + + page = entry({"admin", "services", "lxc_create"}, call("lxc_create"), nil) + page.leaf = true + + page = entry({"admin", "services", "lxc_action"}, call("lxc_action"), nil) + page.leaf = true + + page = entry({"admin", "services", "lxc_get_downloadable"}, call("lxc_get_downloadable"), nil) + page.leaf = true + + page = entry({"admin", "services", "lxc_configuration_get"}, call("lxc_configuration_get"), nil) + page.leaf = true + + page = entry({"admin", "services", "lxc_configuration_set"}, call("lxc_configuration_set"), nil) + page.leaf = true + +end + +function lxc_get_downloadable() + luci.http.prepare_content("application/json") + + local f = io.popen('uname -m', 'r') + local target = f:read('*a') + f:close() + target = target:gsub("^%s*(.-)%s*$", "%1") + + local templates = {} + + local f = io.popen('lxc-create -n just_want_to_list_available_lxc_templates -t download -- --list', 'r') + + for line in f:lines() do + local dist,version = line:match("^(%S+)%s+(%S+)%s+" .. target .. "%s+default%s+%S+$") + if dist~=nil and version~=nil then templates[#templates + 1] = dist .. ":" .. version end + end + + f:close() + luci.http.write_json(templates) +end + +function lxc_create(lxc_name, lxc_template) + luci.http.prepare_content("text/plain") + + local uci = require("uci").cursor() + + local url = uci:get("lxc", "lxc", "url") + + if not pcall(dofile, "/etc/openwrt_release") then + return luci.http.write("1") + end + + local f = io.popen('uname -m', 'r') + local target = f:read('*a') + f:close() + target = target:gsub("^%s*(.-)%s*$", "%1") + + local lxc_dist = lxc_template:gsub("(.*):(.*)", '%1') + local lxc_release = lxc_template:gsub("(.*):(.*)", '%2') + + local data = conn:call("lxc", "create", { name = lxc_name, template = "download", args = { "--server", url, "--no-validate", "--dist", lxc_dist, "--release", lxc_release, "--arch", target } } ) + + luci.http.write(data) +end + +function lxc_action(lxc_action, lxc_name) + luci.http.prepare_content("application/json") + + local data, ec = conn:call("lxc", lxc_action, lxc_name and { name = lxc_name} or {} ) + + luci.http.write_json(ec and {} or data) +end + +function lxc_get_config_path() + local f = io.open("/etc/lxc/lxc.conf", "r") + local content = f:read("*all") + f:close() + local ret = content:match('^%s*lxc.lxcpath%s*=%s*([^%s]*)') + if ret then + return ret .. "/" + else + return "/srv/lxc/" + end +end + +function lxc_configuration_get(lxc_name) + luci.http.prepare_content("text/plain") + + local f = io.open(lxc_get_config_path() .. lxc_name .. "/config", "r") + local content = f:read("*all") + f:close() + + luci.http.write(content) +end + +function lxc_configuration_set(lxc_name) + luci.http.prepare_content("text/plain") + + local lxc_configuration = luci.http.formvalue("lxc_configuration") + + if lxc_configuration == nil then + return luci.http.write("1") + end + + local f, err = io.open(lxc_get_config_path() .. lxc_name .. "/config","w+") + if not f then + return luci.http.write("2") + end + + f:write(lxc_configuration) + f:close() + + luci.http.write("0") +end + diff --git a/applications/luci-app-lxc/luasrc/model/cbi/lxc.lua b/applications/luci-app-lxc/luasrc/model/cbi/lxc.lua new file mode 100644 index 0000000000..ac0fdff332 --- /dev/null +++ b/applications/luci-app-lxc/luasrc/model/cbi/lxc.lua @@ -0,0 +1,31 @@ +--[[ + +LuCI LXC module + +Copyright (C) 2014, Cisco Systems, Inc. + +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 + +Author: Petar Koretic <petar.koretic@sartura.hr> + +]]-- + +local fs = require "nixio.fs" + +m = Map("lxc", translate("LXC Containers")) + +if fs.access("/etc/config/lxc") then + m:section(SimpleSection).template = "lxc" + + s = m:section(TypedSection, "lxc", translate("Options")) + s.anonymous = true + s.addremove = false + + s:option(Value, "url", translate("Containers URL")) +end + +return m diff --git a/applications/luci-app-lxc/luasrc/view/lxc.htm b/applications/luci-app-lxc/luasrc/view/lxc.htm new file mode 100644 index 0000000000..edfff8e063 --- /dev/null +++ b/applications/luci-app-lxc/luasrc/view/lxc.htm @@ -0,0 +1,458 @@ +<%# + +LuCI LXC module + +Copyright (C) 2014, Cisco Systems, Inc. + +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 + +Author: Petar Koretic <petar.koretic@sartura.hr> + +-%> + +<fieldset class="cbi-section"> + <legend><%:Available Containers%></legend> + <div class="cbi-section-node"> + <table id="t_lxc_list" class="cbi-section-table"> + <tr class="cbi-section-table-titles"> + <th class="cbi-section-table-cell"><%:Name%></th> + <th class="cbi-section-table-cell"><%:Status%></th> + <th class="cbi-section-table-cell"><%:Actions%></th> + </tr> + </table> + </div> +</fieldset> + +<fieldset class="cbi-section"> + <span id="lxc-list-output"></span> +</fieldset> + +<hr/> +<fieldset class="cbi-section"> + <legend><%:Create New Container%></legend> + <div class="cbi-section-node"> + <table id="t_lxc_create" class="cbi-section-table"> + <tr class="cbi-section-table-titles"> + <th class="cbi-section-table-cell"><%:Name%></th> + <th class="cbi-section-table-cell"><%:Template%></th> + <th class="cbi-section-table-cell"><%:Actions%></th> + </tr> + <tr id="tr_holder"> + <td> + <input type="text" id="tx_name" placeholder="<%:Enter new name%>" value='' /> + </td> + <td> + <select id="s_template" class="cbi-input-select cbi-button"> + </select> + </td> + <td> + <input type="button" id="bt_create" value="<%:Create%>" onclick="lxc_create(tr_holder)" class="cbi-button cbi-button-add" /> + <span id="lxc-add-loader" style="display:inline-block; width:16px; height:16px; margin:0 5px"></span> + </td> + </tr> + </table> + </div> +</fieldset> + +<fieldset class="cbi-section"> + <span id="lxc-add-output"></span> +</fieldset> + +<hr/> + +<script type="text/javascript" src="<%=resource%>/cbi.js"></script> +<script type="text/javascript">//<![CDATA[ + + window.img = { "red" : "<%=resource%>/cbi/red.gif", "green" : "<%=resource%>/cbi/green.gif", "purple" : "<%=resource%>/cbi/purple.gif" } + window.states = { "STOPPED" : "red", "RUNNING" : "green", "FROZEN" : "purple"} + + var t_lxc_list = document.getElementById('t_lxc_list'); + var loader_html = '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" width="16" height="16" style="vertical-align:middle" /> '; + var timeout_msg = 0 + var output_list = document.getElementById("lxc-list-output") + var output_add = document.getElementById("lxc-add-output") + var loader_add = document.getElementById("lxc-add-loader") + + function lxc_create(tr) + { + var lxc_name = tr.querySelector("#tx_name").value.trim() + var lxc_template = tr.querySelector("#s_template").value + var bt_create = tr.querySelector("#bt_create") + + if (t_lxc_list.querySelector("[data-id='" + lxc_name + "']") != null) + return info_message(output_add, "Container with that name already exists!", 4000) + + bt_create.disabled = true + output_add.innerHTML = '' + + if (!lxc_name || !lxc_name.length) + { + bt_create.disabled = false + return info_message(output_add, "Name cannot be empty!", 4000) + } + + loading(loader_add) + + new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_create/' + '%h/%h'.format(lxc_name, lxc_template) , null, + function(x) + { + bt_create.disabled = false + loading(loader_add, 0) + + if (!x) + info_message(output_add, "Container creation failed!") + }) + } + + function lxc_create_template(lxc_name, lxc_state) + { + var info_row = t_lxc_list.querySelector("#empty") + if (info_row) + t_lxc_list.deleteRow(1) + + var actions = '' + actions += '<input type="button" onclick="action_handler(this)" data-action="start" value="<%:Start%>" class="cbi-button cbi-button-apply" />' + actions+= '<input type="button" onclick="action_handler(this)" data-action="stop" value="<%:Stop%>" class="cbi-button cbi-button-reset" />' + actions+= '<input type="button" onclick="action_handler(this)" data-action="destroy" value="<%:Delete%>" class="cbi-button cbi-button-remove" />' + actions+= ' <select class="cbi-input-select cbi-button" onchange="action_more_handler(this)">\ + <option selected disabled>more</option>\ + <option>configure</option>\ + <option>freeze</option>\ + <option>unfreeze</option>\ + <option>reboot</option>\ + </select>' + actions+= '<span data-loader style="display:inline-block; width:16px; height:16px; margin:0 5px"></span>' + + var row = t_lxc_list.insertRow(-1) + var cell = row.insertCell(-1) + cell.innerHTML = '%q%h%q'.format("<strong>", lxc_name, "</strong>") + cell.width = "30%" + cell.setAttribute("data-id", lxc_name) + + cell = row.insertCell(-1) + cell.width = "20%" + cell.innerHTML = "<img src='"+window.img[lxc_state]+"'/>" + + cell = row.insertCell(-1) + cell.width = "50%" + cell.innerHTML = actions + } + + function action_handler(self) + { + var action = self.getAttribute("data-action"); + + var bt_action = self + var lxc_name = self.parentNode.parentNode.children[0].getAttribute('data-id') + var status_img = self.parentNode.parentNode.querySelector('img') + var loader = self.parentNode.querySelector('[data-loader]') + + bt_action.disabled = true + + if (action == "stop") + { + loading(loader) + + new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_action/' + '%h/%h'.format(action, lxc_name), null, + function(x, ec) + { + loading(loader, 0) + bt_action.disabled = false + + if (!x || ec) + return info_message(output_list,"Action failed!") + + set_status(status_img, "red") + + }); + } + + else if (action == "start") + { + loading(loader) + + new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_action/' + '%h/%h'.format(action, lxc_name), null, + function(x, data) + { + loading(loader, 0) + bt_action.disabled = false + + //FIXME: uncomment after fixing 'lxc-start' + if (!x /*|| ec */) + return info_message(output_list,"Action failed!") + + //FIXME: uncomment after fixing 'lxc-start' + //set_status(status_img, "green") + }); + } + + else if (action == "destroy") + { + if (!confirm("This will completely remove LXC container from the disk. Are you sure? (container will be stopped if running)")) + return + + loading(loader) + + new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_action/' + '%h/%h'.format(action, lxc_name), null, + function(x, ec) + { + loading(loader, 0) + bt_action.disabled = false + + if (!x || ec) + return info_message(output_list,"Action failed!") + + var row = self.parentNode.parentNode + row.parentNode.removeChild(row) + + }); + } + } + + function lxc_configure_handler(self) + { + var td = self.parentNode + var textarea = td.querySelector('[data-id]') + var lxc_name = textarea.getAttribute('data-id') + var lxc_configuration = textarea.value + + new XHR().post('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_configuration_set/' + lxc_name, "lxc_configuration=" + encodeURIComponent(lxc_configuration) , + function(x) + { + if (!x || x.responseText != "0") + return info_message(output_list,"Action failed!") + + info_message(output_list,"LXC configuration updated") + var row = td.parentNode + row.parentNode.removeChild(row) + }) + } + + function lxc_rename_template(lxc_name) + { + var h = '\ + <input data-id="'+ lxc_name + '" type="text" placeholder="Enter new name" /> \ + <input data-id="bt_confirm" onclick="lxc_rename_handler(this)" type="button" class="cbi-button" value="Confirm" />' + + return h + } + + function lxc_configure_template(lxc_name, lxc_configuration) + { + var h = '\ + <textarea data-id="'+ lxc_name + '" rows="20" style="width:100%">'+ lxc_configuration +'</textarea> \ + <input data-id="bt_confirm" onclick="lxc_configure_handler(this)" type="button" class="cbi-button" value="Confirm" />' + + return h + } + + function action_more_handler(self) + { + var lxc_name = self.parentNode.parentNode.querySelector('[data-id]').getAttribute('data-id') + var loader = self.parentNode.parentNode.querySelector('[data-loader]') + + var option = self.options[self.selectedIndex].text + + self.value = "more" + + switch (option) + { + case "configure": + var tr = document.createElement('tr') + var row = self.parentNode.parentNode + var next_row = row.nextSibling + if (next_row && next_row.getAttribute('data-action') !== null) + row.parentNode.removeChild(next_row) + + new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_configuration_get/' + lxc_name, null, + function(x) + { + tr.innerHTML="<td colspan='" + row.cells.length + "'>" + lxc_configure_template(lxc_name, x.responseText) + "</td>" + tr.setAttribute('data-action','') + row.parentNode.insertBefore(tr, row.nextSibling) + }) + + break + + case "freeze": + var tr = self.parentNode.parentNode + var img = tr.querySelector('img') + if(img.getAttribute('src') != window.img["green"]) + return info_message(output_list,"Container is not running!") + + loading(loader) + new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_action/' + '%h/%h'.format(option, lxc_name), null, + function(x, ec) + { + loading(loader, 0) + if (!x || ec) + return info_message(output_list,"Action failed!") + + set_status(img, "purple") + }) + + break + + case "unfreeze": + var tr = self.parentNode.parentNode + var img = tr.querySelector('img') + + if(img.getAttribute('src') != window.img["purple"]) + return info_message(output_list,"Container is not frozen!") + + loading(loader) + new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_action/' + '%h/%h'.format(option, lxc_name), null, + function(x, ec) + { + loading(loader, 0) + if (!x || ec) + return info_message(output_list,"Action failed!") + + set_status(img, "green") + }) + + break + + case "reboot": + var tr = self.parentNode.parentNode + var img = tr.querySelector('img') + if(img.getAttribute('src') != window.img["green"]) + return info_message(output_list,"Container is not running!") + + if (!confirm("Are you sure?")) + return + + loading(loader) + new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_action/' + '%h/%h'.format(option, lxc_name), null, + function(x, ec) + { + loading(loader, 0) + if (!x || ec) + return info_message(output_list,"Action failed!") + + info_message(output_list,"LXC rebooted") + }) + break + } + + } + + function set_empty(t_lxc_list) + { + if (document.getElementById('empty') !== null) + return + + var row_count = t_lxc_list.rows.length; + while(--row_count) t_lxc_list.deleteRow(row_count); + + var row = t_lxc_list.insertRow(-1); + row.id = 'empty' + var cell = row.insertCell(0); + cell.colSpan = 4; + cell.innerHTML = '<em><br />There are no containers available yet.</em>'; + } + + function lxc_list_update() + { + XHR.poll(4, '<%=luci.dispatcher.build_url("admin", "services")%>/lxc_action/list', null, + function(x, data) + { + if (!x) return; + + var lxc_count = Object.keys(data).length + if (!data || !lxc_count) + return set_empty(t_lxc_list) + + if (document.getElementById('empty') !== null) + t_lxc_list.deleteRow(1); + + var lxcs = t_lxc_list.querySelectorAll('td[data-id]') + var lxc_name_table = {} + for (var i = 0, len = lxcs.length; i < len; i++) + { + var lxc_name = lxcs[i].getAttribute('data-id') + if (!(lxc_name in data)) + { + var row = t_lxc_list.querySelector("[data-id='" + lxc_name + "']").parentNode + row.parentNode.removeChild(row) + continue + } + + lxc_name_table[lxc_name] = lxcs[i].parentNode.querySelector('img') + } + + for(var key in data) + { + var lxc_name = key + var state = window.states[data[key]] + + if (!(lxc_name in lxc_name_table)) + lxc_create_template(lxc_name, state) + + else if (state != get_status(lxc_name_table[lxc_name])) + set_status(lxc_name_table[lxc_name], state) + } + + }) + } + + function loading(elem, state) + { + state = (typeof state === 'undefined') ? 1 : state + + if (state === 1) + elem.innerHTML = loader_html + else + setTimeout(function() { elem.innerHTML = ''}, 1000) + } + + function set_status(elem, state) + { + state = (typeof state === 'undefined') ? 1 : state + + setTimeout(function() { elem.setAttribute('src', window.img[state])}, 300) + } + + function get_status(elem) + { + var src = elem.getAttribute('src') + + for (var i in img) + { + if (img[i] == src) + return i + } + } + + function info_message(output, msg, timeout) + { + timeout = timeout || 3000 + output.innerHTML = msg + clearTimeout(timeout_msg) + timeout_msg = setTimeout(function(){ output.innerHTML=""}, timeout); + } + + lxc_list_update() + + new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_get_downloadable', null, + function(x, data) + { + if (!x) return; + + var lxc_count = Object.keys(data).length + if (!data || !lxc_count) return; + var select = document.getElementById("s_template"); + for(var key in data) + { + var option = document.createElement('option'); + option.value = data[key]; + option.text = data[key].replace(/[_:]/g, ' '); + select.add(option, -1); + } + }) + +//]]></script> diff --git a/applications/luci-app-lxc/root/etc/config/lxc b/applications/luci-app-lxc/root/etc/config/lxc new file mode 100644 index 0000000000..5572c735fa --- /dev/null +++ b/applications/luci-app-lxc/root/etc/config/lxc @@ -0,0 +1,6 @@ +# +# lxc uci configuration +# + +config lxc 'lxc' + option url 'virtualwrt.org/containers/' diff --git a/applications/luci-app-meshwizard/luasrc/model/cbi/freifunk/meshwizard.lua b/applications/luci-app-meshwizard/luasrc/model/cbi/freifunk/meshwizard.lua index 68f7a5a257..62ce25effb 100644 --- a/applications/luci-app-meshwizard/luasrc/model/cbi/freifunk/meshwizard.lua +++ b/applications/luci-app-meshwizard/luasrc/model/cbi/freifunk/meshwizard.lua @@ -103,10 +103,7 @@ uci:foreach("wireless", "wifi-device", function(section) -- Channel selection - if hwtype == "atheros" then - local cc = util.trim(sys.exec("grep -i '" .. syscc .. "' /lib/wifi/cc_translate.txt |cut -d ' ' -f 2")) or 0 - sys.exec('"echo " .. cc .. " > /proc/sys/dev/" .. device .. "/countrycode"') - elseif hwtype == "mac80211" then + if hwtype == "mac80211" then sys.exec("iw reg set " .. syscc) elseif hwtype == "broadcom" then sys.exec ("wlc country " .. syscc) diff --git a/applications/luci-app-meshwizard/po/pt-br/meshwizard.po b/applications/luci-app-meshwizard/po/pt-br/meshwizard.po index a2238e52e8..9421e02531 100644 --- a/applications/luci-app-meshwizard/po/pt-br/meshwizard.po +++ b/applications/luci-app-meshwizard/po/pt-br/meshwizard.po @@ -1,17 +1,17 @@ msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-10-11 00:23+0200\n" -"PO-Revision-Date: 2014-03-17 10:01+0200\n" -"Last-Translator: Luiz Angelo <luizluca@gmail.com>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"PO-Revision-Date: 2017-02-20 18:00-0300\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Pootle 2.0.6\n" +"X-Generator: Poedit 1.8.11\n" +"Language-Team: \n" msgid "Activate or deactivate IPv6 config globally." msgstr "Habilita e desabilita a configuração IPv6 globalmente." @@ -70,7 +70,6 @@ msgstr "Endereço IPv6 da rede em malha" msgid "Mesh Wizard" msgstr "Assistente de Configuração da Rede em Malha" -#, fuzzy msgid "" "Note: this will set up this interface for mesh operation, i.e. add it to " "zone 'freifunk' and enable olsr." diff --git a/applications/luci-app-mjpg-streamer/po/pt-br/mjpg-streamer.po b/applications/luci-app-mjpg-streamer/po/pt-br/mjpg-streamer.po new file mode 100644 index 0000000000..28bfa186b0 --- /dev/null +++ b/applications/luci-app-mjpg-streamer/po/pt-br/mjpg-streamer.po @@ -0,0 +1,172 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: pt_BR\n" + +msgid "Allow ringbuffer to exceed limit by this amount" +msgstr "Permitir que o buffer em anel exceda o limite por essa quantidade" + +msgid "Ask for username and password on connect" +msgstr "Pergunte por um usuário e senha na conexão" + +msgid "Authentication required" +msgstr "Requer autenticação" + +msgid "Auto" +msgstr "Automático" + +msgid "Automatic disabling of MJPEG mode" +msgstr "Desativação automática do modo MJPEG" + +msgid "Blink" +msgstr "Pisca" + +msgid "Check to save the stream to an mjpeg file" +msgstr "Marque para salvar o fluxo em um arquivo MJPEG" + +msgid "Command to run" +msgstr "Comando para executar:" + +msgid "Device" +msgstr "Dispositivo" + +msgid "Do not initalize dynctrls of Linux-UVC driver" +msgstr "Não inicie o dynctrls do driver do Linux-UVC" + +msgid "Don't initalize dynctrls" +msgstr "Não inicia o dynctrls" + +msgid "Drop frames smaller then this limit" +msgstr "Descarte quadros menores que este limite" + +msgid "Enable MJPG-streamer" +msgstr "Ativa o MJPG-streamer" + +msgid "Enable YUYV format" +msgstr "Ativar Formato YUYV" + +msgid "Enabled" +msgstr "Habilitado" + +msgid "Exceed" +msgstr "Ultrapassado" + +msgid "" +"Execute command after saving picture. Mjpg-streamer parse the filename as " +"first parameter to your script." +msgstr "" +"Execute o comando depois de salvar a imagem. Mjpg-streamer passa o nome do " +"arquivo como primeiro parâmetro para o comando." + +msgid "File input" +msgstr "Entrada do arquivo" + +msgid "File output" +msgstr "SaÃda do arquivo" + +msgid "Folder" +msgstr "Pasta" + +msgid "Folder that contains webpages" +msgstr "Pasta que contém páginas web" + +msgid "Frames per second" +msgstr "Quadros por segundos" + +msgid "General" +msgstr "Geral" + +msgid "HTTP output" +msgstr "SaÃda HTTP" + +msgid "Input plugin" +msgstr "Plugins de entrada" + +msgid "Interval between saving pictures" +msgstr "Intervalo entre o salvamento das imagens" + +msgid "JPEG compression quality" +msgstr "Qualidade da compressão JPEG" + +msgid "Led control" +msgstr "Controle de LED" + +msgid "MJPG-streamer" +msgstr "MJPG-streamer" + +msgid "Max. number of pictures to hold" +msgstr "Número máximo de imagens a serem mantidas" + +msgid "Mjpeg output" +msgstr "SaÃda Mjpeg" + +msgid "Off" +msgstr "Desligado" + +msgid "On" +msgstr "Ligado" + +msgid "Output plugin" +msgstr "Plugin de saÃda" + +msgid "Password" +msgstr "Senha" + +msgid "Plugin settings" +msgstr "Configurações do Plugin" + +msgid "Port" +msgstr "Porta" + +msgid "Resolution" +msgstr "Resolução" + +msgid "Ring buffer size" +msgstr "Tamanho do buffer em anel" + +msgid "Set folder to save pictures" +msgstr "Definir pasta para salvas as imagens" + +msgid "Set the inteval in millisecond" +msgstr "Defina o intervalo em milisegundos" + +msgid "" +"Set the minimum size if the webcam produces small-sized garbage frames. May " +"happen under low light conditions" +msgstr "" +"Defina o tamanho mÃnimo se a webcam produz quadros lixo de tamanho pequeno. " +"Pode acontecer sob condições de pouca luz" + +msgid "" +"Set the quality in percent. This setting activates YUYV format, disables " +"MJPEG" +msgstr "" +"Defina a qualidade em porcentagem. Esta definição ativa o formato YUYV, " +"desativa MJPEG" + +msgid "TCP port for this HTTP server" +msgstr "Porta TCP para este servidor HTTP" + +msgid "UVC input" +msgstr "Dispositivo UVC de entrada" + +msgid "Username" +msgstr "Usuário" + +msgid "WWW folder" +msgstr "Pasta WWW" + +msgid "" +"mjpg streamer is a streaming application for Linux-UVC compatible webcams" +msgstr "" +"Mjpg streamer é uma aplicação de streaming para webcams compatÃveis com o " +"Linux-UVC" diff --git a/applications/luci-app-mwan3/Makefile b/applications/luci-app-mwan3/Makefile new file mode 100644 index 0000000000..d65cd3af16 --- /dev/null +++ b/applications/luci-app-mwan3/Makefile @@ -0,0 +1,19 @@ +# +# Copyright (C) 2017 Dan Luedtke <mail@danrl.com> +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI support for the MWAN3 multiwan hotplug script +LUCI_DEPENDS:=+mwan3 +luci-mod-admin-full +luci-app-firewall +luci-lib-nixio +LUCI_PKGARCH:=all +PKG_LICENSE:=GPLv2 + +PKG_MAINTAINER:=Aedan Renner <chipdankly@gmail.com> \ + Florian Eckert <fe@dev.tdt.de> + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-mwan3/luasrc/controller/mwan3.lua b/applications/luci-app-mwan3/luasrc/controller/mwan3.lua new file mode 100644 index 0000000000..d3fd150692 --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/controller/mwan3.lua @@ -0,0 +1,331 @@ +module("luci.controller.mwan3", package.seeall) + +sys = require "luci.sys" +ut = require "luci.util" + +ip = "/usr/bin/ip -4 " + +function index() + if not nixio.fs.access("/etc/config/mwan3") then + return + end + + entry({"admin", "network", "mwan"}, + alias("admin", "network", "mwan", "overview"), + _("Load Balancing"), 600) + + entry({"admin", "network", "mwan", "overview"}, + alias("admin", "network", "mwan", "overview", "overview_interface"), + _("Overview"), 10) + entry({"admin", "network", "mwan", "overview", "overview_interface"}, + template("mwan/overview_interface")) + entry({"admin", "network", "mwan", "overview", "interface_status"}, + call("interfaceStatus")) + entry({"admin", "network", "mwan", "overview", "overview_detailed"}, + template("mwan/overview_detailed")) + entry({"admin", "network", "mwan", "overview", "detailed_status"}, + call("detailedStatus")) + + entry({"admin", "network", "mwan", "configuration"}, + alias("admin", "network", "mwan", "configuration", "interface"), + _("Configuration"), 20) + entry({"admin", "network", "mwan", "configuration", "interface"}, + arcombine(cbi("mwan/interface"), cbi("mwan/interfaceconfig")), + _("Interfaces"), 10).leaf = true + entry({"admin", "network", "mwan", "configuration", "member"}, + arcombine(cbi("mwan/member"), cbi("mwan/memberconfig")), + _("Members"), 20).leaf = true + entry({"admin", "network", "mwan", "configuration", "policy"}, + arcombine(cbi("mwan/policy"), cbi("mwan/policyconfig")), + _("Policies"), 30).leaf = true + entry({"admin", "network", "mwan", "configuration", "rule"}, + arcombine(cbi("mwan/rule"), cbi("mwan/ruleconfig")), + _("Rules"), 40).leaf = true + + entry({"admin", "network", "mwan", "advanced"}, + alias("admin", "network", "mwan", "advanced", "hotplugscript"), + _("Advanced"), 100) + entry({"admin", "network", "mwan", "advanced", "hotplugscript"}, + form("mwan/advanced_hotplugscript")) + entry({"admin", "network", "mwan", "advanced", "mwanconfig"}, + form("mwan/advanced_mwanconfig")) + entry({"admin", "network", "mwan", "advanced", "networkconfig"}, + form("mwan/advanced_networkconfig")) + entry({"admin", "network", "mwan", "advanced", "wirelessconfig"}, + form("mwan/advanced_wirelessconfig")) + entry({"admin", "network", "mwan", "advanced", "diagnostics"}, + template("mwan/advanced_diagnostics")) + entry({"admin", "network", "mwan", "advanced", "diagnostics_display"}, + call("diagnosticsData"), nil).leaf = true + entry({"admin", "network", "mwan", "advanced", "troubleshooting"}, + template("mwan/advanced_troubleshooting")) + entry({"admin", "network", "mwan", "advanced", "troubleshooting_display"}, + call("troubleshootingData")) +end + +function getInterfaceStatus(ruleNumber, interfaceName) + if ut.trim(sys.exec("uci -q -p /var/state get mwan3." .. interfaceName .. ".enabled")) == "1" then + if ut.trim(sys.exec(ip .. "route list table " .. ruleNumber)) ~= "" then + if ut.trim(sys.exec("uci -q -p /var/state get mwan3." .. interfaceName .. ".track_ip")) ~= "" then + return "online" + else + return "notMonitored" + end + else + return "offline" + end + else + return "notEnabled" + end +end + +function getInterfaceName() + local ruleNumber, status = 0, "" + uci.cursor():foreach("mwan3", "interface", + function (section) + ruleNumber = ruleNumber+1 + status = status .. section[".name"] .. "[" .. getInterfaceStatus(ruleNumber, section[".name"]) .. "]" + end + ) + return status +end + +function interfaceStatus() + local ntm = require "luci.model.network".init() + + local mArray = {} + + -- overview status + local statusString = getInterfaceName() + if statusString ~= "" then + mArray.wans = {} + wansid = {} + + for wanName, interfaceState in string.gfind(statusString, "([^%[]+)%[([^%]]+)%]") do + local wanInterfaceName = ut.trim(sys.exec("uci -q -p /var/state get network." .. wanName .. ".ifname")) + if wanInterfaceName == "" then + wanInterfaceName = "X" + end + local wanDeviceLink = ntm:get_interface(wanInterfaceName) + wanDeviceLink = wanDeviceLink and wanDeviceLink:get_network() + wanDeviceLink = wanDeviceLink and wanDeviceLink:adminlink() or "#" + wansid[wanName] = #mArray.wans + 1 + mArray.wans[wansid[wanName]] = { name = wanName, link = wanDeviceLink, ifname = wanInterfaceName, status = interfaceState } + end + end + + -- overview status log + local mwanLog = ut.trim(sys.exec("logread | grep mwan3 | tail -n 50 | sed 'x;1!H;$!d;x' 2>/dev/null")) + if mwanLog ~= "" then + mArray.mwanlog = { mwanLog } + end + + luci.http.prepare_content("application/json") + luci.http.write_json(mArray) +end + +function detailedStatus() + local mArray = {} + + -- detailed mwan status + local detailStatusInfo = ut.trim(sys.exec("/usr/sbin/mwan3 status")) + if detailStatusInfo ~= "" then + mArray.mwandetail = { detailStatusInfo } + end + + luci.http.prepare_content("application/json") + luci.http.write_json(mArray) +end + +function diagnosticsData(interface, tool, task) + function getInterfaceNumber() + local number = 0 + uci.cursor():foreach("mwan3", "interface", + function (section) + number = number+1 + if section[".name"] == interface then + interfaceNumber = number + end + end + ) + end + + local mArray = {} + + local results = "" + if tool == "service" then + os.execute("/usr/sbin/mwan3 " .. task) + if task == "restart" then + results = "MWAN3 restarted" + elseif task == "stop" then + results = "MWAN3 stopped" + else + results = "MWAN3 started" + end + else + local interfaceDevice = ut.trim(sys.exec("uci -q -p /var/state get network." .. interface .. ".ifname")) + if interfaceDevice ~= "" then + if tool == "ping" then + local gateway = ut.trim(sys.exec("route -n | awk '{if ($8 == \"" .. interfaceDevice .. "\" && $1 == \"0.0.0.0\" && $3 == \"0.0.0.0\") print $2}'")) + if gateway ~= "" then + if task == "gateway" then + local pingCommand = "ping -c 3 -W 2 -I " .. interfaceDevice .. " " .. gateway + results = pingCommand .. "\n\n" .. sys.exec(pingCommand) + else + local tracked = ut.trim(sys.exec("uci -q -p /var/state get mwan3." .. interface .. ".track_ip")) + if tracked ~= "" then + for z in tracked:gmatch("[^ ]+") do + local pingCommand = "ping -c 3 -W 2 -I " .. interfaceDevice .. " " .. z + results = results .. pingCommand .. "\n\n" .. sys.exec(pingCommand) .. "\n\n" + end + else + results = "No tracking IP addresses configured on " .. interface + end + end + else + results = "No default gateway for " .. interface .. " found. Default route does not exist or is configured incorrectly" + end + elseif tool == "rulechk" then + getInterfaceNumber() + local rule1 = sys.exec(ip .. "rule | grep $(echo $((" .. interfaceNumber .. " + 1000)))") + local rule2 = sys.exec(ip .. "rule | grep $(echo $((" .. interfaceNumber .. " + 2000)))") + if rule1 ~= "" and rule2 ~= "" then + results = "All required interface IP rules found:\n\n" .. rule1 .. rule2 + elseif rule1 ~= "" or rule2 ~= "" then + results = "Missing 1 of the 2 required interface IP rules\n\n\nRules found:\n\n" .. rule1 .. rule2 + else + results = "Missing both of the required interface IP rules" + end + elseif tool == "routechk" then + getInterfaceNumber() + local routeTable = sys.exec(ip .. "route list table " .. interfaceNumber) + if routeTable ~= "" then + results = "Interface routing table " .. interfaceNumber .. " was found:\n\n" .. routeTable + else + results = "Missing required interface routing table " .. interfaceNumber + end + elseif tool == "hotplug" then + if task == "ifup" then + os.execute("/usr/sbin/mwan3 ifup " .. interface) + results = "Hotplug ifup sent to interface " .. interface .. "..." + else + os.execute("/usr/sbin/mwan3 ifdown " .. interface) + results = "Hotplug ifdown sent to interface " .. interface .. "..." + end + end + else + results = "Unable to perform diagnostic tests on " .. interface .. ". There is no physical or virtual device associated with this interface" + end + end + if results ~= "" then + results = ut.trim(results) + mArray.diagnostics = { results } + end + + luci.http.prepare_content("application/json") + luci.http.write_json(mArray) +end + +function troubleshootingData() + local ver = require "luci.version" + + local mArray = {} + + -- software versions + local wrtRelease = ut.trim(ver.distversion) + if wrtRelease ~= "" then + wrtRelease = "OpenWrt - " .. wrtRelease + else + wrtRelease = "OpenWrt - unknown" + end + local luciRelease = ut.trim(ver.luciversion) + if luciRelease ~= "" then + luciRelease = "\nLuCI - " .. luciRelease + else + luciRelease = "\nLuCI - unknown" + end + local mwanVersion = ut.trim(sys.exec("opkg info mwan3 | grep Version | awk '{print $2}'")) + if mwanVersion ~= "" then + mwanVersion = "\n\nmwan3 - " .. mwanVersion + else + mwanVersion = "\n\nmwan3 - unknown" + end + local mwanLuciVersion = ut.trim(sys.exec("opkg info luci-app-mwan3 | grep Version | awk '{print $2}'")) + if mwanLuciVersion ~= "" then + mwanLuciVersion = "\nmwan3-luci - " .. mwanLuciVersion + else + mwanLuciVersion = "\nmwan3-luci - unknown" + end + mArray.versions = { wrtRelease .. luciRelease .. mwanVersion .. mwanLuciVersion } + + -- mwan config + local mwanConfig = ut.trim(sys.exec("cat /etc/config/mwan3")) + if mwanConfig == "" then + mwanConfig = "No data found" + end + mArray.mwanconfig = { mwanConfig } + + -- network config + local networkConfig = ut.trim(sys.exec("cat /etc/config/network | sed -e 's/.*username.*/ USERNAME HIDDEN/' -e 's/.*password.*/ PASSWORD HIDDEN/'")) + if networkConfig == "" then + networkConfig = "No data found" + end + mArray.netconfig = { networkConfig } + + -- wireless config + local wirelessConfig = ut.trim(sys.exec("cat /etc/config/wireless | sed -e 's/.*username.*/ USERNAME HIDDEN/' -e 's/.*password.*/ PASSWORD HIDDEN/' -e 's/.*key.*/ KEY HIDDEN/'")) + if wirelessConfig == "" then + wirelessConfig = "No data found" + end + mArray.wificonfig = { wirelessConfig } + + -- ifconfig + local ifconfig = ut.trim(sys.exec("ifconfig")) + if ifconfig == "" then + ifconfig = "No data found" + end + mArray.ifconfig = { ifconfig } + + -- route -n + local routeShow = ut.trim(sys.exec("route -n")) + if routeShow == "" then + routeShow = "No data found" + end + mArray.routeshow = { routeShow } + + -- ip rule show + local ipRuleShow = ut.trim(sys.exec(ip .. "rule show")) + if ipRuleShow == "" then + ipRuleShow = "No data found" + end + mArray.iprule = { ipRuleShow } + + -- ip route list table 1-250 + local routeList, routeString = ut.trim(sys.exec(ip .. "rule | sed 's/://g' 2>/dev/null | awk '$1>=2001 && $1<=2250' | awk '{print $NF}'")), "" + if routeList ~= "" then + for line in routeList:gmatch("[^\r\n]+") do + routeString = routeString .. line .. "\n" .. sys.exec(ip .. "route list table " .. line) + end + routeString = ut.trim(routeString) + else + routeString = "No data found" + end + mArray.routelist = { routeString } + + -- default firewall output policy + local firewallOut = ut.trim(sys.exec("uci -q -p /var/state get firewall.@defaults[0].output")) + if firewallOut == "" then + firewallOut = "No data found" + end + mArray.firewallout = { firewallOut } + + -- iptables + local iptables = ut.trim(sys.exec("iptables -L -t mangle -v -n")) + if iptables == "" then + iptables = "No data found" + end + mArray.iptables = { iptables } + + luci.http.prepare_content("application/json") + luci.http.write_json(mArray) +end diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_hotplugscript.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_hotplugscript.lua new file mode 100644 index 0000000000..0e7b8b11d0 --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_hotplugscript.lua @@ -0,0 +1,55 @@ +-- ------ hotplug script configuration ------ -- + +fs = require "nixio.fs" +sys = require "luci.sys" +ut = require "luci.util" + +script = "/etc/hotplug.d/iface/16-mwancustom" +scriptBackup = "/etc/hotplug.d/iface/16-mwancustombak" + +if luci.http.formvalue("cbid.luci.1._restorebak") then -- restore button has been clicked + luci.http.redirect(luci.dispatcher.build_url("admin/network/mwan/advanced/hotplugscript") .. "?restore=yes") +elseif luci.http.formvalue("restore") == "yes" then -- restore script from backup + os.execute("cp -f " .. scriptBackup .. " " .. script) +end + + +m5 = SimpleForm("luci", nil) + m5:append(Template("mwan/advanced_hotplugscript")) -- highlight current tab + +f = m5:section(SimpleSection, nil, + translate("This section allows you to modify the contents of /etc/hotplug.d/iface/16-mwancustom<br />" .. + "This is useful for running system commands and/or scripts based on interface ifup or ifdown hotplug events<br /><br />" .. + "Notes:<br />" .. + "The first line of the script must be "#!/bin/sh" without quotes<br />" .. + "Lines beginning with # are comments and are not executed<br /><br />" .. + "Available variables:<br />" .. + "$ACTION is the hotplug event (ifup, ifdown)<br />" .. + "$INTERFACE is the interface name (wan1, wan2, etc.)<br />" .. + "$DEVICE is the device name attached to the interface (eth0.1, eth1, etc.)")) + + +restore = f:option(Button, "_restorebak", translate("Restore default hotplug script")) + restore.inputtitle = translate("Restore...") + restore.inputstyle = "apply" + +t = f:option(TextValue, "lines") + t.rmempty = true + t.rows = 20 + + function t.cfgvalue() + local hps = fs.readfile(script) + if not hps or hps == "" then -- if script does not exist or is blank restore from backup + sys.call("cp -f " .. scriptBackup .. " " .. script) + return fs.readfile(script) + else + return hps + end + end + + function t.write(self, section, data) -- format and write new data to script + return fs.writefile(script, ut.trim(data:gsub("\r\n", "\n")) .. "\n") + end + + +return m5 diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_mwanconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_mwanconfig.lua new file mode 100644 index 0000000000..e0a99e8366 --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_mwanconfig.lua @@ -0,0 +1,32 @@ +-- ------ mwan configuration ------ -- + +ut = require "luci.util" + +mwanConfig = "/etc/config/mwan3" + + +m5 = SimpleForm("luci", nil) + m5:append(Template("mwan/advanced_mwanconfig")) -- highlight current tab + + +f = m5:section(SimpleSection, nil, + translate("This section allows you to modify the contents of /etc/config/mwan3")) + +t = f:option(TextValue, "lines") + t.rmempty = true + t.rows = 20 + + function t.cfgvalue() + return nixio.fs.readfile(mwanConfig) or "" + end + + function t.write(self, section, data) -- format and write new data to script + return nixio.fs.writefile(mwanConfig, "\n" .. ut.trim(data:gsub("\r\n", "\n")) .. "\n") + end + + function f.handle(self, state, data) + return true + end + + +return m5 diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_networkconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_networkconfig.lua new file mode 100644 index 0000000000..b93d89751b --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_networkconfig.lua @@ -0,0 +1,32 @@ +-- ------ network configuration ------ -- + +ut = require "luci.util" + +networkConfig = "/etc/config/network" + + +m5 = SimpleForm("networkconf", nil) + m5:append(Template("mwan/advanced_networkconfig")) -- highlight current tab + + +f = m5:section(SimpleSection, nil, + translate("This section allows you to modify the contents of /etc/config/network")) + +t = f:option(TextValue, "lines") + t.rmempty = true + t.rows = 20 + + function t.cfgvalue() + return nixio.fs.readfile(networkConfig) or "" + end + + function t.write(self, section, data) -- format and write new data to script + return nixio.fs.writefile(networkConfig, "\n" .. ut.trim(data:gsub("\r\n", "\n")) .. "\n") + end + + function f.handle(self, state, data) + return true + end + + +return m5 diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_wirelessconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_wirelessconfig.lua new file mode 100644 index 0000000000..95e9f7c7e5 --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_wirelessconfig.lua @@ -0,0 +1,32 @@ +-- ------ wireless configuration ------ -- + +ut = require "luci.util" + +wirelessConfig = "/etc/config/wireless" + + +m5 = SimpleForm("wirelessconf", nil) + m5:append(Template("mwan/advanced_wirelessconfig")) -- highlight current tab + + +f = m5:section(SimpleSection, nil, + translate("This section allows you to modify the contents of /etc/config/wireless")) + +t = f:option(TextValue, "lines") + t.rmempty = true + t.rows = 20 + + function t.cfgvalue() + return nixio.fs.readfile(wirelessConfig) or "" + end + + function t.write(self, section, data) -- format and write new data to script + return nixio.fs.writefile(wirelessConfig, "\n" .. ut.trim(data:gsub("\r\n", "\n")) .. "\n") + end + + function f.handle(self, state, data) + return true + end + + +return m5 diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua new file mode 100644 index 0000000000..7e863a371f --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua @@ -0,0 +1,266 @@ +-- ------ extra functions ------ -- + +function interfaceCheck() -- find issues with too many interfaces, reliability and metric + uci.cursor():foreach("mwan3", "interface", + function (section) + local interfaceName = section[".name"] + interfaceNumber = interfaceNumber+1 -- count number of mwan interfaces configured + -- create list of metrics for none and duplicate checking + local metricValue = ut.trim(sys.exec("uci -p /var/state get network." .. interfaceName .. ".metric")) + if metricValue == "" then + errorFound = 1 + errorNoMetricList = errorNoMetricList .. interfaceName .. " " + else + metricList = metricList .. interfaceName .. " " .. metricValue .. "\n" + end + -- check if any interfaces have a higher reliability requirement than tracking IPs configured + local trackingNumber = tonumber(ut.trim(sys.exec("echo $(uci -p /var/state get mwan3." .. interfaceName .. ".track_ip) | wc -w"))) + if trackingNumber > 0 then + local reliabilityNumber = tonumber(ut.trim(sys.exec("uci -p /var/state get mwan3." .. interfaceName .. ".reliability"))) + if reliabilityNumber and reliabilityNumber > trackingNumber then + errorFound = 1 + errorReliabilityList = errorReliabilityList .. interfaceName .. " " + end + end + -- check if any interfaces are not properly configured in /etc/config/network or have no default route in main routing table + if ut.trim(sys.exec("uci -p /var/state get network." .. interfaceName)) == "interface" then + local interfaceDevice = ut.trim(sys.exec("uci -p /var/state get network." .. interfaceName .. ".ifname")) + if interfaceDevice == "uci: Entry not found" or interfaceDevice == "" then + errorFound = 1 + errorNetConfigList = errorNetConfigList .. interfaceName .. " " + errorRouteList = errorRouteList .. interfaceName .. " " + else + local routeCheck = ut.trim(sys.exec("route -n | awk '{if ($8 == \"" .. interfaceDevice .. "\" && $1 == \"0.0.0.0\" && $3 == \"0.0.0.0\") print $1}'")) + if routeCheck == "" then + errorFound = 1 + errorRouteList = errorRouteList .. interfaceName .. " " + end + end + else + errorFound = 1 + errorNetConfigList = errorNetConfigList .. interfaceName .. " " + errorRouteList = errorRouteList .. interfaceName .. " " + end + end + ) + -- check if any interfaces have duplicate metrics + local metricDuplicateNumbers = sys.exec("echo '" .. metricList .. "' | awk '{print $2}' | uniq -d") + if metricDuplicateNumbers ~= "" then + errorFound = 1 + local metricDuplicates = "" + for line in metricDuplicateNumbers:gmatch("[^\r\n]+") do + metricDuplicates = sys.exec("echo '" .. metricList .. "' | grep '" .. line .. "' | awk '{print $1}'") + errorDuplicateMetricList = errorDuplicateMetricList .. metricDuplicates + end + errorDuplicateMetricList = sys.exec("echo '" .. errorDuplicateMetricList .. "' | tr '\n' ' '") + end +end + +function interfaceWarnings() -- display status and warning messages at the top of the page + local warnings = "" + if interfaceNumber <= 250 then + warnings = "<strong>" .. translatef("There are currently %d of 250 supported interfaces configured", interfaceNumber) .. "</strong>" + else + warnings = "<font color=\"ff0000\"><strong>" .. translatef("WARNING: %d interfaces are configured exceeding the maximum of 250!", interfaceNumber) .. "</strong></font>" + end + if errorReliabilityList ~= " " then + warnings = warnings .. "<br /><br /><font color=\"ff0000\"><strong>" .. translate("WARNING: some interfaces have a higher reliability requirement than there are tracking IP addresses!") .. "</strong></font>" + end + if errorRouteList ~= " " then + warnings = warnings .. "<br /><br /><font color=\"ff0000\"><strong>" .. translate("WARNING: some interfaces have no default route in the main routing table!") .. "</strong></font>" + end + if errorNetConfigList ~= " " then + warnings = warnings .. "<br /><br /><font color=\"ff0000\"><strong>" .. translate("WARNING: some interfaces are configured incorrectly or not at all in /etc/config/network!") .. "</strong></font>" + end + if errorNoMetricList ~= " " then + warnings = warnings .. "<br /><br /><font color=\"ff0000\"><strong>" .. translate("WARNING: some interfaces have no metric configured in /etc/config/network!") .. "</strong></font>" + end + if errorDuplicateMetricList ~= " " then + warnings = warnings .. "<br /><br /><font color=\"ff0000\"><strong>" .. translate("WARNING: some interfaces have duplicate metrics configured in /etc/config/network!") .. "</strong></font>" + end + return warnings +end + +-- ------ interface configuration ------ -- + +dsp = require "luci.dispatcher" +sys = require "luci.sys" +ut = require "luci.util" + +interfaceNumber = 0 +metricList = "" +errorFound = 0 +errorDuplicateMetricList = " " +errorNetConfigList = " " +errorNoMetricList = " " +errorReliabilityList = " " +errorRouteList = " " +interfaceCheck() + + +m5 = Map("mwan3", translate("MWAN Interface Configuration"), + interfaceWarnings()) + m5:append(Template("mwan/config_css")) + + +mwan_interface = m5:section(TypedSection, "interface", translate("Interfaces"), + translate("MWAN supports up to 250 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 (see advanced tab)<br />" .. + "Names may contain characters A-Z, a-z, 0-9, _ and no spaces<br />" .. + "Interfaces may not share the same name as configured members, policies or rules")) + mwan_interface.addremove = true + mwan_interface.dynamic = false + mwan_interface.sectionhead = "Interface" + mwan_interface.sortable = true + mwan_interface.template = "cbi/tblsection" + mwan_interface.extedit = dsp.build_url("admin", "network", "mwan", "configuration", "interface", "%s") + function mwan_interface.create(self, section) + TypedSection.create(self, section) + m5.uci:save("mwan3") + luci.http.redirect(dsp.build_url("admin", "network", "mwan", "configuration", "interface", section)) + end + + +enabled = mwan_interface:option(DummyValue, "enabled", translate("Enabled")) + enabled.rawhtml = true + function enabled.cfgvalue(self, s) + if self.map:get(s, "enabled") == "1" then + return "Yes" + else + return "No" + end + end + +track_ip = mwan_interface:option(DummyValue, "track_ip", translate("Tracking IP")) + track_ip.rawhtml = true + function track_ip.cfgvalue(self, s) + tracked = self.map:get(s, "track_ip") + if tracked then + local ipList = "" + for k,v in pairs(tracked) do + ipList = ipList .. v .. "<br />" + end + return ipList + else + return "—" + end + end + +reliability = mwan_interface:option(DummyValue, "reliability", translate("Tracking reliability")) + reliability.rawhtml = true + function reliability.cfgvalue(self, s) + if tracked then + return self.map:get(s, "reliability") or "—" + else + return "—" + end + end + +count = mwan_interface:option(DummyValue, "count", translate("Ping count")) + count.rawhtml = true + function count.cfgvalue(self, s) + if tracked then + return self.map:get(s, "count") or "—" + else + return "—" + end + end + +timeout = mwan_interface:option(DummyValue, "timeout", translate("Ping timeout")) + timeout.rawhtml = true + function timeout.cfgvalue(self, s) + if tracked then + local timeoutValue = self.map:get(s, "timeout") + if timeoutValue then + return timeoutValue .. "s" + else + return "—" + end + else + return "—" + end + end + +interval = mwan_interface:option(DummyValue, "interval", translate("Ping interval")) + interval.rawhtml = true + function interval.cfgvalue(self, s) + if tracked then + local intervalValue = self.map:get(s, "interval") + if intervalValue then + return intervalValue .. "s" + else + return "—" + end + else + return "—" + end + end + +down = mwan_interface:option(DummyValue, "down", translate("Interface down")) + down.rawhtml = true + function down.cfgvalue(self, s) + if tracked then + return self.map:get(s, "down") or "—" + else + return "—" + end + end + +up = mwan_interface:option(DummyValue, "up", translate("Interface up")) + up.rawhtml = true + function up.cfgvalue(self, s) + if tracked then + return self.map:get(s, "up") or "—" + else + return "—" + end + end + +metric = mwan_interface:option(DummyValue, "metric", translate("Metric")) + metric.rawhtml = true + function metric.cfgvalue(self, s) + local metricValue = sys.exec("uci -p /var/state get network." .. s .. ".metric") + if metricValue ~= "" then + return metricValue + else + return "—" + end + end + +errors = mwan_interface:option(DummyValue, "errors", translate("Errors")) + errors.rawhtml = true + function errors.cfgvalue(self, s) + if errorFound == 1 then + local mouseOver, lineBreak = "", "" + if string.find(errorReliabilityList, " " .. s .. " ") then + mouseOver = "Higher reliability requirement than there are tracking IP addresses" + lineBreak = " " + end + if string.find(errorRouteList, " " .. s .. " ") then + mouseOver = mouseOver .. lineBreak .. "No default route in the main routing table" + lineBreak = " " + end + if string.find(errorNetConfigList, " " .. s .. " ") then + mouseOver = mouseOver .. lineBreak .. "Configured incorrectly or not at all in /etc/config/network" + lineBreak = " " + end + if string.find(errorNoMetricList, " " .. s .. " ") then + mouseOver = mouseOver .. lineBreak .. "No metric configured in /etc/config/network" + lineBreak = " " + end + if string.find(errorDuplicateMetricList, " " .. s .. " ") then + mouseOver = mouseOver .. lineBreak .. "Duplicate metric configured in /etc/config/network" + end + if mouseOver == "" then + return "" + else + return "<span title=\"" .. mouseOver .. "\"><img src=\"/luci-static/resources/cbi/reset.gif\" alt=\"error\"></img></span>" + end + else + return "" + end + end + + +return m5 diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua new file mode 100644 index 0000000000..e7c16fdfdc --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua @@ -0,0 +1,250 @@ +-- ------ extra functions ------ -- + +function interfaceCheck() + metricValue = ut.trim(sys.exec("uci -p /var/state get network." .. arg[1] .. ".metric")) + if metricValue == "" then -- no metric + errorNoMetric = 1 + else -- if metric exists create list of interface metrics to compare against for duplicates + uci.cursor():foreach("mwan3", "interface", + function (section) + local metricValue = ut.trim(sys.exec("uci -p /var/state get network." .. section[".name"] .. ".metric")) + metricList = metricList .. section[".name"] .. " " .. metricValue .. "\n" + end + ) + -- compare metric against list + local metricDuplicateNumbers, metricDuplicates = sys.exec("echo '" .. metricList .. "' | awk '{print $2}' | uniq -d"), "" + for line in metricDuplicateNumbers:gmatch("[^\r\n]+") do + metricDuplicates = sys.exec("echo '" .. metricList .. "' | grep '" .. line .. "' | awk '{print $1}'") + errorDuplicateMetricList = errorDuplicateMetricList .. metricDuplicates + end + if sys.exec("echo '" .. errorDuplicateMetricList .. "' | grep -w " .. arg[1]) ~= "" then + errorDuplicateMetric = 1 + end + end + -- check if this interface has a higher reliability requirement than track IPs configured + local trackingNumber = tonumber(ut.trim(sys.exec("echo $(uci -p /var/state get mwan3." .. arg[1] .. ".track_ip) | wc -w"))) + if trackingNumber > 0 then + local reliabilityNumber = tonumber(ut.trim(sys.exec("uci -p /var/state get mwan3." .. arg[1] .. ".reliability"))) + if reliabilityNumber and reliabilityNumber > trackingNumber then + errorReliability = 1 + end + end + -- check if any interfaces are not properly configured in /etc/config/network or have no default route in main routing table + if ut.trim(sys.exec("uci -p /var/state get network." .. arg[1])) == "interface" then + local interfaceDevice = ut.trim(sys.exec("uci -p /var/state get network." .. arg[1] .. ".ifname")) + if interfaceDevice == "uci: Entry not found" or interfaceDevice == "" then + errorNetConfig = 1 + errorRoute = 1 + else + local routeCheck = ut.trim(sys.exec("route -n | awk '{if ($8 == \"" .. interfaceDevice .. "\" && $1 == \"0.0.0.0\" && $3 == \"0.0.0.0\") print $1}'")) + if routeCheck == "" then + errorRoute = 1 + end + end + else + errorNetConfig = 1 + errorRoute = 1 + end +end + +function interfaceWarnings() -- display warning messages at the top of the page + local warns, lineBreak = "", "" + if errorReliability == 1 then + warns = "<font color=\"ff0000\"><strong>" .. translate("WARNING: this interface has a higher reliability requirement than there are tracking IP addresses!") .. "</strong></font>" + lineBreak = "<br /><br />" + end + if errorRoute == 1 then + warns = warns .. lineBreak .. "<font color=\"ff0000\"><strong>" .. translate("WARNING: this interface has no default route in the main routing table!") .. "</strong></font>" + lineBreak = "<br /><br />" + end + if errorNetConfig == 1 then + warns = warns .. lineBreak .. "<font color=\"ff0000\"><strong>" .. translate("WARNING: this interface is configured incorrectly or not at all in /etc/config/network!") .. "</strong></font>" + lineBreak = "<br /><br />" + end + if errorNoMetric == 1 then + warns = warns .. lineBreak .. "<font color=\"ff0000\"><strong>" .. translate("WARNING: this interface has no metric configured in /etc/config/network!") .. "</strong></font>" + elseif errorDuplicateMetric == 1 then + warns = warns .. lineBreak .. "<font color=\"ff0000\"><strong>" .. translate("WARNING: this and other interfaces have duplicate metrics configured in /etc/config/network!") .. "</strong></font>" + end + return warns +end + +-- ------ interface configuration ------ -- + +dsp = require "luci.dispatcher" +sys = require "luci.sys" +ut = require "luci.util" +arg[1] = arg[1] or "" + +metricValue = "" +metricList = "" +errorDuplicateMetricList = "" +errorNoMetric = 0 +errorDuplicateMetric = 0 +errorRoute = 0 +errorNetConfig = 0 +errorReliability = 0 +interfaceCheck() + + +m5 = Map("mwan3", translatef("MWAN Interface Configuration - %s", arg[1]), + interfaceWarnings()) + m5.redirect = dsp.build_url("admin", "network", "mwan", "configuration", "interface") + + +mwan_interface = m5:section(NamedSection, arg[1], "interface", "") + mwan_interface.addremove = false + mwan_interface.dynamic = false + + +enabled = mwan_interface:option(ListValue, "enabled", translate("Enabled")) + enabled.default = "1" + enabled:value("1", translate("Yes")) + enabled:value("0", translate("No")) + +family = mwan_interface:option(ListValue, "family", translate("Internet Protocol")) + family.default = "ipv4" + family:value("ipv4", translate("IPv4")) + family:value("ipv6", translate("IPv6")) + +track_ip = mwan_interface:option(DynamicList, "track_ip", translate("Tracking IP"), + translate("This IP address will be pinged to dermine if the link is up or down. Leave blank to assume interface is always online")) + track_ip.datatype = "ipaddr" + +reliability = mwan_interface:option(Value, "reliability", translate("Tracking reliability"), + translate("Acceptable values: 1-100. This many Tracking IP addresses must respond for the link to be deemed up")) + reliability.datatype = "range(1, 100)" + reliability.default = "1" + +count = mwan_interface:option(ListValue, "count", translate("Ping count")) + count.default = "1" + count:value("1") + count:value("2") + count:value("3") + count:value("4") + count:value("5") + +size = mwan_interface:option(Value, "size", translate("Ping size")) + size.default = "56" + size:value("8") + size:value("24") + size:value("56") + size:value("120") + size:value("248") + size:value("504") + size:value("1016") + size:value("1472") + size:value("2040") + size.datatype = "range(1, 65507)" + size.rmempty = false + size.optional = false + +timeout = mwan_interface:option(ListValue, "timeout", translate("Ping timeout")) + timeout.default = "2" + timeout:value("1", translatef("%d second", 1)) + timeout:value("2", translatef("%d seconds", 2)) + timeout:value("3", translatef("%d seconds", 3)) + timeout:value("4", translatef("%d seconds", 4)) + timeout:value("5", translatef("%d seconds", 5)) + timeout:value("6", translatef("%d seconds", 6)) + timeout:value("7", translatef("%d seconds", 7)) + timeout:value("8", translatef("%d seconds", 8)) + timeout:value("9", translatef("%d seconds", 9)) + timeout:value("10", translatef("%d seconds", 10)) + +interval = mwan_interface:option(ListValue, "interval", translate("Ping interval")) + interval.default = "5" + interval:value("1", translatef("%d second", 1)) + interval:value("3", translatef("%d seconds", 3)) + interval:value("5", translatef("%d seconds", 5)) + interval:value("10", translatef("%d seconds", 10)) + interval:value("20", translatef("%d seconds", 20)) + interval:value("30", translatef("%d seconds", 30)) + interval:value("60", translatef("%d minute", 1)) + interval:value("300", translatef("%d minutes", 5)) + interval:value("600", translatef("%d minutes", 10)) + interval:value("900", translatef("%d minutes", 15)) + interval:value("1800", translatef("%d minutes", 30)) + interval:value("3600", translatef("%d hour", 1)) + +failure = mwan_interface:option(Value, "failure_interval", translate("Failure interval"), + translate("Ping interval during failure detection")) + failure.default = "5" + failure:value("1", translatef("%d second", 1)) + failure:value("3", translatef("%d seconds", 3)) + failure:value("5", translatef("%d seconds", 5)) + failure:value("10", translatef("%d seconds", 10)) + failure:value("20", translatef("%d seconds", 20)) + failure:value("30", translatef("%d seconds", 30)) + failure:value("60", translatef("%d minute", 1)) + failure:value("300", translatef("%d minutes", 5)) + failure:value("600", translatef("%d minutes", 10)) + failure:value("900", translatef("%d minutes", 15)) + failure:value("1800", translatef("%d minutes", 30)) + failure:value("3600", translatef("%d hour", 1)) + +recovery = mwan_interface:option(Value, "recovery_interval", translate("Recovery interval"), + translate("Ping interval during failure recovering")) + recovery.default = "5" + recovery:value("1", translatef("%d second", 1)) + recovery:value("3", translatef("%d seconds", 3)) + recovery:value("5", translatef("%d seconds", 5)) + recovery:value("10", translatef("%d seconds", 10)) + recovery:value("20", translatef("%d seconds", 20)) + recovery:value("30", translatef("%d seconds", 30)) + recovery:value("60", translatef("%d minute", 1)) + recovery:value("300", translatef("%d minutes", 5)) + recovery:value("600", translatef("%d minutes", 10)) + recovery:value("900", translatef("%d minutes", 15)) + recovery:value("1800", translatef("%d minutes", 30)) + recovery:value("3600", translatef("%d hour", 1)) + +down = mwan_interface:option(ListValue, "down", translate("Interface down"), + translate("Interface will be deemed down after this many failed ping tests")) + down.default = "3" + down:value("1") + down:value("2") + down:value("3") + down:value("4") + down:value("5") + down:value("6") + down:value("7") + down:value("8") + down:value("9") + down:value("10") + +up = mwan_interface:option(ListValue, "up", translate("Interface up"), + translate("Downed interface will be deemed up after this many successful ping tests")) + up.default = "3" + up:value("1") + up:value("2") + up:value("3") + up:value("4") + up:value("5") + up:value("6") + up:value("7") + up:value("8") + up:value("9") + up:value("10") + +flush = mwan_interface:option(ListValue, "flush_conntrack", translate("Flush conntrack table"), + translate("Flush global firewall conntrack table on interface events")) + flush.default = "never" + flush:value("ifup", translate("ifup")) + flush:value("ifdown", translate("ifdown")) + flush:value("never", translate("never")) + flush:value("always", translate("always")) + +metric = mwan_interface:option(DummyValue, "metric", translate("Metric"), + translate("This displays the metric assigned to this interface in /etc/config/network")) + metric.rawhtml = true + function metric.cfgvalue(self, s) + if errorNoMetric == 0 then + return metricValue + else + return "—" + end + end + + +return m5 diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/member.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/member.lua new file mode 100644 index 0000000000..3bccbd942f --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/member.lua @@ -0,0 +1,46 @@ +-- ------ member configuration ------ -- + +ds = require "luci.dispatcher" + + +m5 = Map("mwan3", translate("MWAN Member Configuration")) + m5:append(Template("mwan/config_css")) + + +mwan_member = m5:section(TypedSection, "member", translate("Members"), + 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")) + mwan_member.addremove = true + mwan_member.dynamic = false + mwan_member.sectionhead = "Member" + mwan_member.sortable = true + mwan_member.template = "cbi/tblsection" + mwan_member.extedit = ds.build_url("admin", "network", "mwan", "configuration", "member", "%s") + function mwan_member.create(self, section) + TypedSection.create(self, section) + m5.uci:save("mwan3") + luci.http.redirect(ds.build_url("admin", "network", "mwan", "configuration", "member", section)) + end + + +interface = mwan_member:option(DummyValue, "interface", translate("Interface")) + interface.rawhtml = true + function interface.cfgvalue(self, s) + return self.map:get(s, "interface") or "—" + end + +metric = mwan_member:option(DummyValue, "metric", translate("Metric")) + metric.rawhtml = true + function metric.cfgvalue(self, s) + return self.map:get(s, "metric") or "1" + end + +weight = mwan_member:option(DummyValue, "weight", translate("Weight")) + weight.rawhtml = true + function weight.cfgvalue(self, s) + return self.map:get(s, "weight") or "1" + end + + +return m5 diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/memberconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/memberconfig.lua new file mode 100644 index 0000000000..eb6f417afe --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/memberconfig.lua @@ -0,0 +1,47 @@ +-- ------ extra functions ------ -- + +function cbi_add_interface(field) + uci.cursor():foreach("mwan3", "interface", + function (section) + field:value(section[".name"]) + end + ) +end + +-- ------ member configuration ------ -- + +dsp = require "luci.dispatcher" +arg[1] = arg[1] or "" + + +m5 = Map("mwan3", translatef("MWAN Member Configuration - %s", arg[1])) + m5.redirect = dsp.build_url("admin", "network", "mwan", "configuration", "member") + + +mwan_member = m5:section(NamedSection, arg[1], "member", "") + mwan_member.addremove = false + mwan_member.dynamic = false + + +interface = mwan_member:option(Value, "interface", translate("Interface")) + cbi_add_interface(interface) + +metric = mwan_member:option(Value, "metric", translate("Metric"), + translate("Acceptable values: 1-1000. Defaults to 1 if not set")) + metric.datatype = "range(1, 1000)" + +weight = mwan_member:option(Value, "weight", translate("Weight"), + translate("Acceptable values: 1-1000. Defaults to 1 if not set")) + weight.datatype = "range(1, 1000)" + + +-- ------ currently configured interfaces ------ -- + +mwan_interface = m5:section(TypedSection, "interface", translate("Currently Configured Interfaces")) + mwan_interface.addremove = false + mwan_interface.dynamic = false + mwan_interface.sortable = false + mwan_interface.template = "cbi/tblsection" + + +return m5 diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/policy.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/policy.lua new file mode 100644 index 0000000000..08c3f69de6 --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/policy.lua @@ -0,0 +1,95 @@ +-- ------ extra functions ------ -- + +function policyCheck() -- check to see if any policy names exceed the maximum of 15 characters + uci.cursor():foreach("mwan3", "policy", + function (section) + if string.len(section[".name"]) > 15 then + nameTooLong = 1 + err_name_list = err_name_list .. section[".name"] .. " " + end + end + ) +end + +function policyWarn() -- display status and warning messages at the top of the page + if nameTooLong == 1 then + return "<font color=\"ff0000\"><strong>" .. translate("WARNING: Some policies have names exceeding the maximum of 15 characters!") .. "</strong></font>" + else + return "" + end +end + +-- ------ policy configuration ------ -- + +ds = require "luci.dispatcher" +sys = require "luci.sys" + +nameTooLong = 0 +err_name_list = " " +policyCheck() + + +m5 = Map("mwan3", translate("MWAN Policy Configuration"), + policyWarn()) + m5:append(Template("mwan/config_css")) + + +mwan_policy = m5:section(TypedSection, "policy", translate("Policies"), + translate("Policies are profiles grouping one or more members controlling how MWAN distributes traffic<br />" .. + "Member interfaces with lower metrics are used first. Interfaces with the same metric load-balance<br />" .. + "Load-balanced member interfaces distribute more traffic out those with higher weights<br />" .. + "Names may contain characters A-Z, a-z, 0-9, _ and no spaces. Names must be 15 characters or less<br />" .. + "Policies may not share the same name as configured interfaces, members or rules")) + mwan_policy.addremove = true + mwan_policy.dynamic = false + mwan_policy.sectionhead = "Policy" + mwan_policy.sortable = true + mwan_policy.template = "cbi/tblsection" + mwan_policy.extedit = ds.build_url("admin", "network", "mwan", "configuration", "policy", "%s") + function mwan_policy.create(self, section) + TypedSection.create(self, section) + m5.uci:save("mwan3") + luci.http.redirect(ds.build_url("admin", "network", "mwan", "configuration", "policy", section)) + end + + +use_member = mwan_policy:option(DummyValue, "use_member", translate("Members assigned")) + use_member.rawhtml = true + function use_member.cfgvalue(self, s) + local memberConfig, memberList = self.map:get(s, "use_member"), "" + if memberConfig then + for k,v in pairs(memberConfig) do + memberList = memberList .. v .. "<br />" + end + return memberList + else + return "—" + end + + end + +last_resort = mwan_policy:option(DummyValue, "last_resort", translate("Last resort")) + last_resort.rawhtml = true + function last_resort.cfgvalue(self, s) + local action = self.map:get(s, "last_resort") + if action == "blackhole" then + return "blackhole (drop)" + elseif action == "default" then + return "default (use main routing table)" + else + return "unreachable (reject)" + end + end + +errors = mwan_policy:option(DummyValue, "errors", translate("Errors")) + errors.rawhtml = true + function errors.cfgvalue(self, s) + if not string.find(err_name_list, " " .. s .. " ") then + return "" + else + return "<span title=\"Name exceeds 15 characters\"><img src=\"/luci-static/resources/cbi/reset.gif\" alt=\"error\"></img></span>" + end + end + + +return m5 diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/policyconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/policyconfig.lua new file mode 100644 index 0000000000..06a0fec668 --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/policyconfig.lua @@ -0,0 +1,65 @@ +-- ------ extra functions ------ -- + +function policyCheck() -- check to see if this policy's name exceed the maximum of 15 characters + policyNameLength = string.len(arg[1]) + if policyNameLength > 15 then + nameTooLong = 1 + end +end + +function policyWarn() -- display status and warning messages at the top of the page + if nameTooLong == 1 then + return "<font color=\"ff0000\"><strong>" .. translatef("WARNING: this policy's name is %d characters exceeding the maximum of 15!", policyNameLength) .. "</strong></font>" + else + return "" + end +end + +function cbiAddMember(field) + uci.cursor():foreach("mwan3", "member", + function (section) + field:value(section[".name"]) + end + ) +end + +-- ------ policy configuration ------ -- + +dsp = require "luci.dispatcher" +arg[1] = arg[1] or "" + +nameTooLong = 0 +policyCheck() + + +m5 = Map("mwan3", translatef("MWAN Policy Configuration - %s", arg[1]), + policyWarn()) + m5.redirect = dsp.build_url("admin", "network", "mwan", "configuration", "policy") + + +mwan_policy = m5:section(NamedSection, arg[1], "policy", "") + mwan_policy.addremove = false + mwan_policy.dynamic = false + + +use_member = mwan_policy:option(DynamicList, "use_member", translate("Member used")) + cbiAddMember(use_member) + +last_resort = mwan_policy:option(ListValue, "last_resort", translate("Last resort"), + translate("When all policy members are offline use this behavior for matched traffic")) + last_resort.default = "unreachable" + last_resort:value("unreachable", translate("unreachable (reject)")) + last_resort:value("blackhole", translate("blackhole (drop)")) + last_resort:value("default", translate("default (use main routing table)")) + + +-- ------ currently configured members ------ -- + +mwan_member = m5:section(TypedSection, "member", translate("Currently Configured Members")) + mwan_member.addremove = false + mwan_member.dynamic = false + mwan_member.sortable = false + mwan_member.template = "cbi/tblsection" + + +return m5 diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua new file mode 100644 index 0000000000..412f369eb0 --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua @@ -0,0 +1,141 @@ +-- ------ extra functions ------ -- + +function ruleCheck() -- determine if rules needs a proper protocol configured + uci.cursor():foreach("mwan3", "rule", + function (section) + local sourcePort = ut.trim(sys.exec("uci -p /var/state get mwan3." .. section[".name"] .. ".src_port")) + local destPort = ut.trim(sys.exec("uci -p /var/state get mwan3." .. section[".name"] .. ".dest_port")) + if sourcePort ~= "" or destPort ~= "" then -- ports configured + local protocol = ut.trim(sys.exec("uci -p /var/state get mwan3." .. section[".name"] .. ".proto")) + if protocol == "" or protocol == "all" then -- no or improper protocol + error_protocol_list = error_protocol_list .. section[".name"] .. " " + end + end + end + ) +end + +function ruleWarn() -- display warning messages at the top of the page + if error_protocol_list ~= " " then + return "<font color=\"ff0000\"><strong>" .. translate("WARNING: some rules have a port configured with no or improper protocol specified! Please configure a specific protocol!") .. "</strong></font>" + else + return "" + end +end + +-- ------ rule configuration ------ -- + +dsp = require "luci.dispatcher" +sys = require "luci.sys" +ut = require "luci.util" + +error_protocol_list = " " +ruleCheck() + + +m5 = Map("mwan3", translate("MWAN Rule Configuration"), + ruleWarn()) + m5:append(Template("mwan/config_css")) + + +mwan_rule = m5:section(TypedSection, "rule", translate("Traffic Rules"), + translate("Rules specify which traffic will use a particular MWAN policy based on IP address, port or protocol<br />" .. + "Rules are matched from top to bottom. Rules below a matching rule are ignored. Traffic not matching any rule is routed using the main routing table<br />" .. + "Traffic destined for known (other than default) networks is handled by the main routing table. Traffic matching a rule, but all WAN interfaces for that policy are down will be blackholed<br />" .. + "Names may contain characters A-Z, a-z, 0-9, _ and no spaces<br />" .. + "Rules may not share the same name as configured interfaces, members or policies")) + mwan_rule.addremove = true + mwan_rule.anonymous = false + mwan_rule.dynamic = false + mwan_rule.sectionhead = "Rule" + mwan_rule.sortable = true + mwan_rule.template = "cbi/tblsection" + mwan_rule.extedit = dsp.build_url("admin", "network", "mwan", "configuration", "rule", "%s") + function mwan_rule.create(self, section) + TypedSection.create(self, section) + m5.uci:save("mwan3") + luci.http.redirect(dsp.build_url("admin", "network", "mwan", "configuration", "rule", section)) + end + + +src_ip = mwan_rule:option(DummyValue, "src_ip", translate("Source address")) + src_ip.rawhtml = true + function src_ip.cfgvalue(self, s) + return self.map:get(s, "src_ip") or "—" + end + +src_port = mwan_rule:option(DummyValue, "src_port", translate("Source port")) + src_port.rawhtml = true + function src_port.cfgvalue(self, s) + return self.map:get(s, "src_port") or "—" + end + +dest_ip = mwan_rule:option(DummyValue, "dest_ip", translate("Destination address")) + dest_ip.rawhtml = true + function dest_ip.cfgvalue(self, s) + return self.map:get(s, "dest_ip") or "—" + end + +dest_port = mwan_rule:option(DummyValue, "dest_port", translate("Destination port")) + dest_port.rawhtml = true + function dest_port.cfgvalue(self, s) + return self.map:get(s, "dest_port") or "—" + end + +proto = mwan_rule:option(DummyValue, "proto", translate("Protocol")) + proto.rawhtml = true + function proto.cfgvalue(self, s) + return self.map:get(s, "proto") or "all" + end + +sticky = mwan_rule:option(DummyValue, "sticky", translate("Sticky")) + sticky.rawhtml = true + function sticky.cfgvalue(self, s) + if self.map:get(s, "sticky") == "1" then + stickied = 1 + return "Yes" + else + stickied = nil + return "No" + end + end + +timeout = mwan_rule:option(DummyValue, "timeout", translate("Sticky timeout")) + timeout.rawhtml = true + function timeout.cfgvalue(self, s) + if stickied then + local timeoutValue = self.map:get(s, "timeout") + if timeoutValue then + return timeoutValue .. "s" + else + return "600s" + end + else + return "—" + end + end + +ipset = mwan_rule:option(DummyValue, "ipset", translate("IPset")) + ipset.rawhtml = true + function ipset.cfgvalue(self, s) + return self.map:get(s, "ipset") or "—" + end + +use_policy = mwan_rule:option(DummyValue, "use_policy", translate("Policy assigned")) + use_policy.rawhtml = true + function use_policy.cfgvalue(self, s) + return self.map:get(s, "use_policy") or "—" + end + +errors = mwan_rule:option(DummyValue, "errors", translate("Errors")) + errors.rawhtml = true + function errors.cfgvalue(self, s) + if not string.find(error_protocol_list, " " .. s .. " ") then + return "" + else + return "<span title=\"No protocol specified\"><img src=\"/luci-static/resources/cbi/reset.gif\" alt=\"error\"></img></span>" + end + end + + +return m5 diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua new file mode 100644 index 0000000000..25a96f5c8f --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua @@ -0,0 +1,113 @@ +-- ------ extra functions ------ -- + +function ruleCheck() -- determine if rule needs a protocol specified + local sourcePort = ut.trim(sys.exec("uci -p /var/state get mwan3." .. arg[1] .. ".src_port")) + local destPort = ut.trim(sys.exec("uci -p /var/state get mwan3." .. arg[1] .. ".dest_port")) + if sourcePort ~= "" or destPort ~= "" then -- ports configured + local protocol = ut.trim(sys.exec("uci -p /var/state get mwan3." .. arg[1] .. ".proto")) + if protocol == "" or protocol == "all" then -- no or improper protocol + error_protocol = 1 + end + end +end + +function ruleWarn() -- display warning message at the top of the page + if error_protocol == 1 then + return "<font color=\"ff0000\"><strong>" .. translate("WARNING: this rule is incorrectly configured with no or improper protocol specified! Please configure a specific protocol!") .. "</strong></font>" + else + return "" + end +end + +function cbiAddPolicy(field) + uci.cursor():foreach("mwan3", "policy", + function (section) + field:value(section[".name"]) + end + ) +end + +function cbiAddProtocol(field) + local protocols = ut.trim(sys.exec("cat /etc/protocols | grep ' # ' | awk '{print $1}' | grep -vw -e 'ip' -e 'tcp' -e 'udp' -e 'icmp' -e 'esp' | grep -v 'ipv6' | sort | tr '\n' ' '")) + for p in string.gmatch(protocols, "%S+") do + field:value(p) + end +end + +-- ------ rule configuration ------ -- + +dsp = require "luci.dispatcher" +sys = require "luci.sys" +ut = require "luci.util" +arg[1] = arg[1] or "" + +error_protocol = 0 +ruleCheck() + + +m5 = Map("mwan3", translatef("MWAN Rule Configuration - %s", arg[1]), + ruleWarn()) + m5.redirect = dsp.build_url("admin", "network", "mwan", "configuration", "rule") + + +mwan_rule = m5:section(NamedSection, arg[1], "rule", "") + mwan_rule.addremove = false + mwan_rule.dynamic = false + + +src_ip = mwan_rule:option(Value, "src_ip", translate("Source address"), + translate("Supports CIDR notation (eg \"192.168.100.0/24\") without quotes")) + src_ip.datatype = ipaddr + +src_port = mwan_rule:option(Value, "src_port", translate("Source port"), + translate("May be entered as a single or multiple port(s) (eg \"22\" or \"80,443\") or as a portrange (eg \"1024:2048\") without quotes")) + +dest_ip = mwan_rule:option(Value, "dest_ip", translate("Destination address"), + translate("Supports CIDR notation (eg \"192.168.100.0/24\") without quotes")) + dest_ip.datatype = ipaddr + +dest_port = mwan_rule:option(Value, "dest_port", translate("Destination port"), + translate("May be entered as a single or multiple port(s) (eg \"22\" or \"80,443\") or as a portrange (eg \"1024:2048\") without quotes")) + +proto = mwan_rule:option(Value, "proto", translate("Protocol"), + translate("View the contents of /etc/protocols for protocol descriptions")) + proto.default = "all" + proto.rmempty = false + proto:value("all") + proto:value("ip") + proto:value("tcp") + proto:value("udp") + proto:value("icmp") + proto:value("esp") + cbiAddProtocol(proto) + +sticky = mwan_rule:option(ListValue, "sticky", translate("Sticky"), + translate("Traffic from the same source IP address that previously matched this rule within the sticky timeout period will use the same WAN interface")) + sticky.default = "0" + sticky:value("1", translate("Yes")) + sticky:value("0", translate("No")) + +timeout = mwan_rule:option(Value, "timeout", translate("Sticky timeout"), + translate("Seconds. Acceptable values: 1-1000000. Defaults to 600 if not set")) + timeout.datatype = "range(1, 1000000)" + +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\")")) + +use_policy = mwan_rule:option(Value, "use_policy", translate("Policy assigned")) + cbiAddPolicy(use_policy) + use_policy:value("unreachable", translate("unreachable (reject)")) + use_policy:value("blackhole", translate("blackhole (drop)")) + use_policy:value("default", translate("default (use main routing table)")) + + +-- ------ currently configured policies ------ -- + +mwan_policy = m5:section(TypedSection, "policy", translate("Currently Configured Policies")) + mwan_policy.addremove = false + mwan_policy.dynamic = false + mwan_policy.sortable = false + mwan_policy.template = "cbi/tblsection" + + +return m5 diff --git a/applications/luci-app-mwan3/luasrc/view/admin_status/index/mwan.htm b/applications/luci-app-mwan3/luasrc/view/admin_status/index/mwan.htm new file mode 100644 index 0000000000..53b997af90 --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/view/admin_status/index/mwan.htm @@ -0,0 +1 @@ +<%+mwan/openwrt_overview_status%> diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/advanced_diagnostics.htm b/applications/luci-app-mwan3/luasrc/view/mwan/advanced_diagnostics.htm new file mode 100644 index 0000000000..14d404bc7c --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/view/mwan/advanced_diagnostics.htm @@ -0,0 +1,129 @@ +<%+header%> + +<ul class="cbi-tabmenu"> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/hotplugscript")%>"><%:Hotplug Script%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/mwanconfig")%>"><%:MWAN Config%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/networkconfig")%>"><%:Network Config%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/wirelessconfig")%>"><%:Wireless Config%></a></li> + <li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/diagnostics")%>"><%:Diagnostics%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/troubleshooting")%>"><%:Troubleshooting%></a></li> +</ul> + +<% + local uci = require "luci.model.uci" + + interfaceNames = "" + uci.cursor():foreach("mwan3", "interface", + function (section) + interfaceNames = interfaceNames .. section[".name"] .. " " + end + ) +%> + +<script type="text/javascript" src="<%=resource%>/cbi.js"></script> +<script type="text/javascript">//<![CDATA[ + var stxhr = new XHR(); + + function update_status(tool, task) + { + var iface = document.getElementById('mwaniface').value; + var output = document.getElementById('diag_output'); + + if (tool == "service") + { + output.innerHTML = + '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="padding: 20px; vertical-align: middle;" /> ' + + "Waiting for MWAN to " + task + "..." + ; + } + else + { + output.innerHTML = + '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="padding: 20px; vertical-align: middle;" /> ' + + "Waiting for diagnostic results..." + ; + } + + output.parentNode.style.display = 'block'; + output.style.display = 'inline'; + + stxhr.get('<%=luci.dispatcher.build_url("admin", "network", "mwan", "advanced")%>/diagnostics_display' + '/' + iface + '/' + tool + '/' + task, null, + function(x, mArray) + { + if (mArray.diagnostics) + { + output.innerHTML = String.format('<pre id="diag_output_css">%h</pre>', mArray.diagnostics[0]); + } + else + { + output.innerHTML = '<pre id="diag_output_css"><strong>No diagnostic results returned</strong></pre>'; + } + } + ); + } +//]]></script> + +<div id="mwan_diagnostics" class="cbi-map"> + <fieldset id="diag_select" class="cbi-section"> + <legend><%:MWAN Interface Diagnostics%></legend> + <select id="mwaniface"> + <% for z in interfaceNames:gmatch("[^ ]+") do -%><option value="<%=z%>"><%=z%></option><%- end %> + </select> + <div id="buttoncss"> + <input type="button" value="<%:Ping default gateway%>" class="cbi-button cbi-button-apply" onclick="update_status('ping', 'gateway')" /> + <input type="button" value="<%:Ping tracking IP%>" class="cbi-button cbi-button-apply" onclick="update_status('ping', 'track_ip')" /> + <input type="button" value="<%:Check IP rules%>" class="cbi-button cbi-button-apply" onclick="update_status('rulechk', null)" /> + <input type="button" value="<%:Check routing table%>" class="cbi-button cbi-button-apply" onclick="update_status('routechk', null)" /> + <input type="button" value="<%:Hotplug ifup%>" class="cbi-button cbi-button-apply" onclick="update_status('hotplug', 'ifup')" /> + <input type="button" value="<%:Hotplug ifdown%>" class="cbi-button cbi-button-apply" onclick="update_status('hotplug', 'ifdown')" /> + </div> + </fieldset> + <fieldset id="diag_select" class="cbi-section"> + <legend><%:MWAN Service Control%></legend> + <div id="buttoncss"> + <input type="button" value="<%:Restart MWAN%>" class="cbi-button cbi-button-apply" onclick="update_status('service', 'restart')" /> + <input type="button" value="<%:Stop MWAN%>" class="cbi-button cbi-button-apply" onclick="update_status('service', 'stop')" /> + <input type="button" value="<%:Start MWAN%>" class="cbi-button cbi-button-apply" onclick="update_status('service', 'start')" /> + </div> + </fieldset> + <fieldset class="cbi-section" style="display:none"> + <legend><%:Diagnostic Results%></legend> + <div id="diag_output"></div> + </fieldset> +</div> + +<style type="text/css"> + .container { /* container for entire page. fixes bootstrap theme's ridiculously small page width */ + max-width: none; + margin-left: 30px; + padding-right: 30px; + width: auto; + } + #mwan_diagnostics { + background-color: #FFFFFF; + border: 1px dotted #555555; + padding: 20px; + } + #diag_select { + padding: 12px 20px 20px 20px; + } + #mwaniface { + float: left; + margin: 8px 20px 0px 0px; + } + #buttoncss { + display: table; + float: left; + text-align: left; + } + .cbi-button { + margin: 8px 20px 0px 0px; + min-width: 153px; + } + #diag_output_css { + padding: 20px; + text-align: left; + } +</style> + +<%+footer%> diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/advanced_hotplugscript.htm b/applications/luci-app-mwan3/luasrc/view/mwan/advanced_hotplugscript.htm new file mode 100644 index 0000000000..4c2a0dc208 --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/view/mwan/advanced_hotplugscript.htm @@ -0,0 +1,24 @@ +<ul class="cbi-tabmenu"> + <li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/hotplugscript")%>"><%:Hotplug Script%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/mwanconfig")%>"><%:MWAN Config%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/networkconfig")%>"><%:Network Config%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/wirelessconfig")%>"><%:Wireless Config%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/diagnostics")%>"><%:Diagnostics%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/troubleshooting")%>"><%:Troubleshooting%></a></li> +</ul> + +<style type="text/css"> + .container { /* container for entire page. fixes bootstrap theme's ridiculously small page width */ + max-width: none; + margin: 0px 0px 0px 30px; + padding-right: 30px; + width: auto; + } + .cbi-section-node { + margin-top: 20px; + } + .cbi-section { + border: 1px dotted #555555; + padding: 20px; + } +</style> diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/advanced_mwanconfig.htm b/applications/luci-app-mwan3/luasrc/view/mwan/advanced_mwanconfig.htm new file mode 100644 index 0000000000..fba3fa6940 --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/view/mwan/advanced_mwanconfig.htm @@ -0,0 +1,24 @@ +<ul class="cbi-tabmenu"> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/hotplugscript")%>"><%:Hotplug Script%></a></li> + <li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/mwanconfig")%>"><%:MWAN Config%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/networkconfig")%>"><%:Network Config%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/wirelessconfig")%>"><%:Wireless Config%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/diagnostics")%>"><%:Diagnostics%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/troubleshooting")%>"><%:Troubleshooting%></a></li> +</ul> + +<style type="text/css"> + .container { /* container for entire page. fixes bootstrap theme's ridiculously small page width */ + max-width: none; + margin: 0px 0px 0px 30px; + padding-right: 30px; + width: auto; + } + .cbi-section-node { + margin-top: 20px; + } + .cbi-section { + border: 1px dotted #555555; + padding: 20px; + } +</style> diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/advanced_networkconfig.htm b/applications/luci-app-mwan3/luasrc/view/mwan/advanced_networkconfig.htm new file mode 100644 index 0000000000..cf90112078 --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/view/mwan/advanced_networkconfig.htm @@ -0,0 +1,24 @@ +<ul class="cbi-tabmenu"> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/hotplugscript")%>"><%:Hotplug Script%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/mwanconfig")%>"><%:MWAN Config%></a></li> + <li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/networkconfig")%>"><%:Network Config%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/wirelessconfig")%>"><%:Wireless Config%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/diagnostics")%>"><%:Diagnostics%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/troubleshooting")%>"><%:Troubleshooting%></a></li> +</ul> + +<style type="text/css"> + .container { /* container for entire page. fixes bootstrap theme's ridiculously small page width */ + max-width: none; + margin: 0px 0px 0px 30px; + padding-right: 30px; + width: auto; + } + .cbi-section-node { + margin-top: 20px; + } + .cbi-section { + border: 1px dotted #555555; + padding: 20px; + } +</style> diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/advanced_troubleshooting.htm b/applications/luci-app-mwan3/luasrc/view/mwan/advanced_troubleshooting.htm new file mode 100644 index 0000000000..0a12496899 --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/view/mwan/advanced_troubleshooting.htm @@ -0,0 +1,74 @@ +<%+header%> + +<ul class="cbi-tabmenu"> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/hotplugscript")%>"><%:Hotplug Script%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/mwanconfig")%>"><%:MWAN Config%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/networkconfig")%>"><%:Network Config%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/wirelessconfig")%>"><%:Wireless Config%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/diagnostics")%>"><%:Diagnostics%></a></li> + <li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/troubleshooting")%>"><%:Troubleshooting%></a></li> +</ul> + +<script type="text/javascript" src="<%=resource%>/cbi.js"></script> +<script type="text/javascript">//<![CDATA[ + XHR.poll(15, '<%=luci.dispatcher.build_url("admin", "network", "mwan", "advanced", "troubleshooting_display")%>', null, + function(x, mArray) + { + var tshoot = document.getElementById('troubleshoot_text'); + if (mArray.versions) + { + var versions = '<span class="description">Software versions : </span><br /><br />'; + var mwanConfig = '<br /><br /><span class="description">Output of "cat /etc/config/mwan3" : </span><br /><br />'; + var netConfig = '<br /><br /><span class="description">Output of "cat /etc/config/network" : </span><br /><br />'; + var wifiConfig = '<br /><br /><span class="description">Output of "cat /etc/config/wireless" : </span><br /><br />'; + var ifconfig = '<br /><br /><span class="description">Output of "ifconfig" : </span><br /><br />'; + var ipRoute = '<br /><br /><span class="description">Output of "route -n" : </span><br /><br />'; + var ipRuleShow = '<br /><br /><span class="description">Output of "ip rule show" : </span><br /><br />'; + var routeListTable = '<br /><br /><span class="description">Output of "ip route list table 1-250" : </span><br /><br />'; + var firewallOut = '<br /><br /><span class="description">Firewall default output policy (must be ACCEPT) : </span><br /><br />'; + var iptables = '<br /><br /><span class="description">Output of "iptables -L -t mangle -v -n" : </span><br /><br />'; + tshoot.innerHTML = String.format( + '<pre>%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s</pre>', + versions, mArray.versions[0], mwanConfig, mArray.mwanconfig[0], netConfig, mArray.netconfig[0], + wifiConfig, mArray.wificonfig[0], ifconfig, mArray.ifconfig[0], ipRoute, mArray.routeshow[0], + ipRuleShow, mArray.iprule[0], routeListTable, mArray.routelist[0], firewallOut, mArray.firewallout[0], + iptables, mArray.iptables[0] + ); + } + else + { + tshoot.innerHTML = '<strong>Error collecting troubleshooting information</strong>'; + } + } + ); +//]]></script> + +<div id="troubleshoot"> + <fieldset class="cbi-section"> + <legend><%:Troubleshooting Data%></legend> + <div id="troubleshoot_text"><img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /> Collecting data...</div> + </fieldset> +</div> + +<style type="text/css"> + .container { /* container for entire page. fixes bootstrap theme's ridiculously small page width */ + max-width: none; + margin-left: 30px; + padding-right: 30px; + width: auto; + } + #troubleshoot { + background-color: #FFFFFF; + border: 1px dotted #555555; + padding: 20px; + } + #troubleshoot_text { + padding: 20px; + text-align: left; + } + .description { + background-color: rgb(78, 186, 241); + } +</style> + +<%+footer%> diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/advanced_wirelessconfig.htm b/applications/luci-app-mwan3/luasrc/view/mwan/advanced_wirelessconfig.htm new file mode 100644 index 0000000000..5077674185 --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/view/mwan/advanced_wirelessconfig.htm @@ -0,0 +1,24 @@ +<ul class="cbi-tabmenu"> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/hotplugscript")%>"><%:Hotplug Script%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/mwanconfig")%>"><%:MWAN Config%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/networkconfig")%>"><%:Network Config%></a></li> + <li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/wirelessconfig")%>"><%:Wireless Config%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/diagnostics")%>"><%:Diagnostics%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/troubleshooting")%>"><%:Troubleshooting%></a></li> +</ul> + +<style type="text/css"> + .container { /* container for entire page. fixes bootstrap theme's ridiculously small page width */ + max-width: none; + margin: 0px 0px 0px 30px; + padding-right: 30px; + width: auto; + } + .cbi-section-node { + margin-top: 20px; + } + .cbi-section { + border: 1px dotted #555555; + padding: 20px; + } +</style> diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/config_css.htm b/applications/luci-app-mwan3/luasrc/view/mwan/config_css.htm new file mode 100644 index 0000000000..99da4875b0 --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/view/mwan/config_css.htm @@ -0,0 +1,34 @@ +<style type="text/css"> + .container { /* container for entire page. fixes bootstrap theme's ridiculously small page width */ + max-width: none; + margin-left: 30px; + padding-right: 30px; + width: auto; + } + table td { /* cells showing the configuration values */ + padding: 0px; + text-align: center; + vertical-align: middle; + } + table th { /* column for configuration section name */ + padding: 0px; + text-align: center; + vertical-align: middle; + } + table tbody th { /* column for configuration section name */ + padding: 0px; + vertical-align: middle; + } + .cbi-section-node table div { /* rows */ + padding-top: 5px; + } + table.cbi-section-table td.cbi-section-table-cell { /* sort buttons column */ + text-align: center; + } + .cbi-section h3 { + color: rgb(85, 85, 85); + font-family: Trebuchet MS,Verdana,sans-serif; + font-style: italic; + font-weight: normal; + } +</style> diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/openwrt_overview_status.htm b/applications/luci-app-mwan3/luasrc/view/mwan/openwrt_overview_status.htm new file mode 100644 index 0000000000..9329b92735 --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/view/mwan/openwrt_overview_status.htm @@ -0,0 +1,83 @@ +<script type="text/javascript">//<![CDATA[ + XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "network", "mwan", "overview", "interface_status")%>', null, + function(x, mArray) + { + var status = document.getElementById('mwan_status_text'); + if (mArray.wans) + { + var temp = ''; + for ( var i = 0; i < mArray.wans.length; i++ ) + { + var stat = ''; + var cssc = ''; + switch (mArray.wans[i].status) + { + case 'online': + stat = 'Online (tracking active)'; + cssc = 'wanon'; + break; + case 'notMonitored': + stat = 'Online (tracking off)'; + cssc = 'wanon'; + break; + case 'offline': + stat = 'Offline'; + cssc = 'wanoff'; + break; + case 'notEnabled': + stat = 'Disabled'; + cssc = 'wanoff'; + break; + } + temp += String.format( + '<span class="%s"><strong>%s (<a href="%q">%s</a>)</strong><br />%s</span>', + cssc, mArray.wans[i].name, mArray.wans[i].link, mArray.wans[i].ifname, stat + ); + } + status.innerHTML = temp; + } + else + { + status.innerHTML = '<strong>No MWAN interfaces found</strong>'; + } + } + ); +//]]></script> + +<fieldset id="interface_field" class="cbi-section"> + <legend><%:MWAN Interface Live Status%></legend> + <div id="mwan_status_text"><img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /> Collecting data...</div> +</fieldset> + +<style type="text/css"> + .container { /* container for entire page. fixes bootstrap theme's ridiculously small page width */ + max-width: 1044px; + } + #interface_field { + padding: 12px 20px 20px 20px; + } + #mwan_status_text { + display: table; + font-size: 14px; + margin: auto; + max-width: 1044px; + min-width: 246px; + width: 100%; + } + .wanon { + background-color: rgb(144, 240, 144); + } + .wanoff { + background-color: rgb(240, 144, 144); + } + .wanon, .wanoff { + border-radius: 60px; + box-shadow: 0px 2px 5px -3px; + float: left; + margin: 8px 3px 0px 3px; + min-height: 30px; + min-width: 235px; + padding: 5px 10px 8px 10px; + text-align: center; + } +</style> diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/overview_detailed.htm b/applications/luci-app-mwan3/luasrc/view/mwan/overview_detailed.htm new file mode 100644 index 0000000000..b80b9f3acf --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/view/mwan/overview_detailed.htm @@ -0,0 +1,51 @@ +<%+header%> + +<ul class="cbi-tabmenu"> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/overview")%>"><%:Interface Status%></a></li> + <li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/overview/overview_detailed")%>"><%:Detailed Status%></a></li> +</ul> + +<script type="text/javascript" src="<%=resource%>/cbi.js"></script> +<script type="text/javascript">//<![CDATA[ + XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "network", "mwan", "overview", "detailed_status")%>', null, + function(x, mArray) + { + var status = document.getElementById('mwan_detail_text'); + if (mArray.mwandetail) + { + status.innerHTML = String.format('<pre>%s</pre>', mArray.mwandetail[0]); + } + else + { + status.innerHTML = '<strong>No detailed status information available</strong>'; + } + } + ); +//]]></script> + +<div id="mwan_detail_status"> + <fieldset class="cbi-section"> + <legend><%:MWAN Detailed Status%></legend> + <div id="mwan_detail_text"><img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /> Collecting data...</div> + </fieldset> +</div> + +<style type="text/css"> + .container { /* container for entire page. fixes bootstrap theme's ridiculously small page width */ + max-width: none; + margin-left: 30px; + padding-right: 30px; + width: auto; + } + #mwan_detail_status { + border: 1px dotted #555555; + background-color: #FFFFFF; + padding: 20px; + } + #mwan_detail_text { + padding: 20px; + text-align: left; + } +</style> + +<%+footer%> diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/overview_interface.htm b/applications/luci-app-mwan3/luasrc/view/mwan/overview_interface.htm new file mode 100644 index 0000000000..472c7ce7fc --- /dev/null +++ b/applications/luci-app-mwan3/luasrc/view/mwan/overview_interface.htm @@ -0,0 +1,122 @@ +<%+header%> + +<ul class="cbi-tabmenu"> + <li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/overview")%>"><%:Interface Status%></a></li> + <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/overview/overview_detailed")%>"><%:Detailed Status%></a></li> +</ul> + +<script type="text/javascript" src="<%=resource%>/cbi.js"></script> +<script type="text/javascript">//<![CDATA[ + XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "network", "mwan", "overview", "interface_status")%>', null, + function(x, mArray) + { + var statusDiv = document.getElementById('mwan_status_text'); + if (mArray.wans) + { + var interfaceStatus = ''; + for ( var i = 0; i < mArray.wans.length; i++ ) + { + var status = ''; + var css = ''; + switch (mArray.wans[i].status) + { + case 'online': + status = 'Online (tracking active)'; + css = 'wanon'; + break; + case 'notMonitored': + status = 'Online (tracking off)'; + css = 'wanon'; + break; + case 'offline': + status = 'Offline'; + css = 'wanoff'; + break; + case 'notEnabled': + status = 'Disabled'; + css = 'wanoff'; + break; + } + interfaceStatus += String.format( + '<span class="%s"><strong>%s (<a href="%q">%s</a>)</strong><br />%s</span>', + css, mArray.wans[i].name, mArray.wans[i].link, mArray.wans[i].ifname, status + ); + } + statusDiv.innerHTML = interfaceStatus; + } + else + { + statusDiv.innerHTML = '<strong>No MWAN interfaces found</strong>'; + } + + var logs = document.getElementById('mwan_statuslog_text'); + if (mArray.mwanlog) + { + var mwanLog = 'Last 50 MWAN systemlog entries. Newest entries sorted at the top :'; + logs.innerHTML = String.format('<pre>%s<br /><br />%s</pre>', mwanLog, mArray.mwanlog[0]); + } + else + { + logs.innerHTML = '<strong>No MWAN systemlog history found</strong>'; + } + } + ); +//]]></script> + +<div id="mwan_interface_status"> + <fieldset id="interface_field" class="cbi-section"> + <legend><%:MWAN Interface Live Status%></legend> + <div id="mwan_status_text"><img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /> Collecting data...</div> + </fieldset> + <fieldset class="cbi-section"> + <legend><%:MWAN Interface Systemlog%></legend> + <div id="mwan_statuslog_text"><img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /> Collecting data...</div> + </fieldset> +</div> + +<style type="text/css"> + .container { /* container for entire page. fixes bootstrap theme's ridiculously small page width */ + max-width: none; + margin-left: 30px; + padding-right: 30px; + width: auto; + } + #mwan_interface_status { + background-color: #FFFFFF; + border: 1px dotted #555555; + padding: 20px; + } + #interface_field { + padding: 12px 20px 20px 20px; + } + #mwan_status_text { + display: table; + font-size: 14px; + margin: auto; + max-width: 1044px; + min-width: 246px; + width: 100%; + } + .wanon { + background-color: rgb(144, 240, 144); + } + .wanoff { + background-color: rgb(240, 144, 144); + } + .wanon, .wanoff { + border-radius: 60px; + box-shadow: 0px 2px 5px -3px; + float: left; + margin: 8px 3px 0px 3px; + min-height: 30px; + min-width: 235px; + padding: 5px 10px 8px 10px; + text-align: center; + } + #mwan_statuslog_text { + padding: 20px; + text-align: left; + } +</style> + +<%+footer%> diff --git a/applications/luci-app-mwan3/po/ja/mwan3.po b/applications/luci-app-mwan3/po/ja/mwan3.po new file mode 100644 index 0000000000..cae45b8a2f --- /dev/null +++ b/applications/luci-app-mwan3/po/ja/mwan3.po @@ -0,0 +1,562 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0\n" +"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Language: ja\n" + +msgid "%d hour" +msgstr "%d 時間" + +msgid "%d minute" +msgstr "%d 分" + +msgid "%d minutes" +msgstr "%d 分" + +msgid "%d second" +msgstr "%d 秒" + +msgid "%d seconds" +msgstr "%d 秒" + +msgid "" +"Acceptable values: 1-100. This many Tracking IP addresses must respond for " +"the link to be deemed up" +msgstr "" +"利用å¯èƒ½ãªå€¤: 1-100。上記ã®è¿½è·¡ IP ã®åˆè¨ˆå€‹æ•°ã®ã†ã¡ã€Up 状態ã¨åˆ¤å®šã™ã‚‹ãŸã‚ã«" +"ã«å¿…è¦ãªã€ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãŒè¿”ã•ã‚ŒãŸè¿½è·¡ IP アドレスã®å€‹æ•°ã§ã™ã€‚" + +msgid "Acceptable values: 1-1000. Defaults to 1 if not set" +msgstr "利用å¯èƒ½ãªå€¤: 1-1000。空欄ã®å ´åˆã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯1ã§ã™ã€‚" + +msgid "Advanced" +msgstr "詳細è¨å®š" + +msgid "Check IP rules" +msgstr "IP ルールã®ãƒã‚§ãƒƒã‚¯" + +msgid "Check routing table" +msgstr "ルーティング テーブルã®ãƒã‚§ãƒƒã‚¯" + +msgid "Configuration" +msgstr "è¨å®š" + +msgid "Currently Configured Interfaces" +msgstr "è¨å®šæ¸ˆã¿ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹" + +msgid "Currently Configured Members" +msgstr "è¨å®šæ¸ˆã¿ãƒ¡ãƒ³ãƒãƒ¼" + +msgid "Currently Configured Policies" +msgstr "è¨å®šæ¸ˆã¿ãƒãƒªã‚·ãƒ¼" + +msgid "Destination address" +msgstr "宛先アドレス" + +msgid "Destination port" +msgstr "宛先ãƒãƒ¼ãƒˆ" + +msgid "Detailed Status" +msgstr "詳細ステータス" + +msgid "Diagnostic Results" +msgstr "診æ–çµæžœ" + +msgid "Diagnostics" +msgstr "診æ–機能" + +msgid "" +"Downed interface will be deemed up after this many successful ping tests" +msgstr "" +"Down 状態ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ãŒ Up 状態ã¨åˆ¤æ–ã•ã‚Œã‚‹ã¾ã§ã«è¦ã™ã‚‹ ping テストã®æˆ" +"功回数ã§ã™ã€‚" + +msgid "Enabled" +msgstr "有効" + +msgid "Errors" +msgstr "エラー" + +msgid "Failure interval" +msgstr "障害検出 インターãƒãƒ«" + +msgid "Flush conntrack table" +msgstr "" + +msgid "Flush global firewall conntrack table on interface events" +msgstr "" + +msgid "Hotplug Script" +msgstr "ホットプラグ スクリプト" + +msgid "Hotplug ifdown" +msgstr "ホットプラグ ifdown" + +msgid "Hotplug ifup" +msgstr "ホットプラグ ifup" + +msgid "IPset" +msgstr "IPset" + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "Interface" +msgstr "インターフェース" + +msgid "Interface Status" +msgstr "インターフェース ステータス" + +msgid "Interface down" +msgstr "インターフェース Down" + +msgid "Interface up" +msgstr "インターフェース Up" + +msgid "Interface will be deemed down after this many failed ping tests" +msgstr "" +"インターフェース㌠Down 状態ã¨åˆ¤æ–ã•ã‚Œã‚‹ã¾ã§ã«è¦ã™ã‚‹ ping テストã®å¤±æ•—回数ã§" +"ã™ã€‚" + +msgid "Interfaces" +msgstr "インターフェース" + +msgid "Internet Protocol" +msgstr "インターãƒãƒƒãƒˆ プãƒãƒˆã‚³ãƒ«" + +msgid "Last resort" +msgstr "最終手段" + +msgid "Load Balancing" +msgstr "è² è·åˆ†æ•£" + +msgid "Loading" +msgstr "èªè¾¼ä¸" + +msgid "MWAN Config" +msgstr "MWAN è¨å®š" + +msgid "MWAN Detailed Status" +msgstr "MWAN 詳細ステータス" + +msgid "MWAN Interface Configuration" +msgstr "MWAN インターフェースè¨å®š" + +msgid "MWAN Interface Configuration - %s" +msgstr "MWAN インターフェースè¨å®š - %s" + +msgid "MWAN Interface Diagnostics" +msgstr "MWAN インターフェース診æ–" + +msgid "MWAN Interface Live Status" +msgstr "MWAN インターフェース Live ステータス" + +msgid "MWAN Interface Systemlog" +msgstr "MWAN インターフェース システムãƒã‚°" + +msgid "MWAN Member Configuration" +msgstr "MWAN メンãƒãƒ¼è¨å®š" + +msgid "MWAN Member Configuration - %s" +msgstr "MWAN メンãƒãƒ¼è¨å®š - %s" + +msgid "MWAN Policy Configuration" +msgstr "MWAN ãƒãƒªã‚·ãƒ¼è¨å®š" + +msgid "MWAN Policy Configuration - %s" +msgstr "MWAN ãƒãƒªã‚·ãƒ¼è¨å®š - %s" + +msgid "MWAN Rule Configuration" +msgstr "MWAN ルールè¨å®š" + +msgid "MWAN Rule Configuration - %s" +msgstr "MWAN ルールè¨å®š - %s" + +msgid "MWAN Service Control" +msgstr "MWAN サービス コントãƒãƒ¼ãƒ«" + +msgid "" +"MWAN supports up to 250 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 (see advanced tab)<br />Names may contain characters A-Z, a-z, 0-9, " +"_ and no spaces<br />Interfaces may not share the same name as configured " +"members, policies or rules" +msgstr "" +"MWAN ã¯ã€250個ã¾ã§ã®ç‰©ç†ã¾ãŸã¯è«–ç†ã€ã‚ã‚‹ã„ã¯ä¸¡æ–¹ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã‚’サãƒãƒ¼ãƒˆ" +"ã—ã¾ã™ã€‚<br />MWAN ã¯ã€å…¨ã¦ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ãŒ /etc/config/network ã§è¨å®šã•" +"れるユニークãªãƒ¡ãƒˆãƒªãƒƒã‚¯ã‚’æŒã¤ã“ã¨ã‚’å¿…è¦ã¨ã—ã¾ã™ã€‚<br />下記 \"インターフェー" +"ス\" ã®åå‰ã¯ã€ /etc/config/network ã«å˜åœ¨ã™ã‚‹ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹åã¨åŒã˜ã§ãªã‘" +"ã‚Œã°ãªã‚Šã¾ã›ã‚“(詳細è¨å®šã‚¿ãƒ–を確èªï¼‰ã€‚<br />åå‰ã¯ A-Z, a-z, 0-9, _ ã‚’å«ã‚€ã“" +"ã¨ãŒã§ãã¾ã™ãŒã€ã‚¹ãƒšãƒ¼ã‚¹ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。<br />インターフェースã«ã¯ã€è¨å®šæ¸ˆ" +"ã¿ã®ãƒ¡ãƒ³ãƒãƒ¼ã‚„ãƒãƒªã‚·ãƒ¼ã€ãƒ«ãƒ¼ãƒ«ã¨åŒã˜åå‰ã‚’使用ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。" + +msgid "" +"May be entered as a single or multiple port(s) (eg \"22\" or \"80,443\") or " +"as a portrange (eg \"1024:2048\") without quotes" +msgstr "" +"å˜ä¸€ã¾ãŸã¯è¤‡æ•°ã®ãƒãƒ¼ãƒˆï¼ˆä¾‹: \"22\" ã¾ãŸã¯ \"80,443\")ã€ã‚ã‚‹ã„ã¯ãƒãƒ¼ãƒˆã®ç¯„囲" +"(例: \"1024:2048\")をã€ã‚¯ã‚ªãƒ¼ãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ç„¡ã—ã§æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚" + +msgid "Member used" +msgstr "使用ã•ã‚Œã‚‹ãƒ¡ãƒ³ãƒãƒ¼" + +msgid "Members" +msgstr "メンãƒãƒ¼" + +msgid "" +"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" +msgstr "" +"メンãƒãƒ¼ã¯ã€MWAN インターフェースã®ãƒ¡ãƒˆãƒªãƒƒã‚¯ãŠã‚ˆã³ã‚¦ã‚¨ã‚¤ãƒˆã‚’関連付ã‘ãŸãƒ—ãƒ" +"ファイルã§ã™ã€‚<br />åå‰ã¯ A-Z, a-z, 0-9, _ ã‚’å«ã‚€ã“ã¨ãŒã§ãã¾ã™ãŒã€ã‚¹ãƒšãƒ¼ã‚¹" +"ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。<br />メンãƒãƒ¼ã«ã¯ã€è¨å®šæ¸ˆã¿ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã‚„ãƒãƒªã‚·ãƒ¼ã€" +"ルールã¨åŒã˜åå‰ã‚’使用ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。" + +msgid "Members assigned" +msgstr "アサイン済ã¿ãƒ¡ãƒ³ãƒãƒ¼" + +msgid "Metric" +msgstr "メトリック" + +msgid "" +"Name of IPset rule. Requires IPset rule in /etc/dnsmasq.conf (eg \"ipset=/" +"youtube.com/youtube\")" +msgstr "" +"IPset ルールã®åå‰ã§ã™ã€‚ã“ã®ãƒ«ãƒ¼ãƒ«ã¯ã€ /etc/dnsmasq.conf ã§å¿…è¦ã§ã™ã€‚(例: " +"\"ipset=/youtube.com/youtube\")" + +msgid "Network Config" +msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯è¨å®š" + +msgid "No" +msgstr "ã„ã„ãˆ" + +msgid "Overview" +msgstr "概è¦" + +msgid "Ping count" +msgstr "Ping 回数" + +msgid "Ping default gateway" +msgstr "Ping デフォルト ゲートウェイ" + +msgid "Ping interval" +msgstr "Ping インターãƒãƒ«" + +msgid "Ping interval during failure detection" +msgstr "障害検出動作ä¸ã® Ping 実行間隔ã§ã™ã€‚" + +msgid "Ping interval during failure recovering" +msgstr "障害復旧ä¸ã® Ping 実行間隔ã§ã™ã€‚" + +msgid "Ping size" +msgstr "Ping サイズ" + +msgid "Ping timeout" +msgstr "Ping タイムアウト" + +msgid "Ping tracking IP" +msgstr "Ping トラッã‚ング IP" + +msgid "Policies" +msgstr "ãƒãƒªã‚·ãƒ¼" + +msgid "" +"Policies are profiles grouping one or more members controlling how MWAN " +"distributes traffic<br />Member interfaces with lower metrics are used " +"first. Interfaces with the same metric load-balance<br />Load-balanced " +"member interfaces distribute more traffic out those with higher weights<br /" +">Names may contain characters A-Z, a-z, 0-9, _ and no spaces. Names must be " +"15 characters or less<br />Policies may not share the same name as " +"configured interfaces, members or rules" +msgstr "" +"ãƒãƒªã‚·ãƒ¼ã¯ã€MWANãŒã©ã®ã‚ˆã†ã«ãƒˆãƒ©ãƒ•ã‚£ãƒƒã‚¯ã®åˆ†é…ã‚’è¡Œã†ã‹ã‚’制御ã™ã‚‹ã€1ã¤ä»¥ä¸Šã®ãƒ¡" +"ンãƒãƒ¼ã‚’グループ化ã™ã‚‹ãƒ—ãƒãƒ•ã‚¡ã‚¤ãƒ«ã§ã™ã€‚<br />最å°ã®ãƒ¡ãƒˆãƒªãƒƒã‚¯ã‚’æŒã¤ãƒ¡ãƒ³ãƒãƒ¼ " +"インターフェースãŒæœ€åˆã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚åŒã˜ãƒ¡ãƒˆãƒªãƒƒã‚¯ã‚’æŒã¤è¤‡æ•°ã®ã‚¤ãƒ³ã‚¿ãƒ¼" +"フェースã§ã¯ã€è² è·åˆ†æ•£ã‚’è¡Œã„ã¾ã™ã€‚<br />è² è·åˆ†æ•£ã«è¨å®šã•ã‚ŒãŸãƒ¡ãƒ³ãƒãƒ¼ インター" +"フェースã§ã¯ã€ã‚¦ã‚§ã‚¤ãƒˆã®å€¤ãŒå¤§ãã„æ–¹ã«ã‚ˆã‚Šå¤šãã®ãƒˆãƒ©ãƒ•ã‚£ãƒƒã‚¯ã‚’分é…ã—ã¾ã™ã€‚" +"<br />åå‰ã¯ A-Z, a-z, 0-9, _ ã‚’å«ã‚€ã“ã¨ãŒã§ãã¾ã™ãŒã€ã‚¹ãƒšãƒ¼ã‚¹ã¯ä½¿ç”¨ã§ãã¾ã›" +"ん。ã¾ãŸã€15æ–‡å—以内ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。<br />ãƒãƒªã‚·ãƒ¼ã§ã¯ã€è¨å®šæ¸ˆã¿ã®ã‚¤ãƒ³" +"ターフェースやメンãƒãƒ¼ã€ãƒ«ãƒ¼ãƒ«ã¨åŒã˜åå‰ã‚’使用ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。" + +msgid "Policy assigned" +msgstr "アサイン済ã¿ãƒãƒªã‚·ãƒ¼" + +msgid "Protocol" +msgstr "プãƒãƒˆã‚³ãƒ«" + +msgid "Recovery interval" +msgstr "障害復旧 インターãƒãƒ«" + +msgid "Restart MWAN" +msgstr "MWAN ã®å†èµ·å‹•" + +msgid "Restore default hotplug script" +msgstr "デフォルトã®ãƒ›ãƒƒãƒˆãƒ—ラグ スクリプトã®å¾©å…ƒ" + +msgid "Restore..." +msgstr "復元..." + +msgid "Rules" +msgstr "ルール" + +msgid "" +"Rules specify which traffic will use a particular MWAN policy based on IP " +"address, port or protocol<br />Rules are matched from top to bottom. Rules " +"below a matching rule are ignored. Traffic not matching any rule is routed " +"using the main routing table<br />Traffic destined for known (other than " +"default) networks is handled by the main routing table. Traffic matching a " +"rule, but all WAN interfaces for that policy are down will be blackholed<br /" +">Names may contain characters A-Z, a-z, 0-9, _ and no spaces<br />Rules may " +"not share the same name as configured interfaces, members or policies" +msgstr "" +"ルール㯠IP アドレスやãƒãƒ¼ãƒˆã€ãƒ—ãƒãƒˆã‚³ãƒ«ã‚’基ã«ã€ãƒˆãƒ©ãƒ•ã‚£ãƒƒã‚¯ãŒã©ã® MWAN ãƒãƒª" +"シーを使用ã™ã‚‹ã‹ã‚’è¨å®šã—ã¾ã™ã€‚<br />ルールã¯ä¸Šã‹ã‚‰ä¸‹ã¸ãƒžãƒƒãƒãƒ³ã‚°ãŒè¡Œã‚ã‚Œã€åˆ" +"致ã—ãŸãƒ«ãƒ¼ãƒ«ã‚ˆã‚Šä¸‹ã®ãƒ«ãƒ¼ãƒ«ã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚å…¨ã¦ã®ãƒ«ãƒ¼ãƒ«ã«åˆè‡´ã—ãªã„トラフィッ" +"クã¯ã€ãƒ¡ã‚¤ãƒ³ã®ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚° テーブルを使用ã—ã¦ãƒ«ãƒ¼ãƒˆãŒæ±ºå®šã•ã‚Œã¾ã™ã€‚<br />既知" +"(デフォルト以外)ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã¸ã®ãƒˆãƒ©ãƒ•ã‚£ãƒƒã‚¯ã¯ã€ãƒ¡ã‚¤ãƒ³ã®ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚° テー" +"ブルã«ã‚ˆã£ã¦åˆ¶å¾¡ã•ã‚Œã¾ã™ã€‚ルールã«åˆè‡´ã—ãŸãƒˆãƒ©ãƒ•ã‚£ãƒƒã‚¯ã§ã‚‚ã€å½“該ãƒãƒªã‚·ãƒ¼ã®å…¨ " +"WAN インターフェース㌠Down 状態ã®å ´åˆã¯ blackhole 状態ã¨ãªã‚Šã¾ã™ã€‚<br />åå‰" +"㯠A-Z, a-z, 0-9, _ ã‚’å«ã‚€ã“ã¨ãŒã§ãã¾ã™ãŒã€ã‚¹ãƒšãƒ¼ã‚¹ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。<br />" +"ルールã¯ã€è¨å®šæ¸ˆã¿ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã‚„メンãƒãƒ¼ã€ãƒãƒªã‚·ãƒ¼ã¨åŒã˜åå‰ã‚’使用ã™ã‚‹" +"ã“ã¨ã¯ã§ãã¾ã›ã‚“。" + +msgid "Seconds. Acceptable values: 1-1000000. Defaults to 600 if not set" +msgstr "秒。利用å¯èƒ½ãªå€¤: 1-1000000。空欄ã®å ´åˆã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¯600ã§ã™ã€‚" + +msgid "Source address" +msgstr "é€ä¿¡å…ƒã‚¢ãƒ‰ãƒ¬ã‚¹" + +msgid "Source port" +msgstr "é€ä¿¡å…ƒãƒãƒ¼ãƒˆ" + +msgid "Start MWAN" +msgstr "MWAN ã®èµ·å‹•" + +msgid "Sticky" +msgstr "Sticky" + +msgid "Sticky timeout" +msgstr "Sticky タイムアウト" + +msgid "Stop MWAN" +msgstr "MWAN ã®åœæ¢" + +msgid "Supports CIDR notation (eg \"192.168.100.0/24\") without quotes" +msgstr "CIDR 表記ã®ã‚µãƒãƒ¼ãƒˆï¼ˆä¾‹: \"192.168.100.0/24\")" + +msgid "There are currently %d of 250 supported interfaces configured" +msgstr "ç¾åœ¨ã€250å€‹ä¸ %d 個ã®ã‚µãƒãƒ¼ãƒˆã•ã‚ŒãŸã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ãŒè¨å®šæ¸ˆã¿ã§ã™ã€‚" + +msgid "" +"This IP address will be pinged to dermine if the link is up or down. Leave " +"blank to assume interface is always online" +msgstr "" +"ã“れらã¯ã€ãƒªãƒ³ã‚¯ã® Up ã¾ãŸã¯ Down を判定ã™ã‚‹ãŸã‚ã« Ping ãŒé€ä¿¡ã•ã‚Œã‚‹IP アドレ" +"スã§ã™ã€‚常ã«ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã¨ã™ã‚‹å ´åˆã€ç©ºæ¬„ã®ã¾ã¾ã«ã—ã¾ã™ã€‚" + +msgid "" +"This displays the metric assigned to this interface in /etc/config/network" +msgstr "" +"/etc/config/network ã§ã€ã“ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã«å‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸãƒ¡ãƒˆãƒªãƒƒã‚¯ã§ã™ã€‚" + +msgid "This section allows you to modify the contents of /etc/config/mwan3" +msgstr "" +"ã“ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§ã¯ã€ /etc/config/mwan3 ã®å†…容を変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚" + +msgid "This section allows you to modify the contents of /etc/config/network" +msgstr "" +"ã“ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§ã¯ã€ /etc/config/network ã®å†…容を変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚" + +msgid "This section allows you to modify the contents of /etc/config/wireless" +msgstr "" +"ã“ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§ã¯ã€ /etc/config/wireless ã®å†…容を変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚" + +msgid "" +"This section allows you to modify the contents of /etc/hotplug.d/iface/16-" +"mwancustom<br />This is useful for running system commands and/or scripts " +"based on interface ifup or ifdown hotplug events<br /><br />Notes:<br />The " +"first line of the script must be "#!/bin/sh" without quotes<br /" +">Lines beginning with # are comments and are not executed<br /><br /" +">Available variables:<br />$ACTION is the hotplug event (ifup, ifdown)<br />" +"$INTERFACE is the interface name (wan1, wan2, etc.)<br />$DEVICE is the " +"device name attached to the interface (eth0.1, eth1, etc.)" +msgstr "" +"ã“ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§ã¯ã€ /etc/hotplug.d/iface/16-mwancustom ã®å†…容を変更ã™ã‚‹ã“ã¨" +"ãŒã§ãã¾ã™ã€‚<br />ã“ã‚Œã¯ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã® ifup ã¾ãŸã¯ ifdown ホットプラグ " +"イベント時ã«ã‚·ã‚¹ãƒ†ãƒ コマンドã¾ãŸã¯ã‚¹ã‚¯ãƒªãƒ—トã€ã‚‚ã—ãã¯ãã®ä¸¡æ–¹ã‚’実行ã™ã‚‹ã“ã¨" +"ã«å½¹ç«‹ã¡ã¾ã™ã€‚<br /><br />注æ„:<br />スクリプトã®1行目ã¯ã€"#!bin/sh" " +"ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ï¼ˆã‚¯ã‚ªãƒ¼ãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ä¸è¦ï¼‰ã€‚<br /># ã§å§‹ã¾ã‚‹è¡Œã¯ã‚³ãƒ¡ãƒ³ãƒˆã¨" +"ã—ã¦èªè˜ã•ã‚Œã€å®Ÿè¡Œã•ã‚Œã¾ã›ã‚“。<br /><br />利用å¯èƒ½ãªå¤‰æ•°:<br />$ACTION - ホッ" +"トプラグ イベント (ifup, ifdown)<br />$INTERFACE - インターフェースå(wan1, " +"wan2, ãã®ä»–)<br />$DEVICE - インターフェースã«ã‚¢ã‚¿ãƒƒãƒã•ã‚ŒãŸãƒ‡ãƒã‚¤ã‚¹ã®åå‰" +"(eth0.1, eth1, ãã®ä»–)" + +msgid "Tracking IP" +msgstr "追跡 IP" + +msgid "Tracking reliability" +msgstr "追跡ã®ä¿¡é ¼æ€§" + +msgid "Traffic Rules" +msgstr "トラフィック ルール" + +msgid "" +"Traffic from the same source IP address that previously matched this rule " +"within the sticky timeout period will use the same WAN interface" +msgstr "" +"以å‰ã“ã®ãƒ«ãƒ¼ãƒ«ã«ãƒžãƒƒãƒã—ãŸåŒã˜ã‚¢ã‚¯ã‚»ã‚¹å…ƒ IP アドレスã‹ã‚‰ã®ãƒˆãƒ©ãƒ•ã‚£ãƒƒã‚¯ãŒã€å†" +"度 Sticky 制é™æ™‚間内ã«ãƒžãƒƒãƒã—ãŸå ´åˆã«ã¯ã€åŒã˜ WAN インターフェースãŒä½¿ç”¨ã•ã‚Œ" +"ã¾ã™ã€‚" + +msgid "Troubleshooting" +msgstr "トラブルシューティング" + +msgid "Troubleshooting Data" +msgstr "トラブルシューティング データ" + +msgid "View the contents of /etc/protocols for protocol descriptions" +msgstr "プãƒãƒˆã‚³ãƒ«ã®èª¬æ˜Žã«ã¤ã„ã¦ã¯ã€ /etc/protocols ã®å†…容を確èªã—ã¦ãã ã•ã„。" + +msgid "WARNING: %d interfaces are configured exceeding the maximum of 250!" +msgstr "" +"è¦å‘Š: %d 個ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ãŒã€æœ€å¤§å€‹æ•°ã® 250個 を超ãˆã¦è¨å®šã•ã‚Œã¦ã„ã¾ã™ï¼" + +msgid "" +"WARNING: Some policies have names exceeding the maximum of 15 characters!" +msgstr "" +"è¦å‘Š: 最大文å—æ•°ã® 15 æ–‡å—を超ãˆã‚‹åå‰ãŒè¨å®šã•ã‚Œã¦ã„ã‚‹ãƒãƒªã‚·ãƒ¼ãŒã‚ã‚Šã¾ã™ï¼" + +msgid "" +"WARNING: some interfaces are configured incorrectly or not at all in /etc/" +"config/network!" +msgstr "" +"è¦å‘Š: è¨å®šã‚’誤ã£ã¦ã„ã‚‹ã‹ã€ã‚‚ã—ãã¯å®Œå…¨ã«è¨å®šã•ã‚Œã¦ã„ãªã„インターフェースãŒã‚" +"ã‚Šã¾ã™ï¼" + +msgid "" +"WARNING: some interfaces have a higher reliability requirement than there " +"are tracking IP addresses!" +msgstr "" +"è¦å‘Š: 追跡 IP アドレスã®å€‹æ•°ã‚ˆã‚Šå¤§ãã„è¿½è·¡ä¿¡é ¼æ€§ã®å€¤ãŒè¨å®šã•ã‚ŒãŸã‚¤ãƒ³ã‚¿ãƒ¼" +"フェースãŒã‚ã‚Šã¾ã™ï¼" + +msgid "" +"WARNING: some interfaces have duplicate metrics configured in /etc/config/" +"network!" +msgstr "" +"è¦å‘Š: /etc/config/network ã§ã€é‡è¤‡ã™ã‚‹ãƒ¡ãƒˆãƒªãƒƒã‚¯ã‚’è¨å®šã•ã‚Œã¦ã„るインター" +"フェースãŒã‚ã‚Šã¾ã™ï¼" + +msgid "" +"WARNING: some interfaces have no default route in the main routing table!" +msgstr "" +"è¦å‘Š: メインã®ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚° テーブルã§ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆ ルートをè¨å®šã•ã‚Œã¦ã„ãªã„イ" +"ンターフェースãŒã‚ã‚Šã¾ã™ï¼" + +msgid "" +"WARNING: some interfaces have no metric configured in /etc/config/network!" +msgstr "" +"è¦å‘Š: /etc/config/network ã§ã€ãƒ¡ãƒˆãƒªãƒƒã‚¯ã‚’è¨å®šã•ã‚Œã¦ã„ãªã„インターフェースãŒ" +"ã‚ã‚Šã¾ã™ï¼" + +msgid "" +"WARNING: some rules have a port configured with no or improper protocol " +"specified! Please configure a specific protocol!" +msgstr "" +"è¦å‘Š: ä¸é©åˆ‡ãªãƒ—ãƒãƒˆã‚³ãƒ«ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹ã€ã¾ãŸã¯ä½•ã‚‚指定ã•ã‚Œã¦ã„ãªã„ãƒãƒ¼ãƒˆã‚’" +"è¨å®šã•ã‚ŒãŸãƒ«ãƒ¼ãƒ«ãŒã‚ã‚Šã¾ã™ï¼ãƒ—ãƒãƒˆã‚³ãƒ«ã‚’指定ã—ç›´ã—ã¦ãã ã•ã„ï¼" + +msgid "" +"WARNING: this and other interfaces have duplicate metrics configured in /etc/" +"config/network!" +msgstr "" +"è¦å‘Š: ã“ã‚Œã¨ä»–ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã§é‡è¤‡ã™ã‚‹ãƒ¡ãƒˆãƒªãƒƒã‚¯ãŒ /etc/config/network ã«" +"è¨å®šã•ã‚Œã¦ã„ã¾ã™ï¼" + +msgid "" +"WARNING: this interface has a higher reliability requirement than there are " +"tracking IP addresses!" +msgstr "" +"è¦å‘Š: ã“ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã¯ã€è¿½è·¡ IP アドレスã®å€‹æ•°ã‚ˆã‚Šå¤§ãã„è¿½è·¡ä¿¡é ¼æ€§ã®å€¤" +"ã‚’è¨å®šã•ã‚Œã¦ã„ã¾ã™ï¼" + +msgid "WARNING: this interface has no default route in the main routing table!" +msgstr "" +"è¦å‘Š: ã“ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã¯ã€ãƒ¡ã‚¤ãƒ³ã®ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚° テーブルã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆ ルー" +"トãŒè¨å®šã•ã‚Œã¦ã„ã¾ã›ã‚“ï¼" + +msgid "" +"WARNING: this interface has no metric configured in /etc/config/network!" +msgstr "" +"è¦å‘Š: ã“ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã¯ã€ /etc/config/network ã§ãƒ¡ãƒˆãƒªãƒƒã‚¯ãŒè¨å®šã•ã‚Œã¦ã„" +"ã¾ã›ã‚“ï¼" + +msgid "" +"WARNING: this interface is configured incorrectly or not at all in /etc/" +"config/network!" +msgstr "" +"è¦å‘Š: ã“ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã¯ /etc/config/network ã§è¨å®šãŒèª¤ã£ã¦ã„ã‚‹ã‹ã€ã‚‚ã—ã" +"ã¯å®Œå…¨ã«è¨å®šã•ã‚Œã¦ã„ã¾ã›ã‚“ï¼" + +msgid "" +"WARNING: this policy's name is %d characters exceeding the maximum of 15!" +msgstr "" +"è¦å‘Š: ã“ã®ãƒãƒªã‚·ãƒ¼ã®åå‰ã¯ã€æœ€å¤§æ–‡å—æ•° 15 æ–‡å—を超ãˆã‚‹ %d æ–‡å—ãŒè¨å®šã•ã‚Œã¦ã„" +"ã¾ã™ï¼" + +msgid "" +"WARNING: this rule is incorrectly configured with no or improper protocol " +"specified! Please configure a specific protocol!" +msgstr "" +"è¦å‘Š: ã“ã®ãƒ«ãƒ¼ãƒ«ã¯ä¸é©åˆ‡ãªãƒ—ãƒãƒˆã‚³ãƒ«ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹ã‹ã€ã¾ãŸã¯ä½•ã‚‚指定ã•ã‚Œã¦" +"ã„ã¾ã›ã‚“ï¼ãƒ—ãƒãƒˆã‚³ãƒ«ã‚’指定ã—ç›´ã—ã¦ãã ã•ã„ï¼" + +msgid "Weight" +msgstr "ウエイト" + +msgid "" +"When all policy members are offline use this behavior for matched traffic" +msgstr "" +"ãƒãƒªã‚·ãƒ¼ã®å…¨ãƒ¡ãƒ³ãƒãƒ¼ãŒã‚ªãƒ•ãƒ©ã‚¤ãƒ³ã®å ´åˆã€åˆè‡´ã—ãŸãƒˆãƒ©ãƒ•ã‚£ãƒƒã‚¯ã«å¯¾ã—ã¦ã“ã®ãµã‚‹" +"ã¾ã„ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚" + +msgid "Wireless Config" +msgstr "ç„¡ç·šè¨å®š" + +msgid "Yes" +msgstr "ã¯ã„" + +msgid "always" +msgstr "always" + +msgid "blackhole (drop)" +msgstr "blackhole (drop)" + +msgid "default (use main routing table)" +msgstr "デフォルト(メインã®ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚° テーブルを使用)" + +msgid "ifdown" +msgstr "ifdown" + +msgid "ifup" +msgstr "ifup" + +msgid "never" +msgstr "never" + +msgid "unreachable (reject)" +msgstr "unreachable (reject)" diff --git a/applications/luci-app-mwan3/po/templates/mwan3.pot b/applications/luci-app-mwan3/po/templates/mwan3.pot new file mode 100644 index 0000000000..0bda248fae --- /dev/null +++ b/applications/luci-app-mwan3/po/templates/mwan3.pot @@ -0,0 +1,464 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +msgid "%d hour" +msgstr "" + +msgid "%d minute" +msgstr "" + +msgid "%d minutes" +msgstr "" + +msgid "%d second" +msgstr "" + +msgid "%d seconds" +msgstr "" + +msgid "" +"Acceptable values: 1-100. This many Tracking IP addresses must respond for " +"the link to be deemed up" +msgstr "" + +msgid "Acceptable values: 1-1000. Defaults to 1 if not set" +msgstr "" + +msgid "Advanced" +msgstr "" + +msgid "Check IP rules" +msgstr "" + +msgid "Check routing table" +msgstr "" + +msgid "Configuration" +msgstr "" + +msgid "Currently Configured Interfaces" +msgstr "" + +msgid "Currently Configured Members" +msgstr "" + +msgid "Currently Configured Policies" +msgstr "" + +msgid "Destination address" +msgstr "" + +msgid "Destination port" +msgstr "" + +msgid "Detailed Status" +msgstr "" + +msgid "Diagnostic Results" +msgstr "" + +msgid "Diagnostics" +msgstr "" + +msgid "" +"Downed interface will be deemed up after this many successful ping tests" +msgstr "" + +msgid "Enabled" +msgstr "" + +msgid "Errors" +msgstr "" + +msgid "Failure interval" +msgstr "" + +msgid "Flush conntrack table" +msgstr "" + +msgid "Flush global firewall conntrack table on interface events" +msgstr "" + +msgid "Hotplug Script" +msgstr "" + +msgid "Hotplug ifdown" +msgstr "" + +msgid "Hotplug ifup" +msgstr "" + +msgid "IPset" +msgstr "" + +msgid "IPv4" +msgstr "" + +msgid "IPv6" +msgstr "" + +msgid "Interface" +msgstr "" + +msgid "Interface Status" +msgstr "" + +msgid "Interface down" +msgstr "" + +msgid "Interface up" +msgstr "" + +msgid "Interface will be deemed down after this many failed ping tests" +msgstr "" + +msgid "Interfaces" +msgstr "" + +msgid "Internet Protocol" +msgstr "" + +msgid "Last resort" +msgstr "" + +msgid "Load Balancing" +msgstr "" + +msgid "Loading" +msgstr "" + +msgid "MWAN Config" +msgstr "" + +msgid "MWAN Detailed Status" +msgstr "" + +msgid "MWAN Interface Configuration" +msgstr "" + +msgid "MWAN Interface Configuration - %s" +msgstr "" + +msgid "MWAN Interface Diagnostics" +msgstr "" + +msgid "MWAN Interface Live Status" +msgstr "" + +msgid "MWAN Interface Systemlog" +msgstr "" + +msgid "MWAN Member Configuration" +msgstr "" + +msgid "MWAN Member Configuration - %s" +msgstr "" + +msgid "MWAN Policy Configuration" +msgstr "" + +msgid "MWAN Policy Configuration - %s" +msgstr "" + +msgid "MWAN Rule Configuration" +msgstr "" + +msgid "MWAN Rule Configuration - %s" +msgstr "" + +msgid "MWAN Service Control" +msgstr "" + +msgid "" +"MWAN supports up to 250 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 (see advanced tab)<br />Names may contain characters A-Z, a-z, 0-9, " +"_ and no spaces<br />Interfaces may not share the same name as configured " +"members, policies or rules" +msgstr "" + +msgid "" +"May be entered as a single or multiple port(s) (eg \"22\" or \"80,443\") or " +"as a portrange (eg \"1024:2048\") without quotes" +msgstr "" + +msgid "Member used" +msgstr "" + +msgid "Members" +msgstr "" + +msgid "" +"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" +msgstr "" + +msgid "Members assigned" +msgstr "" + +msgid "Metric" +msgstr "" + +msgid "" +"Name of IPset rule. Requires IPset rule in /etc/dnsmasq.conf (eg \"ipset=/" +"youtube.com/youtube\")" +msgstr "" + +msgid "Network Config" +msgstr "" + +msgid "No" +msgstr "" + +msgid "Overview" +msgstr "" + +msgid "Ping count" +msgstr "" + +msgid "Ping default gateway" +msgstr "" + +msgid "Ping interval" +msgstr "" + +msgid "Ping interval during failure detection" +msgstr "" + +msgid "Ping interval during failure recovering" +msgstr "" + +msgid "Ping size" +msgstr "" + +msgid "Ping timeout" +msgstr "" + +msgid "Ping tracking IP" +msgstr "" + +msgid "Policies" +msgstr "" + +msgid "" +"Policies are profiles grouping one or more members controlling how MWAN " +"distributes traffic<br />Member interfaces with lower metrics are used " +"first. Interfaces with the same metric load-balance<br />Load-balanced " +"member interfaces distribute more traffic out those with higher weights<br /" +">Names may contain characters A-Z, a-z, 0-9, _ and no spaces. Names must be " +"15 characters or less<br />Policies may not share the same name as " +"configured interfaces, members or rules" +msgstr "" + +msgid "Policy assigned" +msgstr "" + +msgid "Protocol" +msgstr "" + +msgid "Recovery interval" +msgstr "" + +msgid "Restart MWAN" +msgstr "" + +msgid "Restore default hotplug script" +msgstr "" + +msgid "Restore..." +msgstr "" + +msgid "Rules" +msgstr "" + +msgid "" +"Rules specify which traffic will use a particular MWAN policy based on IP " +"address, port or protocol<br />Rules are matched from top to bottom. Rules " +"below a matching rule are ignored. Traffic not matching any rule is routed " +"using the main routing table<br />Traffic destined for known (other than " +"default) networks is handled by the main routing table. Traffic matching a " +"rule, but all WAN interfaces for that policy are down will be blackholed<br /" +">Names may contain characters A-Z, a-z, 0-9, _ and no spaces<br />Rules may " +"not share the same name as configured interfaces, members or policies" +msgstr "" + +msgid "Seconds. Acceptable values: 1-1000000. Defaults to 600 if not set" +msgstr "" + +msgid "Source address" +msgstr "" + +msgid "Source port" +msgstr "" + +msgid "Start MWAN" +msgstr "" + +msgid "Sticky" +msgstr "" + +msgid "Sticky timeout" +msgstr "" + +msgid "Stop MWAN" +msgstr "" + +msgid "Supports CIDR notation (eg \"192.168.100.0/24\") without quotes" +msgstr "" + +msgid "There are currently %d of 250 supported interfaces configured" +msgstr "" + +msgid "" +"This IP address will be pinged to dermine if the link is up or down. Leave " +"blank to assume interface is always online" +msgstr "" + +msgid "" +"This displays the metric assigned to this interface in /etc/config/network" +msgstr "" + +msgid "This section allows you to modify the contents of /etc/config/mwan3" +msgstr "" + +msgid "This section allows you to modify the contents of /etc/config/network" +msgstr "" + +msgid "This section allows you to modify the contents of /etc/config/wireless" +msgstr "" + +msgid "" +"This section allows you to modify the contents of /etc/hotplug.d/iface/16-" +"mwancustom<br />This is useful for running system commands and/or scripts " +"based on interface ifup or ifdown hotplug events<br /><br />Notes:<br />The " +"first line of the script must be "#!/bin/sh" without quotes<br /" +">Lines beginning with # are comments and are not executed<br /><br /" +">Available variables:<br />$ACTION is the hotplug event (ifup, ifdown)<br />" +"$INTERFACE is the interface name (wan1, wan2, etc.)<br />$DEVICE is the " +"device name attached to the interface (eth0.1, eth1, etc.)" +msgstr "" + +msgid "Tracking IP" +msgstr "" + +msgid "Tracking reliability" +msgstr "" + +msgid "Traffic Rules" +msgstr "" + +msgid "" +"Traffic from the same source IP address that previously matched this rule " +"within the sticky timeout period will use the same WAN interface" +msgstr "" + +msgid "Troubleshooting" +msgstr "" + +msgid "Troubleshooting Data" +msgstr "" + +msgid "View the contents of /etc/protocols for protocol descriptions" +msgstr "" + +msgid "WARNING: %d interfaces are configured exceeding the maximum of 250!" +msgstr "" + +msgid "" +"WARNING: Some policies have names exceeding the maximum of 15 characters!" +msgstr "" + +msgid "" +"WARNING: some interfaces are configured incorrectly or not at all in /etc/" +"config/network!" +msgstr "" + +msgid "" +"WARNING: some interfaces have a higher reliability requirement than there " +"are tracking IP addresses!" +msgstr "" + +msgid "" +"WARNING: some interfaces have duplicate metrics configured in /etc/config/" +"network!" +msgstr "" + +msgid "" +"WARNING: some interfaces have no default route in the main routing table!" +msgstr "" + +msgid "" +"WARNING: some interfaces have no metric configured in /etc/config/network!" +msgstr "" + +msgid "" +"WARNING: some rules have a port configured with no or improper protocol " +"specified! Please configure a specific protocol!" +msgstr "" + +msgid "" +"WARNING: this and other interfaces have duplicate metrics configured in /etc/" +"config/network!" +msgstr "" + +msgid "" +"WARNING: this interface has a higher reliability requirement than there are " +"tracking IP addresses!" +msgstr "" + +msgid "WARNING: this interface has no default route in the main routing table!" +msgstr "" + +msgid "" +"WARNING: this interface has no metric configured in /etc/config/network!" +msgstr "" + +msgid "" +"WARNING: this interface is configured incorrectly or not at all in /etc/" +"config/network!" +msgstr "" + +msgid "" +"WARNING: this policy's name is %d characters exceeding the maximum of 15!" +msgstr "" + +msgid "" +"WARNING: this rule is incorrectly configured with no or improper protocol " +"specified! Please configure a specific protocol!" +msgstr "" + +msgid "Weight" +msgstr "" + +msgid "" +"When all policy members are offline use this behavior for matched traffic" +msgstr "" + +msgid "Wireless Config" +msgstr "" + +msgid "Yes" +msgstr "" + +msgid "always" +msgstr "" + +msgid "blackhole (drop)" +msgstr "" + +msgid "default (use main routing table)" +msgstr "" + +msgid "ifdown" +msgstr "" + +msgid "ifup" +msgstr "" + +msgid "never" +msgstr "" + +msgid "unreachable (reject)" +msgstr "" diff --git a/applications/luci-app-mwan3/po/zh-cn/mwan3.po b/applications/luci-app-mwan3/po/zh-cn/mwan3.po new file mode 100644 index 0000000000..b8948b3163 --- /dev/null +++ b/applications/luci-app-mwan3/po/zh-cn/mwan3.po @@ -0,0 +1,510 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"Last-Translator: Hsing-Wang Liao <kuoruan@gmail.com>\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Language: zh_CN\n" + +msgid "%d hour" +msgstr "%d å°æ—¶" + +msgid "%d minute" +msgstr "%d 分钟" + +msgid "%d minutes" +msgstr "%d 分钟" + +msgid "%d second" +msgstr "%d 秒" + +msgid "%d seconds" +msgstr "%d 秒" + +msgid "" +"Acceptable values: 1-100. This many Tracking IP addresses must respond for " +"the link to be deemed up" +msgstr "" +"接å—的值: 1-100。这个设置项指定了当多少个IP地å€èƒ½å¤Ÿè¿žé€šæ—¶æŽ¥å£ä¼šè¢«è®¤ä¸ºåœ¨çº¿" + +msgid "Acceptable values: 1-1000. Defaults to 1 if not set" +msgstr "接å—的值: 1-100。如果ä¸å¡«å†™ï¼Œé»˜è®¤å€¼ä¸º 1" + +msgid "Advanced" +msgstr "高级" + +msgid "Check IP rules" +msgstr "检查IP规则" + +msgid "Check routing table" +msgstr "检查路由表" + +msgid "Configuration" +msgstr "é…ç½®" + +msgid "Currently Configured Interfaces" +msgstr "当å‰é…置的接å£" + +msgid "Currently Configured Members" +msgstr "当å‰é…置的æˆå‘˜" + +msgid "Currently Configured Policies" +msgstr "当å‰é…置的ç–ç•¥" + +msgid "Destination address" +msgstr "ç›®æ ‡åœ°å€" + +msgid "Destination port" +msgstr "ç›®æ ‡ç«¯å£" + +msgid "Detailed Status" +msgstr "详细状æ€" + +msgid "Diagnostic Results" +msgstr "诊æ–结果" + +msgid "Diagnostics" +msgstr "诊æ–" + +msgid "" +"Downed interface will be deemed up after this many successful ping tests" +msgstr "当 Ping æˆåŠŸæ¬¡æ•°è¾¾åˆ°è¿™ä¸ªæ•°å€¼åŽï¼Œå·²ç»è¢«è®¤ä¸ºç¦»çº¿çš„接å£å°†ä¼šé‡æ–°ä¸Šçº¿" + +msgid "Enabled" +msgstr "å¯ç”¨" + +msgid "Errors" +msgstr "错误" + +msgid "Failure interval" +msgstr "故障检测间隔" + +msgid "Flush conntrack table" +msgstr "刷新连接跟踪表" + +msgid "Flush global firewall conntrack table on interface events" +msgstr "在接å£äº‹ä»¶è§¦å‘时刷新全局防ç«å¢™è¿žæŽ¥è·Ÿè¸ªè¡¨" + +msgid "Hotplug Script" +msgstr "Hotplug 脚本" + +msgid "Hotplug ifdown" +msgstr "Hotplug ifdown" + +msgid "Hotplug ifup" +msgstr "Hotplug ifup" + +msgid "IPset" +msgstr "IPset" + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "Interface" +msgstr "接å£" + +msgid "Interface Status" +msgstr "接å£çŠ¶æ€" + +msgid "Interface down" +msgstr "接å£ç¦»çº¿" + +msgid "Interface up" +msgstr "接å£ä¸Šçº¿" + +msgid "Interface will be deemed down after this many failed ping tests" +msgstr "当 Ping 失败次数达到这个数值åŽæŽ¥å£ä¼šè¢«è®¤ä¸ºç¦»çº¿" + +msgid "Interfaces" +msgstr "接å£" + +msgid "Internet Protocol" +msgstr "互è”网åè®®" + +msgid "Last resort" +msgstr "备用æˆå‘˜" + +msgid "Load Balancing" +msgstr "è´Ÿè½½å‡è¡¡" + +msgid "Loading" +msgstr "载入ä¸" + +msgid "MWAN Config" +msgstr "MWAN é…置文件" + +msgid "MWAN Detailed Status" +msgstr "MWAN 详细状æ€" + +msgid "MWAN Interface Configuration" +msgstr "MWAN 接å£é…ç½®" + +msgid "MWAN Interface Configuration - %s" +msgstr "MWAN 接å£é…ç½® - %s" + +msgid "MWAN Interface Diagnostics" +msgstr "MWAN 接å£è¯Šæ–" + +msgid "MWAN Interface Live Status" +msgstr "MWAN 接å£å®žæ—¶çŠ¶æ€" + +msgid "MWAN Interface Systemlog" +msgstr "MWAN 接å£ç³»ç»Ÿæ—¥å¿—" + +msgid "MWAN Member Configuration" +msgstr "MWAN æˆå‘˜é…ç½®" + +msgid "MWAN Member Configuration - %s" +msgstr "MWAN æˆå‘˜é…ç½® - %s" + +msgid "MWAN Policy Configuration" +msgstr "MWAN ç–ç•¥é…ç½®" + +msgid "MWAN Policy Configuration - %s" +msgstr "MWAN ç–ç•¥é…ç½® - %s" + +msgid "MWAN Rule Configuration" +msgstr "MWAN 规则é…ç½®" + +msgid "MWAN Rule Configuration - %s" +msgstr "MWAN 规则é…ç½® - %s" + +msgid "MWAN Service Control" +msgstr "MWAN æœåŠ¡æŽ§åˆ¶" + +msgid "" +"MWAN supports up to 250 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 (see advanced tab)<br />Names may contain characters A-Z, a-z, 0-9, " +"_ and no spaces<br />Interfaces may not share the same name as configured " +"members, policies or rules" +msgstr "" +"MWAN 支æŒæœ€å¤š 250 个物ç†æˆ–逻辑接å£ã€‚<br />MWAN è¦æ±‚所有接å£å¿…须在 /etc/" +"config/network ä¸è®¾å®šå”¯ä¸€çš„网关跃点。<br />å称必须与 /etc/config/network ä¸" +"的接å£å称匹é…。(å¯æŸ¥çœ‹â€œé«˜çº§â€é€‰é¡¹å¡)<br />å称å…许包括A-Zã€a-zã€0-9ã€_ 但是ä¸" +"èƒ½æœ‰ç©ºæ ¼ã€‚<br />接å£ä¸åº”该与æˆå‘˜ã€ç–ç•¥ã€è§„则ä¸çš„ä»»æ„一个设置项使用相åŒçš„å称" + +msgid "" +"May be entered as a single or multiple port(s) (eg \"22\" or \"80,443\") or " +"as a portrange (eg \"1024:2048\") without quotes" +msgstr "" +"å¯ä»¥è¾“å…¥ä¸€ä¸ªæˆ–å¤šä¸ªç«¯å£ (例如 \"22\" 或者 \"80,443\") 或者是一个端å£èŒƒå›´ (例" +"如 \"1024:2048\") ä¸å«å¼•å·" + +msgid "Member used" +msgstr "使用的æˆå‘˜" + +msgid "Members" +msgstr "æˆå‘˜" + +msgid "" +"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" +msgstr "" +"“æˆå‘˜â€ç”¨æ¥è®¾ç½®æ¯ä¸€ä¸ª MWAN 接å£çš„跃点数 (å³æŽ¥å£ä¼˜å…ˆçº§) 和所å 比é‡ã€‚<br />å称" +"å…许包括 A-Z〠a-ã€0-9ã€_ 但是ä¸èƒ½æœ‰ç©ºæ ¼ã€‚<br />æˆå‘˜ä¸åº”该与接å£ã€ç–ç•¥ã€è§„则" +"ä¸çš„ä»»æ„一个设置项使用相åŒçš„å称" + +msgid "Members assigned" +msgstr "分é…çš„æˆå‘˜" + +msgid "Metric" +msgstr "跃点数" + +msgid "" +"Name of IPset rule. Requires IPset rule in /etc/dnsmasq.conf (eg \"ipset=/" +"youtube.com/youtube\")" +msgstr "" +"åŒ¹é… IPset 规则列表å称。需è¦å…ˆé…ç½® /etc/dnsmasq.conf ä¸çš„ IPset 规则 (例如: " +"\"ipset=/youtube.com/youtube\")" + +msgid "Network Config" +msgstr "网络é…置文件" + +msgid "No" +msgstr "å¦" + +msgid "Overview" +msgstr "概况" + +msgid "Ping count" +msgstr "Ping 计数" + +msgid "Ping default gateway" +msgstr "Ping 默认网关" + +msgid "Ping interval" +msgstr "Ping é—´éš”" + +msgid "Ping interval during failure detection" +msgstr "故障检测期间的 Ping é—´éš”" + +msgid "Ping interval during failure recovering" +msgstr "æ•…éšœæ¢å¤æœŸé—´çš„ Ping é—´éš”" + +msgid "Ping size" +msgstr "Ping 大å°" + +msgid "Ping timeout" +msgstr "Ping 超时" + +msgid "Ping tracking IP" +msgstr "Ping 跟踪 IP" + +msgid "Policies" +msgstr "ç–ç•¥" + +msgid "" +"Policies are profiles grouping one or more members controlling how MWAN " +"distributes traffic<br />Member interfaces with lower metrics are used " +"first. Interfaces with the same metric load-balance<br />Load-balanced " +"member interfaces distribute more traffic out those with higher weights<br /" +">Names may contain characters A-Z, a-z, 0-9, _ and no spaces. Names must be " +"15 characters or less<br />Policies may not share the same name as " +"configured interfaces, members or rules" +msgstr "" +"“ç–ç•¥â€æŠŠæˆå‘˜è¿›è¡Œåˆ†ç»„,告诉 MWAN 如何分é…“规则â€ä¸ä½¿ç”¨è¿™ä¸€ç–略的æµé‡<br />拥有" +"较低跃点数的æˆå‘˜å°†ä¼šè¢«ä¼˜å…ˆä½¿ç”¨ã€‚拥有相åŒè·ƒç‚¹æ•°çš„æˆå‘˜æŠŠæµé‡è¿›è¡Œè´Ÿè½½å‡è¡¡ã€‚<br /" +">进行负载å‡è¡¡çš„æˆå‘˜ä¹‹é—´æ‹¥æœ‰è¾ƒé«˜æ¯”é‡çš„æˆå‘˜å°†ä¼šè¢«åˆ†é…到更多æµé‡ã€‚<br />å称å…许" +"包括A-Zã€a-zã€0-9ã€_ 但是ä¸èƒ½æœ‰ç©ºæ ¼ã€‚å称应该在 15 个å—符以内<br />ç–ç•¥ä¸åº”该" +"与接å£ã€æˆå‘˜ã€è§„则ä¸çš„ä»»æ„一个设置项使用相åŒçš„å称" + +msgid "Policy assigned" +msgstr "分é…çš„ç–ç•¥" + +msgid "Protocol" +msgstr "通信åè®®" + +msgid "Recovery interval" +msgstr "æ•…éšœæ¢å¤é—´éš”" + +msgid "Restart MWAN" +msgstr "é‡å¯ MWAN" + +msgid "Restore default hotplug script" +msgstr "æ¢å¤é»˜è®¤çš„ hotplug 脚本" + +msgid "Restore..." +msgstr "æ¢å¤..." + +msgid "Rules" +msgstr "规则" + +msgid "" +"Rules specify which traffic will use a particular MWAN policy based on IP " +"address, port or protocol<br />Rules are matched from top to bottom. Rules " +"below a matching rule are ignored. Traffic not matching any rule is routed " +"using the main routing table<br />Traffic destined for known (other than " +"default) networks is handled by the main routing table. Traffic matching a " +"rule, but all WAN interfaces for that policy are down will be blackholed<br /" +">Names may contain characters A-Z, a-z, 0-9, _ and no spaces<br />Rules may " +"not share the same name as configured interfaces, members or policies" +msgstr "" +"“规则â€åŸºäºŽ IP 地å€ã€åè®®ã€ç«¯å£æŠŠæµé‡åˆ’分到指定的“ç–ç•¥â€ä¸ã€‚<br />规则按照从上" +"到下的顺åºè¿›è¡ŒåŒ¹é…。除了第一æ¡èƒ½å¤ŸåŒ¹é…一次通信的规则以外,其它规则将被忽略。" +"ä¸åŒ¹é…任何规则的通信将会由系统默认路由表进行。<br />æ¥è‡ªå·²çŸ¥çš„网络的转å‘æµé‡" +"ç”±ç³»ç»Ÿé»˜è®¤è·¯ç”±è¡¨æŽ¥æ‰‹ï¼Œç„¶åŽ MWAN 从ä¸åŒ¹é…出相应的æµé‡å¹¶è½¬ç§»åˆ° MWAN 自己的路由" +"è¡¨ã€‚ä½†æ˜¯æ‰€æœ‰è¢«åˆ’åˆ†åˆ°ä¸€ä¸ªæ— æ³•ä½¿ç”¨çš„ç–略的æµé‡å°†ä¼šæ— 法æ£å¸¸è¿›è¡Œè·¯ç”±ã€‚<br />å称" +"å…许包括A-Zã€a-zã€0-9ã€_ 但是ä¸èƒ½æœ‰ç©ºæ ¼ã€‚<br />规则ä¸åº”该与接å£ã€æˆå‘˜ã€ç–ç•¥ä¸" +"çš„ä»»æ„一个设置项使用相åŒçš„å称" + +msgid "Seconds. Acceptable values: 1-1000000. Defaults to 600 if not set" +msgstr "å•ä½ä¸ºç§’。接å—的值: 1-1000000。留空则使用默认值 600 秒" + +msgid "Source address" +msgstr "æºåœ°å€" + +msgid "Source port" +msgstr "æºç«¯å£" + +msgid "Start MWAN" +msgstr "å¯åŠ¨ MWAN" + +msgid "Sticky" +msgstr "粘滞模å¼" + +msgid "Sticky timeout" +msgstr "粘滞超时" + +msgid "Stop MWAN" +msgstr "åœæ¢ MWAN" + +msgid "Supports CIDR notation (eg \"192.168.100.0/24\") without quotes" +msgstr "æ”¯æŒ CIDR 记法 (例如: \"192.168.100.0/24\") ä¸å«å¼•å·" + +msgid "There are currently %d of 250 supported interfaces configured" +msgstr "" + +msgid "" +"This IP address will be pinged to dermine if the link is up or down. Leave " +"blank to assume interface is always online" +msgstr "" +"MWAN 将会通过 Ping 这些 IP 地å€æ¥ç¡®å®šæŽ¥å£æ˜¯å¦ä¸Šçº¿ã€‚如果留空,则 MWAN 认为该接" +"å£æ°¸è¿œåœ¨çº¿" + +msgid "" +"This displays the metric assigned to this interface in /etc/config/network" +msgstr "这里显示了这个接å£åœ¨ /etc/config/network ä¸é…置的跃点数" + +msgid "This section allows you to modify the contents of /etc/config/mwan3" +msgstr "这里å…è®¸ä½ ä¿®æ”¹ /etc/config/mwan3 的内容" + +msgid "This section allows you to modify the contents of /etc/config/network" +msgstr "这里å…è®¸ä½ ä¿®æ”¹ /etc/config/network 的内容" + +msgid "This section allows you to modify the contents of /etc/config/wireless" +msgstr "这里å…è®¸ä½ ä¿®æ”¹ /etc/config/wireless 的内容" + +msgid "" +"This section allows you to modify the contents of /etc/hotplug.d/iface/16-" +"mwancustom<br />This is useful for running system commands and/or scripts " +"based on interface ifup or ifdown hotplug events<br /><br />Notes:<br />The " +"first line of the script must be "#!/bin/sh" without quotes<br /" +">Lines beginning with # are comments and are not executed<br /><br /" +">Available variables:<br />$ACTION is the hotplug event (ifup, ifdown)<br />" +"$INTERFACE is the interface name (wan1, wan2, etc.)<br />$DEVICE is the " +"device name attached to the interface (eth0.1, eth1, etc.)" +msgstr "" +"这里å…è®¸ä½ ä¿®æ”¹/etc/hotplug.d/iface/16-mwancustom 的内容<br />è¿™å¯ä»¥åœ¨æŽ¥å£ " +"ifup 或 ifdown Hotplug 事件时è¿è¡Œç³»ç»Ÿå‘½ä»¤æˆ–脚本<br /><br />注æ„:<br />脚本的" +"第一行必须是 "#!/bin/sh" ä¸å«å¼•å·<br />以#开头的行是注释,ä¸ä¼šæ‰§è¡Œ" +"<br /><br />å¯ç”¨å˜é‡:<br />$ACTION 是 Hotplug 事件 (ifup, ifdown)<br />" +"$INTERFACE 是接å£å称 (wan1ã€wan2 ç‰)<br />$DEVICE 是连接到接å£çš„设备å称 " +"(eth0.1ã€eth1 ç‰)" + +msgid "Tracking IP" +msgstr "跟踪的 IP" + +msgid "Tracking reliability" +msgstr "跟踪å¯é 性" + +msgid "Traffic Rules" +msgstr "æµé‡è§„则" + +msgid "" +"Traffic from the same source IP address that previously matched this rule " +"within the sticky timeout period will use the same WAN interface" +msgstr "" +"æ¥è‡ªç›¸åŒæº IP çš„æµé‡ï¼Œå¦‚果已ç»åŒ¹é…过æ¤è§„则并且在粘滞超时时间内,将会使用相åŒ" +"çš„ WAN 接å£" + +msgid "Troubleshooting" +msgstr "故障排除" + +msgid "Troubleshooting Data" +msgstr "故障排除数æ®" + +msgid "View the contents of /etc/protocols for protocol descriptions" +msgstr "请查看 /etc/protocols 获å–å¯é€‰å议详情" + +msgid "WARNING: %d interfaces are configured exceeding the maximum of 250!" +msgstr "" + +msgid "" +"WARNING: Some policies have names exceeding the maximum of 15 characters!" +msgstr "" + +msgid "" +"WARNING: some interfaces are configured incorrectly or not at all in /etc/" +"config/network!" +msgstr "" + +msgid "" +"WARNING: some interfaces have a higher reliability requirement than there " +"are tracking IP addresses!" +msgstr "" + +msgid "" +"WARNING: some interfaces have duplicate metrics configured in /etc/config/" +"network!" +msgstr "" + +msgid "" +"WARNING: some interfaces have no default route in the main routing table!" +msgstr "" + +msgid "" +"WARNING: some interfaces have no metric configured in /etc/config/network!" +msgstr "" + +msgid "" +"WARNING: some rules have a port configured with no or improper protocol " +"specified! Please configure a specific protocol!" +msgstr "" + +msgid "" +"WARNING: this and other interfaces have duplicate metrics configured in /etc/" +"config/network!" +msgstr "" + +msgid "" +"WARNING: this interface has a higher reliability requirement than there are " +"tracking IP addresses!" +msgstr "" + +msgid "WARNING: this interface has no default route in the main routing table!" +msgstr "" + +msgid "" +"WARNING: this interface has no metric configured in /etc/config/network!" +msgstr "" + +msgid "" +"WARNING: this interface is configured incorrectly or not at all in /etc/" +"config/network!" +msgstr "" + +msgid "" +"WARNING: this policy's name is %d characters exceeding the maximum of 15!" +msgstr "" + +msgid "" +"WARNING: this rule is incorrectly configured with no or improper protocol " +"specified! Please configure a specific protocol!" +msgstr "" + +msgid "Weight" +msgstr "比é‡" + +msgid "" +"When all policy members are offline use this behavior for matched traffic" +msgstr "当所有ç–ç•¥æˆå‘˜éƒ½æ— 法使用的时候,对使用该ç–略的æµé‡ä½¿ç”¨è¿™ä¸ªæ“作" + +msgid "Wireless Config" +msgstr "æ— çº¿é…ç½®" + +msgid "Yes" +msgstr "是" + +msgid "always" +msgstr "总是" + +msgid "blackhole (drop)" +msgstr "黑洞 (丢弃)" + +msgid "default (use main routing table)" +msgstr "默认 (使用主路由表)" + +msgid "ifdown" +msgstr "ifdown" + +msgid "ifup" +msgstr "ifup" + +msgid "never" +msgstr "从ä¸" + +msgid "unreachable (reject)" +msgstr "ä¸å¯è¾¾ (æ‹’ç»)" diff --git a/applications/luci-app-mwan3/root/etc/hotplug.d/iface/16-mwancustombak b/applications/luci-app-mwan3/root/etc/hotplug.d/iface/16-mwancustombak new file mode 100755 index 0000000000..6e2875e3de --- /dev/null +++ b/applications/luci-app-mwan3/root/etc/hotplug.d/iface/16-mwancustombak @@ -0,0 +1,38 @@ +#!/bin/sh + +# to enable this script uncomment the case loop at the bottom +# to report mwan status on interface hotplug ifup/ifdown events modify the lines in the send_alert function + +send_alert() +{ + # variable "$1" stores the MWAN status information + # insert your code here to send the contents of "$1" + echo "$1" +} + +gather_event_info() +{ + # create event information message + local EVENT_INFO="Interface [ "$INTERFACE" ($DEVICE) ] on router [ "$(uci -p /var/state get system.@system[0].hostname)" ] has triggered a hotplug [ "$ACTION" ] event on "$(date +"%a %b %d %Y %T %Z")"" + + # get current interface, policy and rule status + local CURRENT_STATUS="$(/usr/sbin/mwan3 status)" + + # get last 50 MWAN systemlog messages + local MWAN_LOG="$(echo -e "Last 50 MWAN systemlog entries. Newest entries sorted at the top:\n$(logread | grep mwan3 | tail -n 50 | sed 'x;1!H;$!d;x')")" + + # pass event info to send_alert function + send_alert "$(echo -e "$EVENT_INFO\n\n$CURRENT_STATUS\n\n$MWAN_LOG")" +} + +#case "$ACTION" in +# ifup) +# gather_event_info +# ;; +# +# ifdown) +# gather_event_info +# ;; +#esac + +exit 0 diff --git a/applications/luci-app-mwan3/root/etc/uci-defaults/60_luci-mwan3 b/applications/luci-app-mwan3/root/etc/uci-defaults/60_luci-mwan3 new file mode 100755 index 0000000000..ff9a229edd --- /dev/null +++ b/applications/luci-app-mwan3/root/etc/uci-defaults/60_luci-mwan3 @@ -0,0 +1,14 @@ +#!/bin/sh + +# replace existing mwan ucitrack entry +uci -q batch <<-EOF >/dev/null + del ucitrack.@mwan3[-1] + add ucitrack mwan3 + set ucitrack.@mwan3[-1].exec="/usr/sbin/mwan3 restart" + commit ucitrack +EOF + +# remove LuCI cache +rm -rf /tmp/luci-indexcache /tmp/luci-modulecache + +exit 0 diff --git a/applications/luci-app-olsr/po/pt-br/olsr.po b/applications/luci-app-olsr/po/pt-br/olsr.po index 1461c1dd8b..499176c16b 100644 --- a/applications/luci-app-olsr/po/pt-br/olsr.po +++ b/applications/luci-app-olsr/po/pt-br/olsr.po @@ -1,17 +1,17 @@ msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-06-10 03:41+0200\n" -"PO-Revision-Date: 2014-06-21 19:36+0200\n" -"Last-Translator: Éder <eder.grigorio@openmailbox.org>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"PO-Revision-Date: 2017-02-20 18:01-0300\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Pootle 2.0.6\n" +"X-Generator: Poedit 1.8.11\n" +"Language-Team: \n" msgid "Active MID announcements" msgstr "" @@ -59,7 +59,6 @@ msgstr "" "Somente pode ser um endereço IPv4 ou IPv6 válidos ou um endereço 'padrão'" # 20140621: edersg: tradução -#, fuzzy msgid "Can only be a valid IPv6 address or 'default'" msgstr "" "Somente pode ser um endereço IPv4 ou IPv6 válidos ou um endereço 'padrão'" @@ -173,7 +172,6 @@ msgstr "" "Validade do <abbr title=\"Host and network association, Associação de " "equipamentos e redes\">HNA</abbr>" -#, fuzzy msgid "HNA6 Announcements" msgstr "" "Anúncios do <abbr title=\"Host and network association, Associação de " @@ -215,7 +213,6 @@ msgstr "" "Equipamentos em uma rede roteada por OLSR podem anunciar conectividade para " "redes externas usando mensagens HNA." -#, fuzzy msgid "" "Hosts in a OLSR routed network can announce connecitivity to external " "networks using HNA6 messages." @@ -496,7 +493,6 @@ msgstr "" "> reduzir LQ para todos os nós nesta interface em 20%: padrão 0.8" # 20140621: edersg: tradução -#, fuzzy msgid "" "Multiply routes with the factor given here. Allowed values are between 0.01 " "and 1.0. It is only used when LQ-Level is greater than 0. Examples:<br /" @@ -551,7 +547,6 @@ msgstr "" "OLSR - Anúncios <abbr title=\"Host and network association, Associação de " "equipamentos e redes\">HNA</abbr>" -#, fuzzy msgid "OLSR - HNA6-Announcements" msgstr "" "OLSR - Anúncios <abbr title=\"Host and network association, Associação de " @@ -654,7 +649,6 @@ msgstr "" "durante o funcionamento do olsrd. O padrão é 0.0.0.0, que faz com que o " "endereço da primeira interface seja usado." -#, fuzzy msgid "" "Sets the main IP (originator ip) of the router. This IP will NEVER change " "during the uptime of olsrd. Default is ::, which triggers usage of the IP of " @@ -857,7 +851,6 @@ msgstr "" "and network association, Associação de equipamentos e redes\">HNA</abbr> " "local de 0.0.0.0/0, ::ffff:0:0/96 ou 2000::/3. O padrão é \"ambos\"." -#, fuzzy msgid "" "Which kind of uplink is exported to the other mesh nodes. An uplink is " "detected by looking for a local HNA6 ::ffff:0:0/96 or 2000::/3. Default " diff --git a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua index 1bbee83c35..7865881cb6 100644 --- a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua +++ b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua @@ -7,192 +7,721 @@ require("luci.model.uci") local knownParams = { -- - -- Widget Name Default(s) Description Option(s) - -- + --Widget + -- Name + -- Default(s) + -- Description + -- Option(s) { "Service", { - -- initialisation and daemon options - { ListValue, "verb", { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }, translate("Set output verbosity") }, - { Flag, "mlock", 0, translate("Disable Paging") }, - { Flag, "disable_occ", 0, translate("Disable options consistency check") }, - -- { Value, "user", "root", translate("Set UID to user") }, - -- { Value, "group", "root", translate("Set GID to group") }, - { Value, "cd", "/etc/openvpn", translate("Change to directory before initialization") }, - { Value, "chroot", "/var/run", translate("Chroot to directory after initialization") }, - -- { Value, "daemon", "Instance-Name", translate("Daemonize after initialization") }, - -- { Value, "syslog", "Instance-Name", translate("Output to syslog and do not daemonize") }, - { Flag, "passtos", 0, translate("TOS passthrough (applies to IPv4 only)") }, - -- { Value, "inetd", "nowait Instance-Name", translate("Run as an inetd or xinetd server") }, - { Value, "log", "/var/log/openvpn.log", translate("Write log to file") }, - { Value, "log_append", "/var/log/openvpn.log", translate("Append log to file") }, - { Flag, "suppress_timestamps", 0, translate("Don't log timestamps") }, - -- { Value, "writepid", "/var/run/openvpn.pid", translate("Write process ID to file") }, - { Value, "nice", 0, translate("Change process priority") }, - { Flag, "fast_io", 0, translate("Optimize TUN/TAP/UDP writes") }, - { Value, "echo", "some params echoed to log", translate("Echo parameters to log") }, - { ListValue, "remap_usr1", { "SIGHUP", "SIGTERM" }, translate("Remap SIGUSR1 signals") }, - { Value, "status", "/var/run/openvpn.status 5", translate("Write status to file every n seconds") }, - { Value, "status_version", { 1, 2 }, translate("Status file format version") }, -- status - { Value, "mute", 5, translate("Limit repeated log messages") }, - - { Value, "up", "/usr/bin/ovpn-up", translate("Shell cmd to execute after tun device open") }, - { Value, "up_delay", 5, translate("Delay tun/tap open and up script execution") }, - { Value, "down", "/usr/bin/ovpn-down", translate("Shell cmd to run after tun device close") }, - { Flag, "down_pre", 0, translate("Call down cmd/script before TUN/TAP close") }, - { Flag, "up_restart", 0, translate("Run up/down scripts for all restarts") }, - { Value, "route_up", "/usr/bin/ovpn-routeup", translate("Execute shell cmd after routes are added") }, - { Value, "ipchange", "/usr/bin/ovpn-ipchange", translate("Execute shell command on remote ip change"), { mode="p2p" } }, - { DynamicList, "setenv", { "VAR1 value1", "VAR2 value2" }, translate("Pass environment variables to script") }, - { Value, "tls_verify", "/usr/bin/ovpn-tlsverify", translate("Shell command to verify X509 name") }, - { Value, "client_connect", "/usr/bin/ovpn-clientconnect", translate("Run script cmd on client connection") }, - { Flag, "client_disconnect", 0, translate("Run script cmd on client disconnection") }, - { Value, "learn_address", "/usr/bin/ovpn-learnaddress", translate("Executed in server mode whenever an IPv4 address/route or MAC address is added to OpenVPN's internal routing table") }, - { Value, "auth_user_pass_verify", "/usr/bin/ovpn-userpass via-env", translate("Executed in server mode on new client connections, when the client is still untrusted") }, - { ListValue, "script_security", { 0, 1, 2, 3 }, translate("Policy level over usage of external programs and scripts") }, + -- initialisation and daemon options + { ListValue, + "verb", + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }, + translate("Set output verbosity") }, + { Flag, + "mlock", + 0, + translate("Disable Paging") }, + { Flag, + "disable_occ", + 0, + translate("Disable options consistency check") }, + -- { Value, + -- "user", + -- "root", + -- translate("Set UID to user") }, + -- { Value, + -- "group", + -- "root", + -- translate("Set GID to group") }, + { Value, + "cd", + "/etc/openvpn", + translate("Change to directory before initialization") }, + { Value, + "chroot", + "/var/run", + translate("Chroot to directory after initialization") }, + -- { Value, + -- "daemon", + -- "Instance-Name", + -- translate("Daemonize after initialization") }, + -- { Value, + -- "syslog", + -- "Instance-Name", + -- translate("Output to syslog and do not daemonize") }, + { Flag, + "passtos", + 0, + translate("TOS passthrough (applies to IPv4 only)") }, + -- { Value, + -- "inetd", + -- "nowait Instance-Name", + -- translate("Run as an inetd or xinetd server") }, + { Value, + "log", + "/var/log/openvpn.log", + translate("Write log to file") }, + { Value, + "log_append", + "/var/log/openvpn.log", + translate("Append log to file") }, + { Flag, + "suppress_timestamps", + 0, + translate("Don't log timestamps") }, + -- { Value, + -- "writepid", + -- "/var/run/openvpn.pid", + -- translate("Write process ID to file") }, + { Value, + "nice", + 0, + translate("Change process priority") }, + { Flag, + "fast_io", + 0, + translate("Optimize TUN/TAP/UDP writes") }, + { Value, + "echo", + "some params echoed to log", + translate("Echo parameters to log") }, + { ListValue, + "remap_usr1", + { "SIGHUP", "SIGTERM" }, + translate("Remap SIGUSR1 signals") }, + { Value, + "status", + "/var/run/openvpn.status 5", + translate("Write status to file every n seconds") }, + { Value, + "status_version", + { 1, 2 }, + translate("Status file format version") }, -- status + { Value, + "mute", + 5, + translate("Limit repeated log messages") }, + { Value, + "up", + "/usr/bin/ovpn-up", + translate("Shell cmd to execute after tun device open") }, + { Value, + "up_delay", + 5, + translate("Delay tun/tap open and up script execution") }, + { Value, + "down", + "/usr/bin/ovpn-down", + translate("Shell cmd to run after tun device close") }, + { Flag, + "down_pre", + 0, + translate("Call down cmd/script before TUN/TAP close") }, + { Flag, + "up_restart", + 0, + translate("Run up/down scripts for all restarts") }, + { Value, + "route_up", + "/usr/bin/ovpn-routeup", + translate("Execute shell cmd after routes are added") }, + { Value, + "ipchange", + "/usr/bin/ovpn-ipchange", + translate("Execute shell command on remote ip change"), + { mode="p2p" } }, + { DynamicList, + "setenv", + { "VAR1 value1", "VAR2 value2" }, + translate("Pass environment variables to script") }, + { Value, + "tls_verify", + "/usr/bin/ovpn-tlsverify", + translate("Shell command to verify X509 name") }, + { Value, + "client_connect", + "/usr/bin/ovpn-clientconnect", + translate("Run script cmd on client connection") }, + { Flag, + "client_disconnect", + 0, + translate("Run script cmd on client disconnection") }, + { Value, + "learn_address", + "/usr/bin/ovpn-learnaddress", + translate("Executed in server mode whenever an IPv4 address/route or MAC address is added to OpenVPN's internal routing table") }, + { Value, + "auth_user_pass_verify", + "/usr/bin/ovpn-userpass via-env", + translate("Executed in server mode on new client connections, when the client is still untrusted") }, + { ListValue, + "script_security", + { 0, 1, 2, 3 }, + translate("Policy level over usage of external programs and scripts") }, } }, { "Networking", { - -- socket config - { ListValue, "mode", { "p2p", "server" }, translate("Major mode") }, - { Value, "local", "0.0.0.0", translate("Local host name or ip address") }, - { Value, "port", 1194, translate("TCP/UDP port # for both local and remote") }, - { Value, "lport", 1194, translate("TCP/UDP port # for local (default=1194)") }, - { Value, "rport", 1194, translate("TCP/UDP port # for remote (default=1194)") }, - { Flag, "float", 0, translate("Allow remote to change its IP or port") }, - { Flag, "nobind", 0, translate("Do not bind to local address and port") }, - - { Value, "dev", "tun0", translate("tun/tap device") }, - { ListValue, "dev_type", { "tun", "tap" }, translate("Type of used device") }, - { Value, "dev_node", "/dev/net/tun", translate("Use tun/tap device node") }, - { Flag, "tun_ipv6", 0, translate("Make tun device IPv6 capable") }, - - { Value, "ifconfig", "10.200.200.3 10.200.200.1", translate("Set tun/tap adapter parameters") }, - { Flag, "ifconfig_noexec", 0, translate("Don't actually execute ifconfig") }, - { Flag, "ifconfig_nowarn", 0, translate("Don't warn on ifconfig inconsistencies") }, - - { DynamicList, "route", "10.123.0.0 255.255.0.0", translate("Add route after establishing connection") }, - { Value, "route_gateway", "10.234.1.1", translate("Specify a default gateway for routes") }, - { Value, "route_delay", 0, translate("Delay n seconds after connection") }, - { Flag, "route_noexec", 0, translate("Don't add routes automatically") }, - { Flag, "route_nopull", 0, translate("Don't pull routes automatically") }, - - { ListValue, "mtu_disc", { "yes", "maybe", "no" }, translate("Enable Path MTU discovery") }, - { Flag, "mtu_test", 0, translate("Empirically measure MTU") }, - { ListValue, "comp_lzo", { "yes", "no", "adaptive" }, translate("Use fast LZO compression") }, - { Flag, "comp_noadapt", 0, translate("Don't use adaptive lzo compression"), { comp_lzo=1 } }, - { Value, "link_mtu", 1500, translate("Set TCP/UDP MTU") }, - { Value, "tun_mtu", 1500, translate("Set tun/tap device MTU") }, - { Value, "tun_mtu_extra", 1500, translate("Set tun/tap device overhead") }, - { Value, "fragment", 1500, translate("Enable internal datagram fragmentation"), { proto="udp" } }, - { Value, "mssfix", 1500, translate("Set upper bound on TCP MSS"), { proto="udp" } }, - { Value, "sndbuf", 65536, translate("Set the TCP/UDP send buffer size") }, - { Value, "rcvbuf", 65536, translate("Set the TCP/UDP receive buffer size") }, - { Value, "txqueuelen", 100, translate("Set tun/tap TX queue length") }, - { Value, "shaper", 10240, translate("Shaping for peer bandwidth") }, - - { Value, "inactive", 240, translate("tun/tap inactivity timeout") }, - { Value, "keepalive", "10 60", translate("Helper directive to simplify the expression of --ping and --ping-restart in server mode configurations") }, - { Value, "ping", 30, translate("Ping remote every n seconds over TCP/UDP port") }, - { Value, "ping_exit", 120, translate("Remote ping timeout") }, - { Value, "ping_restart", 60, translate("Restart after remote ping timeout") }, - { Flag, "ping_timer_rem", 0, translate("Only process ping timeouts if routes exist") }, - - { Flag, "persist_tun", 0, translate("Keep tun/tap device open on restart") }, - { Flag, "persist_key", 0, translate("Don't re-read key on restart") }, - { Flag, "persist_local_ip", 0, translate("Keep local IP address on restart") }, - { Flag, "persist_remote_ip", 0, translate("Keep remote IP address on restart") }, - - -- management channel - { Value, "management", "127.0.0.1 31194 /etc/openvpn/mngmt-pwds", translate("Enable management interface on <em>IP</em> <em>port</em>") }, - { Flag, "management_query_passwords", 0, translate("Query management channel for private key") }, -- management - { Flag, "management_hold", 0, translate("Start OpenVPN in a hibernating state") }, -- management - { Value, "management_log_cache", 100, translate("Number of lines for log file history") }, -- management - { ListValue, "topology", { "net30", "p2p", "subnet" }, translate("'net30', 'p2p', or 'subnet'"), {dev_type="tun" } }, + -- socket config + { ListValue, + "mode", + { "p2p", "server" }, + translate("Major mode") }, + { Value, + "local", + "0.0.0.0", + translate("Local host name or ip address") }, + { Value, + "port", + 1194, + translate("TCP/UDP port # for both local and remote") }, + { Value, + "lport", + 1194, + translate("TCP/UDP port # for local (default=1194)") }, + { Value, + "rport", + 1194, + translate("TCP/UDP port # for remote (default=1194)") }, + { Flag, + "float", + 0, + translate("Allow remote to change its IP or port") }, + { Flag, + "nobind", + 0, + translate("Do not bind to local address and port") }, + { Value, + "dev", + "tun0", + translate("tun/tap device") }, + { ListValue, + "dev_type", + { "tun", "tap" }, + translate("Type of used device") }, + { Value, + "dev_node", + "/dev/net/tun", + translate("Use tun/tap device node") }, + { Flag, + "tun_ipv6", + 0, + translate("Make tun device IPv6 capable") }, + { Value, + "ifconfig", + "10.200.200.3 10.200.200.1", + translate("Set tun/tap adapter parameters") }, + { Flag, + "ifconfig_noexec", + 0, + translate("Don't actually execute ifconfig") }, + { Flag, + "ifconfig_nowarn", + 0, + translate("Don't warn on ifconfig inconsistencies") }, + { DynamicList, + "route", + "10.123.0.0 255.255.0.0", + translate("Add route after establishing connection") }, + { Value, + "route_gateway", + "10.234.1.1", + translate("Specify a default gateway for routes") }, + { Value, + "route_delay", + 0, + translate("Delay n seconds after connection") }, + { Flag, + "route_noexec", + 0, + translate("Don't add routes automatically") }, + { Flag, + "route_nopull", + 0, + translate("Don't pull routes automatically") }, + { ListValue, + "mtu_disc", + { "yes", "maybe", "no" }, + translate("Enable Path MTU discovery") }, + { Flag, + "mtu_test", + 0, + translate("Empirically measure MTU") }, + { ListValue, + "comp_lzo", + { "yes", "no", "adaptive" }, + translate("Use fast LZO compression") }, + { Flag, + "comp_noadapt", + 0, + translate("Don't use adaptive lzo compression"), + { comp_lzo=1 } }, + { Value, + "link_mtu", + 1500, + translate("Set TCP/UDP MTU") }, + { Value, + "tun_mtu", + 1500, + translate("Set tun/tap device MTU") }, + { Value, + "tun_mtu_extra", + 1500, + translate("Set tun/tap device overhead") }, + { Value, + "fragment", + 1500, + translate("Enable internal datagram fragmentation"), + { proto="udp" } }, + { Value, + "mssfix", + 1500, + translate("Set upper bound on TCP MSS"), + { proto="udp" } }, + { Value, + "sndbuf", + 65536, + translate("Set the TCP/UDP send buffer size") }, + { Value, + "rcvbuf", + 65536, + translate("Set the TCP/UDP receive buffer size") }, + { Value, + "txqueuelen", + 100, + translate("Set tun/tap TX queue length") }, + { Value, + "shaper", + 10240, + translate("Shaping for peer bandwidth") }, + { Value, + "inactive", + 240, + translate("tun/tap inactivity timeout") }, + { Value, + "keepalive", + "10 60", + translate("Helper directive to simplify the expression of --ping and --ping-restart in server mode configurations") }, + { Value, + "ping", + 30, + translate("Ping remote every n seconds over TCP/UDP port") }, + { Value, + "ping_exit", + 120, + translate("Remote ping timeout") }, + { Value, + "ping_restart", + 60, + translate("Restart after remote ping timeout") }, + { Flag, + "ping_timer_rem", + 0, + translate("Only process ping timeouts if routes exist") }, + { Flag, + "persist_tun", + 0, + translate("Keep tun/tap device open on restart") }, + { Flag, + "persist_key", + 0, + translate("Don't re-read key on restart") }, + { Flag, + "persist_local_ip", + 0, + translate("Keep local IP address on restart") }, + { Flag, + "persist_remote_ip", + 0, + translate("Keep remote IP address on restart") }, + -- management channel + { Value, + "management", + "127.0.0.1 31194 /etc/openvpn/mngmt-pwds", + translate("Enable management interface on <em>IP</em> <em>port</em>") }, + -- management + { Flag, + "management_query_passwords", + 0, + translate("Query management channel for private key") }, + -- management + { Flag, + "management_hold", + 0, + translate("Start OpenVPN in a hibernating state") }, + -- management + { Value, + "management_log_cache", + 100, + translate("Number of lines for log file history") }, + { ListValue, + "topology", + { "net30", "p2p", "subnet" }, + translate("'net30', 'p2p', or 'subnet'"), + {dev_type="tun" } }, } }, { "VPN", { - { Value, "server", "10.200.200.0 255.255.255.0", translate("Configure server mode"), { server_mode="1" } }, - { Value, "server_bridge", "10.200.200.1 255.255.255.0 10.200.200.200 10.200.200.250", translate("Configure server bridge"), { server_mode="1" } }, - { DynamicList, "push", { "redirect-gateway", "comp-lzo" }, translate("Push options to peer"), { server_mode="1" } }, - { Flag, "push_reset", 0, translate("Don't inherit global push options"), { server_mode="1" } }, - { Flag, "disable", 0, translate("Client is disabled"), { server_mode="1" } }, - { Value, "ifconfig_pool", "10.200.200.100 10.200.200.150 255.255.255.0", translate("Set aside a pool of subnets"), { server_mode="1" } }, - { Value, "ifconfig_pool_persist", "/etc/openvpn/ipp.txt 600", translate("Persist/unpersist ifconfig-pool"), { server_mode="1" } }, --- { Flag, "ifconfig_pool_linear", 0, translate("Use individual addresses rather than /30 subnets"), { server_mode="1" } }, -- deprecated and replaced by --topology p2p - { Value, "ifconfig_push", "10.200.200.1 255.255.255.255", translate("Push an ifconfig option to remote"), { server_mode="1" } }, - { Value, "iroute", "10.200.200.0 255.255.255.0", translate("Route subnet to client"), { server_mode="1" } }, - { Flag, "client_to_client", 0, translate("Allow client-to-client traffic"), { server_mode="1" } }, - { Flag, "duplicate_cn", 0, translate("Allow multiple clients with same certificate"), { server_mode="1" } }, - { Value, "client_config_dir", "/etc/openvpn/ccd", translate("Directory for custom client config files"), { server_mode="1" } }, - { Flag, "ccd_exclusive", 0, translate("Refuse connection if no custom client config"), { server_mode="1" } }, - { Value, "tmp_dir", "/var/run/openvpn", translate("Temporary directory for client-connect return file"), { server_mode="1" } }, - { Value, "hash_size", "256 256", translate("Set size of real and virtual address hash tables"), { server_mode="1" } }, - { Value, "bcast_buffers", 256, translate("Number of allocated broadcast buffers"), { server_mode="1" } }, - { Value, "tcp_queue_limit", 64, translate("Maximum number of queued TCP output packets"), { server_mode="1" } }, - { Value, "max_clients", 10, translate("Allowed maximum of connected clients"), { server_mode="1" } }, - { Value, "max_routes_per_client", 256, translate("Allowed maximum of internal"), { server_mode="1" } }, - { Value, "connect_freq", "3 10", translate("Allowed maximum of new connections"), { server_mode="1" } }, - { Flag, "client_cert_not_required", 0, translate("Don't require client certificate"), { server_mode="1" } }, - { Flag, "username_as_common_name", 0, translate("Use username as common name"), { server_mode="1" } }, - { Flag, "client", 0, translate("Configure client mode"), { server_mode="0" }, { server_mode="" } }, - { Flag, "pull", 0, translate("Accept options pushed from server"), { client="1" } }, - { Value, "auth_user_pass", "/etc/openvpn/userpass.txt", translate("Authenticate using username/password"), { client="1" } }, - { ListValue, "auth_retry", { "none", "nointeract", "interact" }, translate("Handling of authentication failures"), { client="1" } }, - { Value, "explicit_exit_notify", 1, translate("Send notification to peer on disconnect"), { client="1" } }, - { DynamicList, "remote", "1.2.3.4", translate("Remote host name or ip address"), { client="1" } }, - { Flag, "remote_random", 1, translate("Randomly choose remote server"), { client="1" } }, - { ListValue, "proto", { "udp", "tcp-client", "tcp-server" }, translate("Use protocol"), { client="1" } }, - { Value, "connect_retry", 5, translate("Connection retry interval"), { proto="tcp-client" }, { client="1" } }, - { Value, "http_proxy", "192.168.1.100 8080", translate("Connect to remote host through an HTTP proxy"), { client="1" } }, - { Flag, "http_proxy_retry", 0, translate("Retry indefinitely on HTTP proxy errors"), { client="1" } }, - { Value, "http_proxy_timeout", 5, translate("Proxy timeout in seconds"), { client="1" } }, - { DynamicList, "http_proxy_option", { "VERSION 1.0", "AGENT OpenVPN/2.0.9" }, translate("Set extended HTTP proxy options"), { client="1" } }, - { Value, "socks_proxy", "192.168.1.200 1080", translate("Connect through Socks5 proxy"), { client="1" } }, - { Value, "socks_proxy_retry", 5, translate("Retry indefinitely on Socks proxy errors"), { client="1" } }, -- client && socks_proxy - { Value, "resolv_retry", "infinite", translate("If hostname resolve fails, retry"), { client="1" } }, - { ListValue, "redirect_gateway", { "", "local", "def1", "local def1" }, translate("Automatically redirect default route"), { client="1" } }, + { Value, + "server", + "10.200.200.0 255.255.255.0", + translate("Configure server mode"), + { client="0" }, { client="" } }, + { Value, + "server_bridge", + "10.200.200.1 255.255.255.0 10.200.200.200 10.200.200.250", + translate("Configure server bridge"), + { client="0" }, { client="" } }, + { DynamicList, + "push", + { "redirect-gateway", "comp-lzo" }, + translate("Push options to peer"), + { client="0" }, { client="" } }, + { Flag, + "push_reset", + 0, + translate("Don't inherit global push options"), + { client="0" }, { client="" } }, + { Flag, + "disable", + 0, + translate("Client is disabled"), + { client="0" }, { client="" } }, + { Value, + "ifconfig_pool", + "10.200.200.100 10.200.200.150 255.255.255.0", + translate("Set aside a pool of subnets"), + { client="0" }, { client="" } }, + { Value, + "ifconfig_pool_persist", + "/etc/openvpn/ipp.txt 600", + translate("Persist/unpersist ifconfig-pool"), + { client="0" }, { client="" } }, + -- deprecated and replaced by --topology p2p + -- { Flag, + -- "ifconfig_pool_linear", + -- 0, + -- translate("Use individual addresses rather than /30 subnets"), + -- { client="0" }, { client="" } }, + { Value, + "ifconfig_push", + "10.200.200.1 255.255.255.255", + translate("Push an ifconfig option to remote"), + { client="0" }, { client="" } }, + { Value, + "iroute", + "10.200.200.0 255.255.255.0", + translate("Route subnet to client"), + { client="0" }, { client="" } }, + { Flag, + "client_to_client", + 0, + translate("Allow client-to-client traffic"), + { client="0" }, { client="" } }, + { Flag, + "duplicate_cn", + 0, + translate("Allow multiple clients with same certificate"), + { client="0" }, { client="" } }, + { Value, + "client_config_dir", + "/etc/openvpn/ccd", + translate("Directory for custom client config files"), + { client="0" }, { client="" } }, + { Flag, + "ccd_exclusive", + 0, + translate("Refuse connection if no custom client config"), + { client="0" }, { client="" } }, + { Value, + "tmp_dir", + "/var/run/openvpn", + translate("Temporary directory for client-connect return file"), + { client="0" }, { client="" } }, + { Value, + "hash_size", + "256 256", + translate("Set size of real and virtual address hash tables"), + { client="0" }, { client="" } }, + { Value, + "bcast_buffers", + 256, + translate("Number of allocated broadcast buffers"), + { client="0" }, { client="" } }, + { Value, + "tcp_queue_limit", + 64, + translate("Maximum number of queued TCP output packets"), + { client="0" }, { client="" } }, + { Value, + "max_clients", + 10, + translate("Allowed maximum of connected clients"), + { client="0" }, { client="" } }, + { Value, + "max_routes_per_client", + 256, + translate("Allowed maximum of internal"), + { client="0" }, { client="" } }, + { Value, + "connect_freq", + "3 10", + translate("Allowed maximum of new connections"), + { client="0" }, { client="" } }, + { Flag, + "client_cert_not_required", + 0, + translate("Don't require client certificate"), + { client="0" }, { client="" } }, + { Flag, + "username_as_common_name", + 0, + translate("Use username as common name"), + { client="0" }, { client="" } }, + { Flag, + "client", + 0, + translate("Configure client mode") }, + { Flag, + "pull", + 0, + translate("Accept options pushed from server"), + { client="1" } }, + { Value, + "auth_user_pass", + "/etc/openvpn/userpass.txt", + translate("Authenticate using username/password"), + { client="1" } }, + { ListValue, + "auth_retry", + { "none", "nointeract", "interact" }, + translate("Handling of authentication failures"), + { client="1" } }, + { Value, + "explicit_exit_notify", + 1, + translate("Send notification to peer on disconnect"), + { client="1" } }, + { DynamicList, + "remote", + "1.2.3.4", + translate("Remote host name or ip address"), + { client="1" } }, + { Flag, + "remote_random", + 0, + translate("Randomly choose remote server"), + { client="1" } }, + { ListValue, + "proto", + { "udp", "tcp-client", "tcp-server" }, + translate("Use protocol"), + { client="1" } }, + { Value, + "connect_retry", + 5, + translate("Connection retry interval"), + { proto="tcp-client" }, { client="1" } }, + { Value, + "http_proxy", + "192.168.1.100 8080", + translate("Connect to remote host through an HTTP proxy"), + { client="1" } }, + { Flag, + "http_proxy_retry", + 0, + translate("Retry indefinitely on HTTP proxy errors"), + { client="1" } }, + { Value, + "http_proxy_timeout", + 5, + translate("Proxy timeout in seconds"), + { client="1" } }, + { DynamicList, + "http_proxy_option", + { "VERSION 1.0", "AGENT OpenVPN/2.0.9" }, + translate("Set extended HTTP proxy options"), + { client="1" } }, + { Value, + "socks_proxy", + "192.168.1.200 1080", + translate("Connect through Socks5 proxy"), + { client="1" } }, + -- client && socks_proxy + { Value, + "socks_proxy_retry", + 5, + translate("Retry indefinitely on Socks proxy errors"), + { client="1" } }, + { Value, + "resolv_retry", + "infinite", + translate("If hostname resolve fails, retry"), + { client="1" } }, + { ListValue, + "redirect_gateway", + { "", "local", "def1", "local def1" }, + translate("Automatically redirect default route"), + { client="1" } }, } }, { "Cryptography", { - { FileUpload, "secret", "/etc/openvpn/secret.key", translate("Enable Static Key encryption mode (non-TLS)") }, - { Value, "auth", "SHA1", translate("HMAC authentication for packets") }, -- parse - { Value, "cipher", "BF-CBC", translate("Encryption cipher for packets") }, -- parse - { Value, "keysize", 1024, translate("Size of cipher key") }, -- parse - { Value, "engine", "dynamic", translate("Enable OpenSSL hardware crypto engines") }, -- parse - { Flag, "no_replay", 0, translate("Disable replay protection") }, - { Value, "replay_window", "64 15", translate("Replay protection sliding window size") }, - { Flag, "mute_replay_warnings", 0, translate("Silence the output of replay warnings") }, - { Value, "replay_persist", "/var/run/openvpn-replay-state", translate("Persist replay-protection state") }, - { Flag, "no_iv", 0, translate("Disable cipher initialisation vector") }, - { Flag, "tls_server", 0, translate("Enable TLS and assume server role"), { tls_client="" }, { tls_client="0" } }, - { Flag, "tls_client", 0, translate("Enable TLS and assume client role"), { tls_server="" }, { tls_server="0" } }, - { FileUpload, "ca", "/etc/easy-rsa/keys/ca.crt", translate("Certificate authority") }, - { FileUpload, "dh", "/etc/easy-rsa/keys/dh1024.pem", translate("Diffie Hellman parameters") }, - { FileUpload, "cert", "/etc/easy-rsa/keys/some-client.crt", translate("Local certificate") }, - { FileUpload, "key", "/etc/easy-rsa/keys/some-client.key", translate("Local private key") }, - { FileUpload, "pkcs12", "/etc/easy-rsa/keys/some-client.pk12", translate("PKCS#12 file containing keys") }, - { ListValue, "key_method", { 1, 2 }, translate("Enable TLS and assume client role") }, - { Value, "tls_cipher", "DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DES-CBC3-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:AES128-SHA:RC4-SHA:RC4-MD5:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DES-CBC-SHA:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-RC4-MD5", - translate("TLS cipher") }, - { Value, "tls_timeout", 2, translate("Retransmit timeout on TLS control channel") }, - { Value, "reneg_bytes", 1024, translate("Renegotiate data chan. key after bytes") }, - { Value, "reneg_pkts", 100, translate("Renegotiate data chan. key after packets") }, - { Value, "reneg_sec", 3600, translate("Renegotiate data chan. key after seconds") }, - { Value, "hand_window", 60, translate("Timeframe for key exchange") }, - { Value, "tran_window", 3600, translate("Key transition window") }, - { Flag, "single_session", 0, translate("Allow only one session") }, - { Flag, "tls_exit", 0, translate("Exit on TLS negotiation failure") }, - { Value, "tls_auth", "/etc/openvpn/tlsauth.key", translate("Additional authentication over TLS") }, - --{ Value, "askpass", "[file]", translate("Get PEM password from controlling tty before we daemonize") }, - { Flag, "auth_nocache", 0, translate("Don't cache --askpass or --auth-user-pass passwords") }, - { Value, "tls_remote", "remote_x509_name", translate("Only accept connections from given X509 name") }, - { ListValue, "ns_cert_type", { "client", "server" }, translate("Require explicit designation on certificate") }, - { ListValue, "remote_cert_tls", { "client", "server" }, translate("Require explicit key usage on certificate") }, - { Value, "crl_verify", "/etc/easy-rsa/keys/crl.pem", translate("Check peer certificate against a CRL") }, - { Value, "tls_version_min", "1.0", translate("The lowest supported TLS version") }, - { Value, "tls_version_max", "1.2", translate("The highest supported TLS version") }, - { Value, "key_direction", "1", translate("The key direction for 'tls-auth' and 'secret' options") }, - } } + { FileUpload, + "secret", + "/etc/openvpn/secret.key", + translate("Enable Static Key encryption mode (non-TLS)") }, + -- parse + { Value, + "auth", + "SHA1", + translate("HMAC authentication for packets") }, + -- parse + { Value, + "cipher", + "BF-CBC", + translate("Encryption cipher for packets") }, + -- parse + { Value, + "keysize", + 1024, + translate("Size of cipher key") }, + -- parse + { Value, + "engine", + "dynamic", + translate("Enable OpenSSL hardware crypto engines") }, + { Flag, + "no_replay", + 0, + translate("Disable replay protection") }, + { Value, + "replay_window", + "64 15", + translate("Replay protection sliding window size") }, + { Flag, + "mute_replay_warnings", + 0, + translate("Silence the output of replay warnings") }, + { Value, + "replay_persist", + "/var/run/openvpn-replay-state", + translate("Persist replay-protection state") }, + { Flag, + "no_iv", + 0, + translate("Disable cipher initialisation vector") }, + { Flag, + "tls_server", + 0, + translate("Enable TLS and assume server role"), + { tls_client="" }, { tls_client="0" } }, + { Flag, + "tls_client", + 0, + translate("Enable TLS and assume client role"), + { tls_server="" }, { tls_server="0" } }, + { FileUpload, + "ca", + "/etc/easy-rsa/keys/ca.crt", + translate("Certificate authority") }, + { FileUpload, + "dh", + "/etc/easy-rsa/keys/dh1024.pem", + translate("Diffie Hellman parameters") }, + { FileUpload, + "cert", + "/etc/easy-rsa/keys/some-client.crt", + translate("Local certificate") }, + { FileUpload, + "key", + "/etc/easy-rsa/keys/some-client.key", + translate("Local private key") }, + { FileUpload, + "pkcs12", + "/etc/easy-rsa/keys/some-client.pk12", + translate("PKCS#12 file containing keys") }, + { ListValue, + "key_method", + { 1, 2 }, + translate("Enable TLS and assume client role") }, + { Value, + "tls_cipher", + "DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DES-CBC3-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:AES128-SHA:RC4-SHA:RC4-MD5:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DES-CBC-SHA:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-RC4-MD5", + translate("TLS cipher") }, + { Value, + "tls_timeout", + 2, + translate("Retransmit timeout on TLS control channel") }, + { Value, + "reneg_bytes", + 1024, + translate("Renegotiate data chan. key after bytes") }, + { Value, + "reneg_pkts", + 100, + translate("Renegotiate data chan. key after packets") }, + { Value, + "reneg_sec", + 3600, + translate("Renegotiate data chan. key after seconds") }, + { Value, + "hand_window", + 60, + translate("Timeframe for key exchange") }, + { Value, + "tran_window", + 3600, + translate("Key transition window") }, + { Flag, + "single_session", + 0, + translate("Allow only one session") }, + { Flag, + "tls_exit", + 0, + translate("Exit on TLS negotiation failure") }, + { Value, + "tls_auth", + "/etc/openvpn/tlsauth.key", + translate("Additional authentication over TLS") }, + -- { Value, + -- "askpass", + -- "[file]", + -- translate("Get PEM password from controlling tty before we daemonize") }, + { Flag, + "auth_nocache", + 0, + translate("Don't cache --askpass or --auth-user-pass passwords") }, + { Value, + "tls_remote", + "remote_x509_name", + translate("Only accept connections from given X509 name") }, + { ListValue, + "ns_cert_type", + { "client", "server" }, + translate("Require explicit designation on certificate") }, + { ListValue, + "remote_cert_tls", + { "client", "server" }, + translate("Require explicit key usage on certificate") }, + { Value, + "crl_verify", + "/etc/easy-rsa/keys/crl.pem", + translate("Check peer certificate against a CRL") }, + { Value, + "tls_version_min", + "1.0", + translate("The lowest supported TLS version") }, + { Value, + "tls_version_max", + "1.2", + translate("The highest supported TLS version") }, + { Value, + "key_direction", + "1", + translate("The key direction for 'tls-auth' and 'secret' options") }, + } } } diff --git a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua index aaa1979c41..3f651c0ada 100644 --- a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua +++ b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua @@ -24,7 +24,7 @@ local basicParams = { { ListValue,"comp_lzo",{"yes","no","adaptive"}, translate("Use fast LZO compression") }, { Value,"keepalive","10 60", translate("Helper directive to simplify the expression of --ping and --ping-restart in server mode configurations") }, - { ListValue,"proto",{ "udp", "udp6", "tcp", "tcp6" }, translate("Use protocol") }, + { ListValue,"proto",{ "udp", "tcp-client", "tcp-server" }, translate("Use protocol") }, { Flag,"client",0, translate("Configure client mode") }, { Flag,"client_to_client",0, translate("Allow client-to-client traffic") }, diff --git a/applications/luci-app-openvpn/po/pt-br/openvpn.po b/applications/luci-app-openvpn/po/pt-br/openvpn.po index 916370e7f9..84b0540581 100644 --- a/applications/luci-app-openvpn/po/pt-br/openvpn.po +++ b/applications/luci-app-openvpn/po/pt-br/openvpn.po @@ -1,17 +1,17 @@ msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-06-10 03:41+0200\n" -"PO-Revision-Date: 2014-03-29 23:19+0200\n" -"Last-Translator: Luiz Angelo <luizluca@gmail.com>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"PO-Revision-Date: 2017-02-20 18:04-0300\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Pootle 2.0.6\n" +"X-Generator: Poedit 1.8.11\n" +"Language-Team: \n" msgid "%s" msgstr "%s" @@ -154,7 +154,7 @@ msgid "Don't log timestamps" msgstr "Não registar a data/hora" msgid "Don't pull routes automatically" -msgstr "" +msgstr "Não puxe as rotas automaticamente" msgid "Don't re-read key on restart" msgstr "Não reler a chave entre os reinÃcios" @@ -505,13 +505,13 @@ msgid "Temporary directory for client-connect return file" msgstr "Diretório temporário para arquivo de retorno de conexão-cliente" msgid "The highest supported TLS version" -msgstr "" +msgstr "A mais alta versão suporta do TLS" msgid "The key direction for 'tls-auth' and 'secret' options" -msgstr "" +msgstr "A direção da chave para as opções 'tls-auth' e 'secret'" msgid "The lowest supported TLS version" -msgstr "" +msgstr "A mais baixa versão suporta do TLS" msgid "Timeframe for key exchange" msgstr "Janela temporal para troca de chaves" diff --git a/applications/luci-app-openvpn/po/zh-cn/openvpn.po b/applications/luci-app-openvpn/po/zh-cn/openvpn.po index 899b4d2388..3904ac4bf8 100644 --- a/applications/luci-app-openvpn/po/zh-cn/openvpn.po +++ b/applications/luci-app-openvpn/po/zh-cn/openvpn.po @@ -1,17 +1,17 @@ msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-05-19 19:35+0200\n" -"PO-Revision-Date: 2013-10-10 06:09+0200\n" -"Last-Translator: Tanyingyu <Tanyingyu@163.com>\n" +"PO-Revision-Date: 2017-04-14 17:26-0600\n" +"Last-Translator: liushuyu <liushuyu011@gmail.com>\n" "Language-Team: QQ Group 75543259 <axishero@foxmail.com>\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Pootle 2.0.6\n" +"X-Generator: Poedit 2.0.1\n" msgid "%s" msgstr "%s" @@ -498,13 +498,13 @@ msgid "Temporary directory for client-connect return file" msgstr "客户端连接返回文件的临时目录" msgid "The highest supported TLS version" -msgstr "" +msgstr "最高支æŒçš„ TLS 版本" msgid "The key direction for 'tls-auth' and 'secret' options" msgstr "" msgid "The lowest supported TLS version" -msgstr "" +msgstr "最低支æŒçš„ TLS 版本" msgid "Timeframe for key exchange" msgstr "密钥交æ¢æ—¶é—´è¡¨" diff --git a/applications/luci-app-privoxy/po/pt-br/privoxy.po b/applications/luci-app-privoxy/po/pt-br/privoxy.po new file mode 100644 index 0000000000..8d3eee20d5 --- /dev/null +++ b/applications/luci-app-privoxy/po/pt-br/privoxy.po @@ -0,0 +1,516 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: pt_BR\n" + +msgid "" +"A URL to be displayed in the error page that users will see if access to an " +"untrusted page is denied." +msgstr "" +"A URL a ser exibida na página de erro que os usuários verão se o acesso a " +"uma página não confiável é negado." + +msgid "" +"A URL to documentation about the local Privoxy setup, configuration or " +"policies." +msgstr "" +"A URL para a documentação sobre o Privoxy local, configuração ou polÃticas." + +msgid "A directory where Privoxy can create temporary files." +msgstr "Um diretório onde Privoxy pode criar arquivos temporários." + +msgid "Access Control" +msgstr "Controle de Acesso" + +msgid "Actions that are applied to all sites and maybe overruled later on." +msgstr "" +"Ações que são aplicadas a todos as páginas e talvez descartado mais tarde." + +msgid "An alternative directory where the templates are loaded from." +msgstr "Um diretório alternativo de onde os modelos são carregados." + +msgid "An email address to reach the Privoxy administrator." +msgstr "Um endereço de e-mail para alcançar o administrador do Privoxy." + +msgid "" +"Assumed server-side keep-alive timeout (in seconds) if not specified by the " +"server." +msgstr "" +"Tempo limite, em segundos, da manutenção da conexão (keep-alive) do servidor " +"se não for especificado." + +msgid "Boot delay" +msgstr "Atraso de iniciação" + +msgid "CGI user interface" +msgstr "Interface de usuário CGI" + +msgid "Common Log Format" +msgstr "Formato de registros (log) comum" + +msgid "" +"Configure here the routing of HTTP requests through a chain of multiple " +"proxies. Note that parent proxies can severely decrease your privacy level. " +"Also specified here are SOCKS proxies." +msgstr "" +"Configure aqui o encaminhamento de pedidos HTTP através de uma cadeia de " +"múltiplos proxies. Note-se que proxies pai pode diminuir muito o nÃvel de " +"privacidade. Também serão aceitos proxies SOCKS." + +msgid "Debug GIF de-animation" +msgstr "Depurar de-animação GIF" + +msgid "Debug force feature" +msgstr "Recurso de depuração forçado" + +msgid "Debug redirects" +msgstr "Redirecionamentos de depuração" + +msgid "Debug regular expression filters" +msgstr "Depuração de filtros de expressão regular" + +msgid "Delay (in seconds) during system boot before Privoxy start" +msgstr "" +"Atraso (em segundos) durante a inicialização do sistema antes do Privoxy " +"iniciar" + +msgid "Directory does not exist!" +msgstr "O diretório não existe!" + +msgid "Disabled == Transparent Proxy Mode" +msgstr "Desativado == Modo Proxy Transparente" + +msgid "Documentation" +msgstr "Documentação" + +msgid "During delay ifup-events are not monitored !" +msgstr "Durante a espera, eventos ifup não serão monitorados!" + +msgid "Enable proxy authentication forwarding" +msgstr "Habilitar o encaminhamento de autenticação de proxy" + +msgid "" +"Enable/Disable autostart of Privoxy on system startup and interface events" +msgstr "" +"Ativar/Desativar a iniciação automática do Privoxy junto com a iniciação do " +"sistema ou eventos de interface" + +msgid "Enable/Disable filtering when Privoxy starts." +msgstr "Ativar / Desativar filtragem quando Privoxy iniciar." + +msgid "Enabled" +msgstr "Habilitado" + +msgid "" +"Enabling this option is NOT recommended if there is no parent proxy that " +"requires authentication!" +msgstr "" +"A ativação dessa opção não é recomendado se não houver nenhum proxy pai que " +"requer autenticação!" + +msgid "File '%s' not found inside Configuration Directory" +msgstr "O arquivo '%s' não foi encontrado dentro do Diretório de Configuração" + +msgid "File not found or empty" +msgstr "Arquivo não encontrado ou vazio" + +msgid "Files and Directories" +msgstr "Arquivos e diretórios" + +msgid "For help use link at the relevant option" +msgstr "Para ajuda, use o link na respectiva opção" + +msgid "Forwarding" +msgstr "Encaminhando" + +msgid "" +"If enabled, Privoxy hides the 'go there anyway' link. The user obviously " +"should not be able to bypass any blocks." +msgstr "" +"Se ativado, Privoxy esconde o link \"ir lá de qualquer maneira\". O usuário, " +"obviamente, não deve ser capaz de contornar qualquer bloqueio." + +msgid "" +"If you intend to operate Privoxy for more users than just yourself, it might " +"be a good idea to let them know how to reach you, what you block and why you " +"do that, your policies, etc." +msgstr "" +"Se você pretende operar Privoxy para mais usuários do que apenas a si mesmo, " +"pode ser uma boa ideia para que eles saibam como falar com você, o que você " +"bloquear e por que você faz isso, as suas polÃticas, etc." + +msgid "Invalid email address" +msgstr "Endereço de e-mail inválido" + +msgid "It is NOT recommended for the casual user." +msgstr "Não é recomendado para o usuário casual." + +msgid "Location of the Privoxy User Manual." +msgstr "Localização do Manual do Usuário do Privoxy." + +msgid "Log File Viewer" +msgstr "Visualizador de arquivo de registros (log)" + +msgid "Log all data read from the network" +msgstr "Registrar todos os dados lidos da rede" + +msgid "Log all data written to the network" +msgstr "Registrar todos os dados gravados na rede" + +msgid "Log the applying actions" +msgstr "Registrar as ações aplicadas" + +msgid "" +"Log the destination for each request Privoxy let through. See also 'Debug " +"1024'." +msgstr "" +"Registrar o destino para cada pedido que o Privoxy deixou passar. Consulte " +"também 'Debug 1024'." + +msgid "" +"Log the destination for requests Privoxy didn't let through, and the reason " +"why." +msgstr "" +"Registrar o destino para os pedidos que o Privoxy não deixou passar, e a " +"razão pela qual." + +msgid "Logging" +msgstr "Registrando (logging)" + +msgid "Main actions file" +msgstr "Arquivo principal de ações" + +msgid "Mandatory Input: No Data given!" +msgstr "Entrada obrigatória: Dados não foram informados!" + +msgid "Mandatory Input: No Directory given!" +msgstr "Entrada obrigatória: Nenhum Diretório foi informado!" + +msgid "Mandatory Input: No File given!" +msgstr "Entrada obrigatória: Nenhum Arquivo foi informado!" + +msgid "Mandatory Input: No Port given!" +msgstr "Entrada obrigatória: Nenhuma Porta foi informado!" + +msgid "Mandatory Input: No files given!" +msgstr "Entrada obrigatória: Nenhum Arquivo foi informado!" + +msgid "Mandatory Input: No valid IPv4 address or host given!" +msgstr "" +"Entrada obrigatória: Nenhum endereço IPv4 ou nome de equipamento válido foi " +"fornecido!" + +msgid "Mandatory Input: No valid IPv6 address given!" +msgstr "Entrada obrigatória: Nenhum endereço IPv6 válido foi informado!" + +msgid "Mandatory Input: No valid Port given!" +msgstr "Entrada obrigatória: Nenhuma porta válida foi informada!" + +msgid "Maximum number of client connections that will be served." +msgstr "O número máximo de conexões de cliente que será aceito." + +msgid "Maximum size (in KB) of the buffer for content filtering." +msgstr "Tamanho máximo (em KB) do buffer para filtragem de conteúdo." + +msgid "Miscellaneous" +msgstr "Diversos" + +msgid "NOT installed" +msgstr "NÃO instalado" + +msgid "No trailing '/', please." +msgstr "Sem '/' final, por favor." + +msgid "Non-fatal errors - *we highly recommended enabling this*" +msgstr "Erros não fatais - *é altamente recomendado ativar isto*" + +msgid "" +"Number of seconds after which a socket times out if no data is received." +msgstr "" +"Número de segundos após o qual uma conexão expira se nenhum dado for " +"recebido." + +msgid "" +"Number of seconds after which an open connection will no longer be reused." +msgstr "" +"Número de segundos após o qual uma conexão aberta deixará de ser reutilizada." + +msgid "" +"Only when using 'external filters', Privoxy has to create temporary files." +msgstr "" +"Somente quando for usado os \"filtros externos\". O Privoxy tem que criar " +"arquivos temporários." + +msgid "Please install current version !" +msgstr "Por favor, instale a versão atual!" + +msgid "Please press [Read] button" +msgstr "Por favor, pressione o botão [Ler]" + +msgid "Please read Privoxy manual for details!" +msgstr "Por favor, leia o manual do Privoxy para mais detalhes!" + +msgid "Please update to the current version!" +msgstr "Por favor, atualize para a versão atual!" + +msgid "Privoxy WEB proxy" +msgstr "Privoxy Web Proxy" + +msgid "" +"Privoxy can (and normally does) use a number of other files for additional " +"configuration, help and logging. This section of the configuration file " +"tells Privoxy where to find those other files." +msgstr "" +"Privoxy pode (e normalmente o faz) utilizar uma série de outros arquivos de " +"configuração, ajuda e de registros. Esta seção do arquivo de configuração " +"informa o Privoxy onde encontrar os outros arquivos." + +msgid "" +"Privoxy is a non-caching web proxy with advanced filtering capabilities for " +"enhancing privacy, modifying web page data and HTTP headers, controlling " +"access, and removing ads and other obnoxious Internet junk." +msgstr "" +"Privoxy é um proxy web sem cache com capacidades avançadas de filtragem para " +"aumentar a privacidade, modificar dados de páginas web e cabeçalhos HTTP, " +"controlar o acesso e remover anúncios e outras porcarias detestável da " +"Internet." + +msgid "Read / Reread log file" +msgstr "Ler / Ler novamente o arquivo de registros (log)" + +msgid "Show I/O status" +msgstr "Mostrar status de Entrada/SaÃda" + +msgid "Show each connection status" +msgstr "Mostrar cada estado de conexão" + +msgid "Show header parsing" +msgstr "Mostrar análise do cabeçalho" + +msgid "Software package '%s' is not installed." +msgstr "O pacote de software '%s' não está instalado." + +msgid "Software package '%s' is outdated." +msgstr "O pacote '%' está desatualizado." + +msgid "Start" +msgstr "Iniciar" + +msgid "Start / Stop" +msgstr "Iniciar / Parar" + +msgid "Start/Stop Privoxy WEB Proxy" +msgstr "Inicia / Para o Privoxy Web Proxy" + +msgid "Startup banner and warnings." +msgstr "Mensagens e avisos iniciais." + +msgid "Syntax:" +msgstr "Sintaxe:" + +msgid "Syntax: Client header names delimited by spaces." +msgstr "Sintaxe: nomes de cabeçalho do cliente delimitados por espaços." + +msgid "Syntax: target_pattern http_parent[:port]" +msgstr "Sintaxe: padrão_alvo http_superior[:porta]" + +msgid "Syntax: target_pattern socks_proxy[:port] http_parent[:port]" +msgstr "Sintaxe: padrão_alvo proxy_socks[:porta] http_superior[:porta]" + +msgid "System" +msgstr "Sistema" + +msgid "" +"The actions file(s) to use. Multiple actionsfile lines are permitted, and " +"are in fact recommended!" +msgstr "" +"O(s) arquivo(s) ações a ser usado. Várias linhas no arquivo são permitidas, " +"e são, de fato, recomendadas!" + +msgid "" +"The address and TCP port on which Privoxy will listen for client requests." +msgstr "" +"O endereço e porta TCP em que Privoxy vai esperar por pedidos dos clientes." + +msgid "" +"The compression level that is passed to the zlib library when compressing " +"buffered content." +msgstr "" +"O nÃvel de compressão que é passada para a biblioteca zlib ao comprimir o " +"conteúdo em buffer." + +msgid "" +"The directory where all logging takes place (i.e. where the logfile is " +"located)." +msgstr "" +"O diretório onde todos os registros ocorrem (ex: onde o arquivo de log está " +"localizado)." + +msgid "The directory where the other configuration files are located." +msgstr "O diretório onde os outros arquivos de configuração estão localizados." + +msgid "" +"The filter files contain content modification rules that use regular " +"expressions." +msgstr "" +"Os arquivos de filtro contêm regras de modificação de conteúdo que usam " +"expressões regulares." + +msgid "The hostname shown on the CGI pages." +msgstr "O nome da máquina mostrado nas páginas de CGI." + +msgid "The log file to use. File name, relative to log directory." +msgstr "" +"O arquivo de registros a ser usado. O nome do arquivo, relativo ao diretório " +"de log." + +msgid "The order in which client headers are sorted before forwarding them." +msgstr "" +"A ordem em que os cabeçalhos dos clientes são classificados antes de " +"encaminhá-los." + +msgid "" +"The status code Privoxy returns for pages blocked with +handle-as-empty-" +"document." +msgstr "" +"O código de status Privoxy retorna para páginas bloqueadas com +handle-as-" +"empty-document." + +msgid "" +"The trust mechanism is an experimental feature for building white-lists and " +"should be used with care." +msgstr "" +"O mecanismo de confiança é um recurso experimental para a construção de " +"listas de destinos confiáveis e deve ser usado com cuidado." + +msgid "" +"The value of this option only matters if the experimental trust mechanism " +"has been activated." +msgstr "" +"O valor desta opção só importa se o mecanismo de confiança experimental foi " +"ativado." + +msgid "" +"This option is only there for debugging purposes. It will drastically reduce " +"performance." +msgstr "" +"Esta opção só está lá para fins de depuração. Ele irá reduzir drasticamente " +"o desempenho." + +msgid "" +"This option will be removed in future releases as it has been obsoleted by " +"the more general header taggers." +msgstr "" +"Esta opção será removida em versões futuras, uma vez que ficou obsoleta " +"pelos marcadores de cabeçalho mais genéricos." + +msgid "" +"This tab controls the security-relevant aspects of Privoxy's configuration." +msgstr "" +"Esta guia controla os aspectos da configuração do Privoxy relevantes para a " +"segurança." + +msgid "" +"Through which SOCKS proxy (and optionally to which parent HTTP proxy) " +"specific requests should be routed." +msgstr "" +"Através de qual Proxy SOCKS (e, opcionalmente, para o qual proxy HTTP " +"superior) pedidos especÃficos devem ser encaminhados." + +msgid "To which parent HTTP proxy specific requests should be routed." +msgstr "" +"Para qual proxy HTTP superior os pedidos especÃficos devem ser encaminhados." + +msgid "User customizations" +msgstr "Personalizações do usuário" + +msgid "Value is not a number" +msgstr "O valor não é um número" + +msgid "Value not between 0 and 300" +msgstr "Valor não está entre 0 e 300" + +msgid "Value not between 0 and 9" +msgstr "Valor não está entre 0 e 9" + +msgid "Value not between 1 and 4096" +msgstr "Valor não entre 1 e 4096" + +msgid "Value not greater 0 or empty" +msgstr "Valor não é maior que 0 ou vazio" + +msgid "Value range 1 to 4096, no entry defaults to 4096" +msgstr "Faixa do valor de 1 até 4096. Se vazio, será 4096" + +msgid "Version" +msgstr "Versão" + +msgid "Version Information" +msgstr "Informação da Versão" + +msgid "Whether intercepted requests should be treated as valid." +msgstr "Se as solicitações interceptados deve ser tratadas como válidas." + +msgid "" +"Whether or not Privoxy recognizes special HTTP headers to change toggle " +"state." +msgstr "" +"Se o Privoxy deve reconhecer cabeçalhos HTTP especiais para mudar de " +"alternância do estado." + +msgid "Whether or not buffered content is compressed before delivery." +msgstr "Se o conteúdo em buffer é comprimido antes da entrega." + +msgid "" +"Whether or not outgoing connections that have been kept alive should be " +"shared between different incoming connections." +msgstr "" +"Se as conexões de saÃda que foram mantidas vivas devem ser compartilhadas " +"entre diferentes conexões de entrada." + +msgid "Whether or not pipelined requests should be served." +msgstr "Se os pedidos de pipeline deve ser aceitos." + +msgid "Whether or not proxy authentication through Privoxy should work." +msgstr "Se a autenticação de proxy através do Privoxy deve funcionar." + +msgid "Whether or not the web-based actions file editor may be used." +msgstr "Se o editor de arquivos de ações baseadas na web deve ser utilizado." + +msgid "Whether or not the web-based toggle feature may be used." +msgstr "Se deve ser usado o recurso de alternância baseado na web." + +msgid "Whether requests to Privoxy's CGI pages can be blocked or redirected." +msgstr "" +"Se as solicitações para páginas CGI do Privoxy podem ser bloqueadas ou " +"redirecionadas." + +msgid "" +"Whether the CGI interface should stay compatible with broken HTTP clients." +msgstr "" +"Se a interface CGI deve se manter compatÃvel com clientes HTTP mal " +"implementados." + +msgid "Whether to run only one server thread." +msgstr "Se deseja executar o servidor como apenas uma thread." + +msgid "Who can access what." +msgstr "Quem pode acessar o quê." + +msgid "installed" +msgstr "instalado" + +msgid "or higher" +msgstr "ou maior" + +msgid "required" +msgstr "necessário" diff --git a/applications/luci-app-radicale/po/pt-br/radicale.po b/applications/luci-app-radicale/po/pt-br/radicale.po new file mode 100644 index 0000000000..67bf586908 --- /dev/null +++ b/applications/luci-app-radicale/po/pt-br/radicale.po @@ -0,0 +1,432 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: pt_BR\n" + +msgid "" +"'AUTO' selects the highest protocol version that client and server support." +msgstr "'AUTO' seleciona a versão mais alto protocolo que o cliente e o servidor suportar." + +msgid "" +"'Hostname:Port' or 'IPv4:Port' or '[IPv6]:Port' Radicale should listen on" +msgstr "'NomeDoEquipamento:porta' ou 'IPv4:Porta' ou '[IPv6]:Porta' em que o Radicale deve escutar" + +msgid "AUTO" +msgstr "AUTO" + +msgid "Access-Control-Allow-Headers" +msgstr "Access-Control-Allow-Headers" + +msgid "Access-Control-Allow-Methods" +msgstr "Access-Control-Allow-Methods" + +msgid "Access-Control-Allow-Origin" +msgstr "Access-Control-Allow-Origin" + +msgid "Access-Control-Expose-Headers" +msgstr "Access-Control-Expose-Headers" + +msgid "Additional HTTP headers" +msgstr "Additional HTTP headers" + +msgid "Address:Port" +msgstr "Endereço: Porta" + +#, fuzzy +msgid "Authentication" +msgstr "Autenticação" + +msgid "" +"Authentication login is matched against the 'user' key, and collection's " +"path is matched against the 'collection' key." +msgstr "O nome do usuário na autenticação é comparado com a chave do 'user', e o caminho da coleção é comparado com a chave 'coleção'." + +msgid "Authentication method" +msgstr "Método de autenticação" + +msgid "Authentication method to allow access to Radicale server." +msgstr "Método de autenticação para permitir o acesso ao servidor Radicale." + +msgid "Auto-start" +msgstr "Iniciar automaticamente" + +msgid "Boot delay" +msgstr "Atraso na iniciação" + +msgid "CalDAV/CardDAV" +msgstr "CalDAV/CardDAV" + +msgid "" +"Calendars and address books are available for both local and remote access, " +"possibly limited through authentication policies." +msgstr "Agendas e contados estão disponÃveis tanto para acesso local como remoto, possivelmente limitado através das polÃticas de autenticação." + +msgid "Certificate file" +msgstr "Arquivo do certificado" + +msgid "" +"Change here the encoding Radicale will use instead of 'UTF-8' for responses " +"to the client and/or to store data inside collections." +msgstr "Mude aqui a codificação que o Radicale usará em vez de 'UTF-8' para respostas a clientes ou para armazenar dados dentro das coleções." + +msgid "Ciphers" +msgstr "Cifras" + +msgid "Console Log level" +msgstr "NÃvel de detalhamento dos registros (log)" + +msgid "Control the access to data collections." +msgstr "Controlar o acesso à s coleções de dados." + +#, fuzzy +msgid "Critical" +msgstr "CrÃtico" + +msgid "" +"Cross-origin resource sharing (CORS) is a mechanism that allows restricted " +"resources (e.g. fonts, JavaScript, etc.) on a web page to be requested from " +"another domain outside the domain from which the resource originated." +msgstr "O compartilhamento de recursos de origem cruzada (CORS) é um mecanismo que permite que os recursos de acesso restrito (por exemplo, fontes, JavaScript, etc.) em uma página web ser solicitado de outro domÃnio fora do domÃnio a partir do qual o recurso foi originado." + +msgid "Custom" +msgstr "Personalizadas" + +msgid "Database" +msgstr "Banco de Dados" + +#, fuzzy +msgid "Debug" +msgstr "Depuração" + +msgid "Delay (in seconds) during system boot before Radicale start" +msgstr "Atraso (em segundos) durante a inicialização do sistema antes do Radicale iniciar" + +#, fuzzy +msgid "Directory" +msgstr "Diretório" + +msgid "Directory not exists/found !" +msgstr "O diretório não foi encontrado!" + +msgid "Directory required !" +msgstr "O diretório é necessário!" + +msgid "Directory where the rotating log-files are stored" +msgstr "O diretório onde os registros(log) rotativos são armazenados" + +msgid "During delay ifup-events are not monitored !" +msgstr "Durante a espera, eventos ifup não serão monitorados!" + +msgid "Enable HTTPS" +msgstr "Ativar HTTPS" + +msgid "" +"Enable/Disable auto-start of Radicale on system start-up and interface events" +msgstr "Ativar/Desativar iniciação automática do Radicale na iniciação do sistema e em eventos de interface" + +msgid "Encoding" +msgstr "Codificação" + +msgid "Encoding for responding requests." +msgstr "Codificação para responder pedidos." + +msgid "Encoding for storing local collections." +msgstr "Codificação para armazenar coleções locais." + +msgid "Encryption method" +msgstr "Método de criptografia" + +#, fuzzy +msgid "Error" +msgstr "Erro" + +msgid "File '%s' not found !" +msgstr "Arquivo '%s' não encontrado!" + +msgid "File Log level" +msgstr "NÃvel de detalhamento dos registos(log) em arquivos" + +msgid "File not found !" +msgstr "Arquivo não encontrado!" + +msgid "File-system" +msgstr "Sistema de arquivos" + +msgid "" +"For example, for the 'user' key, '.+' means 'authenticated user' and '.*' " +"means 'anybody' (including anonymous users)." +msgstr "Por exemplo, para a chave 'user', '.+' Significa 'usuário autenticado' e '.*' Significa 'qualquer um' (incluindo usuários anônimos)." + +msgid "Full access for Owner only" +msgstr "Acesso completo somente para o proprietário" + +msgid "Full access for authenticated Users" +msgstr "Acesso completo para usuários autenticados" + +msgid "Full access for everybody (including anonymous)" +msgstr "Acesso completo para todos (incluindo anônimo)" + +msgid "Full path and file name of certificate" +msgstr "Caminho completo e nome do arquivo do certificado" + +msgid "Full path and file name of private key" +msgstr "Caminho e arquivo nome completo da chave privada" + +#, fuzzy +msgid "Info" +msgstr "Informações" + +msgid "Keep in mind to use the correct hashing algorithm !" +msgstr "Fique atento para usar o algoritmo de resumo digital(hash) correto!" + +msgid "Leading or ending slashes are trimmed from collection's path." +msgstr "Barras inicias e finais serão removidas do caminho da coleção." + +msgid "Log-backup Count" +msgstr "Contagem Registro(log) de Backup" + +msgid "Log-file Viewer" +msgstr "Visualizador de Arquivo de Registros(log)" + +msgid "Log-file directory" +msgstr "Diretório do arquivo de registros(log)" + +msgid "Log-file size" +msgstr "Tamanho do arquivo de registros(log)" + +#, fuzzy +msgid "Logging" +msgstr "Registrando os eventos" + +msgid "Logon message" +msgstr "Mensagem de entrada" + +msgid "Maximum size of each rotation log-file." +msgstr "Tamanho máximo para a rotação do arquivo de registros(log)" + +msgid "Message displayed in the client when a password is needed." +msgstr "Mensagem exibida para o cliente quando uma senha é necessária." + +#, fuzzy +msgid "NOT installed" +msgstr "NÃO instalado" + +#, fuzzy +msgid "None" +msgstr "Nada" + +msgid "Number of backup files of log to create." +msgstr "Número de backups dos arquivos de registros(log) a serem criados." + +msgid "OPTIONAL: See python's ssl module for available ciphers" +msgstr "Opcional: veja o módulo SSL do python para conhecer as cifras disponÃveis" + +msgid "One or more missing/invalid fields on tab" +msgstr "Um ou campos inválidos/ausentes na aba" + +msgid "Owner allow write, authenticated users allow read" +msgstr "O proprietário pode escrever, os usuários autenticados podem ler" + +msgid "Path/File required !" +msgstr "O caminho/arquivo é necessário!" + +msgid "" +"Place here the 'user:password' pairs for your users which should have access " +"to Radicale." +msgstr "Coloque aqui os pares 'usuário:senha' para os seus usuários que devem ter acesso a Radicale." + +msgid "Please install current version !" +msgstr "Por favor, instale a versão atual!" + +msgid "Please press [Reload] button below to reread the file." +msgstr "Por favor, pressione o botão [Recarregar] abaixo para reler o arquivo." + +msgid "Please update to current version !" +msgstr "Por favor, atualize para a versão atual!" + +msgid "Port numbers below 1024 (Privileged ports) are not supported" +msgstr "Os porta abaixo de 1024 (portas privilegiadas) não são suportadas" + +msgid "Private key file" +msgstr "Arquivo da chave privada" + +msgid "Radicale CalDAV/CardDAV Server" +msgstr "Radicale Servidor CalDAV/CardDAV" + +msgid "Radicale uses '/etc/radicale/rights' as regexp-based file." +msgstr "Radicale usa o '/etc/radicale/rights' como arquivo baseado em expressão regular." + +msgid "Radicale uses '/etc/radicale/users' as htpasswd file." +msgstr "Radicale usa o '/etc/radicale/users' como o arquivo htpasswd." + +msgid "Read only!" +msgstr "Somente leitura!" + +msgid "RegExp file" +msgstr "Arquivo de expressões regulares" + +msgid "Reload" +msgstr "Recarregar" + +msgid "Response Encoding" +msgstr "Codificação da Resposta" + +msgid "Rights" +msgstr "Direitos" + +msgid "Rights are based on a regexp-based file" +msgstr "Os direitos são baseados em um arquivo baseado em expressões regulares" + +msgid "Rights backend" +msgstr "Serviço de Direitos" + +msgid "SHA-1" +msgstr "SHA-1" + +msgid "SSL Protocol" +msgstr "Protocolo SSL" + +#, fuzzy +msgid "Save" +msgstr "Salvar" + +msgid "Section names are only used for naming the rule." +msgstr "Os nomes das seção são usados ​​apenas para nomear a regra." + +#, fuzzy +msgid "Server" +msgstr "Servidor" + +msgid "Setting this parameter to '0' will disable rotation of log-file." +msgstr "Definindo este parâmetro para '0' irá desativar a rotação dos arquivos de registros(log)." + +msgid "Software package '%s' is not installed." +msgstr "O pacote de software '%s' não está instalado." + +msgid "Software package '%s' is outdated." +msgstr "O pacote '%' está desatualizado." + +#, fuzzy +msgid "Software update required" +msgstr "A atualização do software é necessária" + +#, fuzzy +msgid "Start" +msgstr "Iniciar" + +#, fuzzy +msgid "Start / Stop" +msgstr "Iniciar / Parar" + +msgid "Start/Stop Radicale server" +msgstr "Iniciar/Parar o servidor Radicale" + +msgid "Storage" +msgstr "Armazenamento" + +msgid "Storage Encoding" +msgstr "Codificação do Armazenamento" + +msgid "Storage backend" +msgstr "Serviço de armazenamento" + +msgid "Syslog Log level" +msgstr "NÃvel de detalhamento do serviço de registro (syslog)" + +#, fuzzy +msgid "System" +msgstr "Sistema" + +msgid "" +"The Radicale Project is a complete CalDAV (calendar) and CardDAV (contact) " +"server solution." +msgstr "O Projeto Radicale é uma solução completa de CalDAV (agenda) e CardDAV (contatos)." + +msgid "" +"They can be viewed and edited by calendar and contact clients on mobile " +"phones or computers." +msgstr "Eles podem ser visualizados e editados pelos clientes de agenda e de contatos em telefones celulares ou computadores." + +msgid "To edit the file follow this link!" +msgstr "Para editar o arquivo, siga este link!" + +msgid "To view latest log file follow this link!" +msgstr "Para visualizar mais recente arquivo de registros(log), siga este link!" + +msgid "Value is not a number" +msgstr "O valor não é um número" + +msgid "Value is not an Integer >= 0 !" +msgstr "O valor não é um número natural (>=0)!" + +msgid "Value not between 0 and 300" +msgstr "Valor não está entre 0 e 300" + +msgid "Value required ! Integer >= 0 !" +msgstr "O valor é necessário! Número natural (>=0)!" + +#, fuzzy +msgid "Version" +msgstr "Versão" + +#, fuzzy +msgid "Version Information" +msgstr "Informação da Versão" + +msgid "" +"WARNING: Only 'File-system' is documented and tested by Radicale development" +msgstr "AVISO: Apenas 'Sistema de Arquivos "está documentado e testado pelo desenvolvimento do Radicale" + +#, fuzzy +msgid "Warning" +msgstr "Alerta" + +msgid "" +"You can also get groups from the user regex in the collection with {0}, {1}, " +"etc." +msgstr "Você também pode obter grupos a partir da expressão regular do usuário na coleção com {0}, {1} , etc." + +msgid "" +"You can use Python's ConfigParser interpolation values %(login)s and " +"%(path)s." +msgstr "Você pode usar a interpolação de valores %(login)s e %(path)s do ConfigParser do Python." + +msgid "crypt" +msgstr "cifrar" + +msgid "custom" +msgstr "personalizado" + +msgid "htpasswd file" +msgstr "arquivo htpasswd" + +#, fuzzy +msgid "installed" +msgstr "instalado" + +msgid "no valid path given!" +msgstr "Nenhum caminho válido foi informado!" + +#, fuzzy +msgid "or higher" +msgstr "ou maior" + +msgid "plain" +msgstr "plano" + +#, fuzzy +msgid "required" +msgstr "necessário" + +msgid "salted SHA-1" +msgstr "SHA-1 com salto" + diff --git a/applications/luci-app-samba/luasrc/model/cbi/samba.lua b/applications/luci-app-samba/luasrc/model/cbi/samba.lua index 721191a7ee..68a5b3a9bc 100644 --- a/applications/luci-app-samba/luasrc/model/cbi/samba.lua +++ b/applications/luci-app-samba/luasrc/model/cbi/samba.lua @@ -13,9 +13,10 @@ s:tab("template", translate("Edit Template")) s:taboption("general", Value, "name", translate("Hostname")) s:taboption("general", Value, "description", translate("Description")) s:taboption("general", Value, "workgroup", translate("Workgroup")) -s:taboption("general", Value, "homes", translate("Share home-directories"), +h = s:taboption("general", Flag, "homes", translate("Share home-directories"), translate("Allow system users to reach their home directories via " .. "network shares")) +h.rmempty = false tmpl = s:taboption("template", Value, "_tmpl", translate("Edit the template that is used for generating the samba configuration."), @@ -53,6 +54,12 @@ ro.rmempty = false ro.enabled = "yes" ro.disabled = "no" +br = s:option(Flag, "browseable", translate("Browseable")) +br.rmempty = false +br.default = "yes" +br.enabled = "yes" +br.disabled = "no" + go = s:option(Flag, "guest_ok", translate("Allow guests")) go.rmempty = false go.enabled = "yes" diff --git a/applications/luci-app-samba/po/ca/samba.po b/applications/luci-app-samba/po/ca/samba.po index 0668b1b146..fadcbdfdb9 100644 --- a/applications/luci-app-samba/po/ca/samba.po +++ b/applications/luci-app-samba/po/ca/samba.po @@ -26,6 +26,9 @@ msgstr "" msgid "Allowed users" msgstr "Usuaris permesos" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "Crea mà scara" diff --git a/applications/luci-app-samba/po/cs/samba.po b/applications/luci-app-samba/po/cs/samba.po index fefb7ff873..4a00124fb9 100644 --- a/applications/luci-app-samba/po/cs/samba.po +++ b/applications/luci-app-samba/po/cs/samba.po @@ -22,6 +22,9 @@ msgstr "" msgid "Allowed users" msgstr "Povolenà uživatelé" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "VytvoÅ™it masku" diff --git a/applications/luci-app-samba/po/de/samba.po b/applications/luci-app-samba/po/de/samba.po index a5ceb056cc..1bcac0c9bc 100644 --- a/applications/luci-app-samba/po/de/samba.po +++ b/applications/luci-app-samba/po/de/samba.po @@ -24,6 +24,9 @@ msgstr "" msgid "Allowed users" msgstr "Legitimierte Benutzer" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "Berechtigungsmaske für neue Dateien" diff --git a/applications/luci-app-samba/po/el/samba.po b/applications/luci-app-samba/po/el/samba.po index 7cc722d592..9a15ad1e03 100644 --- a/applications/luci-app-samba/po/el/samba.po +++ b/applications/luci-app-samba/po/el/samba.po @@ -22,6 +22,9 @@ msgstr "" msgid "Allowed users" msgstr "" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "" diff --git a/applications/luci-app-samba/po/en/samba.po b/applications/luci-app-samba/po/en/samba.po index f524c1448e..94cfdb5168 100644 --- a/applications/luci-app-samba/po/en/samba.po +++ b/applications/luci-app-samba/po/en/samba.po @@ -22,6 +22,9 @@ msgstr "Allow system users to reach their home directories via network shares" msgid "Allowed users" msgstr "Allowed users" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "Create mask" diff --git a/applications/luci-app-samba/po/es/samba.po b/applications/luci-app-samba/po/es/samba.po index 950a817971..c14ebd2c32 100644 --- a/applications/luci-app-samba/po/es/samba.po +++ b/applications/luci-app-samba/po/es/samba.po @@ -24,6 +24,9 @@ msgstr "" msgid "Allowed users" msgstr "Usuarios permitidos" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "Crear máscara" diff --git a/applications/luci-app-samba/po/fr/samba.po b/applications/luci-app-samba/po/fr/samba.po index 88779009cb..ff040b50d7 100644 --- a/applications/luci-app-samba/po/fr/samba.po +++ b/applications/luci-app-samba/po/fr/samba.po @@ -24,6 +24,9 @@ msgstr "" msgid "Allowed users" msgstr "Utilisateurs autorisés" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "Maque de création" diff --git a/applications/luci-app-samba/po/he/samba.po b/applications/luci-app-samba/po/he/samba.po index dd21a4a545..620f56cf84 100644 --- a/applications/luci-app-samba/po/he/samba.po +++ b/applications/luci-app-samba/po/he/samba.po @@ -17,6 +17,9 @@ msgstr "" msgid "Allowed users" msgstr "" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "" diff --git a/applications/luci-app-samba/po/hu/samba.po b/applications/luci-app-samba/po/hu/samba.po index 64d1e22a54..38a9a08439 100644 --- a/applications/luci-app-samba/po/hu/samba.po +++ b/applications/luci-app-samba/po/hu/samba.po @@ -22,6 +22,9 @@ msgstr "" msgid "Allowed users" msgstr "Engedélyezett felhasználók" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "Létrehozási maszk" diff --git a/applications/luci-app-samba/po/it/samba.po b/applications/luci-app-samba/po/it/samba.po index 4645782513..a2bb9b6735 100644 --- a/applications/luci-app-samba/po/it/samba.po +++ b/applications/luci-app-samba/po/it/samba.po @@ -24,6 +24,9 @@ msgstr "" msgid "Allowed users" msgstr "Utenti ammessi" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "Mask di creazione dei file" diff --git a/applications/luci-app-samba/po/ja/samba.po b/applications/luci-app-samba/po/ja/samba.po index c5275075af..9f338defbb 100644 --- a/applications/luci-app-samba/po/ja/samba.po +++ b/applications/luci-app-samba/po/ja/samba.po @@ -22,6 +22,9 @@ msgstr "sambaを介ã—ã¦ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ãƒ›ãƒ¼ãƒ ディレクトリã¸ã®ã‚¢ã‚¯ã msgid "Allowed users" msgstr "許å¯ã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ãƒ¼" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "マスクã®ä½œæˆ" diff --git a/applications/luci-app-samba/po/ms/samba.po b/applications/luci-app-samba/po/ms/samba.po index e29133e1b9..de4ed7c365 100644 --- a/applications/luci-app-samba/po/ms/samba.po +++ b/applications/luci-app-samba/po/ms/samba.po @@ -16,6 +16,9 @@ msgstr "" msgid "Allowed users" msgstr "" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "" diff --git a/applications/luci-app-samba/po/no/samba.po b/applications/luci-app-samba/po/no/samba.po index 1c5c8077f1..7059d7748d 100644 --- a/applications/luci-app-samba/po/no/samba.po +++ b/applications/luci-app-samba/po/no/samba.po @@ -13,6 +13,9 @@ msgstr "Tillat systembrukere Ã¥ nÃ¥ sine hjemmekataloger via nettverks mapper." msgid "Allowed users" msgstr "Tillatte brukere" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "Opprett Maske" diff --git a/applications/luci-app-samba/po/pl/samba.po b/applications/luci-app-samba/po/pl/samba.po index 74826227b0..bf54e78c3d 100644 --- a/applications/luci-app-samba/po/pl/samba.po +++ b/applications/luci-app-samba/po/pl/samba.po @@ -23,6 +23,9 @@ msgstr "" msgid "Allowed users" msgstr "Użytkownicy z prawem dostÄ™pu" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "Utwórz maskÄ™" diff --git a/applications/luci-app-samba/po/pt-br/samba.po b/applications/luci-app-samba/po/pt-br/samba.po index a7531522d0..43ea3b9b97 100644 --- a/applications/luci-app-samba/po/pt-br/samba.po +++ b/applications/luci-app-samba/po/pt-br/samba.po @@ -24,6 +24,9 @@ msgstr "" msgid "Allowed users" msgstr "Usuários permitidos" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "Máscara de criação" diff --git a/applications/luci-app-samba/po/pt/samba.po b/applications/luci-app-samba/po/pt/samba.po index 4c5a2cd24c..6d4f003868 100644 --- a/applications/luci-app-samba/po/pt/samba.po +++ b/applications/luci-app-samba/po/pt/samba.po @@ -24,6 +24,9 @@ msgstr "" msgid "Allowed users" msgstr "Utilizadores Permitidos" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "Criar Máscara" diff --git a/applications/luci-app-samba/po/ro/samba.po b/applications/luci-app-samba/po/ro/samba.po index 4bc341557f..78c55e4eb4 100644 --- a/applications/luci-app-samba/po/ro/samba.po +++ b/applications/luci-app-samba/po/ro/samba.po @@ -23,6 +23,9 @@ msgstr "" msgid "Allowed users" msgstr "Utilizatori acceptati" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "Creaza masca" diff --git a/applications/luci-app-samba/po/ru/samba.po b/applications/luci-app-samba/po/ru/samba.po index 82906e36ed..4823dc46d7 100644 --- a/applications/luci-app-samba/po/ru/samba.po +++ b/applications/luci-app-samba/po/ru/samba.po @@ -25,6 +25,9 @@ msgstr "" msgid "Allowed users" msgstr "Разрешённые пользователи" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "Создать маÑку" diff --git a/applications/luci-app-samba/po/sk/samba.po b/applications/luci-app-samba/po/sk/samba.po index 66ec9e0307..2c511c8152 100644 --- a/applications/luci-app-samba/po/sk/samba.po +++ b/applications/luci-app-samba/po/sk/samba.po @@ -17,6 +17,9 @@ msgstr "" msgid "Allowed users" msgstr "" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "" diff --git a/applications/luci-app-samba/po/sv/samba.po b/applications/luci-app-samba/po/sv/samba.po index b83dec506a..549a69c5c0 100644 --- a/applications/luci-app-samba/po/sv/samba.po +++ b/applications/luci-app-samba/po/sv/samba.po @@ -18,6 +18,9 @@ msgstr "TillÃ¥t systemanvändare att nÃ¥ deras hem-mappar via nätverksdelningar msgid "Allowed users" msgstr "TillÃ¥tna användare" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "Skapa mask" diff --git a/applications/luci-app-samba/po/templates/samba.pot b/applications/luci-app-samba/po/templates/samba.pot index d91400b0c7..9e4ab7ff17 100644 --- a/applications/luci-app-samba/po/templates/samba.pot +++ b/applications/luci-app-samba/po/templates/samba.pot @@ -10,6 +10,9 @@ msgstr "" msgid "Allowed users" msgstr "" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "" diff --git a/applications/luci-app-samba/po/tr/samba.po b/applications/luci-app-samba/po/tr/samba.po index fda2f6e26e..486768f2ee 100644 --- a/applications/luci-app-samba/po/tr/samba.po +++ b/applications/luci-app-samba/po/tr/samba.po @@ -17,6 +17,9 @@ msgstr "" msgid "Allowed users" msgstr "" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "" diff --git a/applications/luci-app-samba/po/uk/samba.po b/applications/luci-app-samba/po/uk/samba.po index 6f2a920915..077315e214 100644 --- a/applications/luci-app-samba/po/uk/samba.po +++ b/applications/luci-app-samba/po/uk/samba.po @@ -23,6 +23,9 @@ msgstr "" msgid "Allowed users" msgstr "Дозволені кориÑтувачі" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "Створити маÑку" diff --git a/applications/luci-app-samba/po/vi/samba.po b/applications/luci-app-samba/po/vi/samba.po index 4e5638da24..c5f6e02dfa 100644 --- a/applications/luci-app-samba/po/vi/samba.po +++ b/applications/luci-app-samba/po/vi/samba.po @@ -28,6 +28,9 @@ msgstr "" msgid "Allowed users" msgstr "NgÆ°á»i sá» dụng được cho phép" +msgid "Browseable" +msgstr "" + #, fuzzy msgid "Create mask" msgstr "Tạo Mask" diff --git a/applications/luci-app-samba/po/zh-cn/samba.po b/applications/luci-app-samba/po/zh-cn/samba.po index 4ff671b85a..2294b611aa 100644 --- a/applications/luci-app-samba/po/zh-cn/samba.po +++ b/applications/luci-app-samba/po/zh-cn/samba.po @@ -22,6 +22,9 @@ msgstr "å…许系统用户通过网络共享访问他们的主目录" msgid "Allowed users" msgstr "å…许用户" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "创建æƒé™" diff --git a/applications/luci-app-samba/po/zh-tw/samba.po b/applications/luci-app-samba/po/zh-tw/samba.po index 6ec99ee20b..bfa2d7d6dd 100644 --- a/applications/luci-app-samba/po/zh-tw/samba.po +++ b/applications/luci-app-samba/po/zh-tw/samba.po @@ -20,6 +20,9 @@ msgstr "å…許系統使用者é€éŽç¶²è·¯åˆ†äº«å®¶ç›®éŒ„" msgid "Allowed users" msgstr "å…許使用者" +msgid "Browseable" +msgstr "" + msgid "Create mask" msgstr "建立權é™" @@ -70,7 +73,9 @@ msgid "" "your samba configuration will be generated. Values enclosed by pipe symbols " "('|') should not be changed. They get their values from the 'General " "Settings' tab." -msgstr "建立Sambaè¨å®šçš„ \"/etc/samba/smb.conf.template\" 檔案內容。被('|')包åœçš„值å¯ä»¥åœ¨åŸºæœ¬è¨å®šä¸é€²è¡Œè¨å®š" +msgstr "" +"建立Sambaè¨å®šçš„ \"/etc/samba/smb.conf.template\" 檔案內容。被('|')包åœçš„值å¯" +"以在基本è¨å®šä¸é€²è¡Œè¨å®š" msgid "Workgroup" msgstr "工作群組" diff --git a/applications/luci-app-shadowsocks-libev/po/pt-br/shadowsocks-libev.po b/applications/luci-app-shadowsocks-libev/po/pt-br/shadowsocks-libev.po new file mode 100644 index 0000000000..f2b18e374c --- /dev/null +++ b/applications/luci-app-shadowsocks-libev/po/pt-br/shadowsocks-libev.po @@ -0,0 +1,97 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: pt_BR\n" + +msgid "Access Control" +msgstr "Controle de Acesso" + +msgid "Allow all except listed" +msgstr "Permitir todos, exceto os listados" + +msgid "Allow listed only" +msgstr "Permitir somente os listados" + +msgid "Bypassed IP" +msgstr "Endereços IP Ignorados" + +msgid "Connection Timeout" +msgstr "Tempo limite de conexão" + +msgid "Custom" +msgstr "Personalizado" + +msgid "Disabled" +msgstr "Desabilitado" + +msgid "Enable" +msgstr "Ativar" + +msgid "Enabled" +msgstr "Ativado" + +msgid "Encrypt Method" +msgstr "Método de Cifragem" + +msgid "Forwarded IP" +msgstr "Endereço IP Encaminhado" + +msgid "Forwarding Tunnel" +msgstr "Tunel para Encaminhamento" + +msgid "Global Setting" +msgstr "Opções Globais" + +msgid "Ignore List" +msgstr "Lista de Ignorados" + +msgid "LAN" +msgstr "LAN" + +msgid "LAN IP List" +msgstr "Lista de endereços IP da LAN" + +msgid "Local Port" +msgstr "Porta Local" + +msgid "Password" +msgstr "Senha" + +msgid "Relay Mode" +msgstr "Modo de Retransmissor" + +msgid "Server Address" +msgstr "Endereço do Servidor" + +msgid "Server Port" +msgstr "Porta do servidor" + +msgid "ShadowSocks-libev" +msgstr "ShadowSocks-libev" + +msgid "ShadowSocks-libev is not running" +msgstr "O serviço ShadowSocks-libev está parado" + +msgid "ShadowSocks-libev is running" +msgstr "O serviço ShadowSocks-libev está em execução." + +msgid "UDP Forward" +msgstr "Encaminhamento UDP" + +msgid "UDP Local Port" +msgstr "Porta Local UDP" + +msgid "UDP Relay" +msgstr "Retransmissão UDP" + +msgid "WAN" +msgstr "WAN" diff --git a/applications/luci-app-shairplay/po/pt-br/shairplay.po b/applications/luci-app-shairplay/po/pt-br/shairplay.po new file mode 100644 index 0000000000..c7d0ab18a3 --- /dev/null +++ b/applications/luci-app-shairplay/po/pt-br/shairplay.po @@ -0,0 +1,54 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: pt_BR\n" +"X-Poedit-Bookmarks: -1,5,-1,-1,-1,-1,-1,-1,-1,-1\n" + +msgid "AO Device ID" +msgstr "Identificador do dispositivo AO" + +msgid "AO Device Name" +msgstr "Nome do dispositivo AO" + +msgid "AO Driver" +msgstr "Driver do AO" + +msgid "Airport Name" +msgstr "Nome do Airport" + +msgid "Default" +msgstr "Padrão" + +msgid "Enabled" +msgstr "Habilitado" + +msgid "HW Address" +msgstr "Endereço de Hardware" + +msgid "Password" +msgstr "Senha" + +msgid "Port" +msgstr "Porta" + +msgid "Respawn" +msgstr "Redisparar" + +msgid "Shairplay" +msgstr "Shairplay" + +msgid "" +"Shairplay is a simple AirPlay server implementation, here you can configure " +"the settings." +msgstr "" +"Shairplay é uma implementação simples de um servidor AirPlay. Aqui você pode " +"configurá-lo." diff --git a/applications/luci-app-simple-adblock/Makefile b/applications/luci-app-simple-adblock/Makefile new file mode 100644 index 0000000000..d7be6850ba --- /dev/null +++ b/applications/luci-app-simple-adblock/Makefile @@ -0,0 +1,16 @@ +# Copyright (c) 2017 Stan Grishin (stangri@melmac.net) +# This is free software, licensed under the GNU General Public License v3. + +include $(TOPDIR)/rules.mk + +PKG_LICENSE:=GPL-3.0+ +PKG_MAINTAINER:=Stan Grishin <stangri@melmac.net> + +LUCI_TITLE:=Simple Adblock Web UI +LUCI_DEPENDS:=+simple-adblock +LUCI_PKGARCH:=all +PKG_RELEASE:=2 + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-simple-adblock/luasrc/controller/simpleadblock.lua b/applications/luci-app-simple-adblock/luasrc/controller/simpleadblock.lua new file mode 100644 index 0000000000..46125b3098 --- /dev/null +++ b/applications/luci-app-simple-adblock/luasrc/controller/simpleadblock.lua @@ -0,0 +1,7 @@ +module("luci.controller.simpleadblock", package.seeall) +function index() + if not nixio.fs.access("/etc/config/simple-adblock") then + return + end + entry({"admin", "services", "simpleadblock"}, cbi("simpleadblock"), _("Simple AdBlock")) +end diff --git a/applications/luci-app-simple-adblock/luasrc/model/cbi/simpleadblock.lua b/applications/luci-app-simple-adblock/luasrc/model/cbi/simpleadblock.lua new file mode 100644 index 0000000000..214f298292 --- /dev/null +++ b/applications/luci-app-simple-adblock/luasrc/model/cbi/simpleadblock.lua @@ -0,0 +1,79 @@ +m = Map("simple-adblock", translate("Simple AdBlock Settings")) +s = m:section(NamedSection, "config", "simple-adblock") + +-- General options +e = s:option(Flag, "enabled", translate("Enable/start service")) +e.rmempty = false + +function e.cfgvalue(self, section) + return self.map:get(section, "enabled") == "1" and luci.sys.init.enabled("simple-adblock") and self.enabled or self.disabled +end + +function e.write(self, section, value) + if value == "1" then + luci.sys.call("/etc/init.d/simple-adblock enable >/dev/null") + luci.sys.call("/etc/init.d/simple-adblock start >/dev/null") + else + luci.sys.call("/etc/init.d/simple-adblock stop >/dev/null") + end + return Flag.write(self, section, value) +end + +o2 = s:option(ListValue, "verbosity", translate("Output Verbosity Setting"),translate("Controls system log and console output verbosity")) +o2:value("0", translate("Suppress output")) +o2:value("1", translate("Some output")) +o2:value("2", translate("Verbose output")) +o2.rmempty = false +o2.default = 2 + +o3 = s:option(ListValue, "force_dns", translate("Force Router DNS"), translate("Forces Router DNS use on local devices, also known as DNS Hijacking")) +o3:value("0", translate("Let local devices use their own DNS servers if set")) +o3:value("1", translate("Force Router DNS server to all local devices")) +o3.rmempty = false +o3.default = 1 + + +local sysfs_path = "/sys/class/leds/" +local leds = {} +if nixio.fs.access(sysfs_path) then + leds = nixio.util.consume((nixio.fs.dir(sysfs_path))) +end +if #leds ~= 0 then + o3 = s:option(Value, "led", translate("LED to indicate status"), translate("Pick the LED not already used in ") + .. [[<a href="]] .. luci.dispatcher.build_url("admin/system/leds") .. [[">]] + .. translate("System LED Configuration") .. [[</a>]]) + o3.rmempty = true + o3:value("", translate("none")) + for k, v in ipairs(leds) do + o3:value(v) + end +end + + +s2 = m:section(NamedSection, "config", "simple-adblock") +-- Whitelisted Domains +d1 = s2:option(DynamicList, "whitelist_domain", translate("Whitelisted Domains"), translate("Individual domains to be whitelisted")) +d1.addremove = false +d1.optional = false + +-- Blacklisted Domains +d3 = s2:option(DynamicList, "blacklist_domain", translate("Blacklisted Domains"), translate("Individual domains to be blacklisted")) +d3.addremove = false +d3.optional = false + +-- Whitelisted Domains URLs +d2 = s2:option(DynamicList, "whitelist_domains_url", translate("Whitelisted Domain URLs"), translate("URLs to lists of domains to be whitelisted")) +d2.addremove = false +d2.optional = false + +-- Blacklisted Domains URLs +d4 = s2:option(DynamicList, "blacklist_domains_url", translate("Blacklisted Domain URLs"), translate("URLs to lists of domains to be blacklisted")) +d4.addremove = false +d4.optional = false + +-- Blacklisted Hosts URLs +d5 = s2:option(DynamicList, "blacklist_hosts_url", translate("Blacklisted Hosts URLs"), translate("URLs to lists of hosts to be blacklisted")) +d5.addremove = false +d5.optional = false + +return m diff --git a/applications/luci-app-simple-adblock/po/ja/simple-adblock.po b/applications/luci-app-simple-adblock/po/ja/simple-adblock.po new file mode 100644 index 0000000000..7926595b6e --- /dev/null +++ b/applications/luci-app-simple-adblock/po/ja/simple-adblock.po @@ -0,0 +1,93 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.12\n" +"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Language: ja\n" + +msgid "Blacklisted Domain URLs" +msgstr "ドメイン ブラックリストã®URL" + +msgid "Blacklisted Domains" +msgstr "ブラックリスト ドメイン" + +msgid "Blacklisted Hosts URLs" +msgstr "hosts ブラックリストã®URL" + +msgid "Controls system log and console output verbosity" +msgstr "システムãƒã‚°ã¨ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã®å†—長性をè¨å®šã—ã¾ã™ã€‚" + +msgid "Enable/start service" +msgstr "サービスã®æœ‰åŠ¹åŒ–/開始" + +msgid "Force Router DNS" +msgstr "ルーターDNSã®å¼·åˆ¶" + +msgid "Force Router DNS server to all local devices" +msgstr "å…¨ãƒãƒ¼ã‚«ãƒ« デãƒã‚¤ã‚¹ã«ãƒ«ãƒ¼ã‚¿ãƒ¼ DNSサーãƒãƒ¼ã®ä½¿ç”¨ã‚’強制" + +msgid "Forces Router DNS use on local devices, also known as DNS Hijacking" +msgstr "" +"ãƒãƒ¼ã‚«ãƒ« デãƒã‚¤ã‚¹ã«å¯¾ã—ã€ãƒ«ãƒ¼ã‚¿ãƒ¼ä¸Šã®DNSサーãƒãƒ¼ã®ä½¿ç”¨ã‚’強制ã—ã¾ã™ã€‚ã“ã‚Œã¯ã€" +"DNS ãƒã‚¤ã‚¸ãƒ£ãƒƒã‚¯ã¨ã—ã¦ã‚‚知られã¦ã„ã¾ã™ã€‚" + +msgid "Individual domains to be blacklisted" +msgstr "ブラックリストã«ç™»éŒ²ã™ã‚‹ã€å€‹ã€…ã®ãƒ‰ãƒ¡ã‚¤ãƒ³ã§ã™ã€‚" + +msgid "Individual domains to be whitelisted" +msgstr "ホワイトリストã«ç™»éŒ²ã™ã‚‹ã€å€‹ã€…ã®ãƒ‰ãƒ¡ã‚¤ãƒ³ã§ã™ã€‚" + +msgid "LED to indicate status" +msgstr "ステータスを表示ã™ã‚‹LED" + +msgid "Let local devices use their own DNS servers if set" +msgstr "DNSサーãƒãƒ¼ã®ä½¿ç”¨ã‚’強制ã—ãªã„" + +msgid "Output Verbosity Setting" +msgstr "出力詳細度ã®è¨å®š" + +msgid "Pick the LED not already used in" +msgstr "å³ã®è¨å®šã§æ—¢ã«ä½¿ç”¨ã•ã‚Œã¦ã„ãªã„LEDã‚’é¸æŠžã—ã¾ã™:" + +msgid "Simple AdBlock" +msgstr "Simple AdBlock" + +msgid "Simple AdBlock Settings" +msgstr "Simple AdBlock è¨å®š" + +msgid "Some output" +msgstr "軽é‡å‡ºåŠ›" + +msgid "Suppress output" +msgstr "出力ã®æŠ‘制" + +msgid "System LED Configuration" +msgstr "LED è¨å®š" + +msgid "URLs to lists of domains to be blacklisted" +msgstr "ブラックリストã«ç™»éŒ²ã™ã‚‹ãƒ‰ãƒ¡ã‚¤ãƒ³ã®ãƒªã‚¹ãƒˆã®URLã§ã™ã€‚" + +msgid "URLs to lists of domains to be whitelisted" +msgstr "ホワイトリストã«ç™»éŒ²ã™ã‚‹ãƒ‰ãƒ¡ã‚¤ãƒ³ã®ãƒªã‚¹ãƒˆã®URLã§ã™ã€‚" + +msgid "URLs to lists of hosts to be blacklisted" +msgstr "ブラックリストã«ç™»éŒ²ã™ã‚‹ãƒ‰ãƒ¡ã‚¤ãƒ³ãŒåˆ—挙ã•ã‚ŒãŸã€hostsファイルã®URLã§ã™ã€‚" + +msgid "Verbose output" +msgstr "詳細出力" + +msgid "Whitelisted Domain URLs" +msgstr "ドメイン ホワイトリストã®URL" + +msgid "Whitelisted Domains" +msgstr "ホワイトリスト ドメイン" + +msgid "none" +msgstr "ãªã—" diff --git a/applications/luci-app-simple-adblock/po/pt-br/simple-adblock.po b/applications/luci-app-simple-adblock/po/pt-br/simple-adblock.po new file mode 100644 index 0000000000..6dbbf8b844 --- /dev/null +++ b/applications/luci-app-simple-adblock/po/pt-br/simple-adblock.po @@ -0,0 +1,86 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8\n" + +msgid "Blacklisted Domain URLs" +msgstr "Endereço com lista de DomÃnio para a Lista Negra" + +msgid "Blacklisted Domains" +msgstr "DomÃnios para a Lista Negra" + +msgid "Blacklisted Hosts URLs" +msgstr "Endereços de Hosts para a Lista Negra" + +msgid "Controls system log and console output verbosity" +msgstr "" +"Controla o sistema de registro e o detalhamento das mensagens de saÃda do " +"console" + +msgid "Enable/start service" +msgstr "Habilitar/Iniciar o serviço" + +msgid "Force Router DNS" +msgstr "Forçar o DNS do Roteador" + +msgid "Force Router DNS server to all local devices" +msgstr "Forçar o servidor de DNS do Roteador para todos os dispositivos locais" + +msgid "Forces Router DNS use on local devices, also known as DNS Hijacking" +msgstr "" +"Forçar o uso do DNS do Roteador nos dispositivos locais, também conhecido " +"como redirecionamento de DNS" + +msgid "Individual domains to be blacklisted" +msgstr "DomÃnios individuais para serem incluÃdos na Lista Negra" + +msgid "Individual domains to be whitelisted" +msgstr "DomÃnios individuais para serem incluÃdos na Lista Branca" + +msgid "LED to indicate status" +msgstr "LED para indicar o estado" + +msgid "Let local devices use their own DNS servers if set" +msgstr "" +"Deixe que os dispositivos locais usem seus próprios servidores de DNS, se " +"definidos" + +msgid "Output Verbosity Setting" +msgstr "Definição do detalhamento do registro" + +msgid "Pick the LED not already used in" +msgstr "Escolha um LED não usando em" + +msgid "Simple AdBlock" +msgstr "Simple AdBlock" + +msgid "Simple AdBlock Settings" +msgstr "Configuração do Simple AdBlock" + +msgid "Some output" +msgstr "Pouco detalhado" + +msgid "Suppress output" +msgstr "Suprimir" + +msgid "System LED Configuration" +msgstr "Configuração do LED" + +msgid "URLs to lists of domains to be blacklisted" +msgstr "Endereço da lista dos domÃnios para a Lista Negra" + +msgid "URLs to lists of domains to be whitelisted" +msgstr "Endereço da lista dos domÃnios para a Lista Branca" + +msgid "URLs to lists of hosts to be blacklisted" +msgstr "Endereço da lista dos hosts para a Lista Negra" + +msgid "Verbose output" +msgstr "Detalhado" + +msgid "Whitelisted Domain URLs" +msgstr "Endereço com lista de domÃnio para a Lista Branca" + +msgid "Whitelisted Domains" +msgstr "DomÃnios para a Lista Branca" + +msgid "none" +msgstr "Nenhum" diff --git a/applications/luci-app-simple-adblock/po/pt/simple-adblock.po b/applications/luci-app-simple-adblock/po/pt/simple-adblock.po new file mode 100644 index 0000000000..6dbbf8b844 --- /dev/null +++ b/applications/luci-app-simple-adblock/po/pt/simple-adblock.po @@ -0,0 +1,86 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8\n" + +msgid "Blacklisted Domain URLs" +msgstr "Endereço com lista de DomÃnio para a Lista Negra" + +msgid "Blacklisted Domains" +msgstr "DomÃnios para a Lista Negra" + +msgid "Blacklisted Hosts URLs" +msgstr "Endereços de Hosts para a Lista Negra" + +msgid "Controls system log and console output verbosity" +msgstr "" +"Controla o sistema de registro e o detalhamento das mensagens de saÃda do " +"console" + +msgid "Enable/start service" +msgstr "Habilitar/Iniciar o serviço" + +msgid "Force Router DNS" +msgstr "Forçar o DNS do Roteador" + +msgid "Force Router DNS server to all local devices" +msgstr "Forçar o servidor de DNS do Roteador para todos os dispositivos locais" + +msgid "Forces Router DNS use on local devices, also known as DNS Hijacking" +msgstr "" +"Forçar o uso do DNS do Roteador nos dispositivos locais, também conhecido " +"como redirecionamento de DNS" + +msgid "Individual domains to be blacklisted" +msgstr "DomÃnios individuais para serem incluÃdos na Lista Negra" + +msgid "Individual domains to be whitelisted" +msgstr "DomÃnios individuais para serem incluÃdos na Lista Branca" + +msgid "LED to indicate status" +msgstr "LED para indicar o estado" + +msgid "Let local devices use their own DNS servers if set" +msgstr "" +"Deixe que os dispositivos locais usem seus próprios servidores de DNS, se " +"definidos" + +msgid "Output Verbosity Setting" +msgstr "Definição do detalhamento do registro" + +msgid "Pick the LED not already used in" +msgstr "Escolha um LED não usando em" + +msgid "Simple AdBlock" +msgstr "Simple AdBlock" + +msgid "Simple AdBlock Settings" +msgstr "Configuração do Simple AdBlock" + +msgid "Some output" +msgstr "Pouco detalhado" + +msgid "Suppress output" +msgstr "Suprimir" + +msgid "System LED Configuration" +msgstr "Configuração do LED" + +msgid "URLs to lists of domains to be blacklisted" +msgstr "Endereço da lista dos domÃnios para a Lista Negra" + +msgid "URLs to lists of domains to be whitelisted" +msgstr "Endereço da lista dos domÃnios para a Lista Branca" + +msgid "URLs to lists of hosts to be blacklisted" +msgstr "Endereço da lista dos hosts para a Lista Negra" + +msgid "Verbose output" +msgstr "Detalhado" + +msgid "Whitelisted Domain URLs" +msgstr "Endereço com lista de domÃnio para a Lista Branca" + +msgid "Whitelisted Domains" +msgstr "DomÃnios para a Lista Branca" + +msgid "none" +msgstr "Nenhum" diff --git a/applications/luci-app-simple-adblock/po/templates/simple-adblock.pot b/applications/luci-app-simple-adblock/po/templates/simple-adblock.pot new file mode 100644 index 0000000000..4cfff964a3 --- /dev/null +++ b/applications/luci-app-simple-adblock/po/templates/simple-adblock.pot @@ -0,0 +1,80 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +msgid "Blacklisted Domain URLs" +msgstr "" + +msgid "Blacklisted Domains" +msgstr "" + +msgid "Blacklisted Hosts URLs" +msgstr "" + +msgid "Controls system log and console output verbosity" +msgstr "" + +msgid "Enable/start service" +msgstr "" + +msgid "Force Router DNS" +msgstr "" + +msgid "Force Router DNS server to all local devices" +msgstr "" + +msgid "Forces Router DNS use on local devices, also known as DNS Hijacking" +msgstr "" + +msgid "Individual domains to be blacklisted" +msgstr "" + +msgid "Individual domains to be whitelisted" +msgstr "" + +msgid "LED to indicate status" +msgstr "" + +msgid "Let local devices use their own DNS servers if set" +msgstr "" + +msgid "Output Verbosity Setting" +msgstr "" + +msgid "Pick the LED not already used in" +msgstr "" + +msgid "Simple AdBlock" +msgstr "" + +msgid "Simple AdBlock Settings" +msgstr "" + +msgid "Some output" +msgstr "" + +msgid "Suppress output" +msgstr "" + +msgid "System LED Configuration" +msgstr "" + +msgid "URLs to lists of domains to be blacklisted" +msgstr "" + +msgid "URLs to lists of domains to be whitelisted" +msgstr "" + +msgid "URLs to lists of hosts to be blacklisted" +msgstr "" + +msgid "Verbose output" +msgstr "" + +msgid "Whitelisted Domain URLs" +msgstr "" + +msgid "Whitelisted Domains" +msgstr "" + +msgid "none" +msgstr "" diff --git a/applications/luci-app-simple-adblock/root/etc/uci-defaults/40_luci-simple-adblock b/applications/luci-app-simple-adblock/root/etc/uci-defaults/40_luci-simple-adblock new file mode 100644 index 0000000000..3b7137e026 --- /dev/null +++ b/applications/luci-app-simple-adblock/root/etc/uci-defaults/40_luci-simple-adblock @@ -0,0 +1,10 @@ +#!/bin/sh +uci -q batch <<-EOF >/dev/null + delete ucitrack.@simple-adblock[-1] + add ucitrack simple-adblock + set ucitrack.@simple-adblock[-1].init=simple-adblock + commit ucitrack +EOF + +rm -f /tmp/luci-indexcache +exit 0 diff --git a/applications/luci-app-squid/Makefile b/applications/luci-app-squid/Makefile new file mode 100644 index 0000000000..82802c0e5a --- /dev/null +++ b/applications/luci-app-squid/Makefile @@ -0,0 +1,18 @@ +# +# Copyright (C) 2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=Squid LuCI Interface +LUCI_DEPENDS:=+luci-mod-admin-full +squid + +PKG_MAINTAINER:=Marko Ratkaj <marko.ratkaj@sartura.hr> +PKG_LICENSE:=Apache-2.0 + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-squid/luasrc/controller/squid.lua b/applications/luci-app-squid/luasrc/controller/squid.lua new file mode 100644 index 0000000000..09946a1511 --- /dev/null +++ b/applications/luci-app-squid/luasrc/controller/squid.lua @@ -0,0 +1,21 @@ +--[[ + +LuCI Squid module + +Copyright (C) 2015, 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 + +Author: Marko Ratkaj <marko.ratkaj@sartura.hr> + +]]-- + +module("luci.controller.squid", package.seeall) + +function index() + entry({"admin", "services", "squid"}, cbi("squid"), _("Squid")) +end diff --git a/applications/luci-app-squid/luasrc/model/cbi/squid.lua b/applications/luci-app-squid/luasrc/model/cbi/squid.lua new file mode 100644 index 0000000000..0ac554a3ee --- /dev/null +++ b/applications/luci-app-squid/luasrc/model/cbi/squid.lua @@ -0,0 +1,67 @@ +--[[ + +LuCI Squid module + +Copyright (C) 2015, 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 + +Author: Marko Ratkaj <marko.ratkaj@sartura.hr> + +]]-- + +local fs = require "nixio.fs" +local sys = require "luci.sys" +require "ubus" + +m = Map("squid", translate("Squid")) +m.on_after_commit = function() luci.sys.call("/etc/init.d/squid restart") end + +s = m:section(TypedSection, "squid") +s.anonymous = true +s.addremove = false + +s:tab("general", translate("General Settings")) + +http_port = s:taboption("general", Value, "http_port", translate("Port")) +http_port.datatype = "portrange" +http_port.placeholder = "0-65535" + +visible_hostname = s:taboption("general", Value, "visible_hostname", translate("Visible Hostname")) +visible_hostname.datatype="string" +visible_hostname.placeholder = "OpenWrt" + +coredump_dir = s:taboption("general", Value, "coredump_dir", translate("Coredump files directory")) +coredump_dir.datatype="string" +coredump_dir.placeholder = "/tmp/squid" + +s:tab("advanced", translate("Advanced Settings")) + +squid_config_file = s:taboption("advanced", TextValue, "_data", "") +squid_config_file.wrap = "off" +squid_config_file.rows = 25 +squid_config_file.rmempty = false + +function squid_config_file.cfgvalue() + local uci = require "luci.model.uci".cursor_state() + local file = uci:get("squid", "squid", "config_file") + if file then + return fs.readfile(file) or "" + else + return "" + end +end + +function squid_config_file.write(self, section, value) + if value then + local uci = require "luci.model.uci".cursor_state() + local file = uci:get("squid", "squid", "config_file") + fs.writefile(file, value:gsub("\r\n", "\n")) + end +end + +return m diff --git a/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua b/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua index 36c5554d35..1bc0714de8 100644 --- a/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua +++ b/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua @@ -24,6 +24,7 @@ function index() s_network = _("Network plugins"), conntrack = _("Conntrack"), + contextswitch = _("Context Switches"), cpu = _("Processor"), cpufreq = _("CPU Frequency"), csv = _("CSV Output"), @@ -58,7 +59,7 @@ function index() -- our collectd menu local collectd_menu = { output = { "csv", "network", "rrdtool", "unixsock" }, - general = { "cpu", "cpufreq", "df", "disk", "email", + general = { "contextswitch", "cpu", "cpufreq", "df", "disk", "email", "entropy", "exec", "irq", "load", "memory", "nut", "processes", "sensors", "thermal", "uptime" }, network = { "conntrack", "dns", "interface", "iptables", diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/contextswitch.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/contextswitch.lua new file mode 100644 index 0000000000..7ae6b24ba1 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/contextswitch.lua @@ -0,0 +1,14 @@ +-- Licensed to the public under the Apache License 2.0. + +m = Map("luci_statistics", + translate("CPU Context Switches Plugin Configuration"), + translate("This plugin collects statistics about the processor context switches.")) + +-- collectd_contextswitch config section +s = m:section( NamedSection, "collectd_contextswitch", "luci_statistics" ) + +-- collectd_contextswitch.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +return m diff --git a/applications/luci-app-statistics/luasrc/statistics/datatree.lua b/applications/luci-app-statistics/luasrc/statistics/datatree.lua index 806b054cb6..5176a19a22 100644 --- a/applications/luci-app-statistics/luasrc/statistics/datatree.lua +++ b/applications/luci-app-statistics/luasrc/statistics/datatree.lua @@ -13,9 +13,17 @@ local sections = uci:get_all("luci_statistics") Instance = util.class() function Instance.__init__( self, host ) - self._host = host or sections.collectd.Hostname or sys.hostname() - self._libdir = sections.collectd.PluginDir or "/usr/lib/collectd" - self._rrddir = sections.collectd_rrdtool.DataDir or "/tmp/rrd" + self._host = host or sys.hostname() + self._libdir = "/usr/lib/collectd" + self._rrddir = "/tmp/rrd" + + if sections and sections.collectd then + self._host = host or sections.collectd.Hostname or sys.hostname() + self._libdir = sections.collectd.PluginDir or "/usr/lib/collectd" + end + if sections and sections.collectd_rrdtool then + self._rrddir = sections.collectd_rrdtool.DataDir or "/tmp/rrd" + end self._libdir = self._libdir:gsub("/$","") self._rrddir = self._rrddir:gsub("/$","") diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/contextswitch.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/contextswitch.lua new file mode 100644 index 0000000000..6826e12adb --- /dev/null +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/contextswitch.lua @@ -0,0 +1,23 @@ +-- Licensed to the public under the Apache License 2.0. + +module("luci.statistics.rrdtool.definitions.contextswitch",package.seeall) + +function rrdargs( graph, plugin, plugin_instance, dtype ) + + return { + title = "%H: Context switches", + alt_autoscale = true, + vlabel = "Switches/s", + number_format = "%5.0lf", + data = { + types = { "contextswitch" }, + sources = { + contextswitch = { "value" } + }, + options = { + contextswitch = { color = "0000ff", title = "Context switches", noarea=true, overlay=true } + } + } + } +end + 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 d48441abd2..62d0545973 100644 --- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/processes.lua +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/processes.lua @@ -5,28 +5,30 @@ module("luci.statistics.rrdtool.definitions.processes", package.seeall) function rrdargs( graph, plugin, plugin_instance, dtype ) + if plugin_instance == "" then return { - { title = "%H: Processes", vlabel = "Processes/s", data = { instances = { ps_state = { - "sleeping", "running", "paging", "blocked", "stopped", "zombies" + "sleeping", "running", "paging", + "blocked", "stopped", "zombies" } }, options = { - ps_state_sleeping = { color = "0000ff" }, - ps_state_running = { color = "008000" }, - ps_state_paging = { color = "ffff00" }, - ps_state_blocked = { color = "ff5000" }, - ps_state_stopped = { color = "555555" }, - ps_state_zombies = { color = "ff0000" } + ps_state_sleeping = { color = "0000ff", title = "Sleeping" }, + ps_state_running = { color = "008000", title = "Running" }, + ps_state_paging = { color = "ffff00", title = "Paging" }, + ps_state_blocked = { color = "ff5000", title = "Blocked" }, + ps_state_stopped = { color = "555555", title = "Stopped" }, + ps_state_zombies = { color = "ff0000", title = "Zombies" } } } - }, - + } + else + return { { title = "%H: CPU time used by %pi", vlabel = "Jiffies", @@ -38,11 +40,13 @@ function rrdargs( graph, plugin, plugin_instance, dtype ) options = { ps_cputime__user = { color = "0000ff", + title = "User", overlay = true }, ps_cputime__syst = { color = "ff0000", + title = "System", overlay = true } } @@ -59,15 +63,15 @@ function rrdargs( graph, plugin, plugin_instance, dtype ) }, options = { - ps_count__threads = { color = "00ff00" }, - ps_count__processes = { color = "0000bb" } + ps_count__threads = { color = "00ff00", title = "Threads" }, + ps_count__processes = { color = "0000bb", title = "Processes" } } } }, { title = "%H: Page faults in %pi", - vlabel = "Pagefaults", + vlabel = "Page faults", detail = true, data = { sources = { @@ -75,14 +79,14 @@ function rrdargs( graph, plugin, plugin_instance, dtype ) }, options = { - ps_pagefaults__minflt = { color = "ff0000" }, - ps_pagefaults__majflt = { color = "ff5500" } + ps_pagefaults__minflt = { color = "0000ff", title = "Minor" }, + ps_pagefaults__majflt = { color = "ff0000", title = "Major" } } } }, { - title = "%H: Virtual memory size of %pi", + title = "%H: Resident segment size (RSS) of %pi", vlabel = "Bytes", detail = true, number_format = "%5.1lf%sB", @@ -90,9 +94,24 @@ function rrdargs( graph, plugin, plugin_instance, dtype ) types = { "ps_rss" }, options = { - ps_rss = { color = "0000ff" } + ps_rss = { color = "0000ff", title = "Resident segment" } + } + } + }, + + { + title = "%H: Virtual memory size (VSZ) of %pi", + vlabel = "Bytes", + detail = true, + number_format = "%5.1lf%sB", + data = { + types = { "ps_vm" }, + + options = { + ps_vm = { color = "0000ff", title = "Virtual memory" } } } } } + end end diff --git a/applications/luci-app-statistics/po/ca/statistics.po b/applications/luci-app-statistics/po/ca/statistics.po index b6a98a0999..33d5051f44 100644 --- a/applications/luci-app-statistics/po/ca/statistics.po +++ b/applications/luci-app-statistics/po/ca/statistics.po @@ -39,6 +39,9 @@ msgstr "Directori base" msgid "Basic monitoring" msgstr "Monitoreig bà sic" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -90,6 +93,9 @@ msgstr "Conntrack" msgid "Conntrack Plugin Configuration" msgstr "Configuració del connector Conntrack" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "Configuració del connector DF" @@ -696,6 +702,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/cs/statistics.po b/applications/luci-app-statistics/po/cs/statistics.po index b4a936a7c2..849831607c 100644 --- a/applications/luci-app-statistics/po/cs/statistics.po +++ b/applications/luci-app-statistics/po/cs/statistics.po @@ -35,6 +35,9 @@ msgstr "Základnà adresář" msgid "Basic monitoring" msgstr "Základnà sledovánÃ" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -86,6 +89,9 @@ msgstr "Conntrack" msgid "Conntrack Plugin Configuration" msgstr "Nastavenà pluginu Conntrack" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "Nastavenà pluginu DF" @@ -682,6 +688,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/de/statistics.po b/applications/luci-app-statistics/po/de/statistics.po index ef29176f62..196433e503 100644 --- a/applications/luci-app-statistics/po/de/statistics.po +++ b/applications/luci-app-statistics/po/de/statistics.po @@ -37,6 +37,9 @@ msgstr "Basisverzeichnis" msgid "Basic monitoring" msgstr "Schnittstellen einfach überwachen" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -88,6 +91,9 @@ msgstr "Conntrack" msgid "Conntrack Plugin Configuration" msgstr "Conntrack Plugin Einstellungen" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "DF Plugin Konfiguration" @@ -701,6 +707,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/el/statistics.po b/applications/luci-app-statistics/po/el/statistics.po index 9b530c0131..da54cdac6c 100644 --- a/applications/luci-app-statistics/po/el/statistics.po +++ b/applications/luci-app-statistics/po/el/statistics.po @@ -38,6 +38,9 @@ msgstr "Κατάλογος βάσης" msgid "Basic monitoring" msgstr "" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -89,6 +92,9 @@ msgstr "Conntrack" msgid "Conntrack Plugin Configuration" msgstr "" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "" @@ -642,6 +648,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/en/statistics.po b/applications/luci-app-statistics/po/en/statistics.po index 3e9c829150..d9ab59ce0a 100644 --- a/applications/luci-app-statistics/po/en/statistics.po +++ b/applications/luci-app-statistics/po/en/statistics.po @@ -37,6 +37,9 @@ msgstr "Base Directory" msgid "Basic monitoring" msgstr "Basic monitoring" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -88,6 +91,9 @@ msgstr "" msgid "Conntrack Plugin Configuration" msgstr "" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "DF Plugin Configuration" @@ -684,6 +690,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/es/statistics.po b/applications/luci-app-statistics/po/es/statistics.po index 2db483cfac..18c25819a6 100644 --- a/applications/luci-app-statistics/po/es/statistics.po +++ b/applications/luci-app-statistics/po/es/statistics.po @@ -37,6 +37,9 @@ msgstr "Directorio Base" msgid "Basic monitoring" msgstr "Monitorización básica" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -88,6 +91,9 @@ msgstr "Seguimiento" msgid "Conntrack Plugin Configuration" msgstr "Configuración del seguimiento" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "Configuración del plugin DF" @@ -697,6 +703,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/fr/statistics.po b/applications/luci-app-statistics/po/fr/statistics.po index d4190d34aa..b657bd38f0 100644 --- a/applications/luci-app-statistics/po/fr/statistics.po +++ b/applications/luci-app-statistics/po/fr/statistics.po @@ -37,6 +37,9 @@ msgstr "Répertoire de base" msgid "Basic monitoring" msgstr "Surveillance de base" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -88,6 +91,9 @@ msgstr "" msgid "Conntrack Plugin Configuration" msgstr "" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "Configuration du greffon DF" @@ -690,6 +696,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/he/statistics.po b/applications/luci-app-statistics/po/he/statistics.po index e27d219b0c..6f40a47a24 100644 --- a/applications/luci-app-statistics/po/he/statistics.po +++ b/applications/luci-app-statistics/po/he/statistics.po @@ -37,6 +37,9 @@ msgstr "" msgid "Basic monitoring" msgstr "" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -85,6 +88,9 @@ msgstr "" msgid "Conntrack Plugin Configuration" msgstr "" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "" @@ -637,6 +643,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/hu/statistics.po b/applications/luci-app-statistics/po/hu/statistics.po index 4767442111..979c72f0f8 100644 --- a/applications/luci-app-statistics/po/hu/statistics.po +++ b/applications/luci-app-statistics/po/hu/statistics.po @@ -35,6 +35,9 @@ msgstr "Alapkönyvtár" msgid "Basic monitoring" msgstr "Ãltalános figyelés" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -86,6 +89,9 @@ msgstr "Conntrack" msgid "Conntrack Plugin Configuration" msgstr "Conntrack bÅ‘vÃtmény beállÃtása" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "DF bÅ‘vÃtmény beállÃtása" @@ -684,6 +690,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/it/statistics.po b/applications/luci-app-statistics/po/it/statistics.po index 3c50ac3d3a..b0ae3d6b76 100644 --- a/applications/luci-app-statistics/po/it/statistics.po +++ b/applications/luci-app-statistics/po/it/statistics.po @@ -37,6 +37,9 @@ msgstr "" msgid "Basic monitoring" msgstr "" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -88,6 +91,9 @@ msgstr "" msgid "Conntrack Plugin Configuration" msgstr "" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "" @@ -647,6 +653,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/ja/statistics.po b/applications/luci-app-statistics/po/ja/statistics.po index 2a3ffe54cd..690d9207d7 100644 --- a/applications/luci-app-statistics/po/ja/statistics.po +++ b/applications/luci-app-statistics/po/ja/statistics.po @@ -37,6 +37,9 @@ msgstr "ベース・ディレクトリ" msgid "Basic monitoring" msgstr "基本モニタリング" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "CPU 周波数" @@ -87,6 +90,9 @@ msgstr "Conntrack" msgid "Conntrack Plugin Configuration" msgstr "Conntrack プラグインè¨å®š" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "DF プラグインè¨å®š" @@ -699,6 +705,9 @@ msgstr "サーマル" msgid "Thermal Plugin Configuration" msgstr "サーマル プラグインè¨å®š" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" "ã“ã®ãƒ—ラグインã¯ã€ãƒ—ãƒã‚»ãƒƒã‚µãƒ¼å‘¨æ³¢æ•°ã‚¹ã‚±ãƒ¼ãƒªãƒ³ã‚°ã«ã¤ã„ã¦ã®çµ±è¨ˆã‚’åŽé›†ã—ã¾ã™ã€‚" diff --git a/applications/luci-app-statistics/po/ms/statistics.po b/applications/luci-app-statistics/po/ms/statistics.po index 2a047767ec..582314c545 100644 --- a/applications/luci-app-statistics/po/ms/statistics.po +++ b/applications/luci-app-statistics/po/ms/statistics.po @@ -34,6 +34,9 @@ msgstr "" msgid "Basic monitoring" msgstr "" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -82,6 +85,9 @@ msgstr "" msgid "Conntrack Plugin Configuration" msgstr "" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "" @@ -634,6 +640,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/no/statistics.po b/applications/luci-app-statistics/po/no/statistics.po index 3e3a8e1259..d37bc488f5 100644 --- a/applications/luci-app-statistics/po/no/statistics.po +++ b/applications/luci-app-statistics/po/no/statistics.po @@ -28,6 +28,9 @@ msgstr "Hoved Katalog" msgid "Basic monitoring" msgstr "Enkel overvÃ¥king" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -79,6 +82,9 @@ msgstr "" msgid "Conntrack Plugin Configuration" msgstr "" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "DF plugin konfigurasjon" @@ -672,6 +678,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/pl/statistics.po b/applications/luci-app-statistics/po/pl/statistics.po index 474b673ef1..bf2ec93516 100644 --- a/applications/luci-app-statistics/po/pl/statistics.po +++ b/applications/luci-app-statistics/po/pl/statistics.po @@ -38,6 +38,9 @@ msgstr "Główny katalog" msgid "Basic monitoring" msgstr "Podstawowy monitoring" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -89,6 +92,9 @@ msgstr "Conntrack" msgid "Conntrack Plugin Configuration" msgstr "Konfiguracja wtyczki Conntrack" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "Konfiguracja wtyczki DF" @@ -692,6 +698,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/pt-br/statistics.po b/applications/luci-app-statistics/po/pt-br/statistics.po index 44f53f0465..74c4a2603f 100644 --- a/applications/luci-app-statistics/po/pt-br/statistics.po +++ b/applications/luci-app-statistics/po/pt-br/statistics.po @@ -1,17 +1,17 @@ msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-06-10 03:41+0200\n" -"PO-Revision-Date: 2014-03-15 22:12+0200\n" -"Last-Translator: Luiz Angelo <luizluca@gmail.com>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"PO-Revision-Date: 2017-02-22 18:27-0300\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Pootle 2.0.6\n" +"X-Generator: Poedit 1.8.11\n" +"Language-Team: \n" msgid "Action (target)" msgstr "Ação (destino)" @@ -29,7 +29,7 @@ msgid "Add notification command" msgstr "Adicionar o comando de notificação" msgid "Aggregate number of connected users" -msgstr "" +msgstr "Numero agregado de usuários conectados" msgid "Base Directory" msgstr "Diretório Base" @@ -37,11 +37,14 @@ msgstr "Diretório Base" msgid "Basic monitoring" msgstr "Monitoramento básico" -msgid "CPU Frequency" +msgid "CPU Context Switches Plugin Configuration" msgstr "" +msgid "CPU Frequency" +msgstr "Frequência da CPU" + msgid "CPU Frequency Plugin Configuration" -msgstr "" +msgstr "Configuração do Plugin da Frequência da CPU" msgid "CPU Plugin Configuration" msgstr "Configuração do plugin CPU" @@ -88,6 +91,9 @@ msgstr "Conntrack" msgid "Conntrack Plugin Configuration" msgstr "Configuração do Plugin do Conntrack" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "Configuração do plugin DF" @@ -134,16 +140,16 @@ msgid "Email" msgstr "Email" msgid "Empty value = monitor all" -msgstr "" +msgstr "Valor vazio = monitore todos" msgid "Enable this plugin" msgstr "Habilitar este plugin" msgid "Entropy" -msgstr "" +msgstr "Entropia" msgid "Entropy Plugin Configuration" -msgstr "" +msgstr "Configuração do Plugin de Entropia" msgid "Exec" msgstr "Exec" @@ -165,13 +171,13 @@ msgstr "" "Encaminhamento entre o endereço de escuta e os endereços dos servidores" msgid "Gather compression statistics" -msgstr "" +msgstr "Obter estatÃsticas sobre a compressão" msgid "General plugins" -msgstr "" +msgstr "Plugins Gerais" msgid "Generate a separate graph for each logged user" -msgstr "" +msgstr "Gerar um gráfico separado para cada usuário conectado" msgid "Graphs" msgstr "Gráficos" @@ -204,6 +210,7 @@ msgstr "" msgid "Hold Ctrl to select multiple items or to deselect entries." msgstr "" +"Segure o Ctrl para selecionar múltiplos itens ou para retirar entradas. " msgid "Host" msgstr "Equipamento" @@ -259,6 +266,8 @@ msgid "" "Max values for a period can be used instead of averages when not using 'only " "average RRAs'" msgstr "" +"Valores máximos para um perÃodo podem ser usados em vez de médias quando não " +"estiver usando 'somente RRAs de médias'" msgid "Maximum allowed connections" msgstr "Máximo de conexões permitidas" @@ -276,10 +285,10 @@ msgid "Monitor all local listen ports" msgstr "Monitorar todas as portas locais" msgid "Monitor all sensors" -msgstr "" +msgstr "Monitorar todas os sensores" msgid "Monitor device(s) / thermal zone(s)" -msgstr "" +msgstr "Dispositivo(s) de monitoramento / zona(s) térmica(s)" msgid "Monitor devices" msgstr "Monitorar dispositivos" @@ -336,6 +345,9 @@ msgid "" "Note: as pages are rendered by user 'nobody', the *.rrd files, the storage " "directory and all its parent directories need to be world readable." msgstr "" +"Nota: como as páginas são renderizadas pelo usuário 'nobody', os arquivos * ." +"rrd, o diretório de armazenamento e todos os seus diretórios superiores " +"precisam ser legÃveis a todos." msgid "Number of threads for data collection" msgstr "Número de threads para o coletor de dados" @@ -350,13 +362,13 @@ msgid "Only create average RRAs" msgstr "Somente criar RRAs de média" msgid "OpenVPN" -msgstr "" +msgstr "OpenVPN" msgid "OpenVPN Plugin Configuration" -msgstr "" +msgstr "Configuração do Plugin do OpenVPN" msgid "OpenVPN status files" -msgstr "" +msgstr "Arquivos de estado do OpenVPN" msgid "Options" msgstr "Opções" @@ -416,13 +428,13 @@ msgid "Seconds" msgstr "Segundos" msgid "Sensor list" -msgstr "" +msgstr "Lista de sensores" msgid "Sensors" -msgstr "" +msgstr "Sensores" msgid "Sensors Plugin Configuration" -msgstr "" +msgstr "Configuração do Plugin de Sensores" msgid "Server host" msgstr "Endereço do servidor" @@ -431,13 +443,13 @@ msgid "Server port" msgstr "Porta do servidor" msgid "Setup" -msgstr "" +msgstr "Configuração" msgid "Shaping class monitoring" msgstr "Monitoramento das Classes de Shaping" msgid "Show max values instead of averages" -msgstr "" +msgstr "Mostrar valores máximos em vez de médias" msgid "Socket file" msgstr "Arquivo do socket" @@ -461,10 +473,10 @@ msgid "Specifies what information to collect about the global topology." msgstr "Especifica quais informações serão coletadas sobre a topologia global." msgid "Splash Leases" -msgstr "" +msgstr "Concessões do Splash" msgid "Splash Leases Plugin Configuration" -msgstr "" +msgstr "Configuração do Plugin das Concessões do Splash" msgid "Statistics" msgstr "EstatÃstica" @@ -513,6 +525,7 @@ msgid "" "The OpenVPN plugin gathers information about the current vpn connection " "status." msgstr "" +"O plugin OpenVPN reúne informações sobre o status atual da conexão VPN." msgid "" "The conntrack plugin collects statistics about the number of tracked " @@ -565,7 +578,7 @@ msgstr "" "Plugin::Collectd mas pode ser utilizado de outras maneiras também." msgid "The entropy plugin collects statistics about the available entropy." -msgstr "" +msgstr "O plugin de entropia coleta estatÃsticas sobre a entropia disponÃvel." msgid "" "The exec plugin starts external commands to read values from or to notify " @@ -656,17 +669,24 @@ msgid "" "The sensors plugin uses the Linux Sensors framework to gather environmental " "statistics." msgstr "" +"O plugin de sensores usa a estrutura de sensores do Linux para coletar " +"estatÃsticas ambientais." msgid "" "The splash leases plugin uses libuci to collect statistics about splash " "leases." msgstr "" +"O plug-in de concessões splash usa o libuci para coletar estatÃsticas sobre " +"concessões de splash." msgid "" "The statistics package uses <a href=\"https://collectd.org/\">Collectd</a> " "to gather data and <a href=\"http://oss.oetiker.ch/rrdtool/\">RRDtool</a> to " "render diagram images." msgstr "" +"O pacote de estatÃsticas usa <a href=\"https://collectd.org/\"> Collectd </" +"a> para coletar dados e <a href=\"http://oss.oetiker.ch/rrdtool/\">RRDtool</" +"a> para desenhar os gráficos." msgid "" "The tcpconns plugin collects informations about open tcp connections on " @@ -680,6 +700,9 @@ msgid "" "read from /sys/class/thermal/*/temp ( '*' denotes the thermal device to be " "read, e.g. thermal_zone1 )" msgstr "" +"O plugin térmico monitorará a temperatura do sistema. Os dados são " +"tipicamente lidos de /sys/class/thermal/*/temp ('*' indica o dispositivo " +"térmico a ser lido, ex:, thermal_zone1)" msgid "" "The unixsock plugin creates a unix socket which can be used to read " @@ -690,15 +713,22 @@ msgstr "" msgid "The uptime plugin collects statistics about the uptime of the system." msgstr "" +"O plugin de tempo de atividade coleta estatÃsticas sobre o tempo de " +"atividade do sistema." msgid "Thermal" -msgstr "" +msgstr "Térmico" msgid "Thermal Plugin Configuration" +msgstr "Configuração do Plugin Térmico" + +msgid "This plugin collects statistics about the processor context switches." msgstr "" msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" +"Este plugin coleta as estatÃsticas sobre o escalonamento da frequência do " +"processador." msgid "" "This section defines on which interfaces collectd will wait for incoming " @@ -732,13 +762,13 @@ msgid "Unixsock Plugin Configuration" msgstr "Configuração do plugin Unixsock" msgid "Uptime" -msgstr "" +msgstr "Tempo de atividade" msgid "Uptime Plugin Configuration" -msgstr "" +msgstr "Configuração do Plugin de Tempo de Atividade" msgid "Use improved naming schema" -msgstr "" +msgstr "Use um esquema de nomeação melhorado" msgid "Used PID file" msgstr "Arquivo PID usado" @@ -758,6 +788,8 @@ msgstr "Configuração do Plugin iwinfo da Rede Sem Fio (Wireless)" msgid "" "You can install additional collectd-mod-* plugins to enable more statistics." msgstr "" +"Você pode instalar plugins adicionais (collectd-mod-*) para habilitar mais " +"estatÃsticas." msgid "e.g. br-ff" msgstr "ex: br-ff" diff --git a/applications/luci-app-statistics/po/pt/statistics.po b/applications/luci-app-statistics/po/pt/statistics.po index 1913d77496..79c7bd03e6 100644 --- a/applications/luci-app-statistics/po/pt/statistics.po +++ b/applications/luci-app-statistics/po/pt/statistics.po @@ -37,6 +37,9 @@ msgstr "Diretório Base" msgid "Basic monitoring" msgstr "Monitoramento básico" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -88,6 +91,9 @@ msgstr "" msgid "Conntrack Plugin Configuration" msgstr "" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "Configuração do plugin DF" @@ -690,6 +696,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/ro/statistics.po b/applications/luci-app-statistics/po/ro/statistics.po index 008cc8880e..c5dfcfe558 100644 --- a/applications/luci-app-statistics/po/ro/statistics.po +++ b/applications/luci-app-statistics/po/ro/statistics.po @@ -38,6 +38,9 @@ msgstr "Directorul de baza" msgid "Basic monitoring" msgstr "" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -89,6 +92,9 @@ msgstr "" msgid "Conntrack Plugin Configuration" msgstr "" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "" @@ -643,6 +649,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/ru/statistics.po b/applications/luci-app-statistics/po/ru/statistics.po index cb14847a40..3a418dec75 100644 --- a/applications/luci-app-statistics/po/ru/statistics.po +++ b/applications/luci-app-statistics/po/ru/statistics.po @@ -39,6 +39,9 @@ msgstr "Ð‘Ð°Ð·Ð¾Ð²Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ" msgid "Basic monitoring" msgstr "Ð‘Ð°Ð·Ð¾Ð²Ð°Ñ ÑтатиÑтика" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -89,6 +92,9 @@ msgstr "ОтÑлеживание Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ (Conntrack)" msgid "Conntrack Plugin Configuration" msgstr "ÐаÑтройка плагина Conntrack" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ DF" @@ -688,6 +694,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/sk/statistics.po b/applications/luci-app-statistics/po/sk/statistics.po index 1d1f013caf..6dba7d09b8 100644 --- a/applications/luci-app-statistics/po/sk/statistics.po +++ b/applications/luci-app-statistics/po/sk/statistics.po @@ -32,6 +32,9 @@ msgstr "" msgid "Basic monitoring" msgstr "" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -80,6 +83,9 @@ msgstr "" msgid "Conntrack Plugin Configuration" msgstr "" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "" @@ -632,6 +638,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/sv/statistics.po b/applications/luci-app-statistics/po/sv/statistics.po index b6d562be9c..bef0f2d6c9 100644 --- a/applications/luci-app-statistics/po/sv/statistics.po +++ b/applications/luci-app-statistics/po/sv/statistics.po @@ -33,6 +33,9 @@ msgstr "Basmapp" msgid "Basic monitoring" msgstr "Standardövervakning" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -84,6 +87,9 @@ msgstr "" msgid "Conntrack Plugin Configuration" msgstr "" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "Konfiguration av insticksprogrammet DF" @@ -637,6 +643,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/templates/statistics.pot b/applications/luci-app-statistics/po/templates/statistics.pot index 1b83826ad4..c57a85b76a 100644 --- a/applications/luci-app-statistics/po/templates/statistics.pot +++ b/applications/luci-app-statistics/po/templates/statistics.pot @@ -25,6 +25,9 @@ msgstr "" msgid "Basic monitoring" msgstr "" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -73,6 +76,9 @@ msgstr "" msgid "Conntrack Plugin Configuration" msgstr "" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "" @@ -625,6 +631,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/tr/statistics.po b/applications/luci-app-statistics/po/tr/statistics.po index a30b0b966c..6d7056f3b7 100644 --- a/applications/luci-app-statistics/po/tr/statistics.po +++ b/applications/luci-app-statistics/po/tr/statistics.po @@ -33,6 +33,9 @@ msgstr "" msgid "Basic monitoring" msgstr "" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -81,6 +84,9 @@ msgstr "" msgid "Conntrack Plugin Configuration" msgstr "" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "" @@ -633,6 +639,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/uk/statistics.po b/applications/luci-app-statistics/po/uk/statistics.po index 13e52d9654..de17a3caf8 100644 --- a/applications/luci-app-statistics/po/uk/statistics.po +++ b/applications/luci-app-statistics/po/uk/statistics.po @@ -38,6 +38,9 @@ msgstr "" msgid "Basic monitoring" msgstr "" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -86,6 +89,9 @@ msgstr "" msgid "Conntrack Plugin Configuration" msgstr "" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "" @@ -638,6 +644,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/vi/statistics.po b/applications/luci-app-statistics/po/vi/statistics.po index a5fd33d05b..bdb7f1a3a1 100644 --- a/applications/luci-app-statistics/po/vi/statistics.po +++ b/applications/luci-app-statistics/po/vi/statistics.po @@ -38,6 +38,9 @@ msgstr "ThÆ° mục CÆ¡ sở" msgid "Basic monitoring" msgstr "Monitoring căn bản" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -89,6 +92,9 @@ msgstr "" msgid "Conntrack Plugin Configuration" msgstr "" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "Cấu hình DF plugin" @@ -690,6 +696,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/po/zh-cn/rrdtool.po b/applications/luci-app-statistics/po/zh-cn/rrdtool.po index 4e6ee4b4da..d55398ace7 100644 --- a/applications/luci-app-statistics/po/zh-cn/rrdtool.po +++ b/applications/luci-app-statistics/po/zh-cn/rrdtool.po @@ -2,16 +2,17 @@ # generated from ./applications/luci-statistics/luasrc/i18n/rrdtool.en.lua msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2014-07-23 02:08+0200\n" -"Last-Translator: Tanyingyu <Tanyingyu@163.com>\n" +"Project-Id-Version: \n" +"PO-Revision-Date: 2017-04-15 21:41-0600\n" +"Last-Translator: liushuyu <liushuyu011@gmail.com>\n" "Language-Team: none\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Pootle 2.0.6\n" +"X-Generator: Poedit 2.0.1\n" +"POT-Creation-Date: \n" #. %H: Wireless - Signal Noise Ratio #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:1 @@ -36,12 +37,12 @@ msgstr "ä¿¡å·å¼ºåº¦" #. %H: Wireless - Signal Quality #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:5 msgid "stat_dg_title_wireless__signal_quality" -msgstr "æ— çº¿ä¿¡å·è´¨é‡" +msgstr "%H: æ— çº¿ - ä¿¡å·è´¨é‡" #. n #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:6 msgid "stat_dg_label_wireless__signal_quality" -msgstr "æ— çº¿ä¿¡å·è´¨é‡" +msgstr "n" #. Signal Quality #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:7 @@ -51,7 +52,7 @@ msgstr "ä¿¡å·è´¨é‡" #. %H: ICMP Roundtrip Times #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:8 msgid "stat_dg_title_ping" -msgstr "ping" +msgstr "%H: ICMP 往返时间" #. ms #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:9 @@ -61,299 +62,299 @@ msgstr "å“应" #. %di #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:10 msgid "stat_ds_ping" -msgstr "ping" +msgstr "%di" #. %H: Firewall - Processed Packets #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:11 msgid "stat_dg_title_iptables__ipt_packets" -msgstr "iptables包" +msgstr "%H: 防ç«å¢™ - 已处ç†çš„æ•°æ®åŒ…" #. Packets/s #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:12 msgid "stat_dg_label_iptables__ipt_packets" -msgstr "" +msgstr "Packets/s" #. Chain \"%di\" #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:13 msgid "stat_ds_ipt_packets" -msgstr "" +msgstr "Chain \\\"%di\\\"" #. %H: Netlink - Transfer on %pi #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:14 msgid "stat_dg_title_netlink__if_octets" -msgstr "" +msgstr "%H: Netlink - %pi 上的数æ®ä¼ 输" #. Bytes/s #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:15 msgid "stat_dg_label_netlink__if_octets" -msgstr "" +msgstr "å—节/秒" #. Bytes (%ds) #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:16 msgid "stat_ds_if_octets" -msgstr "" +msgstr "å—节 (%ds)" #. %H: Netlink - Packets on %pi #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:17 msgid "stat_dg_title_netlink__if_packets" -msgstr "" +msgstr "%H: Netlink - %pi çš„æ•°æ®åŒ…" #. Packets/s #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:18 msgid "stat_dg_label_netlink__if_packets" -msgstr "" +msgstr "Packets/s" #. Processed (%ds) #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:19 msgid "stat_ds_if_packets" -msgstr "" +msgstr "å·²å¤„ç† (%ds)" #. Dropped (%ds) #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:20 msgid "stat_ds_if_dropped" -msgstr "" +msgstr "丢弃 (%ds)" #. Errors (%ds) #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:21 msgid "stat_ds_if_errors" -msgstr "" +msgstr "错误 (%ds)" #. %H: Netlink - Multicast on %pi #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:22 msgid "stat_dg_title_netlink__if_multicast" -msgstr "" +msgstr "%H: Netlink - %pi 上的多æ’" #. Packets/s #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:23 msgid "stat_dg_label_netlink__if_multicast" -msgstr "" +msgstr "Packets/s" #. Packets #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:24 msgid "stat_ds_if_multicast" -msgstr "" +msgstr "æ•°æ®åŒ…" #. %H: Netlink - Collisions on %pi #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:25 msgid "stat_dg_title_netlink__if_collisions" -msgstr "" +msgstr "%H: Netlink - %pi 上的 Collisions" #. Collisions/s #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:26 msgid "stat_dg_label_netlink__if_collisions" -msgstr "" +msgstr "Collisions/s" #. Collisions #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:27 msgid "stat_ds_if_collisions" -msgstr "" +msgstr "Collisions" #. %H: Netlink - Errors on %pi #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:28 msgid "stat_dg_title_netlink__if_tx_errors" -msgstr "" +msgstr "%H: Netlink - %pi 上å‘生的错误" #. Errors/s #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:29 msgid "stat_dg_label_netlink__if_tx_errors" -msgstr "" +msgstr "错误/秒" #. %di #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:30 msgid "stat_ds_if_tx_errors" -msgstr "" +msgstr "%di" #. %di #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:31 msgid "stat_ds_if_rx_errors" -msgstr "" +msgstr "%di" #. %H: Processes #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:32 msgid "stat_dg_title_processes" -msgstr "" +msgstr "%H: 进程" #. Processes/s #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:33 msgid "stat_dg_label_processes" -msgstr "" +msgstr "进程/秒" #. %di #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:34 msgid "stat_ds_ps_state" -msgstr "" +msgstr "%di" #. %H: Process %pi - used cpu time #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:35 msgid "stat_dg_title_processes__ps_cputime" -msgstr "" +msgstr "%H: 进程 %s - å 用的 CPU 时间" #. Jiffies #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:36 msgid "stat_dg_label_processes__ps_cputime" -msgstr "" +msgstr "Jiffies" #. system #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:37 msgid "stat_ds_ps_cputime__syst" -msgstr "" +msgstr "系统" #. user #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:38 msgid "stat_ds_ps_cputime__user" -msgstr "" +msgstr "用户" #. %H: Process %pi - threads and processes #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:39 msgid "stat_dg_title_processes__ps_count" -msgstr "" +msgstr "%H: 进程 %pi - 进程与线程" #. Count #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:40 msgid "stat_dg_label_processes__ps_count" -msgstr "" +msgstr "个" #. %ds #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:41 msgid "stat_ds_ps_count" -msgstr "" +msgstr "%ds" #. %H: Process %pi - page faults #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:42 msgid "stat_dg_title_processes__ps_pagefaults" -msgstr "" +msgstr "%H: 进程 %pi - 分页错误" #. Pagefaults #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:43 msgid "stat_dg_label_processes__ps_pagefaults" -msgstr "" +msgstr "分页错误" #. page faults #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:44 msgid "stat_ds_ps_pagefaults" -msgstr "" +msgstr "分页错误" #. %H: Process %pi - virtual memory size #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:45 msgid "stat_dg_title_processes__ps_rss" -msgstr "" +msgstr "%H: 进程 %pi - 虚拟内å˜å¤§å°" #. Bytes #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:46 msgid "stat_dg_label_processes__ps_rss" -msgstr "" +msgstr "å—节" #. virtual memory #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:47 msgid "stat_ds_ps_rss" -msgstr "" +msgstr "虚拟内å˜" #. %H: Usage on Processor #%pi #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:48 msgid "stat_dg_title_cpu" -msgstr "" +msgstr "%H: 对处ç†å™¨ #%pi çš„å 用" #. % #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:49 msgid "stat_dg_label_cpu" -msgstr "" +msgstr "%" #. %di #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:50 msgid "stat_ds_cpu" -msgstr "" +msgstr "%di" #. %H: Transfer on %di #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:51 msgid "stat_dg_title_interface__if_octets" -msgstr "" +msgstr "%H: %di 上的数æ®ä¼ 输情况" #. Bytes/s #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:52 msgid "stat_dg_label_interface__if_octets" -msgstr "" +msgstr "å—节/秒" #. %H: Packets on %di #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:53 msgid "stat_dg_title_interface__if_packets" -msgstr "" +msgstr "%H: %di 上的数æ®åŒ…" #. Packets/s #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:54 msgid "stat_dg_label_interface__if_packets" -msgstr "" +msgstr "Packets/s" #. %H: TCP-Connections to Port %pi #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:55 msgid "stat_dg_title_tcpconns" -msgstr "" +msgstr "%H: åˆ°ç«¯å£ %pi çš„ TCP 连接" #. Connections/s #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:56 msgid "stat_dg_label_tcpconns" -msgstr "" +msgstr "连接/秒" #. %di #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:57 msgid "stat_ds_tcp_connections" -msgstr "" +msgstr "%di" #. %H: Disk Space Usage on %di #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:58 msgid "stat_dg_title_df" -msgstr "" +msgstr "%H: %di 上的ç£ç›˜å 用情况" #. Bytes #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:59 msgid "stat_dg_label_df" -msgstr "" +msgstr "å—节" #. %ds #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:60 msgid "stat_ds_df__free" -msgstr "" +msgstr "%ds" #. %ds #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:61 msgid "stat_ds_df__used" -msgstr "" +msgstr "%ds" #. %H: Interrupts #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:62 msgid "stat_dg_title_irq" -msgstr "" +msgstr "%H: ä¸æ–" #. Issues/s #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:63 msgid "stat_dg_label_irq" -msgstr "" +msgstr "Issues/s" #. IRQ %di #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:64 msgid "stat_ds_irq" -msgstr "" +msgstr "IRQ %di" #. %H: System Load #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:65 msgid "stat_dg_title_load" -msgstr "" +msgstr "%H: 系统负载" #. Load #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:66 msgid "stat_dg_label_load" -msgstr "" +msgstr "è´Ÿè½½" #. 1 min #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:67 msgid "stat_ds_load__shortterm" -msgstr "" +msgstr "1 分钟" #. 5 min #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:68 msgid "stat_ds_load__midterm" -msgstr "" +msgstr "5 分钟" #. 15 min #: applications/luci-statistics/luasrc/i18n/rrdtool.en.lua:69 msgid "stat_ds_load__longterm" -msgstr "" +msgstr "15 分钟" diff --git a/applications/luci-app-statistics/po/zh-cn/statistics.po b/applications/luci-app-statistics/po/zh-cn/statistics.po index a55f73fb18..46cf59feed 100644 --- a/applications/luci-app-statistics/po/zh-cn/statistics.po +++ b/applications/luci-app-statistics/po/zh-cn/statistics.po @@ -1,17 +1,17 @@ msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-06-10 03:40+0200\n" -"PO-Revision-Date: 2014-06-13 15:04+0200\n" -"Last-Translator: phantasm131 <phantasm131@gmail.com>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"PO-Revision-Date: 2017-04-15 21:46-0600\n" +"Last-Translator: liushuyu <liushuyu011@gmail.com>\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Pootle 2.0.6\n" +"X-Generator: Poedit 2.0.1\n" +"Language-Team: \n" msgid "Action (target)" msgstr "åŠ¨ä½œï¼ˆç›®æ ‡ï¼‰" @@ -37,11 +37,14 @@ msgstr "基本目录" msgid "Basic monitoring" msgstr "基本监控" -msgid "CPU Frequency" +msgid "CPU Context Switches Plugin Configuration" msgstr "" +msgid "CPU Frequency" +msgstr "CPU 频率" + msgid "CPU Frequency Plugin Configuration" -msgstr "" +msgstr "CPU 频率æ’件é…ç½®" msgid "CPU Plugin Configuration" msgstr "CPUæ’件é…ç½®" @@ -87,6 +90,9 @@ msgstr "Conntrack" msgid "Conntrack Plugin Configuration" msgstr "Conntrackæ’件设置" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "DFæ’件设置" @@ -133,16 +139,16 @@ msgid "Email" msgstr "电å邮件" msgid "Empty value = monitor all" -msgstr "" +msgstr "留空 = 监控所有" msgid "Enable this plugin" msgstr "å¯ç”¨è¯¥æ’件" msgid "Entropy" -msgstr "" +msgstr "熵" msgid "Entropy Plugin Configuration" -msgstr "" +msgstr "熵值æ’件é…ç½®" msgid "Exec" msgstr "Exec" @@ -166,7 +172,7 @@ msgid "Gather compression statistics" msgstr "" msgid "General plugins" -msgstr "" +msgstr "通用æ’件" msgid "Generate a separate graph for each logged user" msgstr "" @@ -198,7 +204,7 @@ msgid "" msgstr "åœ¨è¿™é‡Œï¼Œä½ å¯ä»¥å®šä¹‰å„ç§ç›‘控iptables规则临界值。" msgid "Hold Ctrl to select multiple items or to deselect entries." -msgstr "" +msgstr "æŒ‰ä½ Ctrl é”®æ¥é€‰æ‹©æˆ–å–消选择多个项目。" msgid "Host" msgstr "主机" @@ -269,10 +275,10 @@ msgid "Monitor all local listen ports" msgstr "监测所有本地监å¬ç«¯å£" msgid "Monitor all sensors" -msgstr "" +msgstr "ç›‘æŽ§æ‰€æœ‰ä¼ æ„Ÿå™¨" msgid "Monitor device(s) / thermal zone(s)" -msgstr "" +msgstr "监控设备/温感区域" msgid "Monitor devices" msgstr "监测设备" @@ -329,6 +335,8 @@ msgid "" "Note: as pages are rendered by user 'nobody', the *.rrd files, the storage " "directory and all its parent directories need to be world readable." msgstr "" +"注æ„:由于页é¢æ˜¯ä»¥ 'nobody' 身份生æˆçš„ï¼Œå› æ¤ *.rrd 文件以åŠåŒ…å«æ¤æ–‡ä»¶çš„所有父" +"目录必须全局å¯è¯»ã€‚" msgid "Number of threads for data collection" msgstr "收集程åºä½¿ç”¨çº¿ç¨‹æ•°" @@ -343,13 +351,13 @@ msgid "Only create average RRAs" msgstr "仅创建平å‡RRAs" msgid "OpenVPN" -msgstr "" +msgstr "OpenVPN" msgid "OpenVPN Plugin Configuration" -msgstr "" +msgstr "OpenVPN æ’件é…ç½®" msgid "OpenVPN status files" -msgstr "" +msgstr "OpenVPN 状æ€æ–‡ä»¶" msgid "Options" msgstr "选项" @@ -409,13 +417,13 @@ msgid "Seconds" msgstr "秒" msgid "Sensor list" -msgstr "" +msgstr "ä¼ æ„Ÿå™¨åˆ—è¡¨" msgid "Sensors" -msgstr "" +msgstr "ä¼ æ„Ÿå™¨" msgid "Sensors Plugin Configuration" -msgstr "" +msgstr "ä¼ æ„Ÿå™¨æ’件é…ç½®" msgid "Server host" msgstr "æœåŠ¡å™¨ä¸»æœº" @@ -424,7 +432,7 @@ msgid "Server port" msgstr "æœåŠ¡å™¨ç«¯å£" msgid "Setup" -msgstr "" +msgstr "设置" msgid "Shaping class monitoring" msgstr "整形类监控" @@ -503,7 +511,7 @@ msgstr "OLSRdæ’件通过txtinfo获å–meshed网络信æ¯ã€‚" msgid "" "The OpenVPN plugin gathers information about the current vpn connection " "status." -msgstr "" +msgstr "OpenVPN æ’件å¯ä»¥èŽ·å– VPN 连接当å‰çŠ¶æ€" msgid "" "The conntrack plugin collects statistics about the number of tracked " @@ -629,6 +637,9 @@ msgid "" "to gather data and <a href=\"http://oss.oetiker.ch/rrdtool/\">RRDtool</a> to " "render diagram images." msgstr "" +"Statistics 软件包使用 <a href=\"https://collectd.org/\">Collectd</a> æ¥æ”¶é›†æ•°" +"æ®ï¼Œå¹¶ç”¨ <a href=\"http://oss.oetiker.ch/rrdtool/\">RRDtool</a> 生æˆç»Ÿè®¡å›¾" +"表。" msgid "" "The tcpconns plugin collects informations about open tcp connections on " @@ -640,6 +651,8 @@ msgid "" "read from /sys/class/thermal/*/temp ( '*' denotes the thermal device to be " "read, e.g. thermal_zone1 )" msgstr "" +"温感æ’件将会监控系统温度。数æ®ä¸»è¦å–自 /sys/class/thermal/*/temp ('*' 表示温" +"感设备的åå—,比如 thermal_zone1) 。" msgid "" "The unixsock plugin creates a unix socket which can be used to read " @@ -650,13 +663,16 @@ msgid "The uptime plugin collects statistics about the uptime of the system." msgstr "" msgid "Thermal" -msgstr "" +msgstr "温感" msgid "Thermal Plugin Configuration" +msgstr "温感æ’件é…ç½®" + +msgid "This plugin collects statistics about the processor context switches." msgstr "" msgid "This plugin collects statistics about the processor frequency scaling." -msgstr "" +msgstr "æ¤æ’ä»¶ä¼šèŽ·å– CPU 频率调整的数æ®ã€‚" msgid "" "This section defines on which interfaces collectd will wait for incoming " @@ -686,13 +702,13 @@ msgid "Unixsock Plugin Configuration" msgstr "Unixsockæ’件é…ç½®" msgid "Uptime" -msgstr "" +msgstr "è¿è¡Œæ—¶é—´" msgid "Uptime Plugin Configuration" -msgstr "" +msgstr "è¿è¡Œæ—¶é—´æ’件é…ç½®" msgid "Use improved naming schema" -msgstr "" +msgstr "使用更高级的命å规则" msgid "Used PID file" msgstr "æ£åœ¨ä½¿ç”¨çš„PID文件" @@ -711,7 +727,7 @@ msgstr "æ— çº¿iwinfoæ’件é…ç½®" msgid "" "You can install additional collectd-mod-* plugins to enable more statistics." -msgstr "" +msgstr "您å¯ä»¥å®‰è£…更多的 collectd-mod-* æ’件以获得更多的统计数æ®ã€‚" msgid "e.g. br-ff" msgstr "例如:br-ff" diff --git a/applications/luci-app-statistics/po/zh-tw/statistics.po b/applications/luci-app-statistics/po/zh-tw/statistics.po index f9e72b54dd..cbd6d9d38e 100644 --- a/applications/luci-app-statistics/po/zh-tw/statistics.po +++ b/applications/luci-app-statistics/po/zh-tw/statistics.po @@ -31,6 +31,9 @@ msgstr "" msgid "Basic monitoring" msgstr "" +msgid "CPU Context Switches Plugin Configuration" +msgstr "" + msgid "CPU Frequency" msgstr "" @@ -79,6 +82,9 @@ msgstr "" msgid "Conntrack Plugin Configuration" msgstr "" +msgid "Context Switches" +msgstr "" + msgid "DF Plugin Configuration" msgstr "" @@ -631,6 +637,9 @@ msgstr "" msgid "Thermal Plugin Configuration" msgstr "" +msgid "This plugin collects statistics about the processor context switches." +msgstr "" + msgid "This plugin collects statistics about the processor frequency scaling." msgstr "" diff --git a/applications/luci-app-statistics/root/etc/config/luci_statistics b/applications/luci-app-statistics/root/etc/config/luci_statistics index 774a8382e2..c081a8e724 100644 --- a/applications/luci-app-statistics/root/etc/config/luci_statistics +++ b/applications/luci-app-statistics/root/etc/config/luci_statistics @@ -52,6 +52,9 @@ config statistics 'collectd_unixsock' config statistics 'collectd_conntrack' option enable '0' +config statistics 'collectd_contextswitch' + option enable '0' + config statistics 'collectd_cpu' option enable '1' diff --git a/applications/luci-app-statistics/root/usr/bin/stat-genconfig b/applications/luci-app-statistics/root/usr/bin/stat-genconfig index df9af15261..090344cee4 100755 --- a/applications/luci-app-statistics/root/usr/bin/stat-genconfig +++ b/applications/luci-app-statistics/root/usr/bin/stat-genconfig @@ -279,6 +279,12 @@ plugins = { { } }, + contextswitch = { + { }, + { }, + { } + }, + csv = { { "DataDir" }, { "StoreRates" }, @@ -349,12 +355,6 @@ plugins = { { } }, - madwifi = { - { "WatchSet" }, - { }, - { "Interfaces", "WatchAdds" } - }, - memory = { { }, { }, diff --git a/applications/luci-app-travelmate/Makefile b/applications/luci-app-travelmate/Makefile index f4b1b0a4e3..6170f9d4c3 100644 --- a/applications/luci-app-travelmate/Makefile +++ b/applications/luci-app-travelmate/Makefile @@ -1,11 +1,11 @@ -# -# This is free software, licensed under the Apache License, Version 2.0 . +# Copyright 2017 Dirk Brenken (dev@brenken.org) +# This is free software, licensed under the Apache License, Version 2.0 # include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI support for Travelmate -LUCI_DEPENDS:=+travelmate +LUCI_DEPENDS:=+travelmate +luci-lib-jsonc LUCI_PKGARCH:=all include ../../luci.mk diff --git a/applications/luci-app-travelmate/luasrc/controller/travelmate.lua b/applications/luci-app-travelmate/luasrc/controller/travelmate.lua index 27c19c4e52..86382f6ae0 100644 --- a/applications/luci-app-travelmate/luasrc/controller/travelmate.lua +++ b/applications/luci-app-travelmate/luasrc/controller/travelmate.lua @@ -1,11 +1,28 @@ --- Licensed to the public under the Apache License 2.0. +-- Copyright 2017 Dirk Brenken (dev@brenken.org) +-- This is free software, licensed under the Apache License, Version 2.0 module("luci.controller.travelmate", package.seeall) +local fs = require("nixio.fs") +local util = require("luci.util") +local template = require("luci.template") +local i18n = require("luci.i18n") + function index() if not nixio.fs.access("/etc/config/travelmate") then return end + entry({"admin", "services", "travelmate"}, firstchild(), _("Travelmate"), 40).dependent = false + entry({"admin", "services", "travelmate", "tab_from_cbi"}, cbi("travelmate/overview_tab", {hideresetbtn=true, hidesavebtn=true}), _("Overview"), 10).leaf = true + entry({"admin", "services", "travelmate", "logfile"}, call("logread"), _("View Logfile"), 20).leaf = true + entry({"admin", "services", "travelmate", "advanced"}, firstchild(), _("Advanced"), 100) + entry({"admin", "services", "travelmate", "advanced", "configuration"}, cbi("travelmate/configuration_tab"), _("Edit Travelmate Configuration"), 110).leaf = true + entry({"admin", "services", "travelmate", "advanced", "cfg_wireless"}, cbi("travelmate/cfg_wireless_tab"), _("Edit Wireless Configuration"), 120).leaf = true + entry({"admin", "services", "travelmate", "advanced", "cfg_network"}, cbi("travelmate/cfg_network_tab"), _("Edit Network Configuration"), 130).leaf = true + entry({"admin", "services", "travelmate", "advanced", "cfg_firewall"}, cbi("travelmate/cfg_firewall_tab"), _("Edit Firewall Configuration"), 140).leaf = true +end - entry({"admin", "services", "travelmate"}, cbi("travelmate"), _("Travelmate"), 60) +function logread() + local logfile = util.trim(util.exec("logread -e 'travelmate'")) + template.render("travelmate/logread", {title = i18n.translate("Travelmate Logfile"), content = logfile}) end diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate.lua deleted file mode 100644 index fa44d4b523..0000000000 --- a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate.lua +++ /dev/null @@ -1,53 +0,0 @@ --- Licensed to the public under the Apache License 2.0. - -m = Map("travelmate", translate("Travelmate"), - translate("Configuration of the Travelmate package to enable travel router functionality. ") .. [[</p>]] .. - translate("Brief advice: Create a wwan interface, configure it to use dhcp and " .. - "add it to the wan zone in firewall. Create the wifi interfaces to be used ('client' mode, " .. - "assigned to wwan network, left as disabled). Travelmate will try " .. - "to connect to the known wifi client interfaces in the defined order. ") .. - [[<a href="https://github.com/openwrt/packages/tree/master/net/travelmate/files/README.md" target="_blank">]] - .. translate("Link to detailed advice") - .. [[</a>]] ) - --- General options - -s = m:section(NamedSection, "global", "travelmate", translate("Global options")) - -o = s:option(Flag, "trm_enabled", translate("Enable Travelmate")) -o.rmempty = false -o.default = 0 - -o = s:option(Value, "trm_maxwait", translate("Max. timeout in seconds for wlan interface reload"), - translate("Default 20, range 10-60")) -o.rmempty = false -o.default = 20 -o.datatype = "range(10,60)" - -o = s:option(Value, "trm_maxretry", translate("Max. number of connection retries to an uplink"), - translate("Default 3, range 1-10")) -o.rmempty = false -o.default = 3 -o.datatype = "range(1,10)" - --- Extra options - -e = m:section(NamedSection, "global", "travelmate", translate("Extra options")) - -a = e:option(Flag, "trm_debug", translate("Debug logging")) -a.rmempty = true -a.default = a.disabled - -a = e:option(Value, "trm_iface", translate("Restrict reload trigger to certain interface(s)"), - translate("Space separated list of wwan interfaces that trigger reload action. To disable reload trigger set it to 'false'. Default: empty")) -a.rmempty = true -a.default = "" -a.datatype = "uciname" - -a = e:option(Flag, "trm_iw", translate("Use iw for scanning"), - translate("Disable this if you want to use iwinfo instead of iw")) -a.rmempty = true -a.default = a.enabled - -return m - diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_firewall_tab.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_firewall_tab.lua new file mode 100644 index 0000000000..009ed805db --- /dev/null +++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_firewall_tab.lua @@ -0,0 +1,36 @@ +-- Copyright 2017 Dirk Brenken (dev@brenken.org) +-- This is free software, licensed under the Apache License, Version 2.0 + +local fs = require("nixio.fs") +local util = require("luci.util") +local trminput = "/etc/config/firewall" + +if not nixio.fs.access(trminput) then + m = SimpleForm("error", nil, translate("Input file not found, please check your configuration.")) + return m +end + +m = SimpleForm("input", nil) +m:append(Template("travelmate/config_css")) +m.reset = false + +s = m:section(SimpleSection, nil, + translate("This form allows you to modify the content of the main firewall configuration file (/etc/config/firewall).")) + +f = s:option(TextValue, "data") +f.rows = 20 +f.rmempty = true + +function f.cfgvalue() + return nixio.fs.readfile(trminput) or "" +end + +function f.write(self, section, data) + return nixio.fs.writefile(trminput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n") +end + +function s.handle(self, state, data) + return true +end + +return m diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_network_tab.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_network_tab.lua new file mode 100644 index 0000000000..4d43637d9c --- /dev/null +++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_network_tab.lua @@ -0,0 +1,36 @@ +-- Copyright 2017 Dirk Brenken (dev@brenken.org) +-- This is free software, licensed under the Apache License, Version 2.0 + +local fs = require("nixio.fs") +local util = require("luci.util") +local trminput = "/etc/config/network" + +if not nixio.fs.access(trminput) then + m = SimpleForm("error", nil, translate("Input file not found, please check your configuration.")) + return m +end + +m = SimpleForm("input", nil) +m:append(Template("travelmate/config_css")) +m.reset = false + +s = m:section(SimpleSection, nil, + translate("This form allows you to modify the content of the main network configuration file (/etc/config/network).")) + +f = s:option(TextValue, "data") +f.rows = 20 +f.rmempty = true + +function f.cfgvalue() + return nixio.fs.readfile(trminput) or "" +end + +function f.write(self, section, data) + return nixio.fs.writefile(trminput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n") +end + +function s.handle(self, state, data) + return true +end + +return m diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_wireless_tab.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_wireless_tab.lua new file mode 100644 index 0000000000..a025c1379f --- /dev/null +++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_wireless_tab.lua @@ -0,0 +1,36 @@ +-- Copyright 2017 Dirk Brenken (dev@brenken.org) +-- This is free software, licensed under the Apache License, Version 2.0 + +local fs = require("nixio.fs") +local util = require("luci.util") +local trminput = "/etc/config/wireless" + +if not nixio.fs.access(trminput) then + m = SimpleForm("error", nil, translate("Input file not found, please check your configuration.")) + return m +end + +m = SimpleForm("input", nil) +m:append(Template("travelmate/config_css")) +m.reset = false + +s = m:section(SimpleSection, nil, + translate("This form allows you to modify the content of the main wireless configuration file (/etc/config/wireless).")) + +f = s:option(TextValue, "data") +f.rows = 20 +f.rmempty = true + +function f.cfgvalue() + return nixio.fs.readfile(trminput) or "" +end + +function f.write(self, section, data) + return nixio.fs.writefile(trminput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n") +end + +function s.handle(self, state, data) + return true +end + +return m diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/configuration_tab.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/configuration_tab.lua new file mode 100644 index 0000000000..4233da6ac7 --- /dev/null +++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/configuration_tab.lua @@ -0,0 +1,38 @@ +-- Copyright 2017 Dirk Brenken (dev@brenken.org) +-- This is free software, licensed under the Apache License, Version 2.0 + +local fs = require("nixio.fs") +local util = require("luci.util") +local trminput = "/etc/config/travelmate" + +if not nixio.fs.access(trminput) then + m = SimpleForm("error", nil, translate("Input file not found, please check your configuration.")) + m.reset = false + m.submit = false + return m +end + +m = SimpleForm("input", nil) +m:append(Template("travelmate/config_css")) +m.reset = false + +s = m:section(SimpleSection, nil, + translate("This form allows you to modify the content of the main travelmate configuration file (/etc/config/travelmate).")) + +f = s:option(TextValue, "data") +f.rows = 20 +f.rmempty = true + +function f.cfgvalue() + return nixio.fs.readfile(trminput) or "" +end + +function f.write(self, section, data) + return nixio.fs.writefile(trminput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n") +end + +function s.handle(self, state, data) + return true +end + +return m diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua new file mode 100644 index 0000000000..236bbb0de5 --- /dev/null +++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua @@ -0,0 +1,170 @@ +-- Copyright 2017 Dirk Brenken (dev@brenken.org) +-- This is free software, licensed under the Apache License, Version 2.0 + +local fs = require("nixio.fs") +local uci = require("uci") +local json = require("luci.jsonc") +local nw = require("luci.model.network").init() +local fw = require("luci.model.firewall").init() +local uplink = uci.get("network", "trm_wwan") or "" +local trminput = uci.get("travelmate", "global", "trm_rtfile") or "/tmp/trm_runtime.json" +local parse = json.parse(fs.readfile(trminput) or "") + +m = Map("travelmate", translate("Travelmate"), + translate("Configuration of the travelmate package to to enable travel router functionality. ") + .. translatef("For further information " + .. "<a href=\"%s\" target=\"_blank\">" + .. "see online documentation</a>", "https://github.com/openwrt/packages/blob/master/net/travelmate/files/README.md")) + +function m.on_after_commit(self) + luci.sys.call("/etc/init.d/travelmate restart >/dev/null 2>&1") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate")) +end + +-- Main travelmate options + +s = m:section(NamedSection, "global", "travelmate") + +o1 = s:option(Flag, "trm_enabled", translate("Enable travelmate")) +o1.default = o1.disabled +o1.rmempty = false + +o2 = s:option(Flag, "trm_automatic", translate("Enable 'automatic' mode"), + translate("Keep travelmate in an active state.")) +o2.default = o2.enabled +o2.rmempty = false + +o3 = s:option(Value, "trm_iface", translate("Restrict interface trigger to certain interface(s)"), + translate("Space separated list of interfaces that trigger travelmate processing. ".. + "To disable event driven (re-)starts remove all entries.")) +o3.rmempty = true + +o4 = s:option(Value, "trm_triggerdelay", translate("Trigger delay"), + translate("Additional trigger delay in seconds before travelmate processing begins.")) +o4.default = 2 +o4.datatype = "range(1,90)" +o4.rmempty = false + +o5 = s:option(Flag, "trm_debug", translate("Enable verbose debug logging")) +o5.default = o5.disabled +o5.rmempty = false + +-- Interface setup + +if uplink == "" then + dv = s:option(DummyValue, "_dummy", translate("Interface Setup")) + dv.template = "cbi/nullsection" + btn = s:option(Button, "", translate("Create Uplink Interface"), + translate("Automatically create a new wireless wan uplink interface 'trm_wwan', configure it to use dhcp and ") + .. translate("add it to the wan zone of the firewall. This step has only to be done once.")) + btn.inputtitle = translate("Add Interface") + btn.inputstyle = "apply" + btn.disabled = false + function btn.write() + local name = "trm_wwan" + local net = nw:add_network(name, { proto = "dhcp" }) + if net then + nw:save("network") + nw:commit("network") + local zone = fw:get_zone_by_network("wan") + if zone then + zone:add_network(name) + fw:save("firewall") + fw:commit("firewall") + end + luci.sys.call("env -i /bin/ubus call network reload >/dev/null 2>&1") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate")) + end + end +else + dv = s:option(DummyValue, "_dummy", translate("Interface Setup"), + translate("<br /> Network Interface 'trm_wwan' created successfully. ") + .. translatef("Scan & Add new wireless stations via standard " + .. "<a href=\"%s\">" + .. "Wireless Setup</a>", luci.dispatcher.build_url("admin/network/wireless"))) + dv.template = "cbi/nullsection" +end + +-- Runtime information + +ds = s:option(DummyValue, "_dummy", translate("Runtime information")) +ds.template = "cbi/nullsection" + +dv1 = s:option(DummyValue, "status", translate("Online Status")) +dv1.template = "travelmate/runtime" +if parse == nil then + dv1.value = translate("n/a") +elseif parse.data.station_connection == "true" then + dv1.value = translate("connected") +else + dv1.value = translate("not connected") +end + +dv2 = s:option(DummyValue, "travelmate_version", translate("Travelmate version")) +dv2.template = "travelmate/runtime" +if parse ~= nil then + dv2.value = parse.data.travelmate_version or translate("n/a") +else + dv2.value = translate("n/a") +end + +dv3 = s:option(DummyValue, "station_ssid", translate("Station SSID")) +dv3.template = "travelmate/runtime" +if parse ~= nil then + dv3.value = parse.data.station_ssid or translate("n/a") +else + dv3.value = translate("n/a") +end + +dv4 = s:option(DummyValue, "station_interface", translate("Station Interface")) +dv4.template = "travelmate/runtime" +if parse ~= nil then + dv4.value = parse.data.station_interface or translate("n/a") +else + dv4.value = translate("n/a") +end + +dv5 = s:option(DummyValue, "station_radio", translate("Station Radio")) +dv5.template = "travelmate/runtime" +if parse ~= nil then + dv5.value = parse.data.station_radio or translate("n/a") +else + dv5.value = translate("n/a") +end + +dv6 = s:option(DummyValue, "last_rundate", translate("Last rundate")) +dv6.template = "travelmate/runtime" +if parse ~= nil then + dv6.value = parse.data.last_rundate or translate("n/a") +else + dv6.value = translate("n/a") +end + +-- Extra options + +e = m:section(NamedSection, "global", "travelmate", translate("Extra options"), +translate("Options for further tweaking in case the defaults are not suitable for you.")) + +e1 = e:option(Value, "trm_radio", translate("Radio selection"), + translate("Restrict travelmate to a dedicated radio, e.g. 'radio0'")) +e1.rmempty = true + +e2 = e:option(Value, "trm_maxretry", translate("Connection Limit"), + translate("How many times should travelmate try to connect to an Uplink")) +e2.default = 3 +e2.datatype = "range(1,10)" +e2.rmempty = false + +e3 = e:option(Value, "trm_maxwait", translate("Interface Timeout"), + translate("How long should travelmate wait for a successful wlan interface reload")) +e3.default = 30 +e3.datatype = "range(5,60)" +e3.rmempty = false + +e4 = e:option(Value, "trm_timeout", translate("Overall Timeout"), + translate("Timeout in seconds between retries in 'automatic' mode")) +e4.default = 60 +e4.datatype = "range(5,300)" +e4.rmempty = false + +return m diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/config_css.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/config_css.htm new file mode 100644 index 0000000000..53493a18fb --- /dev/null +++ b/applications/luci-app-travelmate/luasrc/view/travelmate/config_css.htm @@ -0,0 +1,10 @@ +<style type="text/css"> + textarea + { + border: 1px solid #cccccc; + padding: 5px; + font-size: 12px; + font-family: monospace; + resize: none; + } +</style> diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm new file mode 100644 index 0000000000..7f6ff7776d --- /dev/null +++ b/applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm @@ -0,0 +1,15 @@ +<%# +Copyright 2017 Dirk Brenken (dev@brenken.org) +This is free software, licensed under the Apache License, Version 2.0 +-%> + +<%+header%> + +<div class="cbi-map"> + <fieldset class="cbi-section"> + <div class="cbi-section-descr"><%:This form shows the syslog output, pre-filtered for travelmate related messages only.%></div> + <textarea id="logread_id" style="width: 100%; height: 450px; border: 1px solid #cccccc; padding: 5px; font-size: 12px; font-family: monospace; resize: none;" readonly="readonly" wrap="off" rows="<%=content:cmatch("\n")+2%>"><%=content:pcdata()%></textarea> + </fieldset> +</div> + +<%+footer%> diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm new file mode 100644 index 0000000000..ee3a4553a8 --- /dev/null +++ b/applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm @@ -0,0 +1,10 @@ +<%# +Copyright 2017 Dirk Brenken (dev@brenken.org) +This is free software, licensed under the Apache License, Version 2.0 +-%> + +<%+cbi/valueheader%> + +<input name="runtime" id="runtime" type="text" class="cbi-input-text" style="border: none; box-shadow: none; background-color: #ffffff; color: #0069d6;" value="<%=self:cfgvalue(section)%>" disabled="disabled" /> + +<%+cbi/valuefooter%> diff --git a/applications/luci-app-travelmate/po/ja/travelmate.po b/applications/luci-app-travelmate/po/ja/travelmate.po index de1aceed95..e4a8b8bda2 100644 --- a/applications/luci-app-travelmate/po/ja/travelmate.po +++ b/applications/luci-app-travelmate/po/ja/travelmate.po @@ -7,73 +7,317 @@ msgstr "" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.11\n" +"X-Generator: Poedit 2.0.1\n" "Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n" "Plural-Forms: nplurals=1; plural=0;\n" "Language: ja\n" +msgid "<br /> Network Interface 'trm_wwan' created successfully." +msgstr "" +"<br /> ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ インターフェース 'trm_wwan' ã®ä½œæˆã«æˆåŠŸã—ã¾ã—ãŸã€‚" + +msgid "Add Interface" +msgstr "インターフェースã®è¿½åŠ " + +msgid "" +"Additional trigger delay in seconds before travelmate processing begins." +msgstr "Travelmate ã®å‡¦ç†ãŒé–‹å§‹ã•ã‚Œã‚‹ã¾ã§ã®ã€è¿½åŠ ã®é…延時間(秒)ã§ã™ã€‚" + +msgid "Advanced" +msgstr "詳細è¨å®š" + msgid "" -"Brief advice: Create a wwan interface, configure it to use dhcp and add it " -"to the wan zone in firewall. Create the wifi interfaces to be used ('client' " -"mode, assigned to wwan network, left as disabled). Travelmate will try to " -"connect to the known wifi client interfaces in the defined order." +"Automatically create a new wireless wan uplink interface 'trm_wwan', " +"configure it to use dhcp and" msgstr "" -"ç°¡å˜ãªè§£èª¬: 予ã‚WWANインターフェースを作æˆã—ã€DHCPを使用ã™ã‚‹ã‚ˆã†æ§‹æˆã—ã¦ãƒ•ã‚¡" -"イアウォールã®WANゾーンã«è¿½åŠ ã—ã¾ã™ã€‚ã¾ãŸã€ä½¿ç”¨ã•ã‚Œã‚‹ç„¡ç·šã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã‚’作" -"æˆã—ã¦ãŠãã¾ã™ï¼ˆ\"クライアント\" モードã€WWANã«å‰²ã‚Šå½“ã¦ã€ç„¡åŠ¹çŠ¶æ…‹ï¼‰ã€‚" -"Travelmateã¯ã€ç™»éŒ²ã•ã‚Œã¦ã„ã‚‹é †åºã§æ—¢çŸ¥ã®ç„¡ç·šã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆ インターフェースã¸ã®" -"接続を試行ã—ã¾ã™ã€‚" +"æ–°ã—ã„ç„¡ç·š WAN インターフェース 'trm_wwan' を自動的ã«ä½œæˆã—〠DHCP を使用ã™ã‚‹" +"よã†æ§‹æˆã—ã¦" msgid "" -"Configuration of the Travelmate package to enable travel router " +"Configuration of the travelmate package to to enable travel router " "functionality." -msgstr "トラベル ルータ機能を有効ã«ã™ã‚‹ã€Travelmate パッケージã®è¨å®šã§ã™ã€‚" +msgstr "" +"トラベル ルーター機能を有効化ã™ã‚‹ãŸã‚ã®ã€ Travelmate パッケージã®è¨å®šã§ã™ã€‚" + +msgid "Connection Limit" +msgstr "接続制é™" + +msgid "Create Uplink Interface" +msgstr "アップリンク インターフェースã®ä½œæˆ" + +msgid "Edit Firewall Configuration" +msgstr "ファイアウォールè¨å®šã®ç·¨é›†" + +msgid "Edit Network Configuration" +msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯è¨å®šã®ç·¨é›†" -msgid "Debug logging" -msgstr "デãƒãƒƒã‚° ãƒã‚°" +msgid "Edit Travelmate Configuration" +msgstr "Travelmate è¨å®šã®ç·¨é›†" -msgid "Default 20, range 10-60" -msgstr "既定値 20ã€ç¯„囲 10 - 60" +msgid "Edit Wireless Configuration" +msgstr "ç„¡ç·šè¨å®šã®ç·¨é›†" -msgid "Default 3, range 1-10" -msgstr "既定値 3ã€ç¯„囲 1 - 10" +msgid "Enable 'automatic' mode" +msgstr "'automatic' モードã®æœ‰åŠ¹åŒ–" -msgid "Disable this if you want to use iwinfo instead of iw" -msgstr "iw ã®ä»£ã‚ã‚Šã« iwinfo を使用ã—ãŸã„å ´åˆã€ã“ã®è¨å®šã‚’無効ã«ã—ã¾ã™ã€‚" +msgid "Enable travelmate" +msgstr "Travelmate ã®æœ‰åŠ¹åŒ–" -msgid "Enable Travelmate" -msgstr "Travelmateã®æœ‰åŠ¹åŒ–" +msgid "Enable verbose debug logging" +msgstr "詳細ãªãƒ‡ãƒãƒƒã‚° ãƒã‚°ã®æœ‰åŠ¹åŒ–" msgid "Extra options" msgstr "拡張オプション" -msgid "Global options" -msgstr "全般オプション" +msgid "" +"For further information <a href=\"%s\" target=\"_blank\">see online " +"documentation</a>" +msgstr "" +"詳細ãªæƒ…å ±ã¯ <a href=\"%s\" target=\"_blank\">オンライン ドã‚ュメント</a>を確" +"èªã—ã¦ãã ã•ã„。" + +msgid "How long should travelmate wait for a successful wlan interface reload" +msgstr "" +"ç„¡ç·šLAN インターフェースã®ãƒªãƒãƒ¼ãƒ‰ãŒæˆåŠŸã™ã‚‹ã¾ã§ã®ã€Travelmate ã®å¾…機時間ã§" +"ã™ã€‚" + +msgid "How many times should travelmate try to connect to an Uplink" +msgstr "Travelmate ãŒã‚¢ãƒƒãƒ—リンクã«å¯¾ã—ã¦æŽ¥ç¶šã‚’試行ã™ã‚‹å›žæ•°ã§ã™ã€‚" -msgid "Link to detailed advice" -msgstr "詳細ãªè§£èª¬ã¸ã®ãƒªãƒ³ã‚¯" +msgid "Input file not found, please check your configuration." +msgstr "入力ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。è¨å®šã‚’確èªã—ã¦ãã ã•ã„。" -msgid "Max. number of connection retries to an uplink" -msgstr "確立ã¾ã§ã®æŽ¥ç¶šè©¦è¡Œå›žæ•°" +msgid "Interface Setup" +msgstr "インターフェースè¨å®š" -msgid "Max. timeout in seconds for wlan interface reload" -msgstr "ç„¡ç·šLANインターフェース リãƒãƒ¼ãƒ‰æ™‚ã®æœ€å¤§å¾…機時間(秒)" +msgid "Interface Timeout" +msgstr "インターフェース タイムアウト" + +msgid "Keep travelmate in an active state." +msgstr "Travelmate をアクティブ状態ã§ç¶æŒã—ã¾ã™ã€‚" + +msgid "Last rundate" +msgstr "最終実行日時" + +msgid "Online Status" +msgstr "オンライン ステータス" + +msgid "" +"Options for further tweaking in case the defaults are not suitable for you." +msgstr "デフォルトã®è¨å®šãŒé©åˆ‡ã§ãªã„å ´åˆã€ã•ã‚‰ã«è¨å®šã™ã‚‹ãŸã‚ã®ã‚ªãƒ—ションã§ã™ã€‚" -msgid "Restrict reload trigger to certain interface(s)" -msgstr "リãƒãƒ¼ãƒ‰ トリガを特定ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã«é™å®šã™ã‚‹" +msgid "Overall Timeout" +msgstr "全体タイムアウト" + +msgid "Overview" +msgstr "概è¦" + +msgid "Radio selection" +msgstr "ç„¡ç·šã®é¸æŠž" + +msgid "Restrict interface trigger to certain interface(s)" +msgstr "インターフェース トリガーを特定ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã«é™å®šã™ã‚‹" + +msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'" +msgstr "Travelmate ãŒç‰¹å®šã®ç„¡ç·šã«æŽ¥ç¶šã™ã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚例: 'radio0'" + +msgid "Runtime information" +msgstr "å®Ÿè¡Œæƒ…å ±" + +msgid "" +"Scan & Add new wireless stations via standard <a href=\"%s\">Wireless " +"Setup</a>" +msgstr "" +"通常ã®<a href=\"%s\">ç„¡ç·šè¨å®š</a>ã«ã¦ã€æ–°è¦ã®ç„¡ç·šã‚¹ãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ã®ã‚¹ã‚ャンåŠã³è¿½" +"åŠ ã‚’è¡Œã„ã¾ã™ã€‚" + +msgid "" +"Space separated list of interfaces that trigger travelmate processing. To " +"disable event driven (re-)starts remove all entries." +msgstr "" +"Travelmate ã®å‡¦ç†ã®ãƒˆãƒªã‚¬ãƒ¼ã¨ãªã‚‹ã€ã‚¹ãƒšãƒ¼ã‚¹ã§åŒºåˆ‡ã‚‰ã‚ŒãŸã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã®ãƒªã‚¹" +"トã§ã™ã€‚処ç†ã‚’発生ã•ã›ã‚‹ã‚¤ãƒ™ãƒ³ãƒˆã‚’無効ã«ã™ã‚‹ã«ã¯ã€å…¨ã¦ã®ã‚¨ãƒ³ãƒˆãƒªãƒ¼ã‚’削除ã—ã¦" +"空欄ã«ã—ã¾ã™ã€‚" + +msgid "Station Interface" +msgstr "ステーション インターフェース" + +msgid "Station Radio" +msgstr "ステーション ç„¡ç·š" + +msgid "Station SSID" +msgstr "ステーション SSID" + +msgid "" +"This form allows you to modify the content of the main firewall " +"configuration file (/etc/config/firewall)." +msgstr "" +"ã“ã®ãƒ•ã‚©ãƒ¼ãƒ ã§ã¯ã€ãƒ•ã‚¡ã‚¤ã‚¢ã‚¦ã‚©ãƒ¼ãƒ« è¨å®šãƒ•ã‚¡ã‚¤ãƒ« (/etc/config/firewall) ã®å†…容" +"を変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚" + +msgid "" +"This form allows you to modify the content of the main network configuration " +"file (/etc/config/network)." +msgstr "" +"ã“ã®ãƒ•ã‚©ãƒ¼ãƒ ã§ã¯ã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ è¨å®šãƒ•ã‚¡ã‚¤ãƒ« (/etc/config/network) ã®å†…容を変" +"æ›´ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚" msgid "" -"Space separated list of wwan interfaces that trigger reload action. To " -"disable reload trigger set it to 'false'. Default: empty" +"This form allows you to modify the content of the main travelmate " +"configuration file (/etc/config/travelmate)." msgstr "" -"リãƒãƒ¼ãƒ‰å‹•ä½œã®ãƒˆãƒªã‚¬ã¨ãªã‚‹ã€ã‚¹ãƒšãƒ¼ã‚¹ã§åŒºåˆ‡ã‚‰ã‚ŒãŸWWAN インターフェースã®ãƒªã‚¹ãƒˆ" -"ã§ã™ã€‚リãƒãƒ¼ãƒ‰ã®ãƒˆãƒªã‚¬ã‚’無効ã«ã™ã‚‹ã«ã¯ã€'false' ã‚’è¨å®šã—ã¾ã™ã€‚既定値:(空)" +"ã“ã®ãƒ•ã‚©ãƒ¼ãƒ ã§ã¯ã€ Travelmate è¨å®šãƒ•ã‚¡ã‚¤ãƒ« (/etc/config/travelmate) ã®å†…容を" +"変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚" + +msgid "" +"This form allows you to modify the content of the main wireless " +"configuration file (/etc/config/wireless)." +msgstr "" +"ã“ã®ãƒ•ã‚©ãƒ¼ãƒ ã§ã¯ã€ç„¡ç·š è¨å®šãƒ•ã‚¡ã‚¤ãƒ« (/etc/config/wireless) ã®å†…容を変更ã™ã‚‹ã“" +"ã¨ãŒã§ãã¾ã™ã€‚" + +msgid "" +"This form shows the syslog output, pre-filtered for travelmate related " +"messages only." +msgstr "" +"ã“ã®ãƒ•ã‚©ãƒ¼ãƒ ã«ã¯ã€ã‚·ã‚¹ãƒ†ãƒ ãƒã‚°å†…ã® Travelmate ã«é–¢ã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ã¿ãŒè¡¨ç¤ºã•" +"ã‚Œã¾ã™ã€‚" + +msgid "Timeout in seconds between retries in 'automatic' mode" +msgstr "'automatic' モード時ã«æŽ¥ç¶šã‚’å†è©¦è¡Œã™ã‚‹é–“隔(秒)ã§ã™ã€‚" msgid "Travelmate" msgstr "Travelmate" -msgid "Use iw for scanning" -msgstr "スã‚ャン㫠iw を使用ã™ã‚‹" +msgid "Travelmate Logfile" +msgstr "Travelmate ãƒã‚°ãƒ•ã‚¡ã‚¤ãƒ«" + +msgid "Travelmate version" +msgstr "Travelmate ãƒãƒ¼ã‚¸ãƒ§ãƒ³" + +msgid "Trigger delay" +msgstr "トリガーé…延" + +msgid "View Logfile" +msgstr "ãƒã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®ç¢ºèª" + +msgid "" +"add it to the wan zone of the firewall. This step has only to be done once." +msgstr "" +"ファイアウォール㮠wan ゾーンã«è¿½åŠ ã—ã¾ã™ã€‚ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã¯ã€ä¸€åº¦ã ã‘実行ã•ã‚Œã‚‹" +"å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚" + +msgid "connected" +msgstr "接続済ã¿" + +msgid "n/a" +msgstr "利用ä¸å¯" + +msgid "not connected" +msgstr "未接続" + +#~ msgid "." +#~ msgstr "。" + +#~ msgid "" +#~ "Automatically create a new wireless wan interface, configure it to use " +#~ "dhcp and add it to the wan zone of the firewall. This step has only to be " +#~ "done once." +#~ msgstr "" +#~ "æ–°ã—ã„ç„¡ç·š WAN インターフェースを自動的ã«ä½œæˆã—ã€DHCP を使用ã™ã‚‹ã‚ˆã†æ§‹æˆã—" +#~ "ã¦ãƒ•ã‚¡ã‚¤ã‚¢ã‚¦ã‚©ãƒ¼ãƒ«ã® wan ゾーンã«è¿½åŠ ã—ã¾ã™ã€‚ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã¯ã€ä¸€åº¦ã ã‘実行" +#~ "ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚" + +#~ msgid "Direct Link: <a href=\"%s\">Wireless Setup</a>" +#~ msgstr "ダイレクト リンク: <a href=\"%s\">ç„¡ç·šè¨å®š</a>" + +#~ msgid "For further information" +#~ msgstr "è©³ç´°æƒ…å ±ã¯" + +#~ msgid "Name of the new wireless wan interface" +#~ msgstr "æ–°ã—ã„ç„¡ç·š WAN ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹å" + +#~ msgid "" +#~ "Network Interface '%s' created successfully. Feel free to scan & add new " +#~ "stations via standard wireless setup." +#~ msgstr "" +#~ "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ インターフェース '%s' ã®ä½œæˆã«æˆåŠŸã—ã¾ã—ãŸã€‚通常ã®ç„¡ç·šè¨å®šã«" +#~ "ã¦ã€ã‚¹ã‚ャンåŠã³æ–°è¦ã‚¹ãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ã®è¿½åŠ ãŒå¯èƒ½ã§ã™ã€‚" + +#~ msgid "Setup WWAN Interface" +#~ msgstr "WWAN インターフェースè¨å®š" + +#~ msgid "" +#~ "The allowed characters are: <code>A-Z</code>, <code>a-z</code>, " +#~ "<code>0-9</code> and <code>_</code> (3-15 characters)." +#~ msgstr "" +#~ "使用å¯èƒ½æ–‡å—: <code>A-Z</code>, <code>a-z</code>, <code>0-9</code> and " +#~ "<code>_</code>(3 - 15æ–‡å—)" + +#~ msgid "The given network interface name already exist" +#~ msgstr "入力ã•ã‚ŒãŸãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ インターフェースåã¯ã€æ—¢ã«å˜åœ¨ã—ã¦ã„ã¾ã™ã€‚" + +#~ msgid "see online documentation" +#~ msgstr "オンライン ドã‚ュメントを確èªã—ã¦ãã ã•ã„" + +#~ msgid "" +#~ "Brief advice: Create a wwan interface, configure it to use dhcp and add " +#~ "it to the wan zone in firewall. Create the wifi interfaces to be used " +#~ "('client' mode, assigned to wwan network, left as disabled). Travelmate " +#~ "will try to connect to the known wifi client interfaces in the defined " +#~ "order." +#~ msgstr "" +#~ "ç°¡å˜ãªè§£èª¬: 予ã‚WWANインターフェースを作æˆã—ã€DHCPを使用ã™ã‚‹ã‚ˆã†æ§‹æˆã—ã¦" +#~ "ファイアウォールã®WANゾーンã«è¿½åŠ ã—ã¾ã™ã€‚ã¾ãŸã€ä½¿ç”¨ã•ã‚Œã‚‹ç„¡ç·šã‚¤ãƒ³ã‚¿ãƒ¼" +#~ "フェースを作æˆã—ã¦ãŠãã¾ã™ï¼ˆ\"クライアント\" モードã€WWANã«å‰²ã‚Šå½“ã¦ã€ç„¡åŠ¹" +#~ "状態)。Travelmateã¯ã€ç™»éŒ²ã•ã‚Œã¦ã„ã‚‹é †åºã§æ—¢çŸ¥ã®ç„¡ç·šã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆ インター" +#~ "フェースã¸ã®æŽ¥ç¶šã‚’試行ã—ã¾ã™ã€‚" + +#~ msgid "" +#~ "Configuration of the Travelmate package to enable travel router " +#~ "functionality." +#~ msgstr "トラベル ルータ機能を有効ã«ã™ã‚‹ã€Travelmate パッケージã®è¨å®šã§ã™ã€‚" + +#~ msgid "Debug logging" +#~ msgstr "デãƒãƒƒã‚° ãƒã‚°" + +#~ msgid "Default 20, range 10-60" +#~ msgstr "既定値 20ã€ç¯„囲 10 - 60" + +#~ msgid "Default 3, range 1-10" +#~ msgstr "既定値 3ã€ç¯„囲 1 - 10" + +#~ msgid "Disable this if you want to use iwinfo instead of iw" +#~ msgstr "iw ã®ä»£ã‚ã‚Šã« iwinfo を使用ã—ãŸã„å ´åˆã€ã“ã®è¨å®šã‚’無効ã«ã—ã¾ã™ã€‚" + +#~ msgid "Enable Travelmate" +#~ msgstr "Travelmateã®æœ‰åŠ¹åŒ–" + +#~ msgid "Global options" +#~ msgstr "全般オプション" + +#~ msgid "Link to detailed advice" +#~ msgstr "詳細ãªè§£èª¬ã¸ã®ãƒªãƒ³ã‚¯" + +#~ msgid "Max. number of connection retries to an uplink" +#~ msgstr "確立ã¾ã§ã®æŽ¥ç¶šè©¦è¡Œå›žæ•°" + +#~ msgid "Max. timeout in seconds for wlan interface reload" +#~ msgstr "ç„¡ç·šLANインターフェース リãƒãƒ¼ãƒ‰æ™‚ã®æœ€å¤§å¾…機時間(秒)" + +#~ msgid "Restrict reload trigger to certain interface(s)" +#~ msgstr "リãƒãƒ¼ãƒ‰ トリガを特定ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã«é™å®šã™ã‚‹" + +#~ msgid "" +#~ "Space separated list of wwan interfaces that trigger reload action. To " +#~ "disable reload trigger set it to 'false'. Default: empty" +#~ msgstr "" +#~ "リãƒãƒ¼ãƒ‰å‹•ä½œã®ãƒˆãƒªã‚¬ã¨ãªã‚‹ã€ã‚¹ãƒšãƒ¼ã‚¹ã§åŒºåˆ‡ã‚‰ã‚ŒãŸWWAN インターフェースã®ãƒª" +#~ "ストã§ã™ã€‚リãƒãƒ¼ãƒ‰ã®ãƒˆãƒªã‚¬ã‚’無効ã«ã™ã‚‹ã«ã¯ã€'false' ã‚’è¨å®šã—ã¾ã™ã€‚既定値:" +#~ "(空)" + +#~ msgid "Use iw for scanning" +#~ msgstr "スã‚ャン㫠iw を使用ã™ã‚‹" #~ msgid "Default 3, range 0-10. Set to 0 to allow unlimited retries" #~ msgstr "既定値 3ã€ç¯„囲 0 - 10。å†è©¦è¡Œå›žæ•°ã‚’制é™ã—ãªã„å ´åˆã€0 ã«è¨å®šã—ã¾ã™ã€‚" diff --git a/applications/luci-app-travelmate/po/pt-br/travelmate.po b/applications/luci-app-travelmate/po/pt-br/travelmate.po new file mode 100644 index 0000000000..4eff34e3e1 --- /dev/null +++ b/applications/luci-app-travelmate/po/pt-br/travelmate.po @@ -0,0 +1,253 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: pt_BR\n" + +msgid "<br /> Network Interface 'trm_wwan' created successfully." +msgstr "" + +msgid "Add Interface" +msgstr "" + +msgid "" +"Additional trigger delay in seconds before travelmate processing begins." +msgstr "" + +msgid "Advanced" +msgstr "" + +msgid "" +"Automatically create a new wireless wan uplink interface 'trm_wwan', " +"configure it to use dhcp and" +msgstr "" + +msgid "" +"Configuration of the travelmate package to to enable travel router " +"functionality." +msgstr "" + +msgid "Connection Limit" +msgstr "" + +msgid "Create Uplink Interface" +msgstr "" + +msgid "Edit Firewall Configuration" +msgstr "" + +msgid "Edit Network Configuration" +msgstr "" + +msgid "Edit Travelmate Configuration" +msgstr "" + +msgid "Edit Wireless Configuration" +msgstr "" + +msgid "Enable 'automatic' mode" +msgstr "" + +msgid "Enable travelmate" +msgstr "" + +msgid "Enable verbose debug logging" +msgstr "" + +msgid "Extra options" +msgstr "Opções adicionais" + +msgid "" +"For further information <a href=\"%s\" target=\"_blank\">see online " +"documentation</a>" +msgstr "" + +msgid "How long should travelmate wait for a successful wlan interface reload" +msgstr "" + +msgid "How many times should travelmate try to connect to an Uplink" +msgstr "" + +msgid "Input file not found, please check your configuration." +msgstr "" + +msgid "Interface Setup" +msgstr "" + +msgid "Interface Timeout" +msgstr "" + +msgid "Keep travelmate in an active state." +msgstr "" + +msgid "Last rundate" +msgstr "" + +msgid "Online Status" +msgstr "" + +msgid "" +"Options for further tweaking in case the defaults are not suitable for you." +msgstr "" + +msgid "Overall Timeout" +msgstr "" + +msgid "Overview" +msgstr "" + +msgid "Radio selection" +msgstr "" + +msgid "Restrict interface trigger to certain interface(s)" +msgstr "" + +msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'" +msgstr "" + +msgid "Runtime information" +msgstr "" + +msgid "" +"Scan & Add new wireless stations via standard <a href=\"%s\">Wireless " +"Setup</a>" +msgstr "" + +msgid "" +"Space separated list of interfaces that trigger travelmate processing. To " +"disable event driven (re-)starts remove all entries." +msgstr "" + +msgid "Station Interface" +msgstr "" + +msgid "Station Radio" +msgstr "" + +msgid "Station SSID" +msgstr "" + +msgid "" +"This form allows you to modify the content of the main firewall " +"configuration file (/etc/config/firewall)." +msgstr "" + +msgid "" +"This form allows you to modify the content of the main network configuration " +"file (/etc/config/network)." +msgstr "" + +msgid "" +"This form allows you to modify the content of the main travelmate " +"configuration file (/etc/config/travelmate)." +msgstr "" + +msgid "" +"This form allows you to modify the content of the main wireless " +"configuration file (/etc/config/wireless)." +msgstr "" + +msgid "" +"This form shows the syslog output, pre-filtered for travelmate related " +"messages only." +msgstr "" + +msgid "Timeout in seconds between retries in 'automatic' mode" +msgstr "" + +msgid "Travelmate" +msgstr "Travelmate" + +msgid "Travelmate Logfile" +msgstr "" + +msgid "Travelmate version" +msgstr "" + +msgid "Trigger delay" +msgstr "" + +msgid "View Logfile" +msgstr "" + +msgid "" +"add it to the wan zone of the firewall. This step has only to be done once." +msgstr "" + +msgid "connected" +msgstr "" + +msgid "n/a" +msgstr "" + +msgid "not connected" +msgstr "" + +#~ msgid "" +#~ "Brief advice: Create a wwan interface, configure it to use dhcp and add " +#~ "it to the wan zone in firewall. Create the wifi interfaces to be used " +#~ "('client' mode, assigned to wwan network, left as disabled). Travelmate " +#~ "will try to connect to the known wifi client interfaces in the defined " +#~ "order." +#~ msgstr "" +#~ "Breve conselho: Crie uma interface wwan, configure-a para usar DHCP e " +#~ "adicione-a à zona wan no firewall. Crie as interfaces wifi a serem usadas " +#~ "(modo 'cliente', atribuÃdo à rede wwan, deixado como desativado). O " +#~ "Travelmate tentará se conectar à s interfaces de cliente wifi conhecidas " +#~ "na ordem definida." + +#~ msgid "" +#~ "Configuration of the Travelmate package to enable travel router " +#~ "functionality." +#~ msgstr "" +#~ "Configuração do pacote Travelmate para permitir a funcionalidade de " +#~ "roteador de viagem." + +#~ msgid "Debug logging" +#~ msgstr "Registros(log) para depuração" + +#~ msgid "Default 20, range 10-60" +#~ msgstr "Padrão 20, faixa 10-60" + +#~ msgid "Default 3, range 1-10" +#~ msgstr "Padrão 3, faixa 1-10" + +#~ msgid "Disable this if you want to use iwinfo instead of iw" +#~ msgstr "Desabilite isto se você quer usar o iwinfo ao invés do iw" + +#~ msgid "Enable Travelmate" +#~ msgstr "Habilitar o Travelmate" + +#~ msgid "Global options" +#~ msgstr "Opções Globais" + +#~ msgid "Link to detailed advice" +#~ msgstr "Endereço para conselhos detalhados" + +#~ msgid "Max. number of connection retries to an uplink" +#~ msgstr "Máximo número de tentativas de conexão para um enlace" + +#~ msgid "Max. timeout in seconds for wlan interface reload" +#~ msgstr "Tempo limite máximo em segundos para recarregar a interface wlan" + +#~ msgid "Restrict reload trigger to certain interface(s)" +#~ msgstr "Restringir o gatilho de recarga para somente alguma(s) interface(s)" + +#~ msgid "" +#~ "Space separated list of wwan interfaces that trigger reload action. To " +#~ "disable reload trigger set it to 'false'. Default: empty" +#~ msgstr "" +#~ "Lista separada por espaços de interfaces wwan que acionam a ação de " +#~ "recarga. Para desabilitar o gatilho de recarga, defina-o como 'false'. " +#~ "Padrão: vazio" + +#~ msgid "Use iw for scanning" +#~ msgstr "Use o iw para escaneamento" diff --git a/applications/luci-app-travelmate/po/templates/travelmate.pot b/applications/luci-app-travelmate/po/templates/travelmate.pot index 20628196b6..615c3a79ce 100644 --- a/applications/luci-app-travelmate/po/templates/travelmate.pot +++ b/applications/luci-app-travelmate/po/templates/travelmate.pot @@ -1,58 +1,181 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" +msgid "<br /> Network Interface 'trm_wwan' created successfully." +msgstr "" + +msgid "Add Interface" +msgstr "" + msgid "" -"Brief advice: Create a wwan interface, configure it to use dhcp and add it " -"to the wan zone in firewall. Create the wifi interfaces to be used ('client' " -"mode, assigned to wwan network, left as disabled). Travelmate will try to " -"connect to the known wifi client interfaces in the defined order." +"Additional trigger delay in seconds before travelmate processing begins." +msgstr "" + +msgid "Advanced" msgstr "" msgid "" -"Configuration of the Travelmate package to enable travel router " +"Automatically create a new wireless wan uplink interface 'trm_wwan', " +"configure it to use dhcp and" +msgstr "" + +msgid "" +"Configuration of the travelmate package to to enable travel router " "functionality." msgstr "" -msgid "Debug logging" +msgid "Connection Limit" +msgstr "" + +msgid "Create Uplink Interface" msgstr "" -msgid "Default 20, range 10-60" +msgid "Edit Firewall Configuration" msgstr "" -msgid "Default 3, range 1-10" +msgid "Edit Network Configuration" msgstr "" -msgid "Disable this if you want to use iwinfo instead of iw" +msgid "Edit Travelmate Configuration" msgstr "" -msgid "Enable Travelmate" +msgid "Edit Wireless Configuration" +msgstr "" + +msgid "Enable 'automatic' mode" +msgstr "" + +msgid "Enable travelmate" +msgstr "" + +msgid "Enable verbose debug logging" msgstr "" msgid "Extra options" msgstr "" -msgid "Global options" +msgid "" +"For further information <a href=\"%s\" target=\"_blank\">see online " +"documentation</a>" +msgstr "" + +msgid "How long should travelmate wait for a successful wlan interface reload" +msgstr "" + +msgid "How many times should travelmate try to connect to an Uplink" +msgstr "" + +msgid "Input file not found, please check your configuration." +msgstr "" + +msgid "Interface Setup" +msgstr "" + +msgid "Interface Timeout" +msgstr "" + +msgid "Keep travelmate in an active state." +msgstr "" + +msgid "Last rundate" +msgstr "" + +msgid "Online Status" +msgstr "" + +msgid "" +"Options for further tweaking in case the defaults are not suitable for you." +msgstr "" + +msgid "Overall Timeout" +msgstr "" + +msgid "Overview" msgstr "" -msgid "Link to detailed advice" +msgid "Radio selection" msgstr "" -msgid "Max. number of connection retries to an uplink" +msgid "Restrict interface trigger to certain interface(s)" msgstr "" -msgid "Max. timeout in seconds for wlan interface reload" +msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'" msgstr "" -msgid "Restrict reload trigger to certain interface(s)" +msgid "Runtime information" msgstr "" msgid "" -"Space separated list of wwan interfaces that trigger reload action. To " -"disable reload trigger set it to 'false'. Default: empty" +"Scan & Add new wireless stations via standard <a href=\"%s\">Wireless " +"Setup</a>" +msgstr "" + +msgid "" +"Space separated list of interfaces that trigger travelmate processing. To " +"disable event driven (re-)starts remove all entries." +msgstr "" + +msgid "Station Interface" +msgstr "" + +msgid "Station Radio" +msgstr "" + +msgid "Station SSID" +msgstr "" + +msgid "" +"This form allows you to modify the content of the main firewall " +"configuration file (/etc/config/firewall)." +msgstr "" + +msgid "" +"This form allows you to modify the content of the main network configuration " +"file (/etc/config/network)." +msgstr "" + +msgid "" +"This form allows you to modify the content of the main travelmate " +"configuration file (/etc/config/travelmate)." +msgstr "" + +msgid "" +"This form allows you to modify the content of the main wireless " +"configuration file (/etc/config/wireless)." +msgstr "" + +msgid "" +"This form shows the syslog output, pre-filtered for travelmate related " +"messages only." +msgstr "" + +msgid "Timeout in seconds between retries in 'automatic' mode" msgstr "" msgid "Travelmate" msgstr "" -msgid "Use iw for scanning" +msgid "Travelmate Logfile" +msgstr "" + +msgid "Travelmate version" +msgstr "" + +msgid "Trigger delay" +msgstr "" + +msgid "View Logfile" +msgstr "" + +msgid "" +"add it to the wan zone of the firewall. This step has only to be done once." +msgstr "" + +msgid "connected" +msgstr "" + +msgid "n/a" +msgstr "" + +msgid "not connected" msgstr "" diff --git a/applications/luci-app-uhttpd/Makefile b/applications/luci-app-uhttpd/Makefile index 9a2cf462e5..3014770665 100644 --- a/applications/luci-app-uhttpd/Makefile +++ b/applications/luci-app-uhttpd/Makefile @@ -11,16 +11,9 @@ LUCI_TITLE:=uHTTPd Webserver Configuration LUCI_DEPENDS:=+uhttpd LUCI_PKGARCH:=all -PKG_NAME:=luci-app-uhttpd -PKG_VERSION:=1.0.0 -PKG_RELEASE:=1 PKG_LICENSE:=Apache-2.0 PKG_MAINTAINER:=Daniel Dickinson <openwrt@daniel.thecshore.com> -PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) - -include $(INCLUDE_DIR)/package.mk - LUA_TARGET:=source include ../../luci.mk diff --git a/applications/luci-app-uhttpd/po/pt-br/uhttpd.po b/applications/luci-app-uhttpd/po/pt-br/uhttpd.po new file mode 100644 index 0000000000..af68b9e140 --- /dev/null +++ b/applications/luci-app-uhttpd/po/pt-br/uhttpd.po @@ -0,0 +1,208 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: pt_BR\n" + +msgid "" +"(/old/path=/new/path) or (just /old/path which becomes /cgi-prefix/old/path)" +msgstr "" +"(/old/path=/new/path) ou (just /old/path que se torna /cgi-prefix/old/path)" + +msgid "404 Error" +msgstr "Erro 404" + +msgid "A lightweight single-threaded HTTP(S) server" +msgstr "Um servidor HTTP(S) leve de únida thread." + +msgid "Advanced Settings" +msgstr "Opções Avançadas" + +msgid "Aliases" +msgstr "Pseudônimos (Aliases)" + +msgid "Base directory for files to be served" +msgstr "Diretório Base para publicar arquivos" + +msgid "Bind to specific interface:port (by specifying interface address" +msgstr "" +"Escute em uma interface:porta especÃfica (especificando o endereço da " +"interface" + +msgid "CGI filetype handler" +msgstr "Interpretador de tipo de arquivo CGI" + +msgid "CGI is disabled if not present." +msgstr "O CGI estará desabilitado se não presente." + +msgid "Config file (e.g. for credentials for Basic Auth)" +msgstr "Arquivo de configuração (ex: credenciais para autenticação básica)" + +msgid "Connection reuse" +msgstr "Reutilizar conexão" + +msgid "Country" +msgstr "PaÃs" + +msgid "Disable JSON-RPC authorization via ubus session API" +msgstr "Desabilita a autorização JSON-RPC através da API de sessão ubus" + +msgid "Do not follow symlinks outside document root" +msgstr "Não siga ligações simbólicas (symlinks) para fora do documento raiz" + +msgid "Do not generate directory listings." +msgstr "Não gere listagens de diretórios" + +msgid "Document root" +msgstr "Documento Raiz" + +msgid "E.g specify with index.html and index.php when using PHP" +msgstr "Ex: use index.html e index.php quando usar PHP" + +msgid "Embedded Lua interpreter is disabled if not present." +msgstr "O interpretador Lua embutido será desabilitado se não presente." + +msgid "Enable JSON-RPC Cross-Origin Resource Support" +msgstr "Habilite o suporte para recursos JSON-RPC de origem cruzada" + +msgid "For settings primarily geared to serving more than the web UI" +msgstr "Para ajustes envolvidos com mais do que prover a interface web" + +msgid "Full Web Server Settings" +msgstr "Configurações Completas do Servidor Web" + +msgid "Full real path to handler for Lua scripts" +msgstr "Caminho completo para o interpretador de scripts Lua" + +msgid "General Settings" +msgstr "Configurações Gerais" + +msgid "HTTP listeners (address:port)" +msgstr "Escutas do HTTP (endereço:porta)" + +msgid "HTTPS Certificate (DER Encoded)" +msgstr "Certificado do HTTPS (codificado em formato PEM)" + +msgid "HTTPS Private Key (DER Encoded)" +msgstr "Chave Privada do HTTPS (codificado como DER)" + +msgid "HTTPS listener (address:port)" +msgstr "Escuta do HTTPS (endereço:porta)" + +msgid "Ignore private IPs on public interface" +msgstr "Ignore endereços IP privados na interface pública" + +msgid "Index page(s)" +msgstr "Página(s) Ãndice(s)" + +msgid "" +"Interpreter to associate with file endings ('suffix=handler', e.g. '.php=/" +"usr/bin/php-cgi')" +msgstr "" +"Interpretador para associar com extensões de arquivos " +"('extensão=interpretador', ex: '.php=/usr/bin/php-cgi')" + +msgid "Length of key in bits" +msgstr "Comprimento da chave em bits" + +msgid "Location" +msgstr "Localização" + +msgid "Maximum number of connections" +msgstr "Número máximo de requisições para script" + +msgid "Maximum number of script requests" +msgstr "Número máximo de requisições para script" + +msgid "Maximum wait time for Lua, CGI, or ubus execution" +msgstr "Tempo máximo de espera para execuções de Lua, CGI ou ubus" + +msgid "Maximum wait time for network activity" +msgstr "Tempo máximo de espera para atividade na rede" + +msgid "Override path for ubus socket" +msgstr "Sobrescrever o caminho do socket ubus" + +msgid "Path prefix for CGI scripts" +msgstr "Prefixo do caminho para scripts CGI" + +msgid "" +"Prevent access from private (RFC1918) IPs on an interface if it has an " +"public IP address" +msgstr "" +"Evite acesso de endereços privados (RFC1918) na interface que tem um " +"endereço IP público" + +msgid "Realm for Basic Auth" +msgstr "Reino para Autenticação Simples" + +msgid "Redirect all HTTP to HTTPS" +msgstr "Redirecionar todo tráfego HTTP para HTTPS" + +msgid "Remove configuration for certificate and key" +msgstr "Remove a configuração para o certificado e chave" + +msgid "Remove old certificate and key" +msgstr "Remove os certificados e chaves antigas" + +msgid "Server Hostname" +msgstr "Nome do Servidor" + +msgid "" +"Settings which are either rarely needed or which affect serving the WebUI" +msgstr "Ajustes que são raramente usadas ou que afetam a interface web" + +msgid "State" +msgstr "Estado" + +msgid "TCP Keepalive" +msgstr "Manter conexões TCP abertas (Keepalive)" + +msgid "This permanently deletes the cert, key, and configuration to use same." +msgstr "Isto apaga permanentemente o certificado, a chave e a configuração." + +msgid "Valid for # of Days" +msgstr "Valido por # dias" + +msgid "" +"Virtual URL or CGI script to display on status '404 Not Found'. Must begin " +"with '/'" +msgstr "" +"URL virtual ou script CGI para mostrar quando ocorrer erro '404 Não " +"Encontrado'. Deve começar com '/'" + +msgid "Virtual path prefix for Lua scripts" +msgstr "Prefixo do caminho virtual para scripts Lua" + +msgid "Virtual path prefix for ubus via JSON-RPC integration" +msgstr "Prefixo do caminho virtual para o ubus através da integração JSON-RPC" + +msgid "Will not use HTTP authentication if not present" +msgstr "Não usar autenticação HTTP se não presente" + +msgid "a.k.a CommonName" +msgstr "também conhecido como Nome Comum" + +msgid "uHTTPd" +msgstr "uHTTPd" + +msgid "uHTTPd Self-signed Certificate Parameters" +msgstr "Parâmetros do Certificado Auto-assinado do uHTTPd" + +msgid "" +"uHTTPd will generate a new self-signed certificate using the configuration " +"shown below." +msgstr "" +"o uHTTPd gerará um certificado auto-assinado usando a configuração mostrada " +"abaixo." + +msgid "ubus integration is disabled if not present" +msgstr "A integração com o ubus será desativada se não presente" diff --git a/applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua b/applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua index f1bb450dd5..74b9d1d033 100644 --- a/applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua +++ b/applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua @@ -12,21 +12,21 @@ s.addremove = false s:tab("general", translate("General Settings")) s:tab("advanced", translate("Advanced Settings")) -e = s:taboption("general", Flag, "_init", translate("Start UPnP and NAT-PMP service")) +e = s:taboption("general", Flag, "enabled", translate("Start UPnP and NAT-PMP service")) e.rmempty = false -function e.cfgvalue(self, section) - return luci.sys.init.enabled("miniupnpd") and self.enabled or self.disabled -end +--function e.cfgvalue(self, section) +-- return luci.sys.init.enabled("miniupnpd") and self.enabled or self.disabled +--end function e.write(self, section, value) if value == "1" then - luci.sys.call("/etc/init.d/miniupnpd enable >/dev/null") luci.sys.call("/etc/init.d/miniupnpd start >/dev/null") else luci.sys.call("/etc/init.d/miniupnpd stop >/dev/null") - luci.sys.call("/etc/init.d/miniupnpd disable >/dev/null") end + + return Flag.write(self, section, value) end s:taboption("general", Flag, "enable_upnp", translate("Enable UPnP functionality")).default = "1" diff --git a/applications/luci-app-upnp/root/etc/uci-defaults/40_luci-miniupnp b/applications/luci-app-upnp/root/etc/uci-defaults/40_luci-miniupnp index a338c75d35..e9636f9a28 100755 --- a/applications/luci-app-upnp/root/etc/uci-defaults/40_luci-miniupnp +++ b/applications/luci-app-upnp/root/etc/uci-defaults/40_luci-miniupnp @@ -3,7 +3,7 @@ uci -q batch <<-EOF >/dev/null delete ucitrack.@upnpd[-1] add ucitrack upnpd - set ucitrack.@upnpd[-1]=miniupnpd + set ucitrack.@upnpd[-1].init=miniupnpd commit ucitrack EOF diff --git a/applications/luci-app-vpnbypass/Makefile b/applications/luci-app-vpnbypass/Makefile index e26fe273cc..0ca74ae38a 100644 --- a/applications/luci-app-vpnbypass/Makefile +++ b/applications/luci-app-vpnbypass/Makefile @@ -9,7 +9,8 @@ PKG_MAINTAINER:=Stan Grishin <stangri@melmac.net> LUCI_TITLE:=VPN Bypass Web UI LUCI_DEPENDS:=+vpnbypass LUCI_PKGARCH:=all +PKG_RELEASE:=1 include ../../luci.mk -# call BuildPackage - OpenWrt buildroot signature
\ No newline at end of file +# call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua b/applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua index 6ed52ddba5..b35a8e4e02 100644 --- a/applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua +++ b/applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua @@ -1,30 +1,53 @@ +readmeURL = "https://github.com/openwrt/packages/blob/master/net/vpnbypass/files/README.md" + m = Map("vpnbypass", translate("VPN Bypass Settings")) s = m:section(NamedSection, "config", "vpnbypass") -- General options -o1 = s:option(Flag, "enabled", translate("Enable VPN Bypass")) -o1.rmempty = false -o1.default = 0 +e = s:option(Flag, "enabled", translate("Enable/start service")) +e.rmempty = false + +function e.cfgvalue(self, section) + return self.map:get(section, "enabled") == "1" and luci.sys.init.enabled("vpnbypass") and self.enabled or self.disabled +end + +function e.write(self, section, value) + if value == "1" then + luci.sys.call("/etc/init.d/vpnbypass enable >/dev/null") + luci.sys.call("/etc/init.d/vpnbypass start >/dev/null") + else + luci.sys.call("/etc/init.d/vpnbypass stop >/dev/null") + end + return Flag.write(self, section, value) +end -- Local Ports p1 = s:option(DynamicList, "localport", translate("Local Ports to Bypass"), translate("Local ports to trigger VPN Bypass")) -p1.addremove = true -p1.optional = true +p1.datatype = "portrange" +-- p1.placeholder = "0-65535" +p1.addremove = false +p1.optional = false -- Remote Ports p2 = s:option(DynamicList, "remoteport", translate("Remote Ports to Bypass"), translate("Remote ports to trigger VPN Bypass")) -p2.addremove = true -p2.optional = true +p2.datatype = "portrange" +-- p2.placeholder = "0-65535" +p2.addremove = false +p2.optional = false -- Local Subnets -r1 = s:option(DynamicList, "localsubnet", translate("Local IP Subnets to Bypass"), translate("Local IP ranges with direct internet access (outside of the VPN tunnel)")) -r1.addremove = true -r1.optional = true +r1 = s:option(DynamicList, "localsubnet", translate("Local IP Addresses to Bypass"), translate("Local IP addresses or subnets with direct internet access (outside of the VPN tunnel)")) +r1.datatype = "ip4addr" +-- r1.placeholder = luci.ip.new(uci.cursor():get("network", "lan", "ipaddr") .. "/" .. uci.cursor():get("network", "lan", "netmask")) +r1.addremove = false +r1.optional = false -- Remote Subnets -r2 = s:option(DynamicList, "remotesubnet", translate("Remote IP Subnets to Bypass"), translate("Remote IP ranges which will be accessed directly (outside of the VPN tunnel)")) -r2.addremove = true -r2.optional = true +r2 = s:option(DynamicList, "remotesubnet", translate("Remote IP Addresses to Bypass"), translate("Remote IP addresses or subnets which will be accessed directly (outside of the VPN tunnel)")) +r2.datatype = "ip4addr" +-- r2.placeholder = "0.0.0.0/0" +r2.addremove = false +r2.optional = false -- Domains d = Map("dhcp") @@ -32,7 +55,7 @@ s4 = d:section(TypedSection, "dnsmasq") s4.anonymous = true di = s4:option(DynamicList, "ipset", translate("Domains to Bypass"), translate("Domains to be accessed directly (outside of the VPN tunnel), see ") - .. [[<a href="https://github.com/openwrt/packages/tree/master/net/vpnbypass/files#bypass-domains-formatsyntax" target="_blank">]] + .. [[<a href="]] .. readmeURL .. [[#bypass-domains-formatsyntax" target="_blank">]] .. translate("README") .. [[</a>]] .. translate(" for syntax")) return m, d diff --git a/applications/luci-app-vpnbypass/po/pt-br/vpnbypass.po b/applications/luci-app-vpnbypass/po/pt-br/vpnbypass.po new file mode 100644 index 0000000000..9f3fa2a679 --- /dev/null +++ b/applications/luci-app-vpnbypass/po/pt-br/vpnbypass.po @@ -0,0 +1,90 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: pt_BR\n" + +msgid "Domains to Bypass" +msgstr "DomÃnios para evitar a VPN" + +msgid "Domains to be accessed directly (outside of the VPN tunnel), see" +msgstr "" + +msgid "Enable/start service" +msgstr "" + +msgid "Local IP Addresses to Bypass" +msgstr "" + +msgid "" +"Local IP addresses or subnets with direct internet access (outside of the " +"VPN tunnel)" +msgstr "" + +msgid "Local Ports to Bypass" +msgstr "Portas locais para evitar a VPN" + +msgid "Local ports to trigger VPN Bypass" +msgstr "Portas locais para disparar o VPN Bypass" + +msgid "README" +msgstr "" + +msgid "Remote IP Addresses to Bypass" +msgstr "" + +msgid "" +"Remote IP addresses or subnets which will be accessed directly (outside of " +"the VPN tunnel)" +msgstr "" + +msgid "Remote Ports to Bypass" +msgstr "Portas remotas para evitar a VPN" + +msgid "Remote ports to trigger VPN Bypass" +msgstr "Portas remotas para disparar o VPN Bypass" + +msgid "VPN Bypass" +msgstr "VPN Bypass" + +msgid "VPN Bypass Settings" +msgstr "Configurações do VPN Bypass" + +msgid "for syntax" +msgstr "" + +#~ msgid "Enable VPN Bypass" +#~ msgstr "Habilitar o VPN Bypass" + +#~ msgid "Configuration of VPN Bypass Settings" +#~ msgstr "Configurações do VPN Bypass" + +#~ msgid "Domains which will be accessed directly (outside of the VPN tunnel)" +#~ msgstr "DomÃnios que serão acessados diretamente (fora do túnel VPN)" + +#~ msgid "Local IP Subnets to Bypass" +#~ msgstr "Subredes IP locais para evitar a VPN" + +#~ msgid "" +#~ "Local IP ranges with direct internet access (outside of the VPN tunnel)" +#~ msgstr "" +#~ "Faixa de endereços IP locais que terão acesso internet direto (fora do " +#~ "túnel VPN)" + +#~ msgid "Remote IP Subnets to Bypass" +#~ msgstr "Subredes IP remotas para evitar a VPN" + +#~ msgid "" +#~ "Remote IP ranges which will be accessed directly (outside of the VPN " +#~ "tunnel)" +#~ msgstr "" +#~ "Faixa de endereços IP remotos que serão acessados diretamente (fora do " +#~ "túnel VPN)" diff --git a/applications/luci-app-vpnbypass/po/templates/vpnbypass.pot b/applications/luci-app-vpnbypass/po/templates/vpnbypass.pot index 144adedc46..fd92b5e8a8 100644 --- a/applications/luci-app-vpnbypass/po/templates/vpnbypass.pot +++ b/applications/luci-app-vpnbypass/po/templates/vpnbypass.pot @@ -7,13 +7,15 @@ msgstr "" msgid "Domains to be accessed directly (outside of the VPN tunnel), see" msgstr "" -msgid "Enable VPN Bypass" +msgid "Enable/start service" msgstr "" -msgid "Local IP Subnets to Bypass" +msgid "Local IP Addresses to Bypass" msgstr "" -msgid "Local IP ranges with direct internet access (outside of the VPN tunnel)" +msgid "" +"Local IP addresses or subnets with direct internet access (outside of the " +"VPN tunnel)" msgstr "" msgid "Local Ports to Bypass" @@ -25,11 +27,12 @@ msgstr "" msgid "README" msgstr "" -msgid "Remote IP Subnets to Bypass" +msgid "Remote IP Addresses to Bypass" msgstr "" msgid "" -"Remote IP ranges which will be accessed directly (outside of the VPN tunnel)" +"Remote IP addresses or subnets which will be accessed directly (outside of " +"the VPN tunnel)" msgstr "" msgid "Remote Ports to Bypass" diff --git a/applications/luci-app-watchcat/po/pt-br/watchcat.po b/applications/luci-app-watchcat/po/pt-br/watchcat.po index fe97036379..e37066c3d9 100644 --- a/applications/luci-app-watchcat/po/pt-br/watchcat.po +++ b/applications/luci-app-watchcat/po/pt-br/watchcat.po @@ -1,15 +1,16 @@ msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2014-03-29 23:20+0200\n" -"Last-Translator: Luiz Angelo <luizluca@gmail.com>\n" +"Project-Id-Version: \n" +"PO-Revision-Date: 2017-02-20 18:10-0300\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" "Language-Team: none\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Pootle 2.0.6\n" +"X-Generator: Poedit 1.8.11\n" +"POT-Creation-Date: \n" msgid "Forced reboot delay" msgstr "Atraso para reinÃcio forçado" @@ -51,15 +52,13 @@ msgstr "PerÃodo de ping" msgid "Watchcat" msgstr "Watchcat" -#, fuzzy msgid "" "Watchcat allows configuring a periodic reboot when the Internet connection " "has been lost for a certain period of time." msgstr "" -"Watchcat permite que se configure um perÃodo para reiniciar e/ou quando a " +"Watchcat permite a configuração de um perÃodo para reiniciar e/ou quando a " "conexão com à Internet foi perdida por um ser perÃodo de tempo." -#, fuzzy msgid "" "When rebooting the system, the watchcat will trigger a soft reboot. Entering " "a non zero value here will trigger a delayed hard reboot if the soft reboot " diff --git a/applications/luci-app-wifischedule/po/pt-br/wifischedule.po b/applications/luci-app-wifischedule/po/pt-br/wifischedule.po new file mode 100644 index 0000000000..19e31b54ca --- /dev/null +++ b/applications/luci-app-wifischedule/po/pt-br/wifischedule.po @@ -0,0 +1,114 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: pt_BR\n" + +msgid "Activate wifi" +msgstr "Ativar a WiFi" + +msgid "Could not find required /usr/bin/wifi_schedule.sh or /sbin/wifi" +msgstr "" +"Não foi possÃvel localizar os programas necessários '/usr/bin/wifi_schedule." +"sh' ou '/sbin/wifi'." + +msgid "Could not find required programm /usr/bin/iwinfo" +msgstr "Não foi possÃvel localizar o programa necessário '/usr/bin/iwinfo'" + +msgid "Cron Jobs" +msgstr "Tarefas da Cron" + +msgid "Day(s) of Week" +msgstr "Dia(s) da semana" + +msgid "Defines a schedule when to turn on and off wifi." +msgstr "Define um agendamento para quando ligar ou desligar a WiFi." + +msgid "Determine Modules Automatically" +msgstr "Determinar os Módulos Automaticamente" + +msgid "Disable wifi gracefully" +msgstr "Desabilitar a WiFi amistosamente" + +msgid "Disabled wifi forced" +msgstr "WiFi foi desabilitada de forma forçada." + +msgid "Enable" +msgstr "Habilitar" + +msgid "Enable Wifi Schedule" +msgstr "Habilitar o agendamento da WiFi" + +msgid "Enable logging" +msgstr "Habilite os registros (log)" + +msgid "Force disabling wifi even if stations associated" +msgstr "Force a desativação da WiFi mesmo se existirem estações associadas " + +msgid "Friday" +msgstr "Sexta-feira" + +msgid "Global Settings" +msgstr "Configurações Globais" + +msgid "Monday" +msgstr "Segunda-Feira" + +msgid "Saturday" +msgstr "Sábado" + +msgid "Schedule" +msgstr "Agendamento" + +msgid "Schedule events" +msgstr "Eventos do agendamento" + +msgid "Start Time" +msgstr "Hora Inicial" + +msgid "Start WiFi" +msgstr "Iniciar WiFi" + +msgid "Stop Time" +msgstr "Hora Final" + +msgid "Stop WiFi" +msgstr "Parar WiFi" + +msgid "Sunday" +msgstr "Domingo" + +msgid "The value %s is invalid" +msgstr "O valor %s é inválido" + +msgid "Thursday" +msgstr "Quita-feira" + +msgid "Tuesday" +msgstr "Terça-feira" + +msgid "Unload Modules (experimental; saves more power)" +msgstr "Descarregar Módulos (experimental, poupa mais energia)" + +msgid "View Cron Jobs" +msgstr "Visualizar Tarefas da Cron" + +msgid "View Logfile" +msgstr "Visualizar o Arquivo de Registros (log)" + +msgid "Wednesday" +msgstr "Quarta-feira" + +msgid "Wifi Schedule" +msgstr "Agendamento da Wifi" + +msgid "Wifi Schedule Logfile" +msgstr "Arquivo de Registros (log) do Agendamento da Wifi" diff --git a/applications/luci-app-wireguard/Makefile b/applications/luci-app-wireguard/Makefile new file mode 100644 index 0000000000..92cdcf2700 --- /dev/null +++ b/applications/luci-app-wireguard/Makefile @@ -0,0 +1,17 @@ +# +# Copyright (C) 2016-2017 Dan Luedtke <mail@danrl.com> +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=WireGuard Status +LUCI_DEPENDS:=+wireguard-tools +kmod-wireguard +LUCI_PKGARCH:=all + +PKG_MAINTAINER:=Dan Luedtke <mail@danrl.com> + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-wireguard/luasrc/controller/wireguard.lua b/applications/luci-app-wireguard/luasrc/controller/wireguard.lua new file mode 100644 index 0000000000..68a82fe5cc --- /dev/null +++ b/applications/luci-app-wireguard/luasrc/controller/wireguard.lua @@ -0,0 +1,8 @@ +-- Copyright 2016-2017 Dan Luedtke <mail@danrl.com> +-- Licensed to the public under the Apache License 2.0. + +module("luci.controller.wireguard", package.seeall) + +function index() + entry({"admin", "status", "wireguard"}, template("wireguard"), _("WireGuard Status"), 92) +end diff --git a/applications/luci-app-wireguard/luasrc/view/wireguard.htm b/applications/luci-app-wireguard/luasrc/view/wireguard.htm new file mode 100644 index 0000000000..5b5d59a969 --- /dev/null +++ b/applications/luci-app-wireguard/luasrc/view/wireguard.htm @@ -0,0 +1,209 @@ +<%# + Copyright 2016-2017 Dan Luedtke <mail@danrl.com> + Licensed to the public under the Apache License 2.0. +-%> + +<% + local data = { } + local last_device = "" + + local wg_dump = io.popen("wg show all dump") + if wg_dump then + local line + for line in wg_dump:lines() do + local line = string.split(line, "\t") + if not (last_device == line[1]) then + last_device = line[1] + data[line[1]] = { + name = line[1], + public_key = line[3], + listen_port = line[5], + fwmark = line[6], + peers = { } + } + else + local peer = { + public_key = line[2], + endpoint = line[3], + allowed_ips = { }, + latest_handshake = line[5], + transfer_rx = line[6], + transfer_tx = line[7], + persistent_keepalive = line[8] + } + if not (line[4] == '(none)') then + for ipkey, ipvalue in pairs(string.split(line[4], ",")) do + if #ipvalue > 0 then + table.insert(peer['allowed_ips'], ipvalue) + end + end + end + table.insert(data[line[1]].peers, peer) + end + end + end + + if luci.http.formvalue("status") == "1" then + luci.http.prepare_content("application/json") + luci.http.write_json(data) + return + end +-%> + +<%+header%> + +<script type="text/javascript" src="<%=resource%>/cbi.js"></script> +<script type="text/javascript">//<![CDATA[ + + function bytes_to_str(bytes) { + bytes = parseFloat(bytes); + if (bytes < 1) { return "0 B"; } + var sizes = ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB']; + var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024))); + return Math.round(bytes / Math.pow(1024, i), 2) + ' ' + sizes[i]; + }; + + function timestamp_to_str(timestamp) { + if (timestamp < 1) { + return '<%:Never%>'; + } + var now = new Date(); + var seconds = (now.getTime() / 1000) - timestamp; + var ago = ""; + if (seconds < 60) { + ago = parseInt(seconds) + '<%:s ago%>'; + } else if (seconds < 3600) { + ago = parseInt(seconds / 60) + '<%:m ago%>'; + } else if (seconds < 86401) { + ago = parseInt(seconds / 3600) + '<%:h ago%>'; + } else { + ago = '<%:over a day ago%>'; + } + var t = new Date(timestamp * 1000); + return t.toUTCString() + ' (' + ago + ')'; + } + + XHR.poll(5, '<%=REQUEST_URI%>', { status: 1 }, + function(x, data) { + for (var key in data) { + if (!data.hasOwnProperty(key)) { continue; } + var ifname = key; + var iface = data[key]; + var s = ""; + if (iface.public_key == '(none)') { + s += '<em><%:Interface does not have a public key!%></em>'; + } else { + s += String.format( + '<strong><%:Public Key%>: </strong>%s', + iface.public_key + ); + } + if (iface.listen_port > 0) { + s += String.format( + '<br /><strong><%:Listen Port%>: </strong>%s', + iface.listen_port + ); + } + if (iface.fwmark != 'off') { + s += String.format( + '<br /><strong><%:Firewall Mark%>: </strong>%s', + iface.fwmark + ); + } + document.getElementById(ifname + "_info").innerHTML = s; + for (var i = 0, ilen = iface.peers.length; i < ilen; i++) { + var peer = iface.peers[i]; + var s = String.format( + '<strong><%:Public Key%>: </strong>%s', + peer.public_key + ); + if (peer.endpoint != '(none)') { + s += String.format( + '<br /><strong><%:Endpoint%>: </strong>%s', + peer.endpoint + ); + } + if (peer.allowed_ips.length > 0) { + s += '<br /><strong><%:Allowed IPs%>:</strong>'; + for (var k = 0, klen = peer.allowed_ips.length; k < klen; k++) { + s += '<br /> • ' + peer.allowed_ips[k]; + } + } + if (peer.persistent_keepalive != 'off') { + s += String.format( + '<br /><strong><%:Persistent Keepalive%>: </strong>%ss', + peer.persistent_keepalive + ); + } + var icon = '<img src="<%=resource%>/icons/tunnel_disabled.png" />'; + var now = new Date(); + if (((now.getTime() / 1000) - peer.latest_handshake) < 140) { + icon = '<img src="<%=resource%>/icons/tunnel.png" />'; + } + s += String.format( + '<br /><strong><%:Latest Handshake%>: </strong>%s', + timestamp_to_str(peer.latest_handshake) + ); + s += String.format( + '<br /><strong><%:Data Received%>: </strong>%s' + + '<br /><strong><%:Data Transmitted%>: </strong>%s', + bytes_to_str(peer.transfer_rx), + bytes_to_str(peer.transfer_tx) + ); + document.getElementById(ifname + "_" + peer.public_key + "_icon").innerHTML = icon; + document.getElementById(ifname + "_" + peer.public_key + "_info").innerHTML = s; + } + } + }); +//]]></script> + +<h2>WireGuard Status</h2> + +<fieldset class="cbi-section"> +<%- +for ikey, iface in pairs(data) do + -%> + <legend><%:Interface%> <%=ikey%></legend> + <table width="100%" cellspacing="10"> + <tr> + <td width="33%" style="vertical-align:top"><%:Configuration%></td> + <td> + <table> + <tr> + <td id="<%=ikey%>_icon" style="width:16px; text-align:center; padding:3px"> + + </td> + <td id="<%=ikey%>_info" style="vertical-align:middle; padding: 3px"> + <em><%:Collecting data...%></em> + </td> + </tr></table> + </td> + </tr> + <%- + for pkey, peer in pairs(iface.peers) do + -%> + <tr> + <td width="33%" style="vertical-align:top"><%:Peer%></td> + <td> + <table> + <tr> + <td id="<%=ikey%>_<%=peer.public_key%>_icon" style="width:16px; text-align:center; padding:3px"> + <img src="<%=resource%>/icons/tunnel_disabled.png" /><br /> + <small>?</small> + </td> + <td id="<%=ikey%>_<%=peer.public_key%>_info" style="vertical-align:middle; padding: 3px"> + <em><%:Collecting data...%></em> + </td> + </tr></table> + </td> + </tr> + <%- + end + -%> + </table> + <%- +end +-%> +</fieldset> + +<%+footer%> diff --git a/applications/luci-app-wireguard/po/ja/wireguard.po b/applications/luci-app-wireguard/po/ja/wireguard.po new file mode 100644 index 0000000000..5cd7a90037 --- /dev/null +++ b/applications/luci-app-wireguard/po/ja/wireguard.po @@ -0,0 +1,74 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2017-02-28 00:31+0900\n" +"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n" +"Language-Team: \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.12\n" +"X-Poedit-Basepath: .\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Allowed IPs" +msgstr "許å¯ã•ã‚ŒãŸIP" + +msgid "Collecting data..." +msgstr "データåŽé›†ä¸ã§ã™..." + +msgid "Configuration" +msgstr "è¨å®š" + +msgid "Data Received" +msgstr "å—信済ã¿ãƒ‡ãƒ¼ã‚¿" + +msgid "Data Transmitted" +msgstr "é€ä¿¡æ¸ˆã¿ãƒ‡ãƒ¼ã‚¿" + +msgid "Endpoint" +msgstr "エンドãƒã‚¤ãƒ³ãƒˆ" + +msgid "Firewall Mark" +msgstr "ファイアウォール マーク" + +msgid "Interface" +msgstr "インターフェース" + +msgid "Interface does not have a public key!" +msgstr "インターフェースã«å…¬é–‹éµãŒã‚ã‚Šã¾ã›ã‚“ï¼" + +msgid "Latest Handshake" +msgstr "最新ã®ãƒãƒ³ãƒ‰ã‚·ã‚§ã‚¤ã‚¯" + +msgid "Listen Port" +msgstr "å¾…ã¡å—ã‘ãƒãƒ¼ãƒˆ" + +msgid "Never" +msgstr "ç„¡ã—" + +msgid "Peer" +msgstr "ピア" + +msgid "Persistent Keepalive" +msgstr "永続的ãªã‚ープアライブ" + +msgid "Public Key" +msgstr "公開éµ" + +msgid "WireGuard Status" +msgstr "WireGuard ステータス" + +msgid "h ago" +msgstr "時間å‰" + +msgid "m ago" +msgstr "分å‰" + +msgid "over a day ago" +msgstr "1日以上å‰" + +msgid "s ago" +msgstr "秒å‰" diff --git a/applications/luci-app-wireguard/po/pt-br/wireguard.po b/applications/luci-app-wireguard/po/pt-br/wireguard.po new file mode 100644 index 0000000000..d3b5059d5f --- /dev/null +++ b/applications/luci-app-wireguard/po/pt-br/wireguard.po @@ -0,0 +1,73 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: pt_BR\n" + +msgid "Allowed IPs" +msgstr "Endereços IP autorizados" + +msgid "Collecting data..." +msgstr "Coletando dados..." + +msgid "Configuration" +msgstr "Configuração" + +msgid "Data Received" +msgstr "Dados Recebidos" + +msgid "Data Transmitted" +msgstr "Dados Enviados" + +msgid "Endpoint" +msgstr "Equipamento do ponto final" + +msgid "Firewall Mark" +msgstr "Marca do Firewall" + +msgid "Interface" +msgstr "Interface" + +msgid "Interface does not have a public key!" +msgstr "A interface não tem uma chave pública!" + +msgid "Latest Handshake" +msgstr "Última Negociação" + +msgid "Listen Port" +msgstr "Porta de Escuta" + +msgid "Never" +msgstr "Nunca" + +msgid "Peer" +msgstr "Parceiro" + +msgid "Persistent Keepalive" +msgstr "Manter Conexões Abertas (Keepalive)" + +msgid "Public Key" +msgstr "Chave Pública" + +msgid "WireGuard Status" +msgstr "Estado do WireGuard" + +msgid "h ago" +msgstr "horas atrás" + +msgid "m ago" +msgstr "meses atrás" + +msgid "over a day ago" +msgstr "mais de um dia atrás" + +msgid "s ago" +msgstr "segundos atrás" diff --git a/applications/luci-app-wireguard/po/templates/wireguard.pot b/applications/luci-app-wireguard/po/templates/wireguard.pot new file mode 100644 index 0000000000..9ec5c60048 --- /dev/null +++ b/applications/luci-app-wireguard/po/templates/wireguard.pot @@ -0,0 +1,62 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +msgid "Allowed IPs" +msgstr "" + +msgid "Collecting data..." +msgstr "" + +msgid "Configuration" +msgstr "" + +msgid "Data Received" +msgstr "" + +msgid "Data Transmitted" +msgstr "" + +msgid "Endpoint" +msgstr "" + +msgid "Firewall Mark" +msgstr "" + +msgid "Interface" +msgstr "" + +msgid "Interface does not have a public key!" +msgstr "" + +msgid "Latest Handshake" +msgstr "" + +msgid "Listen Port" +msgstr "" + +msgid "Never" +msgstr "" + +msgid "Peer" +msgstr "" + +msgid "Persistent Keepalive" +msgstr "" + +msgid "Public Key" +msgstr "" + +msgid "WireGuard Status" +msgstr "" + +msgid "h ago" +msgstr "" + +msgid "m ago" +msgstr "" + +msgid "over a day ago" +msgstr "" + +msgid "s ago" +msgstr "" diff --git a/applications/luci-app-wireguard/po/zh-cn/wireguard.po b/applications/luci-app-wireguard/po/zh-cn/wireguard.po new file mode 100644 index 0000000000..e873a83891 --- /dev/null +++ b/applications/luci-app-wireguard/po/zh-cn/wireguard.po @@ -0,0 +1,73 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.1\n" +"Last-Translator: liushuyu <liushuyu011@gmail.com>\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Language: zh_CN\n" + +msgid "Allowed IPs" +msgstr "å…许的 IP" + +msgid "Collecting data..." +msgstr "æ£åœ¨æ”¶é›†æ•°æ®..." + +msgid "Configuration" +msgstr "é…ç½®" + +msgid "Data Received" +msgstr "已接收" + +msgid "Data Transmitted" +msgstr "å·²å‘é€" + +msgid "Endpoint" +msgstr "ä¼ è¾“ç«¯ç‚¹" + +msgid "Firewall Mark" +msgstr "防ç«å¢™æ ‡è¯†" + +msgid "Interface" +msgstr "接å£" + +msgid "Interface does not have a public key!" +msgstr "接å£æ²¡æœ‰é…置公钥ï¼" + +msgid "Latest Handshake" +msgstr "上次æ¡æ‰‹" + +msgid "Listen Port" +msgstr "监å¬ç«¯å£" + +msgid "Never" +msgstr "从ä¸" + +msgid "Peer" +msgstr "对端" + +msgid "Persistent Keepalive" +msgstr "Keepalive 间隔(秒)" + +msgid "Public Key" +msgstr "公钥" + +msgid "WireGuard Status" +msgstr "WireGuard 状æ€" + +msgid "h ago" +msgstr "å°æ—¶å‰" + +msgid "m ago" +msgstr "分钟å‰" + +msgid "over a day ago" +msgstr "超过一天å‰" + +msgid "s ago" +msgstr "秒å‰" diff --git a/applications/luci-app-wol/po/pt-br/wol.po b/applications/luci-app-wol/po/pt-br/wol.po index 6195e4cba4..783ec0bc0d 100644 --- a/applications/luci-app-wol/po/pt-br/wol.po +++ b/applications/luci-app-wol/po/pt-br/wol.po @@ -2,18 +2,18 @@ # msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-04-19 00:29+0200\n" -"PO-Revision-Date: 2011-10-11 20:31+0200\n" -"Last-Translator: Luiz Angelo <luizluca@gmail.com>\n" +"PO-Revision-Date: 2017-02-20 18:13-0300\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" "Language-Team: none\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Pootle 2.0.4\n" +"X-Generator: Poedit 1.8.11\n" msgid "Broadcast on all interfaces" msgstr "Broadcast em todas as interfaces" @@ -28,14 +28,13 @@ msgid "Network interface to use" msgstr "Interfaces de rede para usar" msgid "Send to broadcast address" -msgstr "" +msgstr "Enviar para o endereço de broadcast" -#, fuzzy msgid "" "Sometimes only one of the two tools works. If one fails, try the other one" msgstr "" -"Algumas vezes, somente uma das ferramentas funciona. Se uma delas falhar, " -"tente a outra" +"Algumas vezes, somente uma das duas ferramentas funciona. Se uma delas " +"falhar, tente a outra" msgid "Specifies the interface the WoL packet is sent on" msgstr "Especifica a interface para onde os pacotes de WoL serão enviados" diff --git a/build/zoneinfo2lua.pl b/build/zoneinfo2lua.pl index d3f0403263..1a0bee1c68 100755 --- a/build/zoneinfo2lua.pl +++ b/build/zoneinfo2lua.pl @@ -46,6 +46,34 @@ while( ! eof ZTAB ) { close ZTAB; +# Add Etc/GMT zones from manually as they are not in zone.tab +$TZ{"Etc/GMT"} = "GMT0"; +$TZ{"Etc/GMT-1"} = "<+01>-1"; +$TZ{"Etc/GMT-2"} = "<+02>-2"; +$TZ{"Etc/GMT-3"} = "<+03>-3"; +$TZ{"Etc/GMT-4"} = "<+04>-4"; +$TZ{"Etc/GMT-5"} = "<+05>-5"; +$TZ{"Etc/GMT-6"} = "<+06>-6"; +$TZ{"Etc/GMT-7"} = "<+07>-7"; +$TZ{"Etc/GMT-8"} = "<+08>-8"; +$TZ{"Etc/GMT-9"} = "<+09>-9"; +$TZ{"Etc/GMT-10"} = "<+10>-10"; +$TZ{"Etc/GMT-11"} = "<+11>-11"; +$TZ{"Etc/GMT-12"} = "<+12>-12"; +$TZ{"Etc/GMT-13"} = "<+13>-13"; +$TZ{"Etc/GMT-14"} = "<+14>-14"; +$TZ{"Etc/GMT+1"} = "<-01>1"; +$TZ{"Etc/GMT+2"} = "<-02>2"; +$TZ{"Etc/GMT+3"} = "<-03>3"; +$TZ{"Etc/GMT+4"} = "<-04>4"; +$TZ{"Etc/GMT+5"} = "<-05>5"; +$TZ{"Etc/GMT+6"} = "<-06>6"; +$TZ{"Etc/GMT+7"} = "<-07>7"; +$TZ{"Etc/GMT+8"} = "<-08>8"; +$TZ{"Etc/GMT+9"} = "<-09>9"; +$TZ{"Etc/GMT+10"} = "<-10>10"; +$TZ{"Etc/GMT+11"} = "<-11>11"; +$TZ{"Etc/GMT+12"} = "<-12>12"; open(O, "> $tzdout/tzdata.lua") || die "open($tzdout/tzdata.lua): $!\n"; diff --git a/contrib/package/community-profiles/files/etc/config/profile_potsdam b/contrib/package/community-profiles/files/etc/config/profile_potsdam index c15624a9fd..9bdb603239 100644 --- a/contrib/package/community-profiles/files/etc/config/profile_potsdam +++ b/contrib/package/community-profiles/files/etc/config/profile_potsdam @@ -1,19 +1,35 @@ config 'community' 'profile' option 'name' 'Freifunk Potsdam' option 'homepage' 'http://potsdam.freifunk.net' - option 'ssid' 'www.freifunk-potsdam.de' + option 'ssid' 'Freifunk-Potsdam-XXX-YYY' option 'mesh_network' '10.22.0.0/16' option 'splash_network' '192.168.22.0/24' option 'splash_prefix' '24' option 'latitude' '52.39349' option 'longitude' '13.06489' + option 'ipv6' '0' + +config 'defaults' 'interface' + option 'netmask' '255.255.0.0' + option 'dns' '85.214.20.141 213.73.91.35 194.150.168.168' + option 'delegate' '0' config 'defaults' 'wifi_device' option 'channel' '5' +config 'defaults' 'wifi_device_5' + option 'channel' '44' + config 'defaults' 'bssidscheme' option '5' '02:CA:FF:EE:BA:BE' + option '44' '02:CA:FF:EE:BA:BE' -config 'defaults' 'interface' - option 'dns' '85.214.20.141 213.73.91.35 194.150.168.168' +config 'defaults' 'ssidscheme' + option '5' 'Mesh23' + option '44' 'Mesh23' + +config 'defaults' 'dhcp' + option 'leasetime' '15m' +config 'defaults' 'olsrd' + option 'LinkQualityAlgorithm' 'etx_ffeth' diff --git a/contrib/package/freifunk-common/Makefile b/contrib/package/freifunk-common/Makefile index d9bbd994a1..2b9336fb06 100644 --- a/contrib/package/freifunk-common/Makefile +++ b/contrib/package/freifunk-common/Makefile @@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=freifunk-common -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) diff --git a/contrib/package/freifunk-common/files/etc/config/freifunk b/contrib/package/freifunk-common/files/etc/config/freifunk index 9a46f056ad..b1a2e41e2a 100644 --- a/contrib/package/freifunk-common/files/etc/config/freifunk +++ b/contrib/package/freifunk-common/files/etc/config/freifunk @@ -104,12 +104,6 @@ config 'defaults' 'wifi_iface' option 'bssid' '12:CA:FF:EE:BA:BE' option 'mcast_rate' '6000' -config 'defaults' 'madwifi_wifi_iface' - option 'bgscan' '0' - option 'sw_merge' '1' - option 'probereq' '1' - option 'mcast_rate' '5500' - config 'defaults' 'interface' option 'netmask' '255.255.0.0' option 'dns' '8.8.8.8 212.204.49.83 141.1.1.1' diff --git a/contrib/package/meshwizard/Makefile b/contrib/package/meshwizard/Makefile index 9ac5a06286..62983465c1 100644 --- a/contrib/package/meshwizard/Makefile +++ b/contrib/package/meshwizard/Makefile @@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=meshwizard -PKG_RELEASE:=0.3.2 +PKG_RELEASE:=0.3.3 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) diff --git a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/rename-wifi.sh b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/rename-wifi.sh index e9139ed510..f2d10cc9e2 100755 --- a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/rename-wifi.sh +++ b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/rename-wifi.sh @@ -1,6 +1,6 @@ #!/bin/sh # This script renames IB_wifi_ interface names into real interface names used on this system. -# E.g. wireless.IB_wifi0 would become wireless.wifi0 on madwifi and wireless.radio0 on mac80211 +# E.g. wireless.IB_wifi0 would become wireless.radio0 on mac80211 . $dir/functions.sh diff --git a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_wifi.sh b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_wifi.sh index 41feb86651..707b7b72cd 100755 --- a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_wifi.sh +++ b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_wifi.sh @@ -59,11 +59,6 @@ uci set wireless.$net\_iface=wifi-iface # create new wifi-iface for $net from defaults set_defaults "wifi_iface_" wireless.$net\_iface -# overwrite some settings for type atheros (madwifi) -if [ "$type" = "atheros" ]; then - set_defaults "madwifi_wifi_iface_" wireless.${net} -fi - # overwrite defaults bssid="$($dir/helpers/gen_bssid.sh $channel $community)" diff --git a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/supports_vap.sh b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/supports_vap.sh index 0585ab5fe1..7fdff3c566 100755 --- a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/supports_vap.sh +++ b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/supports_vap.sh @@ -8,9 +8,7 @@ if [ -z "$dev" -o -z "$type" ]; then exit 1 fi -if [ "$type" = "atheros" ]; then - exit 0 -elif [ "$type" = "mac80211" ]; then +if [ "$type" = "mac80211" ]; then # not hostapd[-mini], no VAP if [ ! -x /usr/sbin/hostapd ]; then echo "WARNING: hostapd[-mini] is required to be able to use VAP with mac80211." @@ -36,7 +36,7 @@ LUCI_LANG.sv=Svenska (Swedish) LUCI_LANG.tr=Türkçe (Turkish) LUCI_LANG.uk=україÌнÑька (Ukrainian) LUCI_LANG.vi=Tiếng Việt (Vietnamese) -LUCI_LANG.zh-cn=æ™®é€šè¯ (Chinese) +LUCI_LANG.zh-cn=ä¸æ–‡ (Chinese) LUCI_LANG.zh-tw=臺ç£è¯èªž (Taiwanese) # Submenu titles @@ -56,7 +56,7 @@ PKG_VERSION?=$(if $(DUMP),x,$(strip $(shell \ elif git log -1 >/dev/null 2>/dev/null; then \ revision="svn-r$$(LC_ALL=C git log -1 | sed -ne 's/.*git-svn-id: .*@\([0-9]\+\) .*/\1/p')"; \ if [ "$$revision" = "svn-r" ]; then \ - set -- $$(git log -1 --format="%ct %h"); \ + set -- $$(git log -1 --format="%ct %h" --abbrev=7); \ secs="$$(($$1 % 86400))"; \ yday="$$(date --utc --date="@$$1" "+%y.%j")"; \ revision="$$(printf 'git-%s.%05d-%s' "$$yday" "$$secs" "$$2")"; \ @@ -70,7 +70,8 @@ PKG_VERSION?=$(if $(DUMP),x,$(strip $(shell \ PKG_GITBRANCH?=$(if $(DUMP),x,$(strip $(shell \ variant="LuCI"; \ if git log -1 >/dev/null 2>/dev/null; then \ - branch="$$(git symbolic-ref --short -q HEAD 2>/dev/null)"; \ + branch="$$(git branch --remote --verbose --no-abbrev --contains 2>/dev/null | \ + sed -rne 's|^[^/]+/([^ ]+) [a-f0-9]{40} .+$$|\1|p' | head -n1)"; \ if [ "$$branch" != "master" ]; then \ variant="LuCI $$branch branch"; \ else \ diff --git a/modules/luci-base/luasrc/cbi/datatypes.lua b/modules/luci-base/luasrc/cbi/datatypes.lua index 62b0e0f617..cf56566287 100644 --- a/modules/luci-base/luasrc/cbi/datatypes.lua +++ b/modules/luci-base/luasrc/cbi/datatypes.lua @@ -283,6 +283,14 @@ function hexstring(val) return false end +function hex(val, maxbytes) + maxbytes = tonumber(maxbytes) + if val and maxbytes ~= nil then + return ((val:match("^0x[a-fA-F0-9]+$") ~= nil) and (#val <= 2 + maxbytes * 2)) + end + return false +end + function base64(val) if val then return (val:match("^[a-zA-Z0-9/+]+=?=?$") ~= nil) and (math.fmod(#val, 4) == 0) diff --git a/modules/luci-base/luasrc/dispatcher.lua b/modules/luci-base/luasrc/dispatcher.lua index 0876ce6585..0bd19456f2 100644 --- a/modules/luci-base/luasrc/dispatcher.lua +++ b/modules/luci-base/luasrc/dispatcher.lua @@ -101,7 +101,7 @@ function error500(message) return false end -function authenticator.htmlauth(validator, accs, default) +function authenticator.htmlauth(validator, accs, default, template) local user = http.formvalue("luci_username") local pass = http.formvalue("luci_password") @@ -113,7 +113,7 @@ function authenticator.htmlauth(validator, accs, default) require("luci.template") context.path = {} http.status(403, "Forbidden") - luci.template.render("sysauth", {duser=default, fuser=user}) + luci.template.render(template or "sysauth", {duser=default, fuser=user}) return false @@ -360,7 +360,7 @@ function dispatch(request) if not util.contains(accs, user) then if authen then - local user, sess = authen(sys.user.checkpasswd, accs, def) + local user, sess = authen(sys.user.checkpasswd, accs, def, track.sysauth_template) local token if not user or not util.contains(accs, user) then return diff --git a/modules/luci-base/luasrc/model/network.lua b/modules/luci-base/luasrc/model/network.lua index 49d91b875a..d9ef4089c8 100644 --- a/modules/luci-base/luasrc/model/network.lua +++ b/modules/luci-base/luasrc/model/network.lua @@ -1362,8 +1362,6 @@ function wifidev.get_i18n(self) local t = "Generic" if self.iwinfo.type == "wl" then t = "Broadcom" - elseif self.iwinfo.type == "madwifi" then - t = "Atheros" end local m = "" diff --git a/modules/luci-base/luasrc/sys/zoneinfo/tzdata.lua b/modules/luci-base/luasrc/sys/zoneinfo/tzdata.lua index 465d7df3d3..419c191f2b 100644 --- a/modules/luci-base/luasrc/sys/zoneinfo/tzdata.lua +++ b/modules/luci-base/luasrc/sys/zoneinfo/tzdata.lua @@ -59,42 +59,42 @@ TZ = { { 'America/Anchorage', 'AKST9AKDT,M3.2.0,M11.1.0' }, { 'America/Anguilla', 'AST4' }, { 'America/Antigua', 'AST4' }, - { 'America/Araguaina', 'BRT3' }, - { 'America/Argentina/Buenos Aires', 'ART3' }, - { 'America/Argentina/Catamarca', 'ART3' }, - { 'America/Argentina/Cordoba', 'ART3' }, - { 'America/Argentina/Jujuy', 'ART3' }, - { 'America/Argentina/La Rioja', 'ART3' }, - { 'America/Argentina/Mendoza', 'ART3' }, - { 'America/Argentina/Rio Gallegos', 'ART3' }, - { 'America/Argentina/Salta', 'ART3' }, - { 'America/Argentina/San Juan', 'ART3' }, - { 'America/Argentina/San Luis', 'ART3' }, - { 'America/Argentina/Tucuman', 'ART3' }, - { 'America/Argentina/Ushuaia', 'ART3' }, + { 'America/Araguaina', '<-03>3' }, + { 'America/Argentina/Buenos Aires', '<-03>3' }, + { 'America/Argentina/Catamarca', '<-03>3' }, + { 'America/Argentina/Cordoba', '<-03>3' }, + { 'America/Argentina/Jujuy', '<-03>3' }, + { 'America/Argentina/La Rioja', '<-03>3' }, + { 'America/Argentina/Mendoza', '<-03>3' }, + { 'America/Argentina/Rio Gallegos', '<-03>3' }, + { 'America/Argentina/Salta', '<-03>3' }, + { 'America/Argentina/San Juan', '<-03>3' }, + { 'America/Argentina/San Luis', '<-03>3' }, + { 'America/Argentina/Tucuman', '<-03>3' }, + { 'America/Argentina/Ushuaia', '<-03>3' }, { 'America/Aruba', 'AST4' }, - { 'America/Asuncion', 'PYT4PYST,M10.1.0/0,M3.4.0/0' }, + { 'America/Asuncion', '<-04>4<-03>,M10.1.0/0,M3.4.0/0' }, { 'America/Atikokan', 'EST5' }, - { 'America/Bahia', 'BRT3' }, + { 'America/Bahia', '<-03>3' }, { 'America/Bahia Banderas', 'CST6CDT,M4.1.0,M10.5.0' }, { 'America/Barbados', 'AST4' }, - { 'America/Belem', 'BRT3' }, + { 'America/Belem', '<-03>3' }, { 'America/Belize', 'CST6' }, { 'America/Blanc-Sablon', 'AST4' }, - { 'America/Boa Vista', 'AMT4' }, - { 'America/Bogota', 'COT5' }, + { 'America/Boa Vista', '<-04>4' }, + { 'America/Bogota', '<-05>5' }, { 'America/Boise', 'MST7MDT,M3.2.0,M11.1.0' }, { 'America/Cambridge Bay', 'MST7MDT,M3.2.0,M11.1.0' }, - { 'America/Campo Grande', 'AMT4AMST,M10.3.0/0,M2.3.0/0' }, + { 'America/Campo Grande', '<-04>4<-03>,M10.3.0/0,M2.3.0/0' }, { 'America/Cancun', 'EST5' }, - { 'America/Caracas', 'VET4' }, - { 'America/Cayenne', 'GFT3' }, + { 'America/Caracas', '<-04>4' }, + { 'America/Cayenne', '<-03>3' }, { 'America/Cayman', 'EST5' }, { 'America/Chicago', 'CST6CDT,M3.2.0,M11.1.0' }, { 'America/Chihuahua', 'MST7MDT,M4.1.0,M10.5.0' }, { 'America/Costa Rica', 'CST6' }, { 'America/Creston', 'MST7' }, - { 'America/Cuiaba', 'AMT4AMST,M10.3.0/0,M2.3.0/0' }, + { 'America/Cuiaba', '<-04>4<-03>,M10.3.0/0,M2.3.0/0' }, { 'America/Curacao', 'AST4' }, { 'America/Danmarkshavn', 'GMT0' }, { 'America/Dawson', 'PST8PDT,M3.2.0,M11.1.0' }, @@ -103,19 +103,19 @@ TZ = { { 'America/Detroit', 'EST5EDT,M3.2.0,M11.1.0' }, { 'America/Dominica', 'AST4' }, { 'America/Edmonton', 'MST7MDT,M3.2.0,M11.1.0' }, - { 'America/Eirunepe', 'ACT5' }, + { 'America/Eirunepe', '<-05>5' }, { 'America/El Salvador', 'CST6' }, { 'America/Fort Nelson', 'MST7' }, - { 'America/Fortaleza', 'BRT3' }, + { 'America/Fortaleza', '<-03>3' }, { 'America/Glace Bay', 'AST4ADT,M3.2.0,M11.1.0' }, - { 'America/Godthab', 'WGT3WGST,M3.5.0/-2,M10.5.0/-1' }, + { 'America/Godthab', '<-03>3<-02>,M3.5.0/-2,M10.5.0/-1' }, { 'America/Goose Bay', 'AST4ADT,M3.2.0,M11.1.0' }, { 'America/Grand Turk', 'AST4' }, { 'America/Grenada', 'AST4' }, { 'America/Guadeloupe', 'AST4' }, { 'America/Guatemala', 'CST6' }, - { 'America/Guayaquil', 'ECT5' }, - { 'America/Guyana', 'GYT4' }, + { 'America/Guayaquil', '<-05>5' }, + { 'America/Guyana', '<-04>4' }, { 'America/Halifax', 'AST4ADT,M3.2.0,M11.1.0' }, { 'America/Havana', 'CST5CDT,M3.2.0/0,M11.1.0/1' }, { 'America/Hermosillo', 'MST7' }, @@ -134,13 +134,13 @@ TZ = { { 'America/Kentucky/Louisville', 'EST5EDT,M3.2.0,M11.1.0' }, { 'America/Kentucky/Monticello', 'EST5EDT,M3.2.0,M11.1.0' }, { 'America/Kralendijk', 'AST4' }, - { 'America/La Paz', 'BOT4' }, - { 'America/Lima', 'PET5' }, + { 'America/La Paz', '<-04>4' }, + { 'America/Lima', '<-05>5' }, { 'America/Los Angeles', 'PST8PDT,M3.2.0,M11.1.0' }, { 'America/Lower Princes', 'AST4' }, - { 'America/Maceio', 'BRT3' }, + { 'America/Maceio', '<-03>3' }, { 'America/Managua', 'CST6' }, - { 'America/Manaus', 'AMT4' }, + { 'America/Manaus', '<-04>4' }, { 'America/Marigot', 'AST4' }, { 'America/Martinique', 'AST4' }, { 'America/Matamoros', 'CST6CDT,M3.2.0,M11.1.0' }, @@ -149,39 +149,40 @@ TZ = { { 'America/Merida', 'CST6CDT,M4.1.0,M10.5.0' }, { 'America/Metlakatla', 'AKST9AKDT,M3.2.0,M11.1.0' }, { 'America/Mexico City', 'CST6CDT,M4.1.0,M10.5.0' }, - { 'America/Miquelon', 'PMST3PMDT,M3.2.0,M11.1.0' }, + { 'America/Miquelon', '<-03>3<-02>,M3.2.0,M11.1.0' }, { 'America/Moncton', 'AST4ADT,M3.2.0,M11.1.0' }, { 'America/Monterrey', 'CST6CDT,M4.1.0,M10.5.0' }, - { 'America/Montevideo', 'UYT3' }, + { 'America/Montevideo', '<-03>3' }, { 'America/Montserrat', 'AST4' }, { 'America/Nassau', 'EST5EDT,M3.2.0,M11.1.0' }, { 'America/New York', 'EST5EDT,M3.2.0,M11.1.0' }, { 'America/Nipigon', 'EST5EDT,M3.2.0,M11.1.0' }, { 'America/Nome', 'AKST9AKDT,M3.2.0,M11.1.0' }, - { 'America/Noronha', 'FNT2' }, + { 'America/Noronha', '<-02>2' }, { 'America/North Dakota/Beulah', 'CST6CDT,M3.2.0,M11.1.0' }, { 'America/North Dakota/Center', 'CST6CDT,M3.2.0,M11.1.0' }, { 'America/North Dakota/New Salem', 'CST6CDT,M3.2.0,M11.1.0' }, { 'America/Ojinaga', 'MST7MDT,M3.2.0,M11.1.0' }, { 'America/Panama', 'EST5' }, { 'America/Pangnirtung', 'EST5EDT,M3.2.0,M11.1.0' }, - { 'America/Paramaribo', 'SRT3' }, + { 'America/Paramaribo', '<-03>3' }, { 'America/Phoenix', 'MST7' }, { 'America/Port of Spain', 'AST4' }, - { 'America/Port-au-Prince', 'EST5' }, - { 'America/Porto Velho', 'AMT4' }, + { 'America/Port-au-Prince', 'EST5EDT,M3.2.0,M11.1.0' }, + { 'America/Porto Velho', '<-04>4' }, { 'America/Puerto Rico', 'AST4' }, + { 'America/Punta Arenas', '<-03>3' }, { 'America/Rainy River', 'CST6CDT,M3.2.0,M11.1.0' }, { 'America/Rankin Inlet', 'CST6CDT,M3.2.0,M11.1.0' }, - { 'America/Recife', 'BRT3' }, + { 'America/Recife', '<-03>3' }, { 'America/Regina', 'CST6' }, { 'America/Resolute', 'CST6CDT,M3.2.0,M11.1.0' }, - { 'America/Rio Branco', 'ACT5' }, - { 'America/Santarem', 'BRT3' }, - { 'America/Santiago', 'CLT4CLST,M8.2.6/24,M5.2.6/24' }, + { 'America/Rio Branco', '<-05>5' }, + { 'America/Santarem', '<-03>3' }, + { 'America/Santiago', '<-04>4<-03>,M8.2.6/24,M5.2.6/24' }, { 'America/Santo Domingo', 'AST4' }, - { 'America/Sao Paulo', 'BRT3BRST,M10.3.0/0,M2.3.0/0' }, - { 'America/Scoresbysund', 'EGT1EGST,M3.5.0/0,M10.5.0/1' }, + { 'America/Sao Paulo', '<-03>3<-02>,M10.3.0/0,M2.3.0/0' }, + { 'America/Scoresbysund', '<-01>1<+00>,M3.5.0/0,M10.5.0/1' }, { 'America/Sitka', 'AKST9AKDT,M3.2.0,M11.1.0' }, { 'America/St Barthelemy', 'AST4' }, { 'America/St Johns', 'NST3:30NDT,M3.2.0,M11.1.0' }, @@ -204,16 +205,16 @@ TZ = { { 'Antarctica/Casey', '<+11>-11' }, { 'Antarctica/Davis', '<+07>-7' }, { 'Antarctica/DumontDUrville', '<+10>-10' }, - { 'Antarctica/Macquarie', 'MIST-11' }, + { 'Antarctica/Macquarie', '<+11>-11' }, { 'Antarctica/Mawson', '<+05>-5' }, { 'Antarctica/McMurdo', 'NZST-12NZDT,M9.5.0,M4.1.0/3' }, - { 'Antarctica/Palmer', 'CLT4CLST,M8.2.6/24,M5.2.6/24' }, + { 'Antarctica/Palmer', '<-03>3' }, { 'Antarctica/Rothera', '<-03>3' }, { 'Antarctica/Syowa', '<+03>-3' }, { 'Antarctica/Troll', '<+00>0<+02>-2,M3.5.0/1,M10.5.0/3' }, { 'Antarctica/Vostok', '<+06>-6' }, { 'Arctic/Longyearbyen', 'CET-1CEST,M3.5.0,M10.5.0/3' }, - { 'Asia/Aden', 'AST-3' }, + { 'Asia/Aden', '<+03>-3' }, { 'Asia/Almaty', '<+06>-6' }, { 'Asia/Amman', 'EET-2EEST,M3.5.4/24,M10.5.5/1' }, { 'Asia/Anadyr', '<+12>-12' }, @@ -221,102 +222,129 @@ TZ = { { 'Asia/Aqtobe', '<+05>-5' }, { 'Asia/Ashgabat', '<+05>-5' }, { 'Asia/Atyrau', '<+05>-5' }, - { 'Asia/Baghdad', 'AST-3' }, - { 'Asia/Bahrain', 'AST-3' }, + { 'Asia/Baghdad', '<+03>-3' }, + { 'Asia/Bahrain', '<+03>-3' }, { 'Asia/Baku', '<+04>-4' }, - { 'Asia/Bangkok', 'ICT-7' }, + { 'Asia/Bangkok', '<+07>-7' }, { 'Asia/Barnaul', '<+07>-7' }, { 'Asia/Beirut', 'EET-2EEST,M3.5.0/0,M10.5.0/0' }, { 'Asia/Bishkek', '<+06>-6' }, - { 'Asia/Brunei', 'BNT-8' }, + { 'Asia/Brunei', '<+08>-8' }, { 'Asia/Chita', '<+09>-9' }, - { 'Asia/Choibalsan', 'CHOT-8CHOST,M3.5.6,M9.5.6/0' }, + { 'Asia/Choibalsan', '<+08>-8' }, { 'Asia/Colombo', '<+0530>-5:30' }, { 'Asia/Damascus', 'EET-2EEST,M3.5.5/0,M10.5.5/0' }, - { 'Asia/Dhaka', 'BDT-6' }, - { 'Asia/Dili', 'TLT-9' }, - { 'Asia/Dubai', 'GST-4' }, + { 'Asia/Dhaka', '<+06>-6' }, + { 'Asia/Dili', '<+09>-9' }, + { 'Asia/Dubai', '<+04>-4' }, { 'Asia/Dushanbe', '<+05>-5' }, { 'Asia/Famagusta', '<+03>-3' }, { 'Asia/Gaza', 'EET-2EEST,M3.5.6/1,M10.5.6/1' }, { 'Asia/Hebron', 'EET-2EEST,M3.5.6/1,M10.5.6/1' }, - { 'Asia/Ho Chi Minh', 'ICT-7' }, + { 'Asia/Ho Chi Minh', '<+07>-7' }, { 'Asia/Hong Kong', 'HKT-8' }, - { 'Asia/Hovd', 'HOVT-7HOVST,M3.5.6,M9.5.6/0' }, + { 'Asia/Hovd', '<+07>-7' }, { 'Asia/Irkutsk', '<+08>-8' }, { 'Asia/Jakarta', 'WIB-7' }, { 'Asia/Jayapura', 'WIT-9' }, { 'Asia/Jerusalem', 'IST-2IDT,M3.4.4/26,M10.5.0' }, - { 'Asia/Kabul', 'AFT-4:30' }, + { 'Asia/Kabul', '<+0430>-4:30' }, { 'Asia/Kamchatka', '<+12>-12' }, { 'Asia/Karachi', 'PKT-5' }, - { 'Asia/Kathmandu', 'NPT-5:45' }, + { 'Asia/Kathmandu', '<+0545>-5:45' }, { 'Asia/Khandyga', '<+09>-9' }, { 'Asia/Kolkata', 'IST-5:30' }, { 'Asia/Krasnoyarsk', '<+07>-7' }, - { 'Asia/Kuala Lumpur', 'MYT-8' }, - { 'Asia/Kuching', 'MYT-8' }, - { 'Asia/Kuwait', 'AST-3' }, + { 'Asia/Kuala Lumpur', '<+08>-8' }, + { 'Asia/Kuching', '<+08>-8' }, + { 'Asia/Kuwait', '<+03>-3' }, { 'Asia/Macau', 'CST-8' }, { 'Asia/Magadan', '<+11>-11' }, { 'Asia/Makassar', 'WITA-8' }, - { 'Asia/Manila', 'PHT-8' }, - { 'Asia/Muscat', 'GST-4' }, + { 'Asia/Manila', '<+08>-8' }, + { 'Asia/Muscat', '<+04>-4' }, { 'Asia/Nicosia', 'EET-2EEST,M3.5.0/3,M10.5.0/4' }, { 'Asia/Novokuznetsk', '<+07>-7' }, { 'Asia/Novosibirsk', '<+07>-7' }, { 'Asia/Omsk', '<+06>-6' }, { 'Asia/Oral', '<+05>-5' }, - { 'Asia/Phnom Penh', 'ICT-7' }, + { 'Asia/Phnom Penh', '<+07>-7' }, { 'Asia/Pontianak', 'WIB-7' }, { 'Asia/Pyongyang', 'KST-8:30' }, - { 'Asia/Qatar', 'AST-3' }, + { 'Asia/Qatar', '<+03>-3' }, { 'Asia/Qyzylorda', '<+06>-6' }, - { 'Asia/Riyadh', 'AST-3' }, + { 'Asia/Riyadh', '<+03>-3' }, { 'Asia/Sakhalin', '<+11>-11' }, { 'Asia/Samarkand', '<+05>-5' }, { 'Asia/Seoul', 'KST-9' }, { 'Asia/Shanghai', 'CST-8' }, - { 'Asia/Singapore', 'SGT-8' }, + { 'Asia/Singapore', '<+08>-8' }, { 'Asia/Srednekolymsk', '<+11>-11' }, { 'Asia/Taipei', 'CST-8' }, { 'Asia/Tashkent', '<+05>-5' }, { 'Asia/Tbilisi', '<+04>-4' }, - { 'Asia/Tehran', 'IRST-3:30IRDT,J80/0,J264/0' }, - { 'Asia/Thimphu', 'BTT-6' }, + { 'Asia/Tehran', '<+0330>-3:30<+0430>,J80/0,J264/0' }, + { 'Asia/Thimphu', '<+06>-6' }, { 'Asia/Tokyo', 'JST-9' }, { 'Asia/Tomsk', '<+07>-7' }, - { 'Asia/Ulaanbaatar', 'ULAT-8ULAST,M3.5.6,M9.5.6/0' }, - { 'Asia/Urumqi', 'XJT-6' }, + { 'Asia/Ulaanbaatar', '<+08>-8' }, + { 'Asia/Urumqi', '<+06>-6' }, { 'Asia/Ust-Nera', '<+10>-10' }, - { 'Asia/Vientiane', 'ICT-7' }, + { 'Asia/Vientiane', '<+07>-7' }, { 'Asia/Vladivostok', '<+10>-10' }, { 'Asia/Yakutsk', '<+09>-9' }, - { 'Asia/Yangon', 'MMT-6:30' }, + { 'Asia/Yangon', '<+0630>-6:30' }, { 'Asia/Yekaterinburg', '<+05>-5' }, { 'Asia/Yerevan', '<+04>-4' }, - { 'Atlantic/Azores', 'AZOT1AZOST,M3.5.0/0,M10.5.0/1' }, + { 'Atlantic/Azores', '<-01>1<+00>,M3.5.0/0,M10.5.0/1' }, { 'Atlantic/Bermuda', 'AST4ADT,M3.2.0,M11.1.0' }, { 'Atlantic/Canary', 'WET0WEST,M3.5.0/1,M10.5.0' }, - { 'Atlantic/Cape Verde', 'CVT1' }, + { 'Atlantic/Cape Verde', '<-01>1' }, { 'Atlantic/Faroe', 'WET0WEST,M3.5.0/1,M10.5.0' }, { 'Atlantic/Madeira', 'WET0WEST,M3.5.0/1,M10.5.0' }, { 'Atlantic/Reykjavik', 'GMT0' }, - { 'Atlantic/South Georgia', 'GST2' }, + { 'Atlantic/South Georgia', '<-02>2' }, { 'Atlantic/St Helena', 'GMT0' }, - { 'Atlantic/Stanley', 'FKST3' }, + { 'Atlantic/Stanley', '<-03>3' }, { 'Australia/Adelaide', 'ACST-9:30ACDT,M10.1.0,M4.1.0/3' }, { 'Australia/Brisbane', 'AEST-10' }, { 'Australia/Broken Hill', 'ACST-9:30ACDT,M10.1.0,M4.1.0/3' }, { 'Australia/Currie', 'AEST-10AEDT,M10.1.0,M4.1.0/3' }, { 'Australia/Darwin', 'ACST-9:30' }, - { 'Australia/Eucla', 'ACWST-8:45' }, + { 'Australia/Eucla', '<+0845>-8:45' }, { 'Australia/Hobart', 'AEST-10AEDT,M10.1.0,M4.1.0/3' }, { 'Australia/Lindeman', 'AEST-10' }, - { 'Australia/Lord Howe', 'LHST-10:30LHDT-11,M10.1.0,M4.1.0' }, + { 'Australia/Lord Howe', '<+1030>-10:30<+11>-11,M10.1.0,M4.1.0' }, { 'Australia/Melbourne', 'AEST-10AEDT,M10.1.0,M4.1.0/3' }, { 'Australia/Perth', 'AWST-8' }, { 'Australia/Sydney', 'AEST-10AEDT,M10.1.0,M4.1.0/3' }, + { 'Etc/GMT', 'GMT0' }, + { 'Etc/GMT+1', '<-01>1' }, + { 'Etc/GMT+10', '<-10>10' }, + { 'Etc/GMT+11', '<-11>11' }, + { 'Etc/GMT+12', '<-12>12' }, + { 'Etc/GMT+2', '<-02>2' }, + { 'Etc/GMT+3', '<-03>3' }, + { 'Etc/GMT+4', '<-04>4' }, + { 'Etc/GMT+5', '<-05>5' }, + { 'Etc/GMT+6', '<-06>6' }, + { 'Etc/GMT+7', '<-07>7' }, + { 'Etc/GMT+8', '<-08>8' }, + { 'Etc/GMT+9', '<-09>9' }, + { 'Etc/GMT-1', '<+01>-1' }, + { 'Etc/GMT-10', '<+10>-10' }, + { 'Etc/GMT-11', '<+11>-11' }, + { 'Etc/GMT-12', '<+12>-12' }, + { 'Etc/GMT-13', '<+13>-13' }, + { 'Etc/GMT-14', '<+14>-14' }, + { 'Etc/GMT-2', '<+02>-2' }, + { 'Etc/GMT-3', '<+03>-3' }, + { 'Etc/GMT-4', '<+04>-4' }, + { 'Etc/GMT-5', '<+05>-5' }, + { 'Etc/GMT-6', '<+06>-6' }, + { 'Etc/GMT-7', '<+07>-7' }, + { 'Etc/GMT-8', '<+08>-8' }, + { 'Etc/GMT-9', '<+09>-9' }, { 'Europe/Amsterdam', 'CET-1CEST,M3.5.0,M10.5.0/3' }, { 'Europe/Andorra', 'CET-1CEST,M3.5.0,M10.5.0/3' }, { 'Europe/Astrakhan', '<+04>-4' }, @@ -378,53 +406,52 @@ TZ = { { 'Europe/Zaporozhye', 'EET-2EEST,M3.5.0/3,M10.5.0/4' }, { 'Europe/Zurich', 'CET-1CEST,M3.5.0,M10.5.0/3' }, { 'Indian/Antananarivo', 'EAT-3' }, - { 'Indian/Chagos', 'IOT-6' }, - { 'Indian/Christmas', 'CXT-7' }, - { 'Indian/Cocos', 'CCT-6:30' }, + { 'Indian/Chagos', '<+06>-6' }, + { 'Indian/Christmas', '<+07>-7' }, + { 'Indian/Cocos', '<+0630>-6:30' }, { 'Indian/Comoro', 'EAT-3' }, { 'Indian/Kerguelen', '<+05>-5' }, - { 'Indian/Mahe', 'SCT-4' }, - { 'Indian/Maldives', 'MVT-5' }, - { 'Indian/Mauritius', 'MUT-4' }, + { 'Indian/Mahe', '<+04>-4' }, + { 'Indian/Maldives', '<+05>-5' }, + { 'Indian/Mauritius', '<+04>-4' }, { 'Indian/Mayotte', 'EAT-3' }, - { 'Indian/Reunion', 'RET-4' }, - { 'Pacific/Apia', 'WSST-13WSDT,M9.5.0/3,M4.1.0/4' }, + { 'Indian/Reunion', '<+04>-4' }, + { 'Pacific/Apia', '<+13>-13<+14>,M9.5.0/3,M4.1.0/4' }, { 'Pacific/Auckland', 'NZST-12NZDT,M9.5.0,M4.1.0/3' }, - { 'Pacific/Bougainville', 'BST-11' }, - { 'Pacific/Chatham', 'CHAST-12:45CHADT,M9.5.0/2:45,M4.1.0/3:45' }, - { 'Pacific/Chuuk', 'CHUT-10' }, - { 'Pacific/Easter', 'EAST6EASST,M8.2.6/22,M5.2.6/22' }, - { 'Pacific/Efate', 'VUT-11' }, - { 'Pacific/Enderbury', 'PHOT-13' }, - { 'Pacific/Fakaofo', 'TKT-13' }, - { 'Pacific/Fiji', 'FJT-12FJST,M11.1.0,M1.3.0/3' }, - { 'Pacific/Funafuti', 'TVT-12' }, - { 'Pacific/Galapagos', 'GALT6' }, - { 'Pacific/Gambier', 'GAMT9' }, - { 'Pacific/Guadalcanal', 'SBT-11' }, + { 'Pacific/Bougainville', '<+11>-11' }, + { 'Pacific/Chatham', '<+1245>-12:45<+1345>,M9.5.0/2:45,M4.1.0/3:45' }, + { 'Pacific/Chuuk', '<+10>-10' }, + { 'Pacific/Easter', '<-06>6<-05>,M8.2.6/22,M5.2.6/22' }, + { 'Pacific/Efate', '<+11>-11' }, + { 'Pacific/Enderbury', '<+13>-13' }, + { 'Pacific/Fakaofo', '<+13>-13' }, + { 'Pacific/Fiji', '<+12>-12<+13>,M11.1.0,M1.3.0/3' }, + { 'Pacific/Funafuti', '<+12>-12' }, + { 'Pacific/Galapagos', '<-06>6' }, + { 'Pacific/Gambier', '<-09>9' }, + { 'Pacific/Guadalcanal', '<+11>-11' }, { 'Pacific/Guam', 'ChST-10' }, { 'Pacific/Honolulu', 'HST10' }, - { 'Pacific/Johnston', 'HST10' }, - { 'Pacific/Kiritimati', 'LINT-14' }, - { 'Pacific/Kosrae', 'KOST-11' }, - { 'Pacific/Kwajalein', 'MHT-12' }, - { 'Pacific/Majuro', 'MHT-12' }, - { 'Pacific/Marquesas', 'MART9:30' }, + { 'Pacific/Kiritimati', '<+14>-14' }, + { 'Pacific/Kosrae', '<+11>-11' }, + { 'Pacific/Kwajalein', '<+12>-12' }, + { 'Pacific/Majuro', '<+12>-12' }, + { 'Pacific/Marquesas', '<-0930>9:30' }, { 'Pacific/Midway', 'SST11' }, - { 'Pacific/Nauru', 'NRT-12' }, - { 'Pacific/Niue', 'NUT11' }, - { 'Pacific/Norfolk', 'NFT-11' }, - { 'Pacific/Noumea', 'NCT-11' }, + { 'Pacific/Nauru', '<+12>-12' }, + { 'Pacific/Niue', '<-11>11' }, + { 'Pacific/Norfolk', '<+11>-11' }, + { 'Pacific/Noumea', '<+11>-11' }, { 'Pacific/Pago Pago', 'SST11' }, - { 'Pacific/Palau', 'PWT-9' }, - { 'Pacific/Pitcairn', 'PST8' }, - { 'Pacific/Pohnpei', 'PONT-11' }, - { 'Pacific/Port Moresby', 'PGT-10' }, - { 'Pacific/Rarotonga', 'CKT10' }, + { 'Pacific/Palau', '<+09>-9' }, + { 'Pacific/Pitcairn', '<-08>8' }, + { 'Pacific/Pohnpei', '<+11>-11' }, + { 'Pacific/Port Moresby', '<+10>-10' }, + { 'Pacific/Rarotonga', '<-10>10' }, { 'Pacific/Saipan', 'ChST-10' }, - { 'Pacific/Tahiti', 'TAHT10' }, - { 'Pacific/Tarawa', 'GILT-12' }, + { 'Pacific/Tahiti', '<-10>10' }, + { 'Pacific/Tarawa', '<+12>-12' }, { 'Pacific/Tongatapu', '<+13>-13<+14>,M11.1.0,M1.3.0/3' }, - { 'Pacific/Wake', 'WAKT-12' }, - { 'Pacific/Wallis', 'WFT-12' }, + { 'Pacific/Wake', '<+12>-12' }, + { 'Pacific/Wallis', '<+12>-12' }, } diff --git a/modules/luci-base/luasrc/sys/zoneinfo/tzoffset.lua b/modules/luci-base/luasrc/sys/zoneinfo/tzoffset.lua index e5da7c6442..cf5afeb9d8 100644 --- a/modules/luci-base/luasrc/sys/zoneinfo/tzoffset.lua +++ b/modules/luci-base/luasrc/sys/zoneinfo/tzoffset.lua @@ -16,123 +16,30 @@ OFFSET = { akst = -32400, -- AKST akdt = -28800, -- AKDT ast = -14400, -- AST - brt = -10800, -- BRT - art = -10800, -- ART - pyt = -14400, -- PYT - pyst = -10800, -- PYST est = -18000, -- EST cst = -21600, -- CST cdt = -18000, -- CDT - amt = -14400, -- AMT - cot = -18000, -- COT mst = -25200, -- MST mdt = -21600, -- MDT - vet = -14400, -- VET - gft = -10800, -- GFT pst = -28800, -- PST pdt = -25200, -- PDT - act = -18000, -- ACT - wgt = -10800, -- WGT - wgst = -7200, -- WGST - ect = -18000, -- ECT - gyt = -14400, -- GYT - bot = -14400, -- BOT - pet = -18000, -- PET - pmst = -10800, -- PMST - pmdt = -7200, -- PMDT - uyt = -10800, -- UYT - fnt = -7200, -- FNT - srt = -10800, -- SRT - clt = -14400, -- CLT - clst = -10800, -- CLST - egt = -3600, -- EGT - egst = 0, -- EGST nst = -12600, -- NST ndt = -9000, -- NDT - mist = 39600, -- MIST nzst = 43200, -- NZST nzdt = 46800, -- NZDT - ict = 25200, -- ICT - bnt = 28800, -- BNT - chot = 28800, -- CHOT - chost = 32400, -- CHOST - bdt = 21600, -- BDT - tlt = 32400, -- TLT - gst = 14400, -- GST hkt = 28800, -- HKT - hovt = 25200, -- HOVT - hovst = 28800, -- HOVST wib = 25200, -- WIB wit = 32400, -- WIT ist = 7200, -- IST idt = 10800, -- IDT - aft = 16200, -- AFT pkt = 18000, -- PKT - npt = 20700, -- NPT - myt = 28800, -- MYT wita = 28800, -- WITA - pht = 28800, -- PHT kst = 30600, -- KST - sgt = 28800, -- SGT - irst = 12600, -- IRST - irdt = 16200, -- IRDT - btt = 21600, -- BTT jst = 32400, -- JST - ulat = 28800, -- ULAT - ulast = 32400, -- ULAST - xjt = 21600, -- XJT - mmt = 23400, -- MMT - azot = -3600, -- AZOT - azost = 0, -- AZOST - cvt = -3600, -- CVT - fkst = -10800, -- FKST acst = 34200, -- ACST acdt = 37800, -- ACDT aest = 36000, -- AEST - acwst = 31500, -- ACWST - lhst = 37800, -- LHST - lhdt = 39600, -- LHDT awst = 28800, -- AWST msk = 10800, -- MSK - iot = 21600, -- IOT - cxt = 25200, -- CXT - cct = 23400, -- CCT - sct = 14400, -- SCT - mvt = 18000, -- MVT - mut = 14400, -- MUT - ret = 14400, -- RET - wsst = 46800, -- WSST - wsdt = 50400, -- WSDT - bst = 39600, -- BST - chast = 45900, -- CHAST - chadt = 49500, -- CHADT - chut = 36000, -- CHUT - east = -21600, -- EAST - easst = -18000, -- EASST - vut = 39600, -- VUT - phot = 46800, -- PHOT - tkt = 46800, -- TKT - fjt = 43200, -- FJT - fjst = 46800, -- FJST - tvt = 43200, -- TVT - galt = -21600, -- GALT - gamt = -32400, -- GAMT - sbt = 39600, -- SBT - lint = 50400, -- LINT - kost = 39600, -- KOST - mht = 43200, -- MHT - mart = -34200, -- MART sst = -39600, -- SST - nrt = 43200, -- NRT - nut = -39600, -- NUT - nft = 39600, -- NFT - nct = 39600, -- NCT - pwt = 32400, -- PWT - pont = 39600, -- PONT - pgt = 36000, -- PGT - ckt = -36000, -- CKT - taht = -36000, -- TAHT - gilt = 43200, -- GILT - wakt = 43200, -- WAKT - wft = 43200, -- WFT } diff --git a/modules/luci-base/po/ca/base.po b/modules/luci-base/po/ca/base.po index f72c2a634b..def4c10261 100644 --- a/modules/luci-base/po/ca/base.po +++ b/modules/luci-base/po/ca/base.po @@ -152,6 +152,11 @@ msgstr "Consultes concurrents <abbr title=\"mà ximes\">max.</abbr>" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "<abbr title='Parella: %s / Grup: %s'>%s - %s</abbr>" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -170,9 +175,6 @@ msgstr "" msgid "APN" msgstr "APN" -msgid "AR Support" -msgstr "Suport AR" - msgid "ARP retry threshold" msgstr "Llindar de reintent ARP" @@ -414,9 +416,6 @@ msgstr "" msgid "Associated Stations" msgstr "Estacions associades" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "Controlador sense fils d'Atheros 802.11%s" - msgid "Auth Group" msgstr "" @@ -496,9 +495,6 @@ msgstr "Enrere al resum" msgid "Back to scan results" msgstr "Enrere als resultats de l'escaneig" -msgid "Background Scan" -msgstr "Escaneig de fons" - msgid "Backup / Flash Firmware" msgstr "Còpia de seguretat / Recà rrega de programari" @@ -662,9 +658,6 @@ msgstr "Ordre" msgid "Common Configuration" msgstr "Configuració comuna" -msgid "Compression" -msgstr "Compressió" - msgid "Configuration" msgstr "Configuració" @@ -882,9 +875,6 @@ msgstr "" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "Inhabilita el temporitzador HW-Beacon" - msgid "Disabled" msgstr "Inhabilitat" @@ -929,9 +919,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "" -msgid "Do not send probe responses" -msgstr "No enviïs les respostes de prova" - msgid "Domain required" msgstr "Es requereix un domini" @@ -1128,9 +1115,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "Fast Frames" - msgid "File" msgstr "Fitxer" @@ -1166,6 +1150,9 @@ msgstr "Acaba" msgid "Firewall" msgstr "Tallafocs" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "Ajusts de tallafocs" @@ -1211,6 +1198,9 @@ msgstr "Força el TKIP" msgid "Force TKIP and CCMP (AES)" msgstr "Força el TKIP i el CCMP (AES)" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1610,6 +1600,9 @@ msgstr "" msgid "Invalid username and/or password! Please try again." msgstr "Usuari i/o contrasenya invà lids! Si us plau prova-ho de nou." +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1618,7 +1611,7 @@ msgstr "" "Sembla que intentes actualitzar una imatge que no hi cap a la memòria flaix, " "si us plau verifica el fitxer d'imatge!" -msgid "Java Script required!" +msgid "JavaScript required!" msgstr "Es requereix JavaScript!" msgid "Join Network" @@ -1879,9 +1872,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "Velocitat mà xima" - msgid "Maximum allowed number of active DHCP leases" msgstr "" @@ -1917,9 +1907,6 @@ msgstr "Ús de Memòria (%)" msgid "Metric" msgstr "Mètric" -msgid "Minimum Rate" -msgstr "Velocitat mÃnima" - msgid "Minimum hold time" msgstr "" @@ -1993,9 +1980,6 @@ msgstr "Baixa" msgid "Move up" msgstr "Puja" -msgid "Multicast Rate" -msgstr "Velocitat de difusió selectiva" - msgid "Multicast address" msgstr "Adreça de difusió selectiva" @@ -2008,6 +1992,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2201,8 +2188,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2239,9 +2231,6 @@ msgstr "" msgid "Outbound:" msgstr "Sortint:" -msgid "Outdoor Channels" -msgstr "Canals d'exteriors" - msgid "Output Interface" msgstr "" @@ -2421,6 +2410,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2609,9 +2604,6 @@ msgstr "Reconnectant la interfÃcie" msgid "References" msgstr "Referències" -msgid "Regulatory Domain" -msgstr "Domini regulatori" - msgid "Relay" msgstr "Relé" @@ -2660,15 +2652,15 @@ msgstr "Alguns ISP ho requereixen, per exemple el Charter amb DOCSIS 3" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2813,9 +2805,6 @@ msgstr "" msgid "Separate Clients" msgstr "Clients separats" -msgid "Separate WDS" -msgstr "WDS separat" - msgid "Server Settings" msgstr "Ajusts de servidor" @@ -2839,6 +2828,11 @@ msgstr "Tipus de servei" msgid "Services" msgstr "Serveis" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + #, fuzzy msgid "Set up Time Synchronization" msgstr "Sincronització de hora" @@ -2974,9 +2968,6 @@ msgstr "Leases està tics" msgid "Static Routes" msgstr "Rutes està tiques" -msgid "Static WDS" -msgstr "WDS està tic" - msgid "Static address" msgstr "Adreça està tica" @@ -3370,9 +3361,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "Mode Turbo" - msgid "Tx-Power" msgstr "Potència Tx" @@ -3652,9 +3640,6 @@ msgstr "Escriure les peticions DNS rebudes al syslog" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "Suport XR" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3666,9 +3651,9 @@ msgstr "" "dispositiu pot resultar inaccessible!</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" -"Has d'activar el Java Script al teu navegador o LuCI no funcionarà " +"Has d'activar el JavaScript al teu navegador o LuCI no funcionarà " "correctament." msgid "" @@ -3841,6 +3826,54 @@ msgstr "sÃ" msgid "« Back" msgstr "« Enrere" +#~ msgid "AR Support" +#~ msgstr "Suport AR" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "Controlador sense fils d'Atheros 802.11%s" + +#~ msgid "Background Scan" +#~ msgstr "Escaneig de fons" + +#~ msgid "Compression" +#~ msgstr "Compressió" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "Inhabilita el temporitzador HW-Beacon" + +#~ msgid "Do not send probe responses" +#~ msgstr "No enviïs les respostes de prova" + +#~ msgid "Fast Frames" +#~ msgstr "Fast Frames" + +#~ msgid "Maximum Rate" +#~ msgstr "Velocitat mà xima" + +#~ msgid "Minimum Rate" +#~ msgstr "Velocitat mÃnima" + +#~ msgid "Multicast Rate" +#~ msgstr "Velocitat de difusió selectiva" + +#~ msgid "Outdoor Channels" +#~ msgstr "Canals d'exteriors" + +#~ msgid "Regulatory Domain" +#~ msgstr "Domini regulatori" + +#~ msgid "Separate WDS" +#~ msgstr "WDS separat" + +#~ msgid "Static WDS" +#~ msgstr "WDS està tic" + +#~ msgid "Turbo Mode" +#~ msgstr "Mode Turbo" + +#~ msgid "XR Support" +#~ msgstr "Suport XR" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "Es crearà una xarxa addicional si deixes això sense marcar." diff --git a/modules/luci-base/po/cs/base.po b/modules/luci-base/po/cs/base.po index 3f6a4e10b9..b76b66ceeb 100644 --- a/modules/luci-base/po/cs/base.po +++ b/modules/luci-base/po/cs/base.po @@ -149,6 +149,11 @@ msgstr "NejvyÅ¡Å¡Ã poÄet souběžných dotazů" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -167,9 +172,6 @@ msgstr "" msgid "APN" msgstr "APN" -msgid "AR Support" -msgstr "Podpora AR" - msgid "ARP retry threshold" msgstr "ARP limit opakovánÃ" @@ -414,9 +416,6 @@ msgstr "" msgid "Associated Stations" msgstr "PÅ™ipojenà klienti" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "Atheros 802.11%s bezdrátový ovladaÄ" - msgid "Auth Group" msgstr "" @@ -495,9 +494,6 @@ msgstr "ZpÄ›t k pÅ™ehledu" msgid "Back to scan results" msgstr "ZpÄ›t k výsledkům vyhledávánÃ" -msgid "Background Scan" -msgstr "Vyhledávat na pozadÃ" - msgid "Backup / Flash Firmware" msgstr "Zálohovat / nahrát firmware" @@ -666,9 +662,6 @@ msgstr "PÅ™Ãkaz" msgid "Common Configuration" msgstr "SpoleÄná nastavenÃ" -msgid "Compression" -msgstr "Komprese" - msgid "Configuration" msgstr "NastavenÃ" @@ -888,9 +881,6 @@ msgstr "Zakázat nastavenà DNS" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "Zakázat HW-Beacon ÄasovaÄ" - msgid "Disabled" msgstr "Zakázáno" @@ -937,9 +927,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "NepÅ™eposÃlat reverznà dotazy na mÃstnà sÃtÄ›" -msgid "Do not send probe responses" -msgstr "NeodpovÃdat na vyhledávánÃ" - msgid "Domain required" msgstr "Vyžadována doména" @@ -1140,9 +1127,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "Rychlé rámce" - msgid "File" msgstr "Soubor" @@ -1178,6 +1162,9 @@ msgstr "DokonÄit" msgid "Firewall" msgstr "Firewall" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "Nastavenà firewallu" @@ -1223,6 +1210,9 @@ msgstr "Vynutit TKIP" msgid "Force TKIP and CCMP (AES)" msgstr "Vynutit TKIP a CCMP (AES)" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1623,6 +1613,9 @@ msgstr "Uvedené VLAN ID je neplatné! Každé ID musà být jedineÄné" msgid "Invalid username and/or password! Please try again." msgstr "Å patné uživatelské jméno a/nebo heslo! ProsÃm zkuste to znovu." +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1631,7 +1624,7 @@ msgstr "" "Zdá se, že se pokouÅ¡Ãte zapsat obraz, který se nevejde do flash pamÄ›ti. " "ProsÃm ověřte soubor s obrazem!" -msgid "Java Script required!" +msgid "JavaScript required!" msgstr "Vyžadován JavaScript!" msgid "Join Network" @@ -1901,9 +1894,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "NejvyÅ¡Å¡Ã mÃra" - msgid "Maximum allowed number of active DHCP leases" msgstr "NejvyÅ¡Å¡Ã povolené množstvà aktivnÃch DHCP zápůjÄek" @@ -1939,9 +1929,6 @@ msgstr "Využità pamÄ›ti (%)" msgid "Metric" msgstr "Metrika" -msgid "Minimum Rate" -msgstr "Nejnižšà hodnota" - msgid "Minimum hold time" msgstr "Minimálnà Äas zápůjÄky" @@ -2015,9 +2002,6 @@ msgstr "PÅ™esunout dolů" msgid "Move up" msgstr "PÅ™esunout nahoru" -msgid "Multicast Rate" -msgstr "Hodnota vÃcesmÄ›rového vysÃlánÃ" - msgid "Multicast address" msgstr "Adresa vÃcesmÄ›rového vysÃlánÃ" @@ -2030,6 +2014,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2222,8 +2209,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2260,9 +2252,6 @@ msgstr "Ven" msgid "Outbound:" msgstr "OdchozÃ:" -msgid "Outdoor Channels" -msgstr "Venkovnà kanály" - msgid "Output Interface" msgstr "" @@ -2444,6 +2433,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2647,9 +2642,6 @@ msgstr "PÅ™epojuji rozhranÃ" msgid "References" msgstr "Reference" -msgid "Regulatory Domain" -msgstr "Doména regulátora" - msgid "Relay" msgstr "PÅ™enos" @@ -2699,15 +2691,15 @@ msgstr "Vyžadováno u nÄ›kterých ISP, napÅ™. Charter s DocSIS 3" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2853,9 +2845,6 @@ msgstr "" msgid "Separate Clients" msgstr "OddÄ›lovat klienty" -msgid "Separate WDS" -msgstr "OddÄ›lovat WDS" - msgid "Server Settings" msgstr "Nastavenà serveru" @@ -2879,6 +2868,11 @@ msgstr "Typ služby" msgid "Services" msgstr "Služby" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + #, fuzzy msgid "Set up Time Synchronization" msgstr "Nastavit synchronizaci Äasu" @@ -3019,9 +3013,6 @@ msgstr "Statické zápůjÄky" msgid "Static Routes" msgstr "Statické trasy" -msgid "Static WDS" -msgstr "Statický WDS" - msgid "Static address" msgstr "Statická adresa" @@ -3436,9 +3427,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "Turbo mód" - msgid "Tx-Power" msgstr "Tx-Power" @@ -3724,9 +3712,6 @@ msgstr "Zapisovat pÅ™ijaté požadavky DNS do systemového logu" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "Podpora XR" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3737,9 +3722,9 @@ msgstr "" "\"network\", vaÅ¡e zaÅ™Ãzenà se může stát nepÅ™Ãstupným!</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" -"Aby LuCI fungoval správnÄ›, musÃte mÃt v prohlÞeÄi povolený Javascript." +"Aby LuCI fungoval správnÄ›, musÃte mÃt v prohlÞeÄi povolený JavaScript." msgid "" "Your Internet Explorer is too old to display this page correctly. Please " @@ -3910,6 +3895,54 @@ msgstr "ano" msgid "« Back" msgstr "« ZpÄ›t" +#~ msgid "AR Support" +#~ msgstr "Podpora AR" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "Atheros 802.11%s bezdrátový ovladaÄ" + +#~ msgid "Background Scan" +#~ msgstr "Vyhledávat na pozadÃ" + +#~ msgid "Compression" +#~ msgstr "Komprese" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "Zakázat HW-Beacon ÄasovaÄ" + +#~ msgid "Do not send probe responses" +#~ msgstr "NeodpovÃdat na vyhledávánÃ" + +#~ msgid "Fast Frames" +#~ msgstr "Rychlé rámce" + +#~ msgid "Maximum Rate" +#~ msgstr "NejvyÅ¡Å¡Ã mÃra" + +#~ msgid "Minimum Rate" +#~ msgstr "Nejnižšà hodnota" + +#~ msgid "Multicast Rate" +#~ msgstr "Hodnota vÃcesmÄ›rového vysÃlánÃ" + +#~ msgid "Outdoor Channels" +#~ msgstr "Venkovnà kanály" + +#~ msgid "Regulatory Domain" +#~ msgstr "Doména regulátora" + +#~ msgid "Separate WDS" +#~ msgstr "OddÄ›lovat WDS" + +#~ msgid "Static WDS" +#~ msgstr "Statický WDS" + +#~ msgid "Turbo Mode" +#~ msgstr "Turbo mód" + +#~ msgid "XR Support" +#~ msgstr "Podpora XR" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "Pokud nenà zaÅ¡krtnuto, bude vytvoÅ™ena dodateÄná sÃÅ¥." diff --git a/modules/luci-base/po/de/base.po b/modules/luci-base/po/de/base.po index ea2d7c917e..5418b78411 100644 --- a/modules/luci-base/po/de/base.po +++ b/modules/luci-base/po/de/base.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-05-26 17:57+0200\n" -"PO-Revision-Date: 2013-03-29 12:13+0200\n" +"PO-Revision-Date: 2017-03-06 11:15+0200\n" "Last-Translator: JoeSemler <josef.semler@gmail.com>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: de\n" @@ -150,6 +150,11 @@ msgstr "<abbr title=\"maximal\">Max.</abbr> Anzahl gleichzeitiger Abfragen" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "<abbr title='Paarweise: %s / Gruppe: %s'>%s - %s</abbr>" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -168,9 +173,6 @@ msgstr "" msgid "APN" msgstr "APN" -msgid "AR Support" -msgstr "AR-Unterstützung" - msgid "ARP retry threshold" msgstr "Grenzwert für ARP-Auflösungsversuche" @@ -274,9 +276,11 @@ msgid "" "Allocate IP addresses sequentially, starting from the lowest available " "address" msgstr "" +"IP-Adressen sequenziell vergeben, beginnend mit der kleinsten verfügbaren " +"Adresse" msgid "Allocate IP sequentially" -msgstr "" +msgstr "IPs sequenziell vergeben" msgid "Allow <abbr title=\"Secure Shell\">SSH</abbr> password authentication" msgstr "Erlaube Anmeldung per Passwort" @@ -413,9 +417,6 @@ msgstr "" msgid "Associated Stations" msgstr "Assoziierte Clients" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "Atheros 802.11%s W-LAN Adapter" - msgid "Auth Group" msgstr "" @@ -494,9 +495,6 @@ msgstr "Zurück zur Ãœbersicht" msgid "Back to scan results" msgstr "Zurück zu den Scan-Ergebnissen" -msgid "Background Scan" -msgstr "Hintergrundscan" - msgid "Backup / Flash Firmware" msgstr "Backup / Firmware Update" @@ -663,9 +661,6 @@ msgstr "Befehl" msgid "Common Configuration" msgstr "Allgemeine Konfiguration" -msgid "Compression" -msgstr "Kompression" - msgid "Configuration" msgstr "Konfiguration" @@ -883,9 +878,6 @@ msgstr "DNS-Verarbeitung deaktivieren" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "Deaktiviere Hardware-Beacon Zeitgeber" - msgid "Disabled" msgstr "Deaktiviert" @@ -935,9 +927,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "Keine Rückwärtsauflösungen für lokale Netzwerke weiterleiten" -msgid "Do not send probe responses" -msgstr "Scan-Anforderungen nicht beantworten" - msgid "Domain required" msgstr "Anfragen nur mit Domain" @@ -1136,9 +1125,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "Schnelle Frames" - msgid "File" msgstr "Datei" @@ -1174,6 +1160,9 @@ msgstr "Fertigstellen" msgid "Firewall" msgstr "Firewall" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "Firewall Einstellungen" @@ -1221,6 +1210,9 @@ msgstr "Erzwinge TKIP" msgid "Force TKIP and CCMP (AES)" msgstr "Erzwinge TKIP und CCMP (AES)" +msgid "Force link" +msgstr "Erzwinge Verbindung" + msgid "Force use of NAT-T" msgstr "" @@ -1623,6 +1615,9 @@ msgid "Invalid username and/or password! Please try again." msgstr "" "Ungültiger Benutzername oder ungültiges Passwort! Bitte erneut versuchen. " +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1631,8 +1626,8 @@ msgstr "" "Das verwendete Image scheint zu groß für den internen Flash-Speicher zu " "sein. Ãœberprüfen Sie die Imagedatei!" -msgid "Java Script required!" -msgstr "Java-Script benötigt!" +msgid "JavaScript required!" +msgstr "JavaScript benötigt!" msgid "Join Network" msgstr "Netzwerk beitreten" @@ -1904,9 +1899,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "Höchstübertragungsrate" - msgid "Maximum allowed number of active DHCP leases" msgstr "Maximal zulässige Anzahl von aktiven DHCP-Leases" @@ -1942,9 +1934,6 @@ msgstr "Speichernutzung (%)" msgid "Metric" msgstr "Metrik" -msgid "Minimum Rate" -msgstr "Mindestübertragungsrate" - msgid "Minimum hold time" msgstr "Minimalzeit zum Halten der Verbindung" @@ -2018,9 +2007,6 @@ msgstr "Nach unten schieben" msgid "Move up" msgstr "Nach oben schieben" -msgid "Multicast Rate" -msgstr "Multicastrate" - msgid "Multicast address" msgstr "Multicast-Adresse" @@ -2033,6 +2019,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2227,8 +2216,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2265,9 +2259,6 @@ msgstr "Aus" msgid "Outbound:" msgstr "Ausgehend:" -msgid "Outdoor Channels" -msgstr "Funkkanal für den Ausseneinsatz" - msgid "Output Interface" msgstr "" @@ -2449,6 +2440,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2653,9 +2650,6 @@ msgstr "Verbinde Schnittstelle neu" msgid "References" msgstr "Verweise" -msgid "Regulatory Domain" -msgstr "Geltungsbereich (Regulatory Domain)" - msgid "Relay" msgstr "Relay" @@ -2705,15 +2699,15 @@ msgstr "" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2860,9 +2854,6 @@ msgstr "" msgid "Separate Clients" msgstr "Clients isolieren" -msgid "Separate WDS" -msgstr "Separates WDS" - msgid "Server Settings" msgstr "Servereinstellungen" @@ -2886,6 +2877,14 @@ msgstr "Service-Typ" msgid "Services" msgstr "Dienste" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" +"Schnittstelleneigenschaften werden unabhängig vom Link gesetzt (ist die " +"Option ausgewählt, so werden die Hotplug-Skripte bei Änderung nicht " +"aufgerufen)" + #, fuzzy msgid "Set up Time Synchronization" msgstr "Zeitsynchronisierung einrichten" @@ -3029,9 +3028,6 @@ msgstr "Statische Einträge" msgid "Static Routes" msgstr "Statische Routen" -msgid "Static WDS" -msgstr "Statisches WDS" - msgid "Static address" msgstr "Statische Adresse" @@ -3058,10 +3054,11 @@ msgid "Submit" msgstr "Absenden" msgid "Suppress logging" -msgstr "" +msgstr "Logeinträge unterdrücken" msgid "Suppress logging of the routine operation of these protocols" msgstr "" +"Logeinträge für erfolgreiche Operationen dieser Protokolle unterdrücken" msgid "Swap" msgstr "" @@ -3459,9 +3456,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "Turbo Modus" - msgid "Tx-Power" msgstr "Sendestärke" @@ -3748,9 +3742,6 @@ msgstr "Empfangene DNS-Anfragen in das Systemprotokoll schreiben" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "XR-Unterstützung" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3762,9 +3753,9 @@ msgstr "" "werden könnte das Gerät unerreichbar werden!</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" -"Im Browser muss Java-Script aktiviert sein oder LuCI wird nicht richtig " +"Im Browser muss JavaScript aktiviert sein oder LuCI wird nicht richtig " "funktionieren." msgid "" @@ -3934,6 +3925,54 @@ msgstr "ja" msgid "« Back" msgstr "« Zurück" +#~ msgid "AR Support" +#~ msgstr "AR-Unterstützung" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "Atheros 802.11%s W-LAN Adapter" + +#~ msgid "Background Scan" +#~ msgstr "Hintergrundscan" + +#~ msgid "Compression" +#~ msgstr "Kompression" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "Deaktiviere Hardware-Beacon Zeitgeber" + +#~ msgid "Do not send probe responses" +#~ msgstr "Scan-Anforderungen nicht beantworten" + +#~ msgid "Fast Frames" +#~ msgstr "Schnelle Frames" + +#~ msgid "Maximum Rate" +#~ msgstr "Höchstübertragungsrate" + +#~ msgid "Minimum Rate" +#~ msgstr "Mindestübertragungsrate" + +#~ msgid "Multicast Rate" +#~ msgstr "Multicastrate" + +#~ msgid "Outdoor Channels" +#~ msgstr "Funkkanal für den Ausseneinsatz" + +#~ msgid "Regulatory Domain" +#~ msgstr "Geltungsbereich (Regulatory Domain)" + +#~ msgid "Separate WDS" +#~ msgstr "Separates WDS" + +#~ msgid "Static WDS" +#~ msgstr "Statisches WDS" + +#~ msgid "Turbo Mode" +#~ msgstr "Turbo Modus" + +#~ msgid "XR Support" +#~ msgstr "XR-Unterstützung" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "" #~ "Erzeugt ein zusätzliches Netzwerk wenn diese Option nicht ausgewählt ist" diff --git a/modules/luci-base/po/el/base.po b/modules/luci-base/po/el/base.po index 8b11a99f08..4a4f63017d 100644 --- a/modules/luci-base/po/el/base.po +++ b/modules/luci-base/po/el/base.po @@ -152,6 +152,11 @@ msgstr "<abbr title=\"μÎγιστο\">Μεγ.</abbr> πλήθος Ï„Î±Ï…Ï„ÏŒÏ‡Ï msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -170,9 +175,6 @@ msgstr "" msgid "APN" msgstr "APN" -msgid "AR Support" -msgstr "ΥποστήÏιξη AR" - msgid "ARP retry threshold" msgstr "ÎŒÏιο επαναδοκιμών ARP" @@ -421,9 +423,6 @@ msgstr "" msgid "Associated Stations" msgstr "ΣυνδεδεμÎνοι Σταθμοί" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "" - msgid "Auth Group" msgstr "" @@ -502,9 +501,6 @@ msgstr "Πίσω Ï€Ïος επισκόπηση" msgid "Back to scan results" msgstr "Πίσω στα αποτελÎσματα σάÏωσης" -msgid "Background Scan" -msgstr "ΣάÏωση ΠαÏασκηνίου" - msgid "Backup / Flash Firmware" msgstr "ΑντίγÏαφο ασφαλείας / ΕγγÏαφή FLASH Υλικολογισμικό" @@ -675,9 +671,6 @@ msgstr "Εντολή" msgid "Common Configuration" msgstr "Κοινή ΠαÏαμετÏοποίηση" -msgid "Compression" -msgstr "Συμπίεση" - msgid "Configuration" msgstr "ΠαÏαμετÏοποίηση" @@ -897,9 +890,6 @@ msgstr "ΑπενεÏγοποίηση Ïυθμίσεων DNS" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "ΑπενεÏγοποίηση χÏονιστή HW-Beacon" - msgid "Disabled" msgstr "ΑπενεÏγοποιημÎνο" @@ -948,9 +938,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "" -msgid "Do not send probe responses" -msgstr "Îα μην στÎλνονται απαντήσεις σε probes" - msgid "Domain required" msgstr "Απαίτηση για όνομα τομÎα" @@ -1153,9 +1140,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "ΓÏήγοÏα Πλαίσια" - msgid "File" msgstr "ΑÏχείο" @@ -1191,6 +1175,9 @@ msgstr "ΤÎλος" msgid "Firewall" msgstr "Τείχος Î Ïοστασίας" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "Ρυθμίσεις Τείχους Î Ïοστασίας" @@ -1237,6 +1224,9 @@ msgstr "Επιβολή TKIP" msgid "Force TKIP and CCMP (AES)" msgstr "Επιβολή TKIP και CCMP (AES)" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1638,6 +1628,9 @@ msgstr "" msgid "Invalid username and/or password! Please try again." msgstr "ΆκυÏο όνομα χÏήστη και/ή κωδικός Ï€Ïόσβασης! ΠαÏακαλώ Ï€Ïοσπαθήστε ξανά." +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1646,8 +1639,8 @@ msgstr "" "Φαίνεται πως Ï€Ïοσπαθείτε να φλασάÏετε μια εικόνα που δεν χωÏάει στην μνήμη " "flash, παÏακαλώ επιβεβαιώστε το αÏχείο εικόνας!" -msgid "Java Script required!" -msgstr "Απαιτείται Javascript!" +msgid "JavaScript required!" +msgstr "Απαιτείται JavaScript!" msgid "Join Network" msgstr "" @@ -1907,9 +1900,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "ÎœÎγιστος Ρυθμός" - msgid "Maximum allowed number of active DHCP leases" msgstr "ÎœÎγιστος επιτÏεπόμενος αÏιθμός ενεÏγών DHCP leases" @@ -1946,9 +1936,6 @@ msgstr "ΧÏήση Μνήμης (%)" msgid "Metric" msgstr "ÎœÎÏ„Ïο" -msgid "Minimum Rate" -msgstr "Ελάχιστος Ρυθμός" - msgid "Minimum hold time" msgstr "Ελάχιστος χÏόνος κÏάτησης" @@ -2023,9 +2010,6 @@ msgstr "Μετακίνηση κάτω" msgid "Move up" msgstr "Μετακίνηση πάνω" -msgid "Multicast Rate" -msgstr "Ρυθμός Multicast" - msgid "Multicast address" msgstr "ΔιεÏθυνση Multicast" @@ -2038,6 +2022,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2231,8 +2218,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2269,9 +2261,6 @@ msgstr "Έξοδος" msgid "Outbound:" msgstr "" -msgid "Outdoor Channels" -msgstr "ΕξωτεÏικά Κανάλια" - msgid "Output Interface" msgstr "" @@ -2451,6 +2440,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2640,9 +2635,6 @@ msgstr "ΕπανασÏνδεση της διεπαφής" msgid "References" msgstr "ΑναφοÏÎÏ‚" -msgid "Regulatory Domain" -msgstr "Ρυθμιστική ΠεÏιοχή" - msgid "Relay" msgstr "" @@ -2691,15 +2683,15 @@ msgstr "" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2846,9 +2838,6 @@ msgstr "" msgid "Separate Clients" msgstr "Απομόνωση Πελατών" -msgid "Separate WDS" -msgstr "ΞεχωÏιστά WDS" - msgid "Server Settings" msgstr "Ρυθμίσεις ΕξυπηÏετητή" @@ -2872,6 +2861,11 @@ msgstr "Είδος ΥπηÏεσίας" msgid "Services" msgstr "ΥπηÏεσίες" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + msgid "Set up Time Synchronization" msgstr "" @@ -3008,9 +3002,6 @@ msgstr "Στατικά Leases" msgid "Static Routes" msgstr "ΣτατικÎÏ‚ ΔιαδÏομÎÏ‚" -msgid "Static WDS" -msgstr "" - msgid "Static address" msgstr "Στατική διεÏθυνση" @@ -3395,9 +3386,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "ΛειτουÏγία Turbo" - msgid "Tx-Power" msgstr "ΙσχÏÏ‚ Εκπομπής" @@ -3675,9 +3663,6 @@ msgstr "ΚαταγÏαφή των ληφθÎντων DNS αιτήσεων στο msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "ΥποστήÏιξη XR" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3689,7 +3674,7 @@ msgstr "" "όπως το \"network\", η συσκευή σας μποÏεί να καταστεί μη-Ï€Ïοσβάσιμη!</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" msgid "" @@ -3863,6 +3848,48 @@ msgstr "ναι" msgid "« Back" msgstr "« Πίσω" +#~ msgid "AR Support" +#~ msgstr "ΥποστήÏιξη AR" + +#~ msgid "Background Scan" +#~ msgstr "ΣάÏωση ΠαÏασκηνίου" + +#~ msgid "Compression" +#~ msgstr "Συμπίεση" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "ΑπενεÏγοποίηση χÏονιστή HW-Beacon" + +#~ msgid "Do not send probe responses" +#~ msgstr "Îα μην στÎλνονται απαντήσεις σε probes" + +#~ msgid "Fast Frames" +#~ msgstr "ΓÏήγοÏα Πλαίσια" + +#~ msgid "Maximum Rate" +#~ msgstr "ÎœÎγιστος Ρυθμός" + +#~ msgid "Minimum Rate" +#~ msgstr "Ελάχιστος Ρυθμός" + +#~ msgid "Multicast Rate" +#~ msgstr "Ρυθμός Multicast" + +#~ msgid "Outdoor Channels" +#~ msgstr "ΕξωτεÏικά Κανάλια" + +#~ msgid "Regulatory Domain" +#~ msgstr "Ρυθμιστική ΠεÏιοχή" + +#~ msgid "Separate WDS" +#~ msgstr "ΞεχωÏιστά WDS" + +#~ msgid "Turbo Mode" +#~ msgstr "ΛειτουÏγία Turbo" + +#~ msgid "XR Support" +#~ msgstr "ΥποστήÏιξη XR" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "Ένα επιπλÎον δίκτυο θα δημιουÏγηθεί εάν αυτό αφεθεί κενό" diff --git a/modules/luci-base/po/en/base.po b/modules/luci-base/po/en/base.po index e11c0faac9..e2c8401509 100644 --- a/modules/luci-base/po/en/base.po +++ b/modules/luci-base/po/en/base.po @@ -152,6 +152,11 @@ msgstr "<abbr title=\"maximal\">Max.</abbr> concurrent queries" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -170,9 +175,6 @@ msgstr "" msgid "APN" msgstr "APN" -msgid "AR Support" -msgstr "AR Support" - msgid "ARP retry threshold" msgstr "ARP retry threshold" @@ -412,9 +414,6 @@ msgstr "" msgid "Associated Stations" msgstr "Associated Stations" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "" - msgid "Auth Group" msgstr "" @@ -493,9 +492,6 @@ msgstr "Back to overview" msgid "Back to scan results" msgstr "Back to scan results" -msgid "Background Scan" -msgstr "Background Scan" - msgid "Backup / Flash Firmware" msgstr "Backup / Flash Firmware" @@ -662,9 +658,6 @@ msgstr "Command" msgid "Common Configuration" msgstr "Common Configuration" -msgid "Compression" -msgstr "Compression" - msgid "Configuration" msgstr "Configuration" @@ -883,9 +876,6 @@ msgstr "" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "Disable HW-Beacon timer" - msgid "Disabled" msgstr "Disabled" @@ -930,9 +920,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "" -msgid "Do not send probe responses" -msgstr "Do not send probe responses" - msgid "Domain required" msgstr "Domain required" @@ -1129,9 +1116,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "Fast Frames" - msgid "File" msgstr "" @@ -1167,6 +1151,9 @@ msgstr "" msgid "Firewall" msgstr "Firewall" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "Firewall Settings" @@ -1212,6 +1199,9 @@ msgstr "" msgid "Force TKIP and CCMP (AES)" msgstr "" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1607,6 +1597,9 @@ msgstr "" msgid "Invalid username and/or password! Please try again." msgstr "Invalid username and/or password! Please try again." +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1615,7 +1608,7 @@ msgstr "" "It appears that you try to flash an image that does not fit into the flash " "memory, please verify the image file!" -msgid "Java Script required!" +msgid "JavaScript required!" msgstr "" msgid "Join Network" @@ -1876,9 +1869,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "Maximum Rate" - msgid "Maximum allowed number of active DHCP leases" msgstr "" @@ -1914,9 +1904,6 @@ msgstr "Memory usage (%)" msgid "Metric" msgstr "Metric" -msgid "Minimum Rate" -msgstr "Minimum Rate" - msgid "Minimum hold time" msgstr "Minimum hold time" @@ -1990,9 +1977,6 @@ msgstr "" msgid "Move up" msgstr "" -msgid "Multicast Rate" -msgstr "Multicast Rate" - msgid "Multicast address" msgstr "" @@ -2005,6 +1989,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2198,8 +2185,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2236,9 +2228,6 @@ msgstr "Out" msgid "Outbound:" msgstr "" -msgid "Outdoor Channels" -msgstr "Outdoor Channels" - msgid "Output Interface" msgstr "" @@ -2418,6 +2407,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2606,9 +2601,6 @@ msgstr "" msgid "References" msgstr "References" -msgid "Regulatory Domain" -msgstr "Regulatory Domain" - msgid "Relay" msgstr "" @@ -2657,15 +2649,15 @@ msgstr "" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2810,9 +2802,6 @@ msgstr "" msgid "Separate Clients" msgstr "Separate Clients" -msgid "Separate WDS" -msgstr "Separate WDS" - msgid "Server Settings" msgstr "" @@ -2836,6 +2825,11 @@ msgstr "" msgid "Services" msgstr "Services" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + msgid "Set up Time Synchronization" msgstr "" @@ -2970,9 +2964,6 @@ msgstr "Static Leases" msgid "Static Routes" msgstr "Static Routes" -msgid "Static WDS" -msgstr "" - msgid "Static address" msgstr "" @@ -3352,9 +3343,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "Turbo Mode" - msgid "Tx-Power" msgstr "" @@ -3634,9 +3622,6 @@ msgstr "" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "XR Support" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3647,7 +3632,7 @@ msgstr "" "scripts like \"network\", your device might become inaccessible!</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" msgid "" @@ -3819,6 +3804,48 @@ msgstr "" msgid "« Back" msgstr "« Back" +#~ msgid "AR Support" +#~ msgstr "AR Support" + +#~ msgid "Background Scan" +#~ msgstr "Background Scan" + +#~ msgid "Compression" +#~ msgstr "Compression" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "Disable HW-Beacon timer" + +#~ msgid "Do not send probe responses" +#~ msgstr "Do not send probe responses" + +#~ msgid "Fast Frames" +#~ msgstr "Fast Frames" + +#~ msgid "Maximum Rate" +#~ msgstr "Maximum Rate" + +#~ msgid "Minimum Rate" +#~ msgstr "Minimum Rate" + +#~ msgid "Multicast Rate" +#~ msgstr "Multicast Rate" + +#~ msgid "Outdoor Channels" +#~ msgstr "Outdoor Channels" + +#~ msgid "Regulatory Domain" +#~ msgstr "Regulatory Domain" + +#~ msgid "Separate WDS" +#~ msgstr "Separate WDS" + +#~ msgid "Turbo Mode" +#~ msgstr "Turbo Mode" + +#~ msgid "XR Support" +#~ msgstr "XR Support" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "An additional network will be created if you leave this unchecked." diff --git a/modules/luci-base/po/es/base.po b/modules/luci-base/po/es/base.po index bfc0305a2e..9d39621de0 100644 --- a/modules/luci-base/po/es/base.po +++ b/modules/luci-base/po/es/base.po @@ -154,6 +154,11 @@ msgstr "Máximo número de consultas concurrentes" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "<abbr title='Pairwise: %s / Grupo: %s'>%s - %s</abbr>" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -172,9 +177,6 @@ msgstr "" msgid "APN" msgstr "APN" -msgid "AR Support" -msgstr "Soporte a AR" - msgid "ARP retry threshold" msgstr "Umbral de reintento ARP" @@ -418,9 +420,6 @@ msgstr "" msgid "Associated Stations" msgstr "Estaciones asociadas" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "Controlador inalámbrico 802.11%s Atheros" - msgid "Auth Group" msgstr "" @@ -499,9 +498,6 @@ msgstr "Volver al resumen" msgid "Back to scan results" msgstr "Volver a resultados de la exploración" -msgid "Background Scan" -msgstr "Exploración en segundo plano" - msgid "Backup / Flash Firmware" msgstr "Copia de seguridad / Grabar firmware" @@ -671,9 +667,6 @@ msgstr "Comando" msgid "Common Configuration" msgstr "Configuración común" -msgid "Compression" -msgstr "Compresión" - msgid "Configuration" msgstr "Configuración" @@ -894,9 +887,6 @@ msgstr "Desactivar configuración de DNS" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "Desactivar el temporizador de baliza hardware" - msgid "Disabled" msgstr "Desactivar" @@ -943,9 +933,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "No retransmitir búsquedas inversas para redes locales" -msgid "Do not send probe responses" -msgstr "No enviar respuestas de prueba" - msgid "Domain required" msgstr "Dominio requerido" @@ -1147,9 +1134,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "Tramas rápidas" - msgid "File" msgstr "Fichero" @@ -1185,6 +1169,9 @@ msgstr "Terminar" msgid "Firewall" msgstr "Cortafuegos" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "Configuración del cortafuegos" @@ -1230,6 +1217,9 @@ msgstr "Forzar TKIP" msgid "Force TKIP and CCMP (AES)" msgstr "Forzar TKIP y CCMP (AES)" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1637,6 +1627,9 @@ msgid "Invalid username and/or password! Please try again." msgstr "" "¡Nombre de usuario o contraseña no válidos!. Pruebe de nuevo, por favor." +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1645,7 +1638,7 @@ msgstr "" "Parece que está intentando grabar una imagen de firmware mayor que la " "memoria flash de su equipo. ¡Por favor, verifique el archivo!" -msgid "Java Script required!" +msgid "JavaScript required!" msgstr "¡Se necesita JavaScript!" msgid "Join Network" @@ -1915,9 +1908,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "Ratio Máximo" - msgid "Maximum allowed number of active DHCP leases" msgstr "Número máximo de cesiones DHCP activas" @@ -1953,9 +1943,6 @@ msgstr "Uso de memoria (%)" msgid "Metric" msgstr "Métrica" -msgid "Minimum Rate" -msgstr "Ratio mÃnimo" - msgid "Minimum hold time" msgstr "Pausa mÃnima de espera" @@ -2029,9 +2016,6 @@ msgstr "Bajar" msgid "Move up" msgstr "Subir" -msgid "Multicast Rate" -msgstr "Ratio multicast" - msgid "Multicast address" msgstr "Dirección multicast" @@ -2044,6 +2028,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2236,8 +2223,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2274,9 +2266,6 @@ msgstr "Salida" msgid "Outbound:" msgstr "Saliente:" -msgid "Outdoor Channels" -msgstr "Canales al aire libre" - msgid "Output Interface" msgstr "" @@ -2458,6 +2447,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2660,9 +2655,6 @@ msgstr "Reconectando la interfaz" msgid "References" msgstr "Referencias" -msgid "Regulatory Domain" -msgstr "Dominio Regulador" - msgid "Relay" msgstr "Relé" @@ -2711,15 +2703,15 @@ msgstr "Necesario para ciertos ISPs, por ejemplo Charter con DOCSIS 3" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2866,9 +2858,6 @@ msgstr "" msgid "Separate Clients" msgstr "Aislar clientes" -msgid "Separate WDS" -msgstr "WDS aislado" - msgid "Server Settings" msgstr "Configuración del servidor" @@ -2892,6 +2881,11 @@ msgstr "Tipo de servicio" msgid "Services" msgstr "Servicios" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + #, fuzzy msgid "Set up Time Synchronization" msgstr "Sincronización horaria" @@ -3035,9 +3029,6 @@ msgstr "Cesiones estáticas" msgid "Static Routes" msgstr "Rutas estáticas" -msgid "Static WDS" -msgstr "WDS estático" - msgid "Static address" msgstr "Dirección estática" @@ -3461,9 +3452,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "Modo Turbo" - msgid "Tx-Power" msgstr "Potencia-TX" @@ -3750,9 +3738,6 @@ msgstr "Escribir las peticiones de DNS recibidas en el registro del sistema" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "Soporte de XR" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3764,9 +3749,9 @@ msgstr "" "inaccesible!.</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" -"Debe activar Javascript en su navegador o LuCI no funcionará correctamente." +"Debe activar JavaScript en su navegador o LuCI no funcionará correctamente." msgid "" "Your Internet Explorer is too old to display this page correctly. Please " @@ -3938,6 +3923,54 @@ msgstr "sÃ" msgid "« Back" msgstr "« Volver" +#~ msgid "AR Support" +#~ msgstr "Soporte a AR" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "Controlador inalámbrico 802.11%s Atheros" + +#~ msgid "Background Scan" +#~ msgstr "Exploración en segundo plano" + +#~ msgid "Compression" +#~ msgstr "Compresión" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "Desactivar el temporizador de baliza hardware" + +#~ msgid "Do not send probe responses" +#~ msgstr "No enviar respuestas de prueba" + +#~ msgid "Fast Frames" +#~ msgstr "Tramas rápidas" + +#~ msgid "Maximum Rate" +#~ msgstr "Ratio Máximo" + +#~ msgid "Minimum Rate" +#~ msgstr "Ratio mÃnimo" + +#~ msgid "Multicast Rate" +#~ msgstr "Ratio multicast" + +#~ msgid "Outdoor Channels" +#~ msgstr "Canales al aire libre" + +#~ msgid "Regulatory Domain" +#~ msgstr "Dominio Regulador" + +#~ msgid "Separate WDS" +#~ msgstr "WDS aislado" + +#~ msgid "Static WDS" +#~ msgstr "WDS estático" + +#~ msgid "Turbo Mode" +#~ msgstr "Modo Turbo" + +#~ msgid "XR Support" +#~ msgstr "Soporte de XR" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "Se creará una red adicional si deja esto desmarcado." diff --git a/modules/luci-base/po/fr/base.po b/modules/luci-base/po/fr/base.po index 8e610fb864..774559334c 100644 --- a/modules/luci-base/po/fr/base.po +++ b/modules/luci-base/po/fr/base.po @@ -153,6 +153,11 @@ msgstr "Maximum de requêtes concurrentes" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -171,9 +176,6 @@ msgstr "" msgid "APN" msgstr "APN" -msgid "AR Support" -msgstr "Gestion du mode AR" - msgid "ARP retry threshold" msgstr "Niveau de ré-essai ARP" @@ -424,9 +426,6 @@ msgstr "" msgid "Associated Stations" msgstr "Équipements associés" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "Contrôleur sans fil Atheros 802.11%s " - msgid "Auth Group" msgstr "" @@ -505,9 +504,6 @@ msgstr "Retour à la vue générale" msgid "Back to scan results" msgstr "Retour aux résultats de la recherche" -msgid "Background Scan" -msgstr "Recherche en arrière-plan" - msgid "Backup / Flash Firmware" msgstr "Sauvegarde / Mise à jour du micrologiciel" @@ -678,9 +674,6 @@ msgstr "Commande" msgid "Common Configuration" msgstr "Configuration commune" -msgid "Compression" -msgstr "Compression" - msgid "Configuration" msgstr "Configuration" @@ -901,9 +894,6 @@ msgstr "Désactiver la configuration DNS" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "Désactiver l'émission périodique de balises wifi (« HW-Beacon »)" - msgid "Disabled" msgstr "Désactivé" @@ -953,9 +943,6 @@ msgid "Do not forward reverse lookups for local networks" msgstr "" "Ne pas transmettre les requêtes de recherche inverse pour les réseaux locaux" -msgid "Do not send probe responses" -msgstr "Ne pas envoyer de réponses de test" - msgid "Domain required" msgstr "Domaine nécessaire" @@ -1159,9 +1146,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "Trames rapides" - msgid "File" msgstr "Fichier" @@ -1197,6 +1181,9 @@ msgstr "Terminer" msgid "Firewall" msgstr "Pare-feu" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "Paramètres du pare-feu" @@ -1242,6 +1229,9 @@ msgstr "Forcer TKIP" msgid "Force TKIP and CCMP (AES)" msgstr "Forcer TKIP et CCMP (AES)" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1647,6 +1637,9 @@ msgstr "" msgid "Invalid username and/or password! Please try again." msgstr "Nom d'utilisateur et/ou mot de passe invalides ! Réessayez !" +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1656,7 +1649,7 @@ msgstr "" "tient pas dans sa mémoire flash, vérifiez s'il vous plait votre fichier-" "image !" -msgid "Java Script required!" +msgid "JavaScript required!" msgstr "Nécessite un Script Java !" msgid "Join Network" @@ -1929,9 +1922,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "Débit maximum" - msgid "Maximum allowed number of active DHCP leases" msgstr "Nombre maximum de baux DHCP actifs" @@ -1967,9 +1957,6 @@ msgstr "Utilisation Mémoire (%)" msgid "Metric" msgstr "Metrique" -msgid "Minimum Rate" -msgstr "Débit minimum" - msgid "Minimum hold time" msgstr "Temps de maintien mimimum" @@ -2043,9 +2030,6 @@ msgstr "Descendre" msgid "Move up" msgstr "Monter" -msgid "Multicast Rate" -msgstr "Débit multidiffusion" - msgid "Multicast address" msgstr "Adresse multidiffusion" @@ -2058,6 +2042,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2249,8 +2236,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2287,9 +2279,6 @@ msgstr "Sortie" msgid "Outbound:" msgstr "Extérieur :" -msgid "Outdoor Channels" -msgstr "Canaux en extérieur" - msgid "Output Interface" msgstr "" @@ -2471,6 +2460,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2673,9 +2668,6 @@ msgstr "Reconnecte cet interface" msgid "References" msgstr "Références" -msgid "Regulatory Domain" -msgstr "Domaine de certification" - msgid "Relay" msgstr "Relais" @@ -2724,15 +2716,15 @@ msgstr "Nécessaire avec certains FAIs, par ex. : Charter avec DOCSIS 3" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2880,9 +2872,6 @@ msgstr "" msgid "Separate Clients" msgstr "Isoler les clients" -msgid "Separate WDS" -msgstr "WDS séparé" - msgid "Server Settings" msgstr "Paramètres du serveur" @@ -2906,6 +2895,11 @@ msgstr "Type du service" msgid "Services" msgstr "Services" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + #, fuzzy msgid "Set up Time Synchronization" msgstr "Configurer la synchronisation de l'heure" @@ -3047,9 +3041,6 @@ msgstr "Baux Statiques" msgid "Static Routes" msgstr "Routes statiques" -msgid "Static WDS" -msgstr "WDS statique" - msgid "Static address" msgstr "Adresse statique" @@ -3479,9 +3470,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "Mode Turbo" - msgid "Tx-Power" msgstr "Puissance d'émission" @@ -3769,9 +3757,6 @@ msgstr "Écrire les requêtes DNS reçues dans syslog" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "Gestion du mode XR" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3783,10 +3768,10 @@ msgstr "" "\", votre équipement pourrait ne plus être accessible !</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" -"Vous devez activer Java Script dans votre navigateur pour que LuCI " -"fonctionne correctement." +"Vous devez activer JavaScript dans votre navigateur pour que LuCI fonctionne " +"correctement." msgid "" "Your Internet Explorer is too old to display this page correctly. Please " @@ -3956,6 +3941,54 @@ msgstr "oui" msgid "« Back" msgstr "« Retour" +#~ msgid "AR Support" +#~ msgstr "Gestion du mode AR" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "Contrôleur sans fil Atheros 802.11%s " + +#~ msgid "Background Scan" +#~ msgstr "Recherche en arrière-plan" + +#~ msgid "Compression" +#~ msgstr "Compression" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "Désactiver l'émission périodique de balises wifi (« HW-Beacon »)" + +#~ msgid "Do not send probe responses" +#~ msgstr "Ne pas envoyer de réponses de test" + +#~ msgid "Fast Frames" +#~ msgstr "Trames rapides" + +#~ msgid "Maximum Rate" +#~ msgstr "Débit maximum" + +#~ msgid "Minimum Rate" +#~ msgstr "Débit minimum" + +#~ msgid "Multicast Rate" +#~ msgstr "Débit multidiffusion" + +#~ msgid "Outdoor Channels" +#~ msgstr "Canaux en extérieur" + +#~ msgid "Regulatory Domain" +#~ msgstr "Domaine de certification" + +#~ msgid "Separate WDS" +#~ msgstr "WDS séparé" + +#~ msgid "Static WDS" +#~ msgstr "WDS statique" + +#~ msgid "Turbo Mode" +#~ msgstr "Mode Turbo" + +#~ msgid "XR Support" +#~ msgstr "Gestion du mode XR" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "Un réseau supplémentaire sera créé si vous laissé ceci décoché." diff --git a/modules/luci-base/po/he/base.po b/modules/luci-base/po/he/base.po index 70a1238e53..4b8eb8161c 100644 --- a/modules/luci-base/po/he/base.po +++ b/modules/luci-base/po/he/base.po @@ -143,6 +143,11 @@ msgstr "" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -161,9 +166,6 @@ msgstr "" msgid "APN" msgstr "" -msgid "AR Support" -msgstr "תמיכת AR" - #, fuzzy msgid "ARP retry threshold" msgstr "סף × ×¡×™×•× ×•×ª של ARP" @@ -413,9 +415,6 @@ msgstr "" msgid "Associated Stations" msgstr "×ª×—× ×•×ª קשורות" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "שלט ×לחוטי Atheros 802.11%s" - msgid "Auth Group" msgstr "" @@ -494,9 +493,6 @@ msgstr "חזרה לסקירה" msgid "Back to scan results" msgstr "חזרה לתוצ×ות סריקה" -msgid "Background Scan" -msgstr "סריקת רקע" - msgid "Backup / Flash Firmware" msgstr "גיבוי / קושחת פל×ש" @@ -655,9 +651,6 @@ msgstr "פקודה" msgid "Common Configuration" msgstr "הגדרות × ×¤×•×¦×•×ª" -msgid "Compression" -msgstr "דחיסה" - msgid "Configuration" msgstr "הגדרות" @@ -875,9 +868,6 @@ msgstr "" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "" - msgid "Disabled" msgstr "" @@ -918,9 +908,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "" -msgid "Do not send probe responses" -msgstr "" - msgid "Domain required" msgstr "" @@ -1114,9 +1101,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "" - msgid "File" msgstr "" @@ -1152,6 +1136,9 @@ msgstr "" msgid "Firewall" msgstr "" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "" @@ -1197,6 +1184,9 @@ msgstr "" msgid "Force TKIP and CCMP (AES)" msgstr "" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1585,12 +1575,15 @@ msgstr "" msgid "Invalid username and/or password! Please try again." msgstr "×©× ×ž×©×ª×ž×© ו/×ו סיסמה שגויי×! ×× × × ×¡×” ×©× ×™×ª." +msgid "Isolate Clients" +msgstr "" + msgid "" "It appears that you are trying to flash an image that does not fit into the " "flash memory, please verify the image file!" msgstr "" -msgid "Java Script required!" +msgid "JavaScript required!" msgstr "" msgid "Join Network" @@ -1851,9 +1844,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "" - msgid "Maximum allowed number of active DHCP leases" msgstr "" @@ -1889,9 +1879,6 @@ msgstr "" msgid "Metric" msgstr "" -msgid "Minimum Rate" -msgstr "" - msgid "Minimum hold time" msgstr "" @@ -1963,9 +1950,6 @@ msgstr "" msgid "Move up" msgstr "" -msgid "Multicast Rate" -msgstr "" - msgid "Multicast address" msgstr "" @@ -1978,6 +1962,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2165,8 +2152,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2203,9 +2195,6 @@ msgstr "" msgid "Outbound:" msgstr "" -msgid "Outdoor Channels" -msgstr "" - msgid "Output Interface" msgstr "" @@ -2385,6 +2374,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2574,9 +2569,6 @@ msgstr "" msgid "References" msgstr "" -msgid "Regulatory Domain" -msgstr "" - msgid "Relay" msgstr "" @@ -2625,15 +2617,15 @@ msgstr "" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2776,9 +2768,6 @@ msgstr "" msgid "Separate Clients" msgstr "" -msgid "Separate WDS" -msgstr "" - msgid "Server Settings" msgstr "" @@ -2802,6 +2791,11 @@ msgstr "" msgid "Services" msgstr "שירותי×" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + #, fuzzy msgid "Set up Time Synchronization" msgstr "×¡× ×›×¨×•×Ÿ זמן" @@ -2939,9 +2933,6 @@ msgstr "הקצ×ות סטטיות" msgid "Static Routes" msgstr "× ×™×ª×•×‘×™× ×¡×˜×˜×™×™×" -msgid "Static WDS" -msgstr "WDS סטטי" - msgid "Static address" msgstr "כתובת סטטית" @@ -3310,9 +3301,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "" - msgid "Tx-Power" msgstr "עוצמת שידור" @@ -3590,9 +3578,6 @@ msgstr "" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3600,8 +3585,8 @@ msgid "" msgstr "" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." -msgstr "×תה חייב להפעיל ×ת Java Script בדפדפן שלך; ×חרת, LuCI ×œ× ×™×¤×¢×œ כר×וי." +"You must enable JavaScript in your browser or LuCI will not work properly." +msgstr "×תה חייב להפעיל ×ת JavaScript בדפדפן שלך; ×חרת, LuCI ×œ× ×™×¤×¢×œ כר×וי." msgid "" "Your Internet Explorer is too old to display this page correctly. Please " @@ -3770,6 +3755,21 @@ msgstr "כן" msgid "« Back" msgstr "<< ×חורה" +#~ msgid "AR Support" +#~ msgstr "תמיכת AR" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "שלט ×לחוטי Atheros 802.11%s" + +#~ msgid "Background Scan" +#~ msgstr "סריקת רקע" + +#~ msgid "Compression" +#~ msgstr "דחיסה" + +#~ msgid "Static WDS" +#~ msgstr "WDS סטטי" + #, fuzzy #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "רשת × ×•×¡×¤×ª תווצר ×× ×ª×©×יר ×ת ×–×” ×œ× ×ž×¡×•×ž×Ÿ" diff --git a/modules/luci-base/po/hu/base.po b/modules/luci-base/po/hu/base.po index 700efd964d..4d855e6c97 100644 --- a/modules/luci-base/po/hu/base.po +++ b/modules/luci-base/po/hu/base.po @@ -150,6 +150,11 @@ msgstr "<abbr title=\"maximal\">Max.</abbr> párhuzamos lekérdezés" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -168,9 +173,6 @@ msgstr "" msgid "APN" msgstr "APN" -msgid "AR Support" -msgstr "AR Támogatás" - msgid "ARP retry threshold" msgstr "ARP újrapróbálkozási küszöbérték" @@ -417,9 +419,6 @@ msgstr "" msgid "Associated Stations" msgstr "Kapcsolódó kliensek" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "Atheros 802.11%s vezeték-nélküli vezérlÅ‘" - msgid "Auth Group" msgstr "" @@ -498,9 +497,6 @@ msgstr "Vissza az áttekintéshez" msgid "Back to scan results" msgstr "Vissza a felderÃtési eredményekhez" -msgid "Background Scan" -msgstr "FelderÃtés a háttérben" - msgid "Backup / Flash Firmware" msgstr "Mentés / Firmware frissÃtés" @@ -673,9 +669,6 @@ msgstr "Parancs" msgid "Common Configuration" msgstr "Ãlatános beállÃtás" -msgid "Compression" -msgstr "TömörÃtés" - msgid "Configuration" msgstr "BeállÃtás" @@ -895,9 +888,6 @@ msgstr "DNS beállÃtás letiltása" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "Hardveres beacon idÅ‘zÃtÅ‘ letiltása" - msgid "Disabled" msgstr "Letiltva" @@ -944,9 +934,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "Ne továbbÃtson fordÃtott keresési kéréseket a helyi hálózathoz" -msgid "Do not send probe responses" -msgstr "Ne válaszoljon a szondázásra" - msgid "Domain required" msgstr "Tartomány szükséges" @@ -1148,9 +1135,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "Gyors keretek" - msgid "File" msgstr "Fájl" @@ -1186,6 +1170,9 @@ msgstr "Befejezés" msgid "Firewall" msgstr "Tűzfal" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "Tűzfal BeállÃtások" @@ -1233,6 +1220,9 @@ msgstr "TKIP kényszerÃtése" msgid "Force TKIP and CCMP (AES)" msgstr "TKIP és CCMP (AES) kényszerÃtése" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1637,6 +1627,9 @@ msgstr "" msgid "Invalid username and/or password! Please try again." msgstr "Érvénytelen felhasználói név és/vagy jelszó! Kérem próbálja újra!" +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1645,8 +1638,8 @@ msgstr "" "Úgy tűnik, hogy a flash-elendÅ‘ kép-file nem fér el a Flash-memóriába. Kérem " "ellenÅ‘rizze a kép fájlt!" -msgid "Java Script required!" -msgstr "Javascript szükséges!" +msgid "JavaScript required!" +msgstr "JavaScript szükséges!" msgid "Join Network" msgstr "Csatlakozás a hálózathoz" @@ -1918,9 +1911,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "Maximális sebesség" - msgid "Maximum allowed number of active DHCP leases" msgstr "AktÃv DHCP bérletek maximális száma" @@ -1956,9 +1946,6 @@ msgstr "Memória használat (%)" msgid "Metric" msgstr "Metrika" -msgid "Minimum Rate" -msgstr "Minimális sebesség" - msgid "Minimum hold time" msgstr "Minimális tartási idÅ‘" @@ -2032,9 +2019,6 @@ msgstr "Mozgatás lefelé" msgid "Move up" msgstr "Mozgatás felfelé" -msgid "Multicast Rate" -msgstr "Multicast sebesség" - msgid "Multicast address" msgstr "Multicast cÃm" @@ -2047,6 +2031,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2239,8 +2226,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2277,9 +2269,6 @@ msgstr "Ki" msgid "Outbound:" msgstr "KimenÅ‘:" -msgid "Outdoor Channels" -msgstr "Kültéri csatornák" - msgid "Output Interface" msgstr "" @@ -2461,6 +2450,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2664,9 +2659,6 @@ msgstr "Interfész újracsatlakoztatása" msgid "References" msgstr "Hivatkozások" -msgid "Regulatory Domain" -msgstr "Szabályozó tartomány" - msgid "Relay" msgstr "Ãtjátszás" @@ -2716,15 +2708,15 @@ msgstr "" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2871,9 +2863,6 @@ msgstr "" msgid "Separate Clients" msgstr "Kliensek szétválasztása" -msgid "Separate WDS" -msgstr "WDS szétválasztása" - msgid "Server Settings" msgstr "Kiszolgáló beállÃtásai" @@ -2897,6 +2886,11 @@ msgstr "Szolgáltatás tÃpusa" msgid "Services" msgstr "Szolgáltatások" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + #, fuzzy msgid "Set up Time Synchronization" msgstr "IdÅ‘ szinkronizálás beállÃtása" @@ -3038,9 +3032,6 @@ msgstr "Statikus bérletek" msgid "Static Routes" msgstr "Statikus útvonalak" -msgid "Static WDS" -msgstr "Statikus WDS" - msgid "Static address" msgstr "Statikus cÃm" @@ -3467,9 +3458,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "Turbó mód" - msgid "Tx-Power" msgstr "AdóteljesÃtmény" @@ -3756,9 +3744,6 @@ msgstr "A kapott DNS kéréseket Ãrja a rendszernaplóba" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "XR támogatás" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3770,7 +3755,7 @@ msgstr "" "esetén, az eszköz elérhetetlenné válhat!</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" "Engélyezze a Java Szkripteket a böngészÅ‘jében, mert anélkül a LuCI nem fog " "megfelelÅ‘en működni." @@ -3944,6 +3929,54 @@ msgstr "igen" msgid "« Back" msgstr "« Vissza" +#~ msgid "AR Support" +#~ msgstr "AR Támogatás" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "Atheros 802.11%s vezeték-nélküli vezérlÅ‘" + +#~ msgid "Background Scan" +#~ msgstr "FelderÃtés a háttérben" + +#~ msgid "Compression" +#~ msgstr "TömörÃtés" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "Hardveres beacon idÅ‘zÃtÅ‘ letiltása" + +#~ msgid "Do not send probe responses" +#~ msgstr "Ne válaszoljon a szondázásra" + +#~ msgid "Fast Frames" +#~ msgstr "Gyors keretek" + +#~ msgid "Maximum Rate" +#~ msgstr "Maximális sebesség" + +#~ msgid "Minimum Rate" +#~ msgstr "Minimális sebesség" + +#~ msgid "Multicast Rate" +#~ msgstr "Multicast sebesség" + +#~ msgid "Outdoor Channels" +#~ msgstr "Kültéri csatornák" + +#~ msgid "Regulatory Domain" +#~ msgstr "Szabályozó tartomány" + +#~ msgid "Separate WDS" +#~ msgstr "WDS szétválasztása" + +#~ msgid "Static WDS" +#~ msgstr "Statikus WDS" + +#~ msgid "Turbo Mode" +#~ msgstr "Turbó mód" + +#~ msgid "XR Support" +#~ msgstr "XR támogatás" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "Amennyiben ezt jelöletlenül hagyja, egy további hálózat jön létre" diff --git a/modules/luci-base/po/it/base.po b/modules/luci-base/po/it/base.po index 06ae794f85..8b6c2d3bb9 100644 --- a/modules/luci-base/po/it/base.po +++ b/modules/luci-base/po/it/base.po @@ -155,6 +155,11 @@ msgstr "<abbr title=\"maximal\">Max.</abbr> Richiesta in uso" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "<abbr title='Accoppiata: %s / Gruppo: %s'>%s - %s</abbr>" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -173,9 +178,6 @@ msgstr "" msgid "APN" msgstr "APN" -msgid "AR Support" -msgstr "Supporto AR" - msgid "ARP retry threshold" msgstr "riprova soglia ARP" @@ -424,9 +426,6 @@ msgstr "" msgid "Associated Stations" msgstr "Dispositivi Wi-Fi connessi" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "Dispositivo Wireless Atheros 802.11%s" - msgid "Auth Group" msgstr "" @@ -505,9 +504,6 @@ msgstr "Ritorna alla panoramica" msgid "Back to scan results" msgstr "Ritorno ai risultati della scansione" -msgid "Background Scan" -msgstr "Scansione in background" - msgid "Backup / Flash Firmware" msgstr "Copia di Sicurezza / Flash Firmware" @@ -676,9 +672,6 @@ msgstr "Comando" msgid "Common Configuration" msgstr "Configurazioni Comuni" -msgid "Compression" -msgstr "Compressione" - msgid "Configuration" msgstr "Configurazione" @@ -899,9 +892,6 @@ msgstr "Disabilita il setup dei DNS" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "Disabilita Timer Beacon HW" - msgid "Disabled" msgstr "Disabilitato" @@ -947,9 +937,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "Non proseguire con le ricerche inverse per le reti locali." -msgid "Do not send probe responses" -msgstr "Disabilita Probe-Responses" - msgid "Domain required" msgstr "Dominio richiesto" @@ -1150,9 +1137,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "Frame veloci" - msgid "File" msgstr "File" @@ -1188,6 +1172,9 @@ msgstr "Fine" msgid "Firewall" msgstr "Firewall" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "Impostazioni Firewall" @@ -1233,6 +1220,9 @@ msgstr "Forza TKIP" msgid "Force TKIP and CCMP (AES)" msgstr "Forza TKIP e CCMP (AES)" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1639,6 +1629,9 @@ msgstr "ID VLAN non valido! Solo gli ID unici sono consentiti" msgid "Invalid username and/or password! Please try again." msgstr "Username o password non validi! Per favore riprova." +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1647,8 +1640,8 @@ msgstr "" "Sembra tu stia provando a flashare un'immagine più grande delle dimensioni " "della memoria flash, per favore controlla il file!" -msgid "Java Script required!" -msgstr "Richiesto Java Script!" +msgid "JavaScript required!" +msgstr "Richiesto JavaScript!" msgid "Join Network" msgstr "Aggiungi Rete" @@ -1916,9 +1909,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "Velocità massima" - msgid "Maximum allowed number of active DHCP leases" msgstr "" @@ -1954,9 +1944,6 @@ msgstr "Uso Memory (%)" msgid "Metric" msgstr "Metrica" -msgid "Minimum Rate" -msgstr "Velocità minima" - msgid "Minimum hold time" msgstr "Velocità minima" @@ -2030,9 +2017,6 @@ msgstr "" msgid "Move up" msgstr "" -msgid "Multicast Rate" -msgstr "Velocità multicast" - msgid "Multicast address" msgstr "" @@ -2045,6 +2029,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2237,8 +2224,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2275,9 +2267,6 @@ msgstr "" msgid "Outbound:" msgstr "In uscita:" -msgid "Outdoor Channels" -msgstr "" - msgid "Output Interface" msgstr "" @@ -2457,6 +2446,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2648,9 +2643,6 @@ msgstr "Sto ricollegando l'interfaccia" msgid "References" msgstr "" -msgid "Regulatory Domain" -msgstr "" - msgid "Relay" msgstr "" @@ -2699,15 +2691,15 @@ msgstr "" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2852,9 +2844,6 @@ msgstr "" msgid "Separate Clients" msgstr "Isola utenti" -msgid "Separate WDS" -msgstr "WDS separati" - msgid "Server Settings" msgstr "" @@ -2878,6 +2867,11 @@ msgstr "" msgid "Services" msgstr "Servizi" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + msgid "Set up Time Synchronization" msgstr "" @@ -3020,9 +3014,6 @@ msgstr "Leases statici" msgid "Static Routes" msgstr "Instradamenti Statici" -msgid "Static WDS" -msgstr "WDS statico" - msgid "Static address" msgstr "Indirizzo Statico" @@ -3418,9 +3409,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "Modalità turbo" - msgid "Tx-Power" msgstr "" @@ -3707,9 +3695,6 @@ msgstr "Scrittura delle richiesta DNS ricevute nel syslog" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "Supporto XR" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3722,9 +3707,9 @@ msgstr "" "potrebbe diventare inaccessibile!</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" -"È necessario attivare Java Script nel tuo browser o LuCI non funzionerà " +"È necessario attivare JavaScript nel tuo browser o LuCI non funzionerà " "correttamente." msgid "" @@ -3897,6 +3882,48 @@ msgstr "Sì" msgid "« Back" msgstr "« Indietro" +#~ msgid "AR Support" +#~ msgstr "Supporto AR" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "Dispositivo Wireless Atheros 802.11%s" + +#~ msgid "Background Scan" +#~ msgstr "Scansione in background" + +#~ msgid "Compression" +#~ msgstr "Compressione" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "Disabilita Timer Beacon HW" + +#~ msgid "Do not send probe responses" +#~ msgstr "Disabilita Probe-Responses" + +#~ msgid "Fast Frames" +#~ msgstr "Frame veloci" + +#~ msgid "Maximum Rate" +#~ msgstr "Velocità massima" + +#~ msgid "Minimum Rate" +#~ msgstr "Velocità minima" + +#~ msgid "Multicast Rate" +#~ msgstr "Velocità multicast" + +#~ msgid "Separate WDS" +#~ msgstr "WDS separati" + +#~ msgid "Static WDS" +#~ msgstr "WDS statico" + +#~ msgid "Turbo Mode" +#~ msgstr "Modalità turbo" + +#~ msgid "XR Support" +#~ msgstr "Supporto XR" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "Sarà creata una rete aggiuntiva se lasci questo senza spunta." diff --git a/modules/luci-base/po/ja/base.po b/modules/luci-base/po/ja/base.po index f6ac3bebf4..3101e0549b 100644 --- a/modules/luci-base/po/ja/base.po +++ b/modules/luci-base/po/ja/base.po @@ -3,14 +3,14 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-06-10 03:40+0200\n" -"PO-Revision-Date: 2017-02-11 03:28+0900\n" +"PO-Revision-Date: 2017-04-03 02:32+0900\n" "Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 1.8.11\n" +"X-Generator: Poedit 2.0\n" "Language-Team: \n" msgid "%s is untagged in multiple VLANs!" @@ -38,13 +38,13 @@ msgid "-- custom --" msgstr "-- 手動è¨å®š --" msgid "-- match by device --" -msgstr "-- デãƒã‚¤ã‚¹ã§è¨å®š --" +msgstr "-- デãƒã‚¤ã‚¹ã‚’指定 --" msgid "-- match by label --" -msgstr "-- ラベルã§è¨å®š --" +msgstr "-- ラベルを指定 --" msgid "-- match by uuid --" -msgstr "-- UUIDã§è¨å®š --" +msgstr "-- UUIDを指定 --" msgid "1 Minute Load:" msgstr "éŽåŽ»1分ã®è² è·:" @@ -56,7 +56,7 @@ msgid "4-character hexadecimal ID" msgstr "" msgid "464XLAT (CLAT)" -msgstr "" +msgstr "464XLAT (CLAT)" msgid "5 Minute Load:" msgstr "éŽåŽ»5分ã®è² è·:" @@ -65,7 +65,7 @@ msgid "6-octet identifier as a hex string - no colons" msgstr "" msgid "802.11r Fast Transition" -msgstr "" +msgstr "802.11r 高速ãƒãƒ¼ãƒŸãƒ³ã‚°" msgid "802.11w Association SA Query maximum timeout" msgstr "802.11w アソシエーションSAクエリã®æœ€å¤§ã‚¿ã‚¤ãƒ アウト時間ã§ã™ã€‚" @@ -153,6 +153,11 @@ msgstr "<abbr title=\"maximal\">最大</abbr> 並列処ç†ã‚¯ã‚¨ãƒª" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -171,9 +176,6 @@ msgstr "" msgid "APN" msgstr "APN" -msgid "AR Support" -msgstr "ARサãƒãƒ¼ãƒˆ" - msgid "ARP retry threshold" msgstr "ARPå†è©¦è¡Œã—ãã„値" @@ -228,7 +230,7 @@ msgstr "" "稼åƒä¸ã® <abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-çµŒè·¯æƒ…å ±" msgid "Active Connections" -msgstr "アクティブコãƒã‚¯ã‚·ãƒ§ãƒ³" +msgstr "アクティブ コãƒã‚¯ã‚·ãƒ§ãƒ³" msgid "Active DHCP Leases" msgstr "アクティブãªDHCPリース" @@ -258,7 +260,7 @@ msgid "Address" msgstr "アドレス" msgid "Address to access local relay bridge" -msgstr "ãƒãƒ¼ã‚«ãƒ«ãƒ»ãƒªãƒ¬ãƒ¼ãƒ–リッジã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã®IPアドレス" +msgstr "ãƒãƒ¼ã‚«ãƒ« リレーブリッジã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã®IPアドレス" msgid "Administration" msgstr "管ç†ç”»é¢" @@ -414,9 +416,6 @@ msgstr "" msgid "Associated Stations" msgstr "èªè¨¼æ¸ˆã¿ç«¯æœ«" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "Atheros 802.11%s ç„¡ç·šLANコントãƒãƒ¼ãƒ©" - msgid "Auth Group" msgstr "èªè¨¼ã‚°ãƒ«ãƒ¼ãƒ—" @@ -445,7 +444,7 @@ msgid "Automatic Homenet (HNCP)" msgstr "" msgid "Automatically check filesystem for errors before mounting" -msgstr "マウント実行å‰ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ã‚¨ãƒ©ãƒ¼ã‚’自動ã§ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚" +msgstr "マウント実行å‰ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ã‚¨ãƒ©ãƒ¼ã‚’自動的ã«ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚" msgid "Automatically mount filesystems on hotplug" msgstr "ホットプラグã«ã‚ˆã£ã¦ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ を自動的ã«ãƒžã‚¦ãƒ³ãƒˆã—ã¾ã™ã€‚" @@ -495,9 +494,6 @@ msgstr "概è¦ã¸æˆ»ã‚‹" msgid "Back to scan results" msgstr "スã‚ャンçµæžœã¸æˆ»ã‚‹" -msgid "Background Scan" -msgstr "ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã‚¹ã‚ャン" - msgid "Backup / Flash Firmware" msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ— / ファームウェア更新" @@ -505,7 +501,7 @@ msgid "Backup / Restore" msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ— / 復元" msgid "Backup file list" -msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—・ファイルリスト" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイル リスト" msgid "Bad address specified!" msgstr "無効ãªã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã™!" @@ -521,9 +517,9 @@ msgid "" "configuration files marked by opkg, essential base files and the user " "defined backup patterns." msgstr "" -"以下ã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã®éš›ã«å«ã¾ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãƒªã‚¹ãƒˆã§ã™ã€‚ã“ã®ãƒªã‚¹ãƒˆã¯ã€opkgã«ã‚ˆã£" -"ã¦èªè˜ã•ã‚Œã¦ã„ã‚‹è¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã€é‡è¦ãªãƒ™ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒè¨å®šã—ãŸæ£è¦è¡¨" -"ç¾ã«ä¸€è‡´ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã®ä¸€è¦§ã§ã™ã€‚" +"以下ã¯ã€ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã®éš›ã«å«ã¾ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒªã‚¹ãƒˆã§ã™ã€‚ã“ã®ãƒªã‚¹ãƒˆã¯ã€opkgã«" +"よã£ã¦èªè˜ã•ã‚Œã¦ã„ã‚‹è¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã€é‡è¦ãªãƒ™ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒè¨å®šã—ãŸæ£" +"è¦è¡¨ç¾ã«ä¸€è‡´ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã®ä¸€è¦§ã§ã™ã€‚" msgid "Bind interface" msgstr "" @@ -545,10 +541,10 @@ msgid "Bridge" msgstr "ブリッジ" msgid "Bridge interfaces" -msgstr "ブリッジインターフェース" +msgstr "ブリッジ インターフェース" msgid "Bridge unit number" -msgstr "ブリッジユニット番å·" +msgstr "ブリッジ ユニット番å·" msgid "Bring up on boot" msgstr "デフォルトã§èµ·å‹•ã™ã‚‹" @@ -573,7 +569,7 @@ msgid "Buttons" msgstr "ボタン" msgid "CA certificate; if empty it will be saved after the first connection." -msgstr "" +msgstr "CA証明書(空白ã®å ´åˆã€åˆå›žã®æŽ¥ç¶šå¾Œã«ä¿å˜ã•ã‚Œã¾ã™ã€‚)" msgid "CPU usage (%)" msgstr "CPU使用率 (%)" @@ -618,10 +614,10 @@ msgid "" "fill out the <em>create</em> field to define a new zone and attach the " "interface to it." msgstr "" -"ã“ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã«è¨å®šã™ã‚‹ãƒ•ã‚¡ã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ãƒ»ã‚¾ãƒ¼ãƒ³ã‚’é¸æŠžã—ã¦ãã ã•ã„。<em>" -"è¨å®šã—ãªã„</em>ã‚’é¸æŠžã™ã‚‹ã¨ã€è¨å®šæ¸ˆã¿ã®ã‚¾ãƒ¼ãƒ³ã‚’削除ã—ã¾ã™ã€‚ã¾ãŸã€<em>作æˆ</" -"em>フィールドã«ã‚¾ãƒ¼ãƒ³åを入力ã™ã‚‹ã¨ã€æ–°ã—ãゾーンを作æˆã—ã€ã“ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼" -"スã«è¨å®šã—ã¾ã™ã€‚" +"ã“ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã«è¨å®šã™ã‚‹ãƒ•ã‚¡ã‚¤ã‚¦ã‚©ãƒ¼ãƒ« ゾーンをé¸æŠžã—ã¦ãã ã•ã„。<em>è¨" +"定ã—ãªã„</em>ã‚’é¸æŠžã™ã‚‹ã¨ã€è¨å®šæ¸ˆã¿ã®ã‚¾ãƒ¼ãƒ³ã‚’削除ã—ã¾ã™ã€‚ã¾ãŸã€<em>作æˆ</em>" +"フィールドã«ã‚¾ãƒ¼ãƒ³åを入力ã™ã‚‹ã¨ã€æ–°ã—ãゾーンを作æˆã—ã€ã“ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹" +"ã«è¨å®šã—ã¾ã™ã€‚" msgid "" "Choose the network(s) you want to attach to this wireless interface or fill " @@ -641,10 +637,10 @@ msgid "" "configuration files. To reset the firmware to its initial state, click " "\"Perform reset\" (only possible with squashfs images)." msgstr "" -"\"ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—アーカイブã®ä½œæˆ\"をクリックã™ã‚‹ã¨ã€ç¾åœ¨ã®è¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’tarå½¢å¼" -"ã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ファイルã¨ã—ã¦ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã—ã¾ã™ã€‚è¨å®šã®ãƒªã‚»ãƒƒãƒˆã‚’è¡Œã†å ´åˆã€\"è¨" -"定リセット\"をクリックã—ã¦ãã ã•ã„。(ãŸã ã—ã€squashfsã‚’ãŠä½¿ã„ã®å ´åˆã®ã¿ä½¿ç”¨å¯" -"能ã§ã™)" +"\"ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ— アーカイブã®ä½œæˆ\"をクリックã™ã‚‹ã¨ã€ç¾åœ¨ã®è¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’tarå½¢" +"å¼ã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ファイルã¨ã—ã¦ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã—ã¾ã™ã€‚è¨å®šã®ãƒªã‚»ãƒƒãƒˆã‚’è¡Œã†å ´" +"åˆã€\"è¨å®šãƒªã‚»ãƒƒãƒˆ\"をクリックã—ã¦ãã ã•ã„。(ãŸã ã—ã€squashfsã‚’ãŠä½¿ã„ã®å ´åˆã®" +"ã¿ä½¿ç”¨å¯èƒ½ã§ã™)" msgid "Client" msgstr "クライアント" @@ -671,9 +667,6 @@ msgstr "コマンド" msgid "Common Configuration" msgstr "一般è¨å®š" -msgid "Compression" -msgstr "圧縮" - msgid "Configuration" msgstr "è¨å®š" @@ -714,7 +707,7 @@ msgid "Cover the following interfaces" msgstr "インターフェースã®æŒ‡å®š" msgid "Create / Assign firewall-zone" -msgstr "ファイアウォールゾーンã®ä½œæˆ / 割り当ã¦" +msgstr "ファイアウォール ゾーンã®ä½œæˆ / 割り当ã¦" msgid "Create Interface" msgstr "インターフェースã®ä½œæˆ" @@ -788,7 +781,7 @@ msgid "DNS-Label / FQDN" msgstr "" msgid "DNSSEC" -msgstr "" +msgstr "DNSSEC" msgid "DNSSEC check unsigned" msgstr "" @@ -803,7 +796,7 @@ msgid "DSL" msgstr "DSL" msgid "DSL Status" -msgstr "" +msgstr "DSL ステータス" msgid "DSL line mode" msgstr "" @@ -821,7 +814,7 @@ msgid "Default %d" msgstr "標準è¨å®š %d" msgid "Default gateway" -msgstr "デフォルトゲートウェイ" +msgstr "デフォルト ゲートウェイ" msgid "Default is stateless + stateful" msgstr "デフォルト㯠ステートレス + ステートフル ã§ã™ã€‚" @@ -895,9 +888,6 @@ msgstr "DNSセットアップを無効ã«ã™ã‚‹" msgid "Disable Encryption" msgstr "æš—å·åŒ–を無効ã«ã™ã‚‹" -msgid "Disable HW-Beacon timer" -msgstr "HWビーコンタイマーを無効ã«ã™ã‚‹" - msgid "Disabled" msgstr "無効" @@ -908,7 +898,7 @@ msgid "Discard upstream RFC1918 responses" msgstr "RFC1918ã®å¿œç”ã‚’ç ´æ£„ã—ã¾ã™" msgid "Displaying only packages containing" -msgstr "å³è¨˜ã®è¡¨ç¤ºã‚’å«ã‚“ã パッケージã®ã¿ã‚’表示ä¸" +msgstr "å³è¨˜ã®æ–‡å—列をå«ã‚“ã パッケージã®ã¿ã‚’表示ä¸" msgid "Distance Optimization" msgstr "è·é›¢ã®æœ€é©åŒ–" @@ -938,19 +928,16 @@ msgstr "" "無効ãªãƒªãƒ—ライをã‚ャッシュã—ã¾ã›ã‚“ (例:å˜åœ¨ã—ãªã„ドメインã‹ã‚‰ã®è¿”ç”ãªã©)" msgid "Do not forward requests that cannot be answered by public name servers" -msgstr "パブリックDNSサーãƒãƒ¼ãŒè¿”ç”ã§ããªã‹ã£ãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’転é€ã—ã¾ã›ã‚“" +msgstr "パブリック DNSサーãƒãƒ¼ãŒè¿”ç”ã§ããªã‹ã£ãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’転é€ã—ã¾ã›ã‚“" msgid "Do not forward reverse lookups for local networks" -msgstr "ãƒãƒ¼ã‚«ãƒ«ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã¸ã®é€†å¼•ãを転é€ã—ã¾ã›ã‚“" - -msgid "Do not send probe responses" -msgstr "プãƒãƒ¼ãƒ–レスãƒãƒ³ã‚¹ã‚’é€ä¿¡ã—ãªã„" +msgstr "ãƒãƒ¼ã‚«ãƒ« ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã¸ã®é€†å¼•ãを転é€ã—ã¾ã›ã‚“" msgid "Domain required" msgstr "ãƒ‰ãƒ¡ã‚¤ãƒ³å¿…é ˆ" msgid "Domain whitelist" -msgstr "ドメイン・ホワイトリスト" +msgstr "ドメイン ホワイトリスト" msgid "Don't Fragment" msgstr "" @@ -966,7 +953,7 @@ msgid "Download and install package" msgstr "パッケージã®ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã¨ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«" msgid "Download backup" -msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—アーカイブã®ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ— アーカイブã®ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰" msgid "Dropbear Instance" msgstr "Dropbearè¨å®š" @@ -983,8 +970,7 @@ msgid "Dual-Stack Lite (RFC6333)" msgstr "Dual-Stack Lite (RFC6333)" msgid "Dynamic <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>" -msgstr "" -"ダイナミック <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>" +msgstr "å‹•çš„ <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>" msgid "Dynamic tunnel" msgstr "動的トンãƒãƒ«æ©Ÿèƒ½" @@ -1032,10 +1018,10 @@ msgid "Enable IPv6 negotiation" msgstr "IPv6 ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã®æœ‰åŠ¹åŒ–" msgid "Enable IPv6 negotiation on the PPP link" -msgstr "PPPリンクã®IPv6ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã‚’有効ã«ã™ã‚‹" +msgstr "PPPリンクã®IPv6 ãƒã‚´ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ã‚’有効ã«ã™ã‚‹" msgid "Enable Jumbo Frame passthrough" -msgstr "ジャンボフレーム・パススルーを有効ã«ã™ã‚‹" +msgstr "ジャンボフレームパススルーを有効ã«ã™ã‚‹" msgid "Enable NTP client" msgstr "NTPクライアント機能を有効ã«ã™ã‚‹" @@ -1053,7 +1039,7 @@ msgid "Enable WPS pushbutton, requires WPA(2)-PSK" msgstr "WPS プッシュボタンを有効化ã™ã‚‹ã«ã¯ã€WPA(2)-PSKãŒå¿…è¦ã§ã™ã€‚" msgid "Enable learning and aging" -msgstr "ラーニング・エイジング機能を有効ã«ã™ã‚‹" +msgstr "ラーニング エイジング機能を有効ã«ã™ã‚‹" msgid "Enable mirroring of incoming packets" msgstr "" @@ -1082,7 +1068,7 @@ msgid "" msgstr "" msgid "Enables the Spanning Tree Protocol on this bridge" -msgstr "スパニングツリー・プãƒãƒˆã‚³ãƒ«ã‚’有効ã«ã™ã‚‹" +msgstr "スパニングツリー プãƒãƒˆã‚³ãƒ«ã‚’有効ã«ã™ã‚‹" msgid "Encapsulation mode" msgstr "カプセル化モード" @@ -1136,10 +1122,10 @@ msgid "External R1 Key Holder List" msgstr "" msgid "External system log server" -msgstr "外部システムãƒã‚°ãƒ»ã‚µãƒ¼ãƒãƒ¼" +msgstr "外部システムãƒã‚° サーãƒãƒ¼" msgid "External system log server port" -msgstr "外部システムãƒã‚°ãƒ»ã‚µãƒ¼ãƒãƒ¼ãƒãƒ¼ãƒˆ" +msgstr "外部システムãƒã‚°ãƒ»ã‚µãƒ¼ãƒãƒ¼ ãƒãƒ¼ãƒˆ" msgid "External system log server protocol" msgstr "外部システムãƒã‚°ãƒ»ã‚µãƒ¼ãƒãƒ¼ プãƒãƒˆã‚³ãƒ«" @@ -1147,9 +1133,6 @@ msgstr "外部システムãƒã‚°ãƒ»ã‚µãƒ¼ãƒãƒ¼ プãƒãƒˆã‚³ãƒ«" msgid "Extra SSH command options" msgstr "æ‹¡å¼µ SSHコマンドオプション" -msgid "Fast Frames" -msgstr "ファスト・フレーム" - msgid "File" msgstr "ファイル" @@ -1166,7 +1149,7 @@ msgid "Filter private" msgstr "プライベートフィルター" msgid "Filter useless" -msgstr "Filter useless" +msgstr "" msgid "" "Find all currently attached filesystems and swap and replace configuration " @@ -1176,7 +1159,7 @@ msgstr "" "ã¥ã„ã¦ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆè¨å®šã‚’ç½®ãæ›ãˆã¾ã™ã€‚" msgid "Find and join network" -msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’検索ã—ã¦å‚åŠ " +msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®æ¤œç´¢ã¨å‚åŠ " msgid "Find package" msgstr "パッケージを検索" @@ -1187,17 +1170,20 @@ msgstr "終了" msgid "Firewall" msgstr "ファイアウォール" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "ファイアウォールè¨å®š" msgid "Firewall Status" -msgstr "ファイアウォール・ステータス" +msgstr "ファイアウォール ステータス" msgid "Firmware File" msgstr "ファームウェア ファイル" msgid "Firmware Version" -msgstr "ファームウェア・ãƒãƒ¼ã‚¸ãƒ§ãƒ³" +msgstr "ファームウェア ãƒãƒ¼ã‚¸ãƒ§ãƒ³" msgid "Fixed source port for outbound DNS queries" msgstr "DNSクエリをé€ä¿¡ã™ã‚‹é€ä¿¡å…ƒãƒãƒ¼ãƒˆã‚’固定ã—ã¾ã™" @@ -1233,6 +1219,9 @@ msgstr "TKIP を使用" msgid "Force TKIP and CCMP (AES)" msgstr "TKIP åŠã³CCMP (AES) を使用" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "NAT-Tã®å¼·åˆ¶ä½¿ç”¨" @@ -1246,13 +1235,13 @@ msgid "Forward Error Correction Seconds (FECS)" msgstr "" msgid "Forward broadcast traffic" -msgstr "ブãƒãƒ¼ãƒ‰ã‚ャスト・トラフィックを転é€ã™ã‚‹" +msgstr "ブãƒãƒ¼ãƒ‰ã‚ャスト トラフィックを転é€ã™ã‚‹" msgid "Forwarding mode" msgstr "転é€ãƒ¢ãƒ¼ãƒ‰" msgid "Fragmentation Threshold" -msgstr "フラグメンテーション閾値" +msgstr "フラグメンテーションã—ãã„値" msgid "Frame Bursting" msgstr "フレームãƒãƒ¼ã‚¹ãƒˆ" @@ -1280,7 +1269,7 @@ msgid "Gateway" msgstr "ゲートウェイ" msgid "Gateway ports" -msgstr "ゲートウェイ・ãƒãƒ¼ãƒˆ" +msgstr "ゲートウェイ ãƒãƒ¼ãƒˆ" msgid "General Settings" msgstr "一般è¨å®š" @@ -1295,7 +1284,7 @@ msgid "Generate Config" msgstr "コンフィグ生æˆ" msgid "Generate archive" -msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—アーカイブã®ä½œæˆ" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ— アーカイブã®ä½œæˆ" msgid "Generic 802.11%s Wireless Controller" msgstr "802.11%s ç„¡ç·šLANコントãƒãƒ¼ãƒ©" @@ -1325,7 +1314,7 @@ msgid "HE.net password" msgstr "HE.net パスワード" msgid "HE.net username" -msgstr "" +msgstr "HE.net ユーザーå" msgid "HT mode (802.11n)" msgstr "HT モード (802.11n)" @@ -1363,7 +1352,7 @@ msgid "Host" msgstr "ホスト" msgid "Host entries" -msgstr "ホストエントリー" +msgstr "ホスト エントリー" msgid "Host expiry timeout" msgstr "" @@ -1506,20 +1495,21 @@ msgstr "ãƒã‚§ãƒƒã‚¯ã—ãŸå ´åˆã€æš—å·åŒ–ã¯ç„¡åŠ¹ã«ãªã‚Šã¾ã™ã€‚" msgid "" "If specified, mount the device by its UUID instead of a fixed device node" -msgstr "固定ã®ãƒ‡ãƒã‚¤ã‚¹ãƒŽãƒ¼ãƒ‰åã®ã‹ã‚ã‚Šã«ã€è¨å®šã—ãŸUUIDを使用ã—ã¦ãƒžã‚¦ãƒ³ãƒˆã—ã¾ã™" +msgstr "" +"固定ã®ãƒ‡ãƒã‚¤ã‚¹ ノードåã®ã‹ã‚ã‚Šã«ã€è¨å®šã•ã‚ŒãŸUUIDを使用ã—ã¦ãƒžã‚¦ãƒ³ãƒˆã—ã¾ã™" msgid "" "If specified, mount the device by the partition label instead of a fixed " "device node" msgstr "" -"固定ã®ãƒ‡ãƒã‚¤ã‚¹ãƒŽãƒ¼ãƒ‰åã®ã‹ã‚ã‚Šã«ã€è¨å®šã—ãŸãƒ‘ーティションラベルを使用ã—ã¦ãƒžã‚¦" -"ントã—ã¾ã™ã€‚" +"固定ã®ãƒ‡ãƒã‚¤ã‚¹ ノードåã®ã‹ã‚ã‚Šã«ã€è¨å®šã•ã‚ŒãŸãƒ‘ーティション ラベルを使用ã—ã¦" +"マウントã—ã¾ã™ã€‚" msgid "If unchecked, no default route is configured" -msgstr "ãƒã‚§ãƒƒã‚¯ã•ã‚Œã¦ã„ãªã„å ´åˆã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãƒ«ãƒ¼ãƒˆã‚’è¨å®šã—ã¾ã›ã‚“" +msgstr "ãƒã‚§ãƒƒã‚¯ã•ã‚Œã¦ã„ãªã„å ´åˆã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆ ルートをè¨å®šã—ã¾ã›ã‚“" msgid "If unchecked, the advertised DNS server addresses are ignored" -msgstr "ãƒã‚§ãƒƒã‚¯ã•ã‚Œã¦ã„ãªã„å ´åˆã€é€šçŸ¥ã•ã‚ŒãŸDNSサーãƒãƒ¼ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’無視ã—ã¾ã™" +msgstr "ãƒã‚§ãƒƒã‚¯ã•ã‚Œã¦ã„ãªã„å ´åˆã€é€šçŸ¥ã•ã‚ŒãŸDNSサーãƒãƒ¼ アドレスを無視ã—ã¾ã™" msgid "" "If your physical memory is insufficient unused data can be temporarily " @@ -1528,11 +1518,11 @@ msgid "" "slow process as the swap-device cannot be accessed with the high datarates " "of the <abbr title=\"Random Access Memory\">RAM</abbr>." msgstr "" -"物ç†ãƒ¡ãƒ¢ãƒªãŒä¸è¶³ã™ã‚‹å ´åˆã€ä¸€æ™‚çš„ã«ãƒ‡ãƒ¼ã‚¿ã‚’より大容é‡ãª<abbr title=\"Random " -"Access Memory\">RAM</abbr>デãƒã‚¤ã‚¹ã«ã‚¹ãƒ¯ãƒƒãƒ—ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚ãŸã ã—ã€ãƒ‡ãƒ¼" -"ã‚¿ã®ã‚¹ãƒ¯ãƒƒãƒ—ã¯éžå¸¸ã«é…ã„処ç†ã§ã‚ã‚‹ãŸã‚ã€ã‚¹ãƒ¯ãƒƒãƒ—ã™ã‚‹ãƒ‡ãƒã‚¤ã‚¹ã«ã¯é«˜é€Ÿã«<abbr " -"title=\"Random Access Memory\">RAM</abbr>ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ãŒã§ããªããªã‚‹æã‚Œ" -"ãŒã‚ã‚Šã¾ã™ã€‚" +"物ç†ãƒ¡ãƒ¢ãƒªãŒä¸è¶³ã™ã‚‹å ´åˆã€ä½¿ç”¨ã•ã‚Œã¦ã„ãªã„データを一時的ã«ã‚¹ãƒ¯ãƒƒãƒ— デãƒã‚¤ã‚¹ã«" +"スワップã—ã€<abbr title=\"Random Access Memory\">RAM</abbr>ã®ä½¿ç”¨å¯èƒ½é ˜åŸŸã‚’増" +"ã‚„ã™ã“ã¨ãŒã§ãã¾ã™ã€‚ãŸã ã—ã€ã‚¹ãƒ¯ãƒƒãƒ— デãƒã‚¤ã‚¹ã¯<abbr title=\"Random Access " +"Memory\">RAM</abbr>ã‹ã‚‰é«˜é€Ÿã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ãŒã§ããªã„ãŸã‚ã€ãƒ‡ãƒ¼ã‚¿ã®ã‚¹ãƒ¯ãƒƒãƒ—" +"ã¯éžå¸¸ã«é…ã„処ç†ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¾ã™ã€‚" msgid "Ignore <code>/etc/hosts</code>" msgstr "<code>/etc/hosts</code>を無視" @@ -1541,7 +1531,7 @@ msgid "Ignore interface" msgstr "インターフェースを無視ã™ã‚‹" msgid "Ignore resolve file" -msgstr "リゾルãƒãƒ•ã‚¡ã‚¤ãƒ«ã‚’無視ã™ã‚‹" +msgstr "リゾルムファイルを無視ã™ã‚‹" msgid "Image" msgstr "イメージ" @@ -1618,7 +1608,7 @@ msgid "Internal" msgstr "内部" msgid "Internal Server Error" -msgstr "内部サーãƒãƒ¼ã‚¨ãƒ©ãƒ¼" +msgstr "内部サーãƒãƒ¼ エラー" msgid "Invalid" msgstr "入力値ãŒä¸æ£ã§ã™" @@ -1630,7 +1620,11 @@ msgid "Invalid VLAN ID given! Only unique IDs are allowed" msgstr "無効ãªVLAN IDã§ã™! ユニークãªIDを入力ã—ã¦ãã ã•ã„。" msgid "Invalid username and/or password! Please try again." -msgstr "ユーザーåã¨ãƒ‘スワードãŒä¸æ£ã§ã™! ã‚‚ã†ä¸€åº¦å…¥åŠ›ã—ã¦ãã ã•ã„。" +msgstr "" +"ユーザーåã‹ãƒ‘スワードã€ã‚‚ã—ãã¯ä¸¡æ–¹ãŒä¸æ£ã§ã™ï¼ã‚‚ã†ä¸€åº¦å…¥åŠ›ã—ã¦ãã ã•ã„。" + +msgid "Isolate Clients" +msgstr "" msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1639,7 +1633,7 @@ msgstr "" "æ›´æ–°ã—よã†ã¨ã—ãŸã‚¤ãƒ¡ãƒ¼ã‚¸ãƒ•ã‚¡ã‚¤ãƒ«ã¯ã“ã®ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ãƒ¡ãƒ¢ãƒªã«é©åˆã—ã¾ã›ã‚“。イメー" "ジファイルを確èªã—ã¦ãã ã•ã„!" -msgid "Java Script required!" +msgid "JavaScript required!" msgstr "JavaScriptを有効ã«ã—ã¦ãã ã•ã„!" msgid "Join Network" @@ -1649,16 +1643,16 @@ msgid "Join Network: Wireless Scan" msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«æŽ¥ç¶šã™ã‚‹: ç„¡ç·šLANスã‚ャン" msgid "Joining Network: %q" -msgstr "次ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«å‚åŠ : %q" +msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«æŽ¥ç¶š: %q" msgid "Keep settings" msgstr "è¨å®šã‚’ä¿æŒã™ã‚‹" msgid "Kernel Log" -msgstr "カーãƒãƒ«ãƒã‚°" +msgstr "カーãƒãƒ« ãƒã‚°" msgid "Kernel Version" -msgstr "カーãƒãƒ«ãƒãƒ¼ã‚¸ãƒ§ãƒ³" +msgstr "カーãƒãƒ« ãƒãƒ¼ã‚¸ãƒ§ãƒ³" msgid "Key" msgstr "æš—å·ã‚ー" @@ -1815,13 +1809,13 @@ msgid "Local Service Only" msgstr "" msgid "Local Startup" -msgstr "ãƒãƒ¼ã‚«ãƒ« Startup" +msgstr "ãƒãƒ¼ã‚«ãƒ« スタートアップ" msgid "Local Time" msgstr "時刻" msgid "Local domain" -msgstr "ãƒãƒ¼ã‚«ãƒ«ãƒ‰ãƒ¡ã‚¤ãƒ³" +msgstr "ãƒãƒ¼ã‚«ãƒ« ドメイン" msgid "" "Local domain specification. Names matching this domain are never forwarded " @@ -1830,11 +1824,11 @@ msgstr "" msgid "Local domain suffix appended to DHCP names and hosts file entries" msgstr "" -"DHCPåã¨hostsファイルã®ã‚¨ãƒ³ãƒˆãƒªãƒ¼ã«ä»˜ã•ã‚Œã‚‹ã€ãƒãƒ¼ã‚«ãƒ«ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚µãƒ•ã‚£ãƒƒã‚¯ã‚¹ã§" +"DHCPåã¨hostsファイルã®ã‚¨ãƒ³ãƒˆãƒªãƒ¼ã«ä»˜ã•ã‚Œã‚‹ã€ãƒãƒ¼ã‚«ãƒ«ãƒ‰ãƒ¡ã‚¤ãƒ³ サフィックスã§" "ã™ã€‚" msgid "Local server" -msgstr "ãƒãƒ¼ã‚«ãƒ«ã‚µãƒ¼ãƒãƒ¼" +msgstr "ãƒãƒ¼ã‚«ãƒ« サーãƒãƒ¼" msgid "" "Localise hostname depending on the requesting subnet if multiple IPs are " @@ -1851,7 +1845,7 @@ msgid "Log output level" msgstr "ãƒã‚°å‡ºåŠ›ãƒ¬ãƒ™ãƒ«" msgid "Log queries" -msgstr "ãƒã‚°ã‚¯ã‚¨ãƒªãƒ¼" +msgstr "ãƒã‚° クエリ" msgid "Logging" msgstr "ãƒã‚°" @@ -1873,7 +1867,7 @@ msgid "MAC-Address" msgstr "MAC-アドレス" msgid "MAC-Address Filter" -msgstr "MAC-アドレスフィルタ" +msgstr "MAC-アドレス フィルタ" msgid "MAC-Filter" msgstr "MAC-フィルタ" @@ -1882,7 +1876,7 @@ msgid "MAC-List" msgstr "MAC-リスト" msgid "MAP / LW4over6" -msgstr "" +msgstr "MAP / LW4over6" msgid "MB/s" msgstr "MB/s" @@ -1908,9 +1902,6 @@ msgstr "手動" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "最大レート" - msgid "Maximum allowed number of active DHCP leases" msgstr "DHCPリースã®è¨±å¯ã•ã‚Œã‚‹æœ€å¤§æ•°" @@ -1948,9 +1939,6 @@ msgstr "メモリ使用率 (%)" msgid "Metric" msgstr "メトリック" -msgid "Minimum Rate" -msgstr "最å°ãƒ¬ãƒ¼ãƒˆ" - msgid "Minimum hold time" msgstr "最çŸä¿æŒæ™‚é–“" @@ -1973,7 +1961,7 @@ msgid "Model" msgstr "モデル" msgid "Modem device" -msgstr "モデムデãƒã‚¤ã‚¹" +msgstr "モデムデãƒã‚¤ã‚¹" msgid "Modem init timeout" msgstr "モデムåˆæœŸåŒ–タイムアウト" @@ -2024,11 +2012,8 @@ msgstr "下ã¸" msgid "Move up" msgstr "上ã¸" -msgid "Multicast Rate" -msgstr "マルãƒã‚ャストレート" - msgid "Multicast address" -msgstr "マルãƒã‚ャストアドレス" +msgstr "マルãƒã‚ャスト アドレス" msgid "NAS ID" msgstr "NAS ID" @@ -2039,6 +2024,9 @@ msgstr "NAT-T モード" msgid "NAT64 Prefix" msgstr "NAT64 プレフィクス" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "NDP-プãƒã‚ã‚·" @@ -2070,10 +2058,10 @@ msgid "Network" msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯" msgid "Network Utilities" -msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ»ãƒ¦ãƒ¼ãƒ†ã‚£ãƒªãƒ†ã‚£" +msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ ユーティリティ" msgid "Network boot image" -msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ»ãƒ–ート用イメージ" +msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ–ート用イメージ" msgid "Network without interfaces." msgstr "" @@ -2106,7 +2094,7 @@ msgid "No network name specified" msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯åãŒè¨å®šã•ã‚Œã¦ã„ã¾ã›ã‚“" msgid "No package lists available" -msgstr "パッケージリストãŒã‚ã‚Šã¾ã›ã‚“" +msgstr "パッケージ リストãŒã‚ã‚Šã¾ã›ã‚“" msgid "No password set!" msgstr "パスワードãŒè¨å®šã•ã‚Œã¦ã„ã¾ã›ã‚“!" @@ -2182,18 +2170,18 @@ msgid "" "<samp>INTERFACE.VLANNR</samp> (<abbr title=\"for example\">e.g.</abbr>: " "<samp>eth0.1</samp>)." msgstr "" -"ã“ã®ãƒšãƒ¼ã‚¸ã§ã¯ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã®è¨å®šã‚’è¡Œã†ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚\"ブ" -"リッジインターフェース\"フィールドをãƒã‚§ãƒƒã‚¯ã—ã€è¤‡æ•°ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ¼" -"フェースåをスペースã§åŒºåˆ‡ã‚Šã§å…¥åŠ›ã™ã‚‹ã“ã¨ã§è¤‡æ•°ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã‚’ブリッジ" -"ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚ã¾ãŸã€<samp>INTERFACE.VLANNR</samp>ã¨ã„ã†è¡¨è¨˜ã«ã‚ˆã‚Š<abbr " -"title=\"Virtual Local Area Network\">VLAN</abbr>も使用ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚" -"(<abbr title=\"for example\">例</abbr>: <samp>eth0.1</samp>)" +"ã“ã®ãƒšãƒ¼ã‚¸ã§ã¯ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ インターフェースã®è¨å®šã‚’è¡Œã†ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚\"ブ" +"リッジインターフェース\"フィールドã«ãƒã‚§ãƒƒã‚¯ã‚’付ã‘ã€è¤‡æ•°ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ イン" +"ターフェースをリストã‹ã‚‰é¸æŠžã™ã‚‹ã“ã¨ã§è¤‡æ•°ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã‚’ブリッジã™ã‚‹ã“" +"ã¨ãŒå‡ºæ¥ã¾ã™ã€‚ã¾ãŸã€<samp>INTERFACE.VLANNR</samp>ã¨ã„ã†è¡¨è¨˜ã«ã‚ˆã‚Š<abbr title=" +"\"Virtual Local Area Network\">VLAN</abbr>も使用ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚(<abbr " +"title=\"for example\">例</abbr>: <samp>eth0.1</samp>)" msgid "On-State Delay" msgstr "点ç¯æ™‚é–“" msgid "One of hostname or mac address must be specified!" -msgstr "1ã¤ä»¥ä¸Šã®ãƒ›ã‚¹ãƒˆåã¾ãŸã¯macアドレスをè¨å®šã—ã¦ãã ã•ã„!" +msgstr "1ã¤ä»¥ä¸Šã®ãƒ›ã‚¹ãƒˆåã¾ãŸã¯MACアドレスをè¨å®šã—ã¦ãã ã•ã„!" msgid "One or more fields contain invalid values!" msgstr "1ã¤ä»¥ä¸Šã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«ç„¡åŠ¹ãªå€¤ãŒè¨å®šã•ã‚Œã¦ã„ã¾ã™ï¼" @@ -2232,8 +2220,13 @@ msgid "Optional." msgstr "(オプション)" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2274,9 +2267,6 @@ msgstr "アウト" msgid "Outbound:" msgstr "é€ä¿¡:" -msgid "Outdoor Channels" -msgstr "屋外用周波数" - msgid "Output Interface" msgstr "出力インターフェース" @@ -2360,7 +2350,7 @@ msgid "Package libiwinfo required!" msgstr "libiwinfo パッケージをインストールã—ã¦ãã ã•ã„ï¼" msgid "Package lists are older than 24 hours" -msgstr "パッケージリストã¯24時間以上å‰ã®ã‚‚ã®ã§ã™" +msgstr "パッケージ リストã¯24時間以上å‰ã®ã‚‚ã®ã§ã™" msgid "Package name" msgstr "パッケージå" @@ -2458,6 +2448,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "委任ã•ã‚ŒãŸãƒ—レフィクス (PD)" @@ -2505,7 +2501,7 @@ msgid "Protocol of the new interface" msgstr "æ–°ã—ã„インターフェースã®ãƒ—ãƒãƒˆã‚³ãƒ«" msgid "Protocol support is not installed" -msgstr "プãƒãƒˆã‚³ãƒ«ã‚µãƒãƒ¼ãƒˆãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã¾ã›ã‚“" +msgstr "プãƒãƒˆã‚³ãƒ« サãƒãƒ¼ãƒˆãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã¾ã›ã‚“" msgid "Provide NTP server" msgstr "NTPサーãƒãƒ¼æ©Ÿèƒ½ã‚’有効ã«ã™ã‚‹" @@ -2538,7 +2534,7 @@ msgid "RFC3947 NAT-T mode" msgstr "RFC3947 NAT-Tモード" msgid "RTS/CTS Threshold" -msgstr "RTS/CTS閾値" +msgstr "RTS/CTSã—ãã„値" msgid "RX" msgstr "RX" @@ -2550,7 +2546,7 @@ msgid "RaLink 802.11%s Wireless Controller" msgstr "RaLink 802.11%s ç„¡ç·šLANコントãƒãƒ¼ãƒ©" msgid "Radius-Accounting-Port" -msgstr "Radiusアカウントサーãƒãƒ¼ãƒ»ãƒãƒ¼ãƒˆç•ªå·" +msgstr "Radiusアカウントサーãƒãƒ¼ ãƒãƒ¼ãƒˆç•ªå·" msgid "Radius-Accounting-Secret" msgstr "Radiusアカウント秘密éµ" @@ -2559,7 +2555,7 @@ msgid "Radius-Accounting-Server" msgstr "Radiusアカウントサーãƒãƒ¼" msgid "Radius-Authentication-Port" -msgstr "Radiusèªè¨¼ã‚µãƒ¼ãƒãƒ¼ãƒ»ãƒãƒ¼ãƒˆç•ªå·" +msgstr "Radiusèªè¨¼ã‚µãƒ¼ãƒãƒ¼ ãƒãƒ¼ãƒˆç•ªå·" msgid "Radius-Authentication-Secret" msgstr "Radiusèªè¨¼ç§˜å¯†éµ" @@ -2618,7 +2614,7 @@ msgid "Realtime Connections" msgstr "リアルタイム・コãƒã‚¯ã‚·ãƒ§ãƒ³" msgid "Realtime Graphs" -msgstr "リアルタイム・グラフ" +msgstr "リアルタイムグラフ" msgid "Realtime Load" msgstr "リアルタイム・ãƒãƒ¼ãƒ‰" @@ -2662,9 +2658,6 @@ msgstr "インターフェースå†æŽ¥ç¶šä¸" msgid "References" msgstr "å‚照カウンタ" -msgid "Regulatory Domain" -msgstr "è¦åˆ¶ãƒ‰ãƒ¡ã‚¤ãƒ³" - msgid "Relay" msgstr "リレー" @@ -2678,7 +2671,7 @@ msgid "Relay bridge" msgstr "リレーブリッジ" msgid "Remote IPv4 address" -msgstr "リモートIPv4アドレス" +msgstr "リモート IPv4アドレス" msgid "Remote IPv4 address or FQDN" msgstr "リモート IPv4アドレス ã¾ãŸã¯ FQDN" @@ -2713,21 +2706,21 @@ msgstr "DOCSIS 3.0を使用ã™ã‚‹ã„ãã¤ã‹ã®ISPã§ã¯å¿…è¦ã«ãªã‚Šã¾ã™" msgid "Required. Base64-encoded private key for this interface." msgstr "ã“ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã«ä½¿ç”¨ã™ã‚‹Base64-エンコード 秘密éµï¼ˆå¿…é ˆï¼‰" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "ピアã®å…¬é–‹éµï¼ˆå¿…é ˆï¼‰" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" msgstr "" "'フル' ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® wpad/hostapd ã¨ã€ç„¡ç·šLANドライãƒãƒ¼ã«ã‚ˆã‚‹ã‚µãƒãƒ¼ãƒˆãŒå¿…è¦ã§" -"ã™ã€‚<br />(2017å¹´2月ç¾åœ¨: ath9k 㨠ath10kã€LEDE内ã§ã¯ mwlwifi 㨠mt76)" +"ã™ã€‚<br />(2017å¹´2月ç¾åœ¨: ath9k åŠã³ ath10kã€LEDE内ã§ã¯ mwlwifi åŠã³ mt76)" msgid "" "Requires upstream supports DNSSEC; verify unsigned domain responses really " @@ -2786,7 +2779,7 @@ msgid "Router Advertisement-Service" msgstr "ルーター アドãƒã‚¿ã‚¤ã‚ºãƒ¡ãƒ³ãƒˆ-サービス" msgid "Router Password" -msgstr "ルーター・パスワード" +msgstr "ルーター パスワード" msgid "Routes" msgstr "çµŒè·¯æƒ…å ±" @@ -2870,9 +2863,6 @@ msgstr "" msgid "Separate Clients" msgstr "クライアントã®åˆ†é›¢" -msgid "Separate WDS" -msgstr "WDSを分離ã™ã‚‹" - msgid "Server Settings" msgstr "サーãƒãƒ¼è¨å®š" @@ -2896,6 +2886,11 @@ msgstr "サービスタイプ" msgid "Services" msgstr "サービス" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + msgid "Set up Time Synchronization" msgstr "時刻åŒæœŸè¨å®š" @@ -3033,9 +3028,6 @@ msgstr "é™çš„リース" msgid "Static Routes" msgstr "é™çš„ルーティング" -msgid "Static WDS" -msgstr "é™çš„WDS" - msgid "Static address" msgstr "é™çš„アドレス" @@ -3104,10 +3096,10 @@ msgid "System Log" msgstr "システムãƒã‚°" msgid "System Properties" -msgstr "システム・プãƒãƒ‘ティ" +msgstr "システムプãƒãƒ‘ティ" msgid "System log buffer size" -msgstr "システムãƒã‚°ãƒ»ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚º" +msgstr "システムãƒã‚° ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚º" msgid "TCP:" msgstr "TCP:" @@ -3331,21 +3323,21 @@ msgid "" "This is the content of /etc/rc.local. Insert your own commands here (in " "front of 'exit 0') to execute them at the end of the boot process." msgstr "" -"/etc/rc.localを表示ã—ã¦ã„ã¾ã™ã€‚ã‚ãªãŸã®å®Ÿè¡Œã—ãŸã„コマンドを'exit 0'行より上ã«" -"入力ã—ã¦ãã ã•ã„。ã“れらã®ã‚³ãƒžãƒ³ãƒ‰ã¯ãƒ–ートプãƒã‚»ã‚¹ã®æœ€å¾Œã«å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚" +"/etc/rc.localを表示ã—ã¦ã„ã¾ã™ã€‚実行ã—ãŸã„コマンドを'exit 0'行より上ã«å…¥åŠ›ã—ã¦" +"ãã ã•ã„。ã“れらã®ã‚³ãƒžãƒ³ãƒ‰ã¯ãƒ–ートプãƒã‚»ã‚¹ã®æœ€å¾Œã«å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚" msgid "" "This is the local endpoint address assigned by the tunnel broker, it usually " "ends with <code>:2</code>" msgstr "" -"プãƒãƒã‚¤ãƒ€ã‹ã‚‰ã‚¢ã‚µã‚¤ãƒ³ã•ã‚ŒãŸã€ãƒãƒ¼ã‚«ãƒ«ã®ã‚¨ãƒ³ãƒ‰ãƒã‚¤ãƒ³ãƒˆãƒ»ã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã™ã€‚通常ã€" +"プãƒãƒã‚¤ãƒ€ã‹ã‚‰ã‚¢ã‚µã‚¤ãƒ³ã•ã‚ŒãŸã€ãƒãƒ¼ã‚«ãƒ«ã®ã‚¨ãƒ³ãƒ‰ãƒã‚¤ãƒ³ãƒˆ アドレスã§ã™ã€‚通常ã€" "<code>:2</code>ãŒçµ‚端ã«è¨å®šã•ã‚Œã¾ã™ã€‚" msgid "" "This is the only <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</" "abbr> in the local network" msgstr "" -"ãƒãƒ¼ã‚«ãƒ«ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯å†…ã®ã¿ã® <abbr title=\"Dynamic Host Configuration " +"ãƒãƒ¼ã‚«ãƒ« ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯å†…ã®ã¿ã® <abbr title=\"Dynamic Host Configuration " "Protocol\">DHCP</abbr>ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹" msgid "This is the plain username for logging into the account" @@ -3357,7 +3349,7 @@ msgstr "" msgid "This is the system crontab in which scheduled tasks can be defined." msgstr "" -"スケジュールタスクシステムを使用ã™ã‚‹ã“ã¨ã§ã€å®šæœŸçš„ã«ç‰¹å®šã®ã‚¿ã‚¹ã‚¯ã®å®Ÿè¡Œã‚’è¡Œã†" +"スケジュールタスク システムを使用ã™ã‚‹ã“ã¨ã§ã€å®šæœŸçš„ã«ç‰¹å®šã®ã‚¿ã‚¹ã‚¯ã®å®Ÿè¡Œã‚’è¡Œã†" "ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚" msgid "" @@ -3393,7 +3385,7 @@ msgid "" "To restore configuration files, you can upload a previously generated backup " "archive here." msgstr "" -"è¨å®šã‚’復元ã™ã‚‹ã«ã¯ã€ä½œæˆã—ã¦ãŠã„ãŸãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—アーカイブをアップãƒãƒ¼ãƒ‰ã—ã¦ã" +"è¨å®šã‚’復元ã™ã‚‹ã«ã¯ã€ä½œæˆã—ã¦ãŠã„ãŸãƒãƒƒã‚¯ã‚¢ãƒƒãƒ— アーカイブをアップãƒãƒ¼ãƒ‰ã—ã¦ã" "ã ã•ã„。" msgid "Tone" @@ -3447,9 +3439,6 @@ msgstr "トンãƒãƒ«ã‚»ãƒƒãƒˆã‚¢ãƒƒãƒ— サーãƒãƒ¼" msgid "Tunnel type" msgstr "トンãƒãƒ«ã‚¿ã‚¤ãƒ—" -msgid "Turbo Mode" -msgstr "ターボモード" - msgid "Tx-Power" msgstr "é€ä¿¡é›»åŠ›" @@ -3506,13 +3495,13 @@ msgid "" "Check \"Keep settings\" to retain the current configuration (requires a " "compatible firmware image)." msgstr "" -"システムをアップデートã™ã‚‹å ´åˆã€sysupgrade機能ã«äº’æ›æ€§ã®ã‚るファームウェアイ" -"メージをアップãƒãƒ¼ãƒ‰ã—ã¦ãã ã•ã„。\"è¨å®šã®ä¿æŒ\"を有効ã«ã™ã‚‹ã¨ã€ç¾åœ¨ã®è¨å®šã‚’" -"ç¶æŒã—ã¦ã‚¢ãƒƒãƒ—デートを行ã„ã¾ã™ã€‚ãŸã ã—ã€OpenWrt/LEDE互æ›ã®ãƒ•ã‚¡ãƒ¼ãƒ ウェアイ" -"メージãŒã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ã•ã‚ŒãŸå ´åˆã®ã¿ã€è¨å®šã¯ä¿æŒã•ã‚Œã¾ã™ã€‚" +"システムをアップデートã™ã‚‹å ´åˆã€sysupgrade機能ã«äº’æ›æ€§ã®ã‚るファームウェア イ" +"メージをã“ã“ã«ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ã—ã¦ãã ã•ã„。\"è¨å®šã®ä¿æŒ\"を有効ã«ã™ã‚‹ã¨ã€ç¾åœ¨ã®" +"è¨å®šã‚’ç¶æŒã—ã¦ã‚¢ãƒƒãƒ—デートを行ã„ã¾ã™ï¼ˆäº’æ›æ€§ã®ã‚るファームウェア イメージãŒå¿…" +"è¦ï¼‰ã€‚" msgid "Upload archive..." -msgstr "アーカイブをアップãƒãƒ¼ãƒ‰" +msgstr "アーカイブをアップãƒãƒ¼ãƒ‰..." msgid "Uploaded File" msgstr "アップãƒãƒ¼ãƒ‰å®Œäº†" @@ -3533,10 +3522,10 @@ msgid "Use ISO/IEC 3166 alpha2 country codes." msgstr "ISO/IEC 3166 alpha2ã®å›½ã‚³ãƒ¼ãƒ‰ã‚’使用ã—ã¾ã™ã€‚" msgid "Use MTU on tunnel interface" -msgstr "トンãƒãƒ«ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã®MTUã‚’è¨å®š" +msgstr "トンãƒãƒ« インターフェースã®MTUã‚’è¨å®š" msgid "Use TTL on tunnel interface" -msgstr "トンãƒãƒ«ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã®TTLã‚’è¨å®š" +msgstr "トンãƒãƒ« インターフェースã®TTLã‚’è¨å®š" msgid "Use as external overlay (/overlay)" msgstr "外部オーãƒãƒ¼ãƒ¬ã‚¤ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ (/overlay)" @@ -3545,7 +3534,7 @@ msgid "Use as root filesystem (/)" msgstr "ルート ファイルシステムã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ (/)" msgid "Use broadcast flag" -msgstr "ブãƒãƒ¼ãƒ‰ã‚ャスト・フラグを使用ã™ã‚‹" +msgstr "ブãƒãƒ¼ãƒ‰ã‚ャスト フラグを使用ã™ã‚‹" msgid "Use builtin IPv6-management" msgstr "ビルトインã®IPv6-マãƒã‚¸ãƒ¡ãƒ³ãƒˆã‚’使用ã™ã‚‹" @@ -3554,10 +3543,10 @@ msgid "Use custom DNS servers" msgstr "DNSサーãƒãƒ¼ã‚’手動ã§è¨å®š" msgid "Use default gateway" -msgstr "デフォルトゲートウェイを使用ã™ã‚‹" +msgstr "デフォルト ゲートウェイを使用ã™ã‚‹" msgid "Use gateway metric" -msgstr "ゲートウェイ・メトリックを使用ã™ã‚‹" +msgstr "ゲートウェイ メトリックを使用ã™ã‚‹" msgid "Use routing table" msgstr "" @@ -3738,9 +3727,6 @@ msgstr "å—ä¿¡ã—ãŸDNSリクエストをsyslogã¸è¨˜éŒ²ã—ã¾ã™" msgid "Write system log to file" msgstr "システムãƒã‚°ã‚’ファイルã«æ›¸ã込む" -msgid "XR Support" -msgstr "XRサãƒãƒ¼ãƒˆ" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3752,8 +3738,8 @@ msgstr "" "</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." -msgstr "Java Scriptを有効ã«ã—ãªã„å ´åˆã€LuCIã¯æ£ã—ã動作ã—ã¾ã›ã‚“。" +"You must enable JavaScript in your browser or LuCI will not work properly." +msgstr "JavaScriptを有効ã«ã—ãªã„å ´åˆã€LuCIã¯æ£ã—ã動作ã—ã¾ã›ã‚“。" msgid "" "Your Internet Explorer is too old to display this page correctly. Please " @@ -3927,6 +3913,57 @@ msgstr "ã¯ã„" msgid "« Back" msgstr "« 戻る" +#~ msgid "AR Support" +#~ msgstr "ARサãƒãƒ¼ãƒˆ" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "Atheros 802.11%s ç„¡ç·šLANコントãƒãƒ¼ãƒ©" + +#~ msgid "Background Scan" +#~ msgstr "ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã‚¹ã‚ャン" + +#~ msgid "Compression" +#~ msgstr "圧縮" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "HWビーコンタイマーを無効ã«ã™ã‚‹" + +#~ msgid "Do not send probe responses" +#~ msgstr "プãƒãƒ¼ãƒ–レスãƒãƒ³ã‚¹ã‚’é€ä¿¡ã—ãªã„" + +#~ msgid "Fast Frames" +#~ msgstr "ファスト・フレーム" + +#~ msgid "Maximum Rate" +#~ msgstr "最大レート" + +#~ msgid "Minimum Rate" +#~ msgstr "最å°ãƒ¬ãƒ¼ãƒˆ" + +#~ msgid "Multicast Rate" +#~ msgstr "マルãƒã‚ャストレート" + +#~ msgid "Outdoor Channels" +#~ msgstr "屋外用周波数" + +#~ msgid "Regulatory Domain" +#~ msgstr "è¦åˆ¶ãƒ‰ãƒ¡ã‚¤ãƒ³" + +#~ msgid "Separate WDS" +#~ msgstr "WDSを分離ã™ã‚‹" + +#~ msgid "Static WDS" +#~ msgstr "é™çš„WDS" + +#~ msgid "Turbo Mode" +#~ msgstr "ターボモード" + +#~ msgid "XR Support" +#~ msgstr "XRサãƒãƒ¼ãƒˆ" + +#~ msgid "Required. Public key of peer." +#~ msgstr "ピアã®å…¬é–‹éµï¼ˆå¿…é ˆï¼‰" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "ãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹ãŒã‚ªãƒ•ã®å ´åˆã€è¿½åŠ ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãŒä½œæˆã•ã‚Œã¾ã™ã€‚" diff --git a/modules/luci-base/po/ko/base.po b/modules/luci-base/po/ko/base.po index 59372bd976..7683df180a 100644 --- a/modules/luci-base/po/ko/base.po +++ b/modules/luci-base/po/ko/base.po @@ -148,6 +148,11 @@ msgstr "<abbr title=\"maximal\">최대</abbr> ë™ì‹œ 처리 query 수" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -166,9 +171,6 @@ msgstr "" msgid "APN" msgstr "" -msgid "AR Support" -msgstr "" - msgid "ARP retry threshold" msgstr "" @@ -406,9 +408,6 @@ msgstr "" msgid "Associated Stations" msgstr "ì—°ê²°ëœ station 들" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "" - msgid "Auth Group" msgstr "" @@ -487,9 +486,6 @@ msgstr "" msgid "Back to scan results" msgstr "" -msgid "Background Scan" -msgstr "" - msgid "Backup / Flash Firmware" msgstr "Firmware 백업 / Flash" @@ -658,9 +654,6 @@ msgstr "ëª…ë ¹ì–´" msgid "Common Configuration" msgstr "공통 ì„¤ì •" -msgid "Compression" -msgstr "" - msgid "Configuration" msgstr "ì„¤ì •" @@ -883,9 +876,6 @@ msgstr "" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "" - msgid "Disabled" msgstr "" @@ -929,9 +919,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "" -msgid "Do not send probe responses" -msgstr "" - msgid "Domain required" msgstr "" @@ -1127,9 +1114,6 @@ msgstr "외부 system log 서버 í”„ë¡œí† ì½œ" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "" - msgid "File" msgstr "" @@ -1165,6 +1149,9 @@ msgstr "" msgid "Firewall" msgstr "방화벽" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "방화벽 ì„¤ì •" @@ -1210,6 +1197,9 @@ msgstr "" msgid "Force TKIP and CCMP (AES)" msgstr "" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1601,12 +1591,15 @@ msgstr "" msgid "Invalid username and/or password! Please try again." msgstr "" +msgid "Isolate Clients" +msgstr "" + msgid "" "It appears that you are trying to flash an image that does not fit into the " "flash memory, please verify the image file!" msgstr "" -msgid "Java Script required!" +msgid "JavaScript required!" msgstr "" msgid "Join Network" @@ -1869,9 +1862,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "" - msgid "Maximum allowed number of active DHCP leases" msgstr "Active DHCP lease ê±´ì˜ ìµœëŒ€ 허용 숫ìž" @@ -1907,9 +1897,6 @@ msgstr "메모리 사용량 (%)" msgid "Metric" msgstr "" -msgid "Minimum Rate" -msgstr "" - msgid "Minimum hold time" msgstr "" @@ -1981,9 +1968,6 @@ msgstr "" msgid "Move up" msgstr "" -msgid "Multicast Rate" -msgstr "" - msgid "Multicast address" msgstr "" @@ -1996,6 +1980,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2189,8 +2176,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2227,9 +2219,6 @@ msgstr "" msgid "Outbound:" msgstr "" -msgid "Outdoor Channels" -msgstr "" - msgid "Output Interface" msgstr "" @@ -2411,6 +2400,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2601,9 +2596,6 @@ msgstr "ì¸í„°íŽ˜ì´ìŠ¤ 재연결중입니다" msgid "References" msgstr "" -msgid "Regulatory Domain" -msgstr "" - msgid "Relay" msgstr "" @@ -2652,15 +2644,15 @@ msgstr "íŠ¹ì • ISP ë“¤ì— ìš”êµ¬ë¨. 예: Charter (DOCSIS 3 기반)" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2805,9 +2797,6 @@ msgstr "" msgid "Separate Clients" msgstr "" -msgid "Separate WDS" -msgstr "" - msgid "Server Settings" msgstr "서버 ì„¤ì •" @@ -2831,6 +2820,11 @@ msgstr "" msgid "Services" msgstr "서비스" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + msgid "Set up Time Synchronization" msgstr "" @@ -2965,9 +2959,6 @@ msgstr "Static Lease 들" msgid "Static Routes" msgstr "Static Route 경로" -msgid "Static WDS" -msgstr "" - msgid "Static address" msgstr "" @@ -3354,9 +3345,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "" - msgid "Tx-Power" msgstr "" @@ -3642,9 +3630,6 @@ msgstr "ë°›ì€ DNS ìš”ì² ë‚´ìš©ì„ systlog ì— ê¸°ë¡í•©ë‹ˆë‹¤" msgid "Write system log to file" msgstr "System log ì¶œë ¥ íŒŒì¼ ê²½ë¡œ" -msgid "XR Support" -msgstr "" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3656,7 +3641,7 @@ msgstr "" "다!</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" msgid "" diff --git a/modules/luci-base/po/ms/base.po b/modules/luci-base/po/ms/base.po index 517d237d91..f847e1a0c5 100644 --- a/modules/luci-base/po/ms/base.po +++ b/modules/luci-base/po/ms/base.po @@ -145,6 +145,11 @@ msgstr "" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -163,9 +168,6 @@ msgstr "" msgid "APN" msgstr "" -msgid "AR Support" -msgstr "AR-Penyokong" - msgid "ARP retry threshold" msgstr "" @@ -401,9 +403,6 @@ msgstr "" msgid "Associated Stations" msgstr "Associated Stesen" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "" - msgid "Auth Group" msgstr "" @@ -482,9 +481,6 @@ msgstr "Kembali ke ikhtisar" msgid "Back to scan results" msgstr "Kembali ke keputusan scan" -msgid "Background Scan" -msgstr "Latar Belakang Scan" - msgid "Backup / Flash Firmware" msgstr "" @@ -640,9 +636,6 @@ msgstr "Perintah" msgid "Common Configuration" msgstr "" -msgid "Compression" -msgstr "Mampatan" - msgid "Configuration" msgstr "Konfigurasi" @@ -856,9 +849,6 @@ msgstr "" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "Mematikan pemasa HW-Beacon" - msgid "Disabled" msgstr "" @@ -904,9 +894,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "" -msgid "Do not send probe responses" -msgstr "Jangan menghantar jawapan penyelidikan" - msgid "Domain required" msgstr "Domain diperlukan" @@ -1099,9 +1086,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "Frame Cepat" - msgid "File" msgstr "" @@ -1137,6 +1121,9 @@ msgstr "Selesai" msgid "Firewall" msgstr "Firewall" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "Tetapan Firewall" @@ -1182,6 +1169,9 @@ msgstr "" msgid "Force TKIP and CCMP (AES)" msgstr "" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1577,6 +1567,9 @@ msgstr "" msgid "Invalid username and/or password! Please try again." msgstr "Username dan / atau password tak sah! Sila cuba lagi." +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1585,7 +1578,7 @@ msgstr "" "Tampak bahawa anda cuba untuk flash fail gambar yang tidak sesuai dengan " "memori flash, sila buat pengesahan pada fail gambar!" -msgid "Java Script required!" +msgid "JavaScript required!" msgstr "" #, fuzzy @@ -1847,9 +1840,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "Rate Maksimum" - msgid "Maximum allowed number of active DHCP leases" msgstr "" @@ -1886,9 +1876,6 @@ msgstr "Penggunaan Memori (%)" msgid "Metric" msgstr "Metrik" -msgid "Minimum Rate" -msgstr "Rate Minimum" - #, fuzzy msgid "Minimum hold time" msgstr "Memegang masa minimum" @@ -1963,9 +1950,6 @@ msgstr "" msgid "Move up" msgstr "" -msgid "Multicast Rate" -msgstr "Multicast Rate" - msgid "Multicast address" msgstr "" @@ -1978,6 +1962,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2170,8 +2157,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2208,9 +2200,6 @@ msgstr "Keluar" msgid "Outbound:" msgstr "" -msgid "Outdoor Channels" -msgstr "Saluran Outdoor" - msgid "Output Interface" msgstr "" @@ -2390,6 +2379,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2577,9 +2572,6 @@ msgstr "" msgid "References" msgstr "Rujukan" -msgid "Regulatory Domain" -msgstr "Peraturan Domain" - msgid "Relay" msgstr "" @@ -2628,15 +2620,15 @@ msgstr "" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2781,9 +2773,6 @@ msgstr "" msgid "Separate Clients" msgstr "Pisahkan Pelanggan" -msgid "Separate WDS" -msgstr "Pisahkan WDS" - msgid "Server Settings" msgstr "" @@ -2807,6 +2796,11 @@ msgstr "" msgid "Services" msgstr "Perkhidmatan" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + msgid "Set up Time Synchronization" msgstr "" @@ -2942,9 +2936,6 @@ msgstr "Statische Einträge" msgid "Static Routes" msgstr "Laluan Statik" -msgid "Static WDS" -msgstr "" - msgid "Static address" msgstr "" @@ -3328,9 +3319,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "Mod Turbo" - msgid "Tx-Power" msgstr "" @@ -3610,9 +3598,6 @@ msgstr "" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "Sokongan XR" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3620,7 +3605,7 @@ msgid "" msgstr "" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" msgid "" @@ -3789,3 +3774,45 @@ msgstr "" msgid "« Back" msgstr "« Kembali" + +#~ msgid "AR Support" +#~ msgstr "AR-Penyokong" + +#~ msgid "Background Scan" +#~ msgstr "Latar Belakang Scan" + +#~ msgid "Compression" +#~ msgstr "Mampatan" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "Mematikan pemasa HW-Beacon" + +#~ msgid "Do not send probe responses" +#~ msgstr "Jangan menghantar jawapan penyelidikan" + +#~ msgid "Fast Frames" +#~ msgstr "Frame Cepat" + +#~ msgid "Maximum Rate" +#~ msgstr "Rate Maksimum" + +#~ msgid "Minimum Rate" +#~ msgstr "Rate Minimum" + +#~ msgid "Multicast Rate" +#~ msgstr "Multicast Rate" + +#~ msgid "Outdoor Channels" +#~ msgstr "Saluran Outdoor" + +#~ msgid "Regulatory Domain" +#~ msgstr "Peraturan Domain" + +#~ msgid "Separate WDS" +#~ msgstr "Pisahkan WDS" + +#~ msgid "Turbo Mode" +#~ msgstr "Mod Turbo" + +#~ msgid "XR Support" +#~ msgstr "Sokongan XR" diff --git a/modules/luci-base/po/no/base.po b/modules/luci-base/po/no/base.po index d17e4aadd9..65fc39e39a 100644 --- a/modules/luci-base/po/no/base.po +++ b/modules/luci-base/po/no/base.po @@ -147,6 +147,11 @@ msgstr "<abbr title=\"Maksimal\">Maks.</abbr> samtidige spørringer" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "<abbr title='Parvis: %s / Gruppe: %s'>%s - %s</abbr>" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -165,9 +170,6 @@ msgstr "" msgid "APN" msgstr "<abbr title=\"Aksesspunkt Navn\">APN</abbr>" -msgid "AR Support" -msgstr "AR Støtte" - msgid "ARP retry threshold" msgstr "APR terskel for nytt forsøk" @@ -410,9 +412,6 @@ msgstr "" msgid "Associated Stations" msgstr "Tilkoblede Klienter" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "Atheros 802.11%s TrÃ¥dløs Kontroller" - msgid "Auth Group" msgstr "" @@ -491,9 +490,6 @@ msgstr "Tilbake til oversikt" msgid "Back to scan results" msgstr "Tilbake til skanne resultat" -msgid "Background Scan" -msgstr "Bakgrunns Skanning" - msgid "Backup / Flash Firmware" msgstr "Sikkerhetskopiering/Firmware oppgradering" @@ -662,9 +658,6 @@ msgstr "Kommando" msgid "Common Configuration" msgstr "Vanlige Innstillinger" -msgid "Compression" -msgstr "Komprimering" - msgid "Configuration" msgstr "Konfigurasjon" @@ -884,9 +877,6 @@ msgstr "Deaktiver DNS oppsett" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "Deaktiver HW-Beacon timer" - msgid "Disabled" msgstr "Deaktivert" @@ -933,9 +923,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "Ikke videresend reverserte oppslag for lokale nettverk" -msgid "Do not send probe responses" -msgstr "Ikke send probe svar" - msgid "Domain required" msgstr "Domene kreves" @@ -1135,9 +1122,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "Fast Frames" - msgid "File" msgstr "Fil" @@ -1173,6 +1157,9 @@ msgstr "Fullfør" msgid "Firewall" msgstr "Brannmur" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "Brannmur Innstillinger" @@ -1219,6 +1206,9 @@ msgstr "Bruk TKIP" msgid "Force TKIP and CCMP (AES)" msgstr "Bruk TKIP og CCMP (AES)" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1615,6 +1605,9 @@ msgstr "Ugyldig VLAN ID gitt! Bare unike ID'er er tillatt" msgid "Invalid username and/or password! Please try again." msgstr "Ugyldig brukernavn og/eller passord! Vennligst prøv igjen." +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1623,8 +1616,8 @@ msgstr "" "Det virker som du prøver Ã¥ flashe med en firmware som ikke passer inn i " "flash-minnet, vennligst kontroller firmware filen!" -msgid "Java Script required!" -msgstr "Java Script kreves!" +msgid "JavaScript required!" +msgstr "JavaScript kreves!" msgid "Join Network" msgstr "Koble til nettverket" @@ -1892,9 +1885,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "Maksimal hastighet" - msgid "Maximum allowed number of active DHCP leases" msgstr "Maksimalt antall aktive DHCP leieavtaler" @@ -1930,9 +1920,6 @@ msgstr "Minne forbruk (%)" msgid "Metric" msgstr "Metrisk" -msgid "Minimum Rate" -msgstr "Minimum hastighet" - msgid "Minimum hold time" msgstr "Minimum holde tid" @@ -2006,9 +1993,6 @@ msgstr "Flytt ned" msgid "Move up" msgstr "Flytt opp" -msgid "Multicast Rate" -msgstr "Multicast hastighet" - msgid "Multicast address" msgstr "Multicast adresse" @@ -2021,6 +2005,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2214,8 +2201,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2252,9 +2244,6 @@ msgstr "Ut" msgid "Outbound:" msgstr "UgÃ¥ende:" -msgid "Outdoor Channels" -msgstr "Utendørs Kanaler" - msgid "Output Interface" msgstr "" @@ -2436,6 +2425,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2638,9 +2633,6 @@ msgstr "Kobler til igjen" msgid "References" msgstr "Referanser" -msgid "Regulatory Domain" -msgstr "Regulerende Domene" - msgid "Relay" msgstr "Relay" @@ -2689,15 +2681,15 @@ msgstr "Er nødvendig for noen nettleverandører, f.eks Charter med DOCSIS 3" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2844,9 +2836,6 @@ msgstr "" msgid "Separate Clients" msgstr "Separerte Klienter" -msgid "Separate WDS" -msgstr "Separert WDS" - msgid "Server Settings" msgstr "Server Innstillinger" @@ -2870,6 +2859,11 @@ msgstr "Tjeneste type" msgid "Services" msgstr "Tjenester" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + #, fuzzy msgid "Set up Time Synchronization" msgstr "Oppsett tidssynkronisering" @@ -3009,9 +3003,6 @@ msgstr "Statiske Leier" msgid "Static Routes" msgstr "Statiske Ruter" -msgid "Static WDS" -msgstr "Statisk WDS" - msgid "Static address" msgstr "Statisk adresse" @@ -3433,9 +3424,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "Turbo Modus" - msgid "Tx-Power" msgstr "Tx-Styrke" @@ -3722,9 +3710,6 @@ msgstr "Skriv mottatte DNS forespørsler til syslog" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "XR Støtte" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3736,9 +3721,9 @@ msgstr "" "utilgjengelig! </strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" -"Du mÃ¥ aktivere Java Script i nettleseren din ellers vil ikke LuCI fungere " +"Du mÃ¥ aktivere JavaScript i nettleseren din ellers vil ikke LuCI fungere " "skikkelig." msgid "" @@ -3910,6 +3895,54 @@ msgstr "ja" msgid "« Back" msgstr "« Tilbake" +#~ msgid "AR Support" +#~ msgstr "AR Støtte" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "Atheros 802.11%s TrÃ¥dløs Kontroller" + +#~ msgid "Background Scan" +#~ msgstr "Bakgrunns Skanning" + +#~ msgid "Compression" +#~ msgstr "Komprimering" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "Deaktiver HW-Beacon timer" + +#~ msgid "Do not send probe responses" +#~ msgstr "Ikke send probe svar" + +#~ msgid "Fast Frames" +#~ msgstr "Fast Frames" + +#~ msgid "Maximum Rate" +#~ msgstr "Maksimal hastighet" + +#~ msgid "Minimum Rate" +#~ msgstr "Minimum hastighet" + +#~ msgid "Multicast Rate" +#~ msgstr "Multicast hastighet" + +#~ msgid "Outdoor Channels" +#~ msgstr "Utendørs Kanaler" + +#~ msgid "Regulatory Domain" +#~ msgstr "Regulerende Domene" + +#~ msgid "Separate WDS" +#~ msgstr "Separert WDS" + +#~ msgid "Static WDS" +#~ msgstr "Statisk WDS" + +#~ msgid "Turbo Mode" +#~ msgstr "Turbo Modus" + +#~ msgid "XR Support" +#~ msgstr "XR Støtte" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "Et nytt nettverk vil bli opprettet hvis du tar bort haken." diff --git a/modules/luci-base/po/pl/base.po b/modules/luci-base/po/pl/base.po index 8b0368bdeb..2223f53078 100644 --- a/modules/luci-base/po/pl/base.po +++ b/modules/luci-base/po/pl/base.po @@ -152,6 +152,11 @@ msgstr "<abbr title=\"Maksymalna ilość\">Maks.</abbr> zapytaÅ„ równoczesnych" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "<abbr title='Par: %s / Grup: %s'>%s - %s</abbr>" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -170,10 +175,6 @@ msgstr "" msgid "APN" msgstr "APN" -# Wydaje mi siÄ™ że brakuje litery R... -msgid "AR Support" -msgstr "Wsparcie dla ARP" - msgid "ARP retry threshold" msgstr "Próg powtórzeÅ„ ARP" @@ -425,9 +426,6 @@ msgstr "" msgid "Associated Stations" msgstr "PoÅ‚Ä…czone stacje" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "Bezprzewodowy kontroler Atheros 802.11%s" - msgid "Auth Group" msgstr "" @@ -507,9 +505,6 @@ msgstr "Wróć do przeglÄ…du" msgid "Back to scan results" msgstr "Wróć do wyników skanowania" -msgid "Background Scan" -msgstr "Skanowanie w tle" - msgid "Backup / Flash Firmware" msgstr "Kopia zapasowa/aktualizacja firmware" @@ -681,9 +676,6 @@ msgstr "Polecenie" msgid "Common Configuration" msgstr "Konfiguracja podstawowa" -msgid "Compression" -msgstr "Kompresja" - msgid "Configuration" msgstr "Konfiguracja" @@ -906,9 +898,6 @@ msgstr "WyÅ‚Ä…cz konfigurowanie DNS" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "WyÅ‚Ä…cz zegar HW-Beacon" - msgid "Disabled" msgstr "WyÅ‚Ä…czony" @@ -957,9 +946,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "Nie przekazuj odwrotnych lookup`ów do sieci lokalnych" -msgid "Do not send probe responses" -msgstr "Nie wysyÅ‚aj ramek probe response" - msgid "Domain required" msgstr "Wymagana domena" @@ -1166,9 +1152,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "Szybkie ramki (Fast Frames)" - msgid "File" msgstr "Plik" @@ -1204,6 +1187,9 @@ msgstr "ZakoÅ„cz" msgid "Firewall" msgstr "Firewall" +msgid "Firewall Mark" +msgstr "" + # Nie ma potrzeby pisania z dużej litery msgid "Firewall Settings" msgstr "Ustawienia firewalla" @@ -1251,6 +1237,9 @@ msgstr "WymuÅ› TKIP" msgid "Force TKIP and CCMP (AES)" msgstr "WymuÅ› TKIP i CCMP (AES)" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1660,6 +1649,9 @@ msgstr "Podano niewÅ‚aÅ›ciwy ID VLAN`u! Dozwolone sÄ… tylko unikalne ID." msgid "Invalid username and/or password! Please try again." msgstr "NiewÅ‚aÅ›ciwy login i/lub hasÅ‚o! Spróbuj ponownie." +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1668,8 +1660,8 @@ msgstr "" "WyglÄ…da na to, że próbujesz wgrać obraz wiÄ™kszy niż twoja pamięć flash, " "proszÄ™ sprawdź czy to wÅ‚aÅ›ciwy obraz!" -msgid "Java Script required!" -msgstr "Java Script jest wymagany!" +msgid "JavaScript required!" +msgstr "JavaScript jest wymagany!" msgid "Join Network" msgstr "PoÅ‚Ä…cz z sieciÄ…" @@ -1938,9 +1930,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "Maksymalna Szybkość" - msgid "Maximum allowed number of active DHCP leases" msgstr "Maksymalna dozwolona liczba aktywnych dzierżaw DHCP" @@ -1976,9 +1965,6 @@ msgstr "Użycie pamiÄ™ci (%)" msgid "Metric" msgstr "Metryka" -msgid "Minimum Rate" -msgstr "Minimalna Szybkość" - msgid "Minimum hold time" msgstr "Minimalny czas podtrzymania" @@ -2052,9 +2038,6 @@ msgstr "PrzesuÅ„ w dół" msgid "Move up" msgstr "PrzesuÅ„ w górÄ™" -msgid "Multicast Rate" -msgstr "Szybkość Multicast`u" - msgid "Multicast address" msgstr "Adres Multicast`u" @@ -2067,6 +2050,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2259,8 +2245,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2297,9 +2288,6 @@ msgstr "WychodzÄ…ce" msgid "Outbound:" msgstr "WychodzÄ…cy:" -msgid "Outdoor Channels" -msgstr "KanaÅ‚y zewnÄ™trzne" - msgid "Output Interface" msgstr "" @@ -2483,6 +2471,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2687,9 +2681,6 @@ msgstr "ÅÄ…czÄ™ ponownie interfejs" msgid "References" msgstr "Referencje" -msgid "Regulatory Domain" -msgstr "Domena regulacji" - msgid "Relay" msgstr "Przekaźnik" @@ -2738,15 +2729,15 @@ msgstr "Wymagany dla niektórych dostawców internetu, np. Charter z DOCSIS 3" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2895,9 +2886,6 @@ msgstr "" msgid "Separate Clients" msgstr "Rozdziel klientów" -msgid "Separate WDS" -msgstr "Rozdziel WDS" - msgid "Server Settings" msgstr "Ustawienia serwera" @@ -2921,6 +2909,11 @@ msgstr "Typ serwisu" msgid "Services" msgstr "Serwisy" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + #, fuzzy msgid "Set up Time Synchronization" msgstr "Ustawienia synchronizacji czasu" @@ -3062,9 +3055,6 @@ msgstr "Dzierżawy statyczne" msgid "Static Routes" msgstr "Statyczne Å›cieżki routingu" -msgid "Static WDS" -msgstr "Statyczny WDS" - msgid "Static address" msgstr "StaÅ‚y adres" @@ -3496,9 +3486,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "Tryb Turbo" - msgid "Tx-Power" msgstr "Moc nadawania" @@ -3787,9 +3774,6 @@ msgstr "Zapisz otrzymane żądania DNS do syslog'a" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "Wsparcie XR" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3801,9 +3785,9 @@ msgstr "" "siÄ™ nieosiÄ…galne!</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" -"Musisz wÅ‚Ä…czyć obsÅ‚ugÄ™ Java Script w swojej przeglÄ…darce, inaczej LuCI nie " +"Musisz wÅ‚Ä…czyć obsÅ‚ugÄ™ JavaScript w swojej przeglÄ…darce, inaczej LuCI nie " "bÄ™dzie dziaÅ‚ać poprawnie." msgid "" @@ -3976,6 +3960,55 @@ msgstr "tak" msgid "« Back" msgstr "« Wróć" +# Wydaje mi siÄ™ że brakuje litery R... +#~ msgid "AR Support" +#~ msgstr "Wsparcie dla ARP" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "Bezprzewodowy kontroler Atheros 802.11%s" + +#~ msgid "Background Scan" +#~ msgstr "Skanowanie w tle" + +#~ msgid "Compression" +#~ msgstr "Kompresja" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "WyÅ‚Ä…cz zegar HW-Beacon" + +#~ msgid "Do not send probe responses" +#~ msgstr "Nie wysyÅ‚aj ramek probe response" + +#~ msgid "Fast Frames" +#~ msgstr "Szybkie ramki (Fast Frames)" + +#~ msgid "Maximum Rate" +#~ msgstr "Maksymalna Szybkość" + +#~ msgid "Minimum Rate" +#~ msgstr "Minimalna Szybkość" + +#~ msgid "Multicast Rate" +#~ msgstr "Szybkość Multicast`u" + +#~ msgid "Outdoor Channels" +#~ msgstr "KanaÅ‚y zewnÄ™trzne" + +#~ msgid "Regulatory Domain" +#~ msgstr "Domena regulacji" + +#~ msgid "Separate WDS" +#~ msgstr "Rozdziel WDS" + +#~ msgid "Static WDS" +#~ msgstr "Statyczny WDS" + +#~ msgid "Turbo Mode" +#~ msgstr "Tryb Turbo" + +#~ msgid "XR Support" +#~ msgstr "Wsparcie XR" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "" #~ "Zostanie utworzona dodatkowa sieć jeÅ›li zostawisz tÄ… opcjÄ™ niezaznaczonÄ…." diff --git a/modules/luci-base/po/pt-br/base.po b/modules/luci-base/po/pt-br/base.po index 413cc79296..2767ceea5d 100644 --- a/modules/luci-base/po/pt-br/base.po +++ b/modules/luci-base/po/pt-br/base.po @@ -1,20 +1,20 @@ msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-06-10 03:41+0200\n" -"PO-Revision-Date: 2014-03-29 23:31+0200\n" -"Last-Translator: Luiz Angelo <luizluca@gmail.com>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"PO-Revision-Date: 2017-02-22 20:30-0300\n" +"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Pootle 2.0.6\n" +"X-Generator: Poedit 1.8.11\n" +"Language-Team: \n" msgid "%s is untagged in multiple VLANs!" -msgstr "" +msgstr "%s está sem etiqueta em múltiplas VLANs!" msgid "(%d minute window, %d second interval)" msgstr "(janela de %d minutos, intervalo de %d segundos)" @@ -38,13 +38,15 @@ msgid "-- custom --" msgstr "-- personalizado --" msgid "-- match by device --" -msgstr "" +msgstr "-- casar por dispositivo --" msgid "-- match by label --" -msgstr "" +msgstr "-- casar por rótulo --" msgid "-- match by uuid --" msgstr "" +"-- casar por <abbr title=\"Universal Unique IDentifier/Identificador Único " +"Universal\">UUID</abbr> --" msgid "1 Minute Load:" msgstr "Carga 1 Minuto:" @@ -53,34 +55,36 @@ msgid "15 Minute Load:" msgstr "Carga 15 Minutos:" msgid "4-character hexadecimal ID" -msgstr "" +msgstr "Identificador hexadecimal de 4 caracteres" msgid "464XLAT (CLAT)" -msgstr "" +msgstr "464XLAT (CLAT)" msgid "5 Minute Load:" msgstr "Carga 5 Minutos:" msgid "6-octet identifier as a hex string - no colons" msgstr "" +"Identificador de 6 octetos como uma cadeia hexadecimal - sem dois pontos" msgid "802.11r Fast Transition" -msgstr "" +msgstr "802.11r Fast Transition" msgid "802.11w Association SA Query maximum timeout" -msgstr "" +msgstr "Tempo de expiração máximo da consulta da Associação SA do 802.11w" msgid "802.11w Association SA Query retry timeout" msgstr "" +"Tempo de expiração de tentativa de consulta da Associação SA do 802.11w" msgid "802.11w Management Frame Protection" -msgstr "" +msgstr "Proteção do Quadro de Gerenciamento do 802.11w" msgid "802.11w maximum timeout" -msgstr "" +msgstr "Estouro de tempo máximo do 802.11w" msgid "802.11w retry timeout" -msgstr "" +msgstr "Estouro de tempo da nova tentativa do 802.11w" msgid "<abbr title=\"Basic Service Set Identifier\">BSSID</abbr>" msgstr "" @@ -127,6 +131,8 @@ msgstr "Roteador <abbr title=\"Protocolo de Internet Versão 6\">IPv6</abbr>" msgid "<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Suffix (hex)" msgstr "" +"<abbr title=\"Internet Protocol Version 6/Protocolo Internet Versão " +"6\">IPv6</abbr>-Suffix (hex)" msgid "<abbr title=\"Light Emitting Diode\">LED</abbr> Configuration" msgstr "Configuração do <abbr title=\"Diodo Emissor de Luz\">LED</abbr>" @@ -157,43 +163,53 @@ msgstr "Número máximo de consultas concorrentes" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "<abbr title='Par: %s / Grupo: %s'>%s - %s</abbr>" -msgid "A43C + J43 + A43" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." msgstr "" +msgid "A43C + J43 + A43" +msgstr "A43C + J43 + A43" + msgid "A43C + J43 + A43 + V43" -msgstr "" +msgstr "A43C + J43 + A43 + V43" msgid "ADSL" msgstr "" +"<abbr title=\"Assymetrical Digital Subscriber Line/Linha Digital Assimétrica " +"para Assinante\">ADSL</abbr>" msgid "AICCU (SIXXS)" msgstr "" +"<abbr title=\"Automatic IPv6 Connectivity Client Utility/Utilitário Cliente " +"de Conectividade IPv6 Automática\">AICCU (SIXXS)</abbr>" msgid "ANSI T1.413" -msgstr "" +msgstr "ANSI T1.413" msgid "APN" msgstr "<abbr title=\"Access Point Name\">APN</abbr>" -msgid "AR Support" -msgstr "Suporte AR" - msgid "ARP retry threshold" msgstr "" "Limite de retentativas do <abbr title=\"Address Resolution Protocol\">ARP</" "abbr>" msgid "ATM (Asynchronous Transfer Mode)" -msgstr "" +msgstr "ATM (Asynchronous Transfer Mode)" msgid "ATM Bridges" msgstr "Ponte ATM" msgid "ATM Virtual Channel Identifier (VCI)" -msgstr "Identificador de Canal Virtual ATM (VCI)" +msgstr "" +"Identificador de Canal Virtual ATM (<abbr title=\"Virtual Channel Identifier" +"\">VCI</abbr>)" msgid "ATM Virtual Path Identifier (VPI)" -msgstr "Identificador de Caminho Virtual ATM (VPI)" +msgstr "" +"Identificador de Caminho Virtual ATM (<abbr title=\"Virtual Path Identifier" +"\">VPI</abbr>)" msgid "" "ATM bridges expose encapsulated ethernet in AAL5 connections as virtual " @@ -208,10 +224,10 @@ msgid "ATM device number" msgstr "Número do dispositivo ATM" msgid "ATU-C System Vendor ID" -msgstr "" +msgstr "Identificador de" msgid "AYIYA" -msgstr "" +msgstr "AYIYA" msgid "Access Concentrator" msgstr "Concentrador de Acesso" @@ -261,7 +277,7 @@ msgid "Additional Hosts files" msgstr "Arquivos adicionais de equipamentos conhecidos (hosts)" msgid "Additional servers file" -msgstr "" +msgstr "Arquivo de servidores adicionais" msgid "Address" msgstr "Endereço" @@ -277,6 +293,8 @@ msgstr "Opções Avançadas" msgid "Aggregate Transmit Power(ACTATP)" msgstr "" +"Potência de Transmissão Agregada (<abbr title=\"Aggregate Transmit Power" +"\">ACTATP</abbr>)" msgid "Alert" msgstr "Alerta" @@ -285,9 +303,11 @@ msgid "" "Allocate IP addresses sequentially, starting from the lowest available " "address" msgstr "" +"Alocar endereços IP sequencialmente, iniciando a partir do endereço mais " +"baixo disponÃvel" msgid "Allocate IP sequentially" -msgstr "" +msgstr "Alocar endereços IP sequencialmente" msgid "Allow <abbr title=\"Secure Shell\">SSH</abbr> password authentication" msgstr "" @@ -320,78 +340,81 @@ msgstr "" "exemplo, para os serviços RBL" msgid "Allowed IPs" -msgstr "" +msgstr "Endereços IP autorizados" msgid "" "Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison" "\">Tunneling Comparison</a> on SIXXS" msgstr "" +"Veja também a <a href=\"https://www.sixxs.net/faq/connectivity/?" +"faq=comparison\">Comparação de Tunelamentos</a> em SIXXS" msgid "Always announce default router" -msgstr "" +msgstr "Sempre anuncie o roteador padrão" msgid "Annex" -msgstr "" +msgstr "Anexo" msgid "Annex A + L + M (all)" -msgstr "" +msgstr "Anexos A + L + M (todo)" msgid "Annex A G.992.1" -msgstr "" +msgstr "Anexo A G.992.1" msgid "Annex A G.992.2" -msgstr "" +msgstr "Anexo A G.992.2" msgid "Annex A G.992.3" -msgstr "" +msgstr "Anexo A G.992.3" msgid "Annex A G.992.5" -msgstr "" +msgstr "Anexo A G.992.5" msgid "Annex B (all)" -msgstr "" +msgstr "Anexo B (todo)" msgid "Annex B G.992.1" -msgstr "" +msgstr "Anexo B G.992.1" msgid "Annex B G.992.3" -msgstr "" +msgstr "Anexo B G.992.3" msgid "Annex B G.992.5" -msgstr "" +msgstr "Anexo B G.992.5" msgid "Annex J (all)" -msgstr "" +msgstr "Anexo J (todo)" msgid "Annex L G.992.3 POTS 1" -msgstr "" +msgstr "Anexo L G.992.3 POTS 1" msgid "Annex M (all)" -msgstr "" +msgstr "Anexo M (todo)" msgid "Annex M G.992.3" -msgstr "" +msgstr "Anexo M G.992.3" msgid "Annex M G.992.5" -msgstr "" +msgstr "Anexo M G.992.5" msgid "Announce as default router even if no public prefix is available." msgstr "" +"Anuncie-se como rotador padrão mesmo se não existir um prefixo público." msgid "Announced DNS domains" -msgstr "" +msgstr "DomÃnios DNS anunciados" msgid "Announced DNS servers" -msgstr "" +msgstr "Servidores DNS anunciados" msgid "Anonymous Identity" -msgstr "" +msgstr "Identidade Anônima" msgid "Anonymous Mount" -msgstr "" +msgstr "Montagem Anônima" msgid "Anonymous Swap" -msgstr "" +msgstr "Espaço de Troca (swap) Anônimo" msgid "Antenna 1" msgstr "Antena 1" @@ -414,6 +437,8 @@ msgstr "Aplicar as alterações" msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" +"Atribua uma parte do comprimento de cada prefixo IPv6 público para esta " +"interface" msgid "Assign interfaces..." msgstr "atribuir as interfaces" @@ -421,24 +446,23 @@ msgstr "atribuir as interfaces" msgid "" "Assign prefix parts using this hexadecimal subprefix ID for this interface." msgstr "" +"Atribua partes do prefixo usando este identificador hexadecimal do " +"subprefixo para esta interface" msgid "Associated Stations" msgstr "Estações associadas" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "Controlador Wireless Atheros 802.11%s" - msgid "Auth Group" -msgstr "" +msgstr "Grupo de Autenticação" msgid "AuthGroup" -msgstr "" +msgstr "Grupo de Autenticação" msgid "Authentication" msgstr "Autenticação" msgid "Authentication Type" -msgstr "" +msgstr "Tipo de Autenticação" msgid "Authoritative" msgstr "Autoritário" @@ -450,25 +474,29 @@ msgid "Auto Refresh" msgstr "Atualização Automática" msgid "Automatic" -msgstr "" +msgstr "Automático" msgid "Automatic Homenet (HNCP)" msgstr "" +"Rede Doméstica Automática (<abbr title=\"Homenet Control Protocol\">HNCP</" +"abbr>)" msgid "Automatically check filesystem for errors before mounting" msgstr "" +"Execute automaticamente a verificação do sistema de arquivos antes da " +"montagem do dispositivo" msgid "Automatically mount filesystems on hotplug" -msgstr "" +msgstr "Monte automaticamente o espaço de troca (swap) ao conectar" msgid "Automatically mount swap on hotplug" -msgstr "" +msgstr "Monte automaticamente o espaço de troca (swap) ao conectar" msgid "Automount Filesystem" -msgstr "" +msgstr "Montagem Automática de Sistema de Arquivo" msgid "Automount Swap" -msgstr "" +msgstr "Montagem Automática do Espaço de Troca (swap) " msgid "Available" msgstr "DisponÃvel" @@ -480,13 +508,13 @@ msgid "Average:" msgstr "Média:" msgid "B43 + B43C" -msgstr "" +msgstr "B43 + B43C" msgid "B43 + B43C + V43" -msgstr "" +msgstr "B43 + B43C + V43" msgid "BR / DMR / AFTR" -msgstr "" +msgstr "BR / DMR / AFTR" msgid "BSSID" msgstr "BSSID" @@ -506,9 +534,6 @@ msgstr "Voltar para visão geral" msgid "Back to scan results" msgstr "Voltar para os resultados da busca" -msgid "Background Scan" -msgstr "Busca em Segundo Plano" - msgid "Backup / Flash Firmware" msgstr "Cópia de Segurança / Gravar Firmware" @@ -522,10 +547,10 @@ msgid "Bad address specified!" msgstr "Endereço especificado está incorreto!" msgid "Band" -msgstr "" +msgstr "Banda" msgid "Behind NAT" -msgstr "" +msgstr "Atrás da NAT" msgid "" "Below is the determined list of files to backup. It consists of changed " @@ -537,13 +562,15 @@ msgstr "" "padrões para a cópia de segurança definidos pelo usuário." msgid "Bind interface" -msgstr "" +msgstr "Interface Vinculada" msgid "Bind only to specific interfaces rather than wildcard address." msgstr "" +"Vincule somente para as explicitamenteinterfaces ao invés do endereço " +"coringa." msgid "Bind the tunnel to this interface (optional)." -msgstr "" +msgstr "Vincule o túnel a esta interface (opcional)" msgid "Bitrate" msgstr "Taxa de bits" @@ -576,12 +603,15 @@ msgid "" "Build/distribution specific feed definitions. This file will NOT be " "preserved in any sysupgrade." msgstr "" +"Fonte de pacotes especÃfico da compilação/distribuição. Esta NÃO será " +"preservada em qualquer atualização do sistema." msgid "Buttons" msgstr "Botões" msgid "CA certificate; if empty it will be saved after the first connection." msgstr "" +"Certificado da CA; se em branco, será salvo depois da primeira conexão." msgid "CPU usage (%)" msgstr "Uso da CPU (%)" @@ -590,7 +620,7 @@ msgid "Cancel" msgstr "Cancelar" msgid "Category" -msgstr "" +msgstr "Categoria" msgid "Chain" msgstr "Cadeia" @@ -612,9 +642,10 @@ msgstr "Verificar" msgid "Check fileystems before mount" msgstr "" +"Execute a verificação do sistema de arquivos antes da montagem do dispositivo" msgid "Check this option to delete the existing networks from this radio." -msgstr "" +msgstr "Marque esta opção para remover as redes existentes neste rádio." msgid "Checksum" msgstr "Soma de verificação" @@ -641,7 +672,7 @@ msgid "Cipher" msgstr "Cifra" msgid "Cisco UDP encapsulation" -msgstr "" +msgstr "Encapsulamento UDP da Cisco" msgid "" "Click \"Generate archive\" to download a tar archive of the current " @@ -678,9 +709,6 @@ msgstr "Comando" msgid "Common Configuration" msgstr "Configuração Comum" -msgid "Compression" -msgstr "Compressão" - msgid "Configuration" msgstr "Configuração" @@ -703,7 +731,7 @@ msgid "Connection Limit" msgstr "Limite de conexão" msgid "Connection to server fails when TLS cannot be used" -msgstr "" +msgstr "A conexão para este servidor falhará quando o TLS não puder ser usado" msgid "Connections" msgstr "Conexões" @@ -739,15 +767,17 @@ msgid "Custom Interface" msgstr "Interface Personalizada" msgid "Custom delegated IPv6-prefix" -msgstr "" +msgstr "Prefixo IPv6 delegado personalizado" msgid "" "Custom feed definitions, e.g. private feeds. This file can be preserved in a " "sysupgrade." msgstr "" +"Definições de fonte de pacotes personalizadas, ex: fontes privadas. Este " +"arquivo será preservado em uma atualização do sistema." msgid "Custom feeds" -msgstr "" +msgstr "Fontes de pacotes customizadas" msgid "" "Customizes the behaviour of the device <abbr title=\"Light Emitting Diode" @@ -775,13 +805,13 @@ msgid "DHCPv6 Leases" msgstr "Alocações DHCPv6" msgid "DHCPv6 client" -msgstr "" +msgstr "Cliente DHCPv6" msgid "DHCPv6-Mode" -msgstr "" +msgstr "Modo DHCPv6" msgid "DHCPv6-Service" -msgstr "" +msgstr "Serviço DHCPv6" msgid "DNS" msgstr "DNS" @@ -790,34 +820,34 @@ msgid "DNS forwardings" msgstr "Encaminhamentos DNS" msgid "DNS-Label / FQDN" -msgstr "" +msgstr "Rótulo DNS / FQDN" msgid "DNSSEC" -msgstr "" +msgstr "DNSSEC" msgid "DNSSEC check unsigned" -msgstr "" +msgstr "Verificar DNSSEC sem assinatura" msgid "DPD Idle Timeout" -msgstr "" +msgstr "Tempo de expiração para ociosidade do DPD" msgid "DS-Lite AFTR address" -msgstr "" +msgstr "Endereço DS-Lite AFTR" msgid "DSL" -msgstr "" +msgstr "DSL" msgid "DSL Status" -msgstr "" +msgstr "Estado da DSL" msgid "DSL line mode" -msgstr "" +msgstr "Modo de linha DSL" msgid "DUID" msgstr "DUID" msgid "Data Rate" -msgstr "" +msgstr "Taxa de Dados" msgid "Debug" msgstr "Depurar" @@ -829,10 +859,10 @@ msgid "Default gateway" msgstr "Roteador Padrão" msgid "Default is stateless + stateful" -msgstr "" +msgstr "O padrão é sem estado + com estado" msgid "Default route" -msgstr "" +msgstr "Rota padrão" msgid "Default state" msgstr "Estado padrão" @@ -871,10 +901,10 @@ msgid "Device Configuration" msgstr "Configuração do Dispositivo" msgid "Device is rebooting..." -msgstr "" +msgstr "O dispositivo está reiniciando..." msgid "Device unreachable" -msgstr "" +msgstr "Dispositivo não alcançável" msgid "Diagnostics" msgstr "Diagnóstico" @@ -899,16 +929,13 @@ msgid "Disable DNS setup" msgstr "Desabilita a configuração do DNS" msgid "Disable Encryption" -msgstr "" - -msgid "Disable HW-Beacon timer" -msgstr "Desativar temporizador de Beacon de Hardware" +msgstr "Desabilitar Cifragem" msgid "Disabled" msgstr "Desabilitado" msgid "Disabled (default)" -msgstr "" +msgstr "Desabilitado (padrão)" msgid "Discard upstream RFC1918 responses" msgstr "" @@ -924,7 +951,7 @@ msgid "Distance to farthest network member in meters." msgstr "Distância para o computador mais distante da rede (em metros)." msgid "Distribution feeds" -msgstr "" +msgstr "Fontes de pacotes da distribuição" msgid "Diversity" msgstr "Diversidade" @@ -953,9 +980,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "Não encaminhe buscas por endereço reverso das redes local" -msgid "Do not send probe responses" -msgstr "Não enviar respostas de exames" - msgid "Domain required" msgstr "Requerer domÃnio" @@ -963,7 +987,7 @@ msgid "Domain whitelist" msgstr "Lista branca de domÃnios" msgid "Don't Fragment" -msgstr "" +msgstr "Não Fragmentar" msgid "" "Don't forward <abbr title=\"Domain Name System\">DNS</abbr>-Requests without " @@ -991,7 +1015,7 @@ msgstr "" "integrado" msgid "Dual-Stack Lite (RFC6333)" -msgstr "" +msgstr "Duas Pilhas Leve (RFC6333)" msgid "Dynamic <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>" msgstr "" @@ -1009,7 +1033,7 @@ msgstr "" "somente os clientes com atribuições estáticas serão servidos. " msgid "EA-bits length" -msgstr "" +msgstr "Comprimento dos bits EA" msgid "EAP-Method" msgstr "Método EAP" @@ -1021,6 +1045,8 @@ msgid "" "Edit the raw configuration data above to fix any error and hit \"Save\" to " "reload the page." msgstr "" +"Edite os dados de configuração brutos abaixo para arrumar qualquer erro e " +"clique em \"Salvar\" para recarregar a página." msgid "Edit this interface" msgstr "Editar esta interface" @@ -1041,7 +1067,7 @@ msgid "Enable HE.net dynamic endpoint update" msgstr "Ativar a atualização de ponto final dinâmico HE.net" msgid "Enable IPv6 negotiation" -msgstr "" +msgstr "Ativar a negociação de IPv6" msgid "Enable IPv6 negotiation on the PPP link" msgstr "Ativar a negociação de IPv6 no enlace PPP" @@ -1053,7 +1079,7 @@ msgid "Enable NTP client" msgstr "Ativar o cliente <abbr title=\"Network Time Protocol\">NTP</abbr>" msgid "Enable Single DES" -msgstr "" +msgstr "Habilitar DES Simples" msgid "Enable TFTP server" msgstr "Ativar servidor TFTP" @@ -1062,19 +1088,19 @@ msgid "Enable VLAN functionality" msgstr "Ativar funcionalidade de VLAN" msgid "Enable WPS pushbutton, requires WPA(2)-PSK" -msgstr "" +msgstr "Habilite o botão WPS. requer WPA(2)-PSK" msgid "Enable learning and aging" msgstr "Ativar o aprendizado e obsolescência" msgid "Enable mirroring of incoming packets" -msgstr "" +msgstr "Habilitar espelhamento dos pacotes entrantes" msgid "Enable mirroring of outgoing packets" -msgstr "" +msgstr "Habilitar espelhamento dos pacotes saintes" msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets." -msgstr "" +msgstr "Habilita o campo DF (Não Fragmentar) dos pacotes encapsulados." msgid "Enable this mount" msgstr "Ativar esta montagem" @@ -1092,6 +1118,8 @@ msgid "" "Enables fast roaming among access points that belong to the same Mobility " "Domain" msgstr "" +"Ativa a troca rápida entre pontos de acesso que pertencem ao mesmo DomÃnio " +"de Mobilidade" msgid "Enables the Spanning Tree Protocol on this bridge" msgstr "Ativa o protocolo STP nesta ponte" @@ -1103,10 +1131,10 @@ msgid "Encryption" msgstr "Cifragem" msgid "Endpoint Host" -msgstr "" +msgstr "Equipamento do ponto final" msgid "Endpoint Port" -msgstr "" +msgstr "Porta do ponto final" msgid "Erasing..." msgstr "Apagando..." @@ -1115,7 +1143,7 @@ msgid "Error" msgstr "Erro" msgid "Errored seconds (ES)" -msgstr "" +msgstr "Segundos com erro (ES)" msgid "Ethernet Adapter" msgstr "Adaptador Ethernet" @@ -1124,7 +1152,7 @@ msgid "Ethernet Switch" msgstr "Switch Ethernet" msgid "Exclude interfaces" -msgstr "" +msgstr "Excluir interfaces" msgid "Expand hosts" msgstr "Expandir arquivos de equipamentos conhecidos (hosts)" @@ -1132,7 +1160,6 @@ msgstr "Expandir arquivos de equipamentos conhecidos (hosts)" msgid "Expires" msgstr "Expira" -#, fuzzy msgid "" "Expiry time of leased addresses, minimum is 2 minutes (<code>2m</code>)." msgstr "" @@ -1140,13 +1167,13 @@ msgstr "" "code>)." msgid "External" -msgstr "" +msgstr "Externo" msgid "External R0 Key Holder List" -msgstr "" +msgstr "Lista dos Detentor de Chave R0 Externa" msgid "External R1 Key Holder List" -msgstr "" +msgstr "Lista dos Detentor de Chave R1 Externa" msgid "External system log server" msgstr "Servidor externo de registros do sistema (syslog)" @@ -1155,13 +1182,10 @@ msgid "External system log server port" msgstr "Porta do servidor externo de registro do sistema (syslog)" msgid "External system log server protocol" -msgstr "" +msgstr "Protocolo do servidor externo de registro do sistema (syslog)" msgid "Extra SSH command options" -msgstr "" - -msgid "Fast Frames" -msgstr "Quadros Rápidos" +msgstr "Opções adicionais do comando SSH" msgid "File" msgstr "Arquivo" @@ -1185,6 +1209,9 @@ msgid "" "Find all currently attached filesystems and swap and replace configuration " "with defaults based on what was detected" msgstr "" +"Encontre todos os sistemas de arquivos e espaços de troca (swap) atualmente " +"conectados e substitua a configuração com valores padrão baseados no que foi " +"detectado" msgid "Find and join network" msgstr "Procurar e conectar à rede" @@ -1198,6 +1225,9 @@ msgstr "Terminar" msgid "Firewall" msgstr "Firewall" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "Configurações do Firewall" @@ -1205,7 +1235,7 @@ msgid "Firewall Status" msgstr "Estado do Firewall" msgid "Firmware File" -msgstr "" +msgstr "Arquivo da Firmware" msgid "Firmware Version" msgstr "Versão do Firmware" @@ -1243,17 +1273,22 @@ msgstr "Forçar TKIP" msgid "Force TKIP and CCMP (AES)" msgstr "Forçar TKIP e CCMP (AES)" -msgid "Force use of NAT-T" +msgid "Force link" msgstr "" +msgid "Force use of NAT-T" +msgstr "Force o uso do NAT-T" + msgid "Form token mismatch" -msgstr "" +msgstr "Chave eletrônica do formulário não casa" msgid "Forward DHCP traffic" msgstr "Encaminhar tráfego DHCP" msgid "Forward Error Correction Seconds (FECS)" msgstr "" +"Segundos a frente de correção de erros ( <abbr title=\"Forward Error " +"Correction Seconds\">FECS</abbr>)" msgid "Forward broadcast traffic" msgstr "Encaminhar tráfego broadcast" @@ -1277,6 +1312,8 @@ msgid "" "Further information about WireGuard interfaces and peers at <a href=\"http://" "wireguard.io\">wireguard.io</a>." msgstr "" +"Mais informações sobre interfaces e parceiros WireGuard em <a href=\"http://" +"wireguard.io\">wireguard.io</a>." msgid "GHz" msgstr "GHz" @@ -1297,10 +1334,10 @@ msgid "General Setup" msgstr "Configurações Gerais" msgid "General options for opkg" -msgstr "" +msgstr "Opções gerais para o opkg" msgid "Generate Config" -msgstr "" +msgstr "Gerar Configuração" msgid "Generate archive" msgstr "Gerar arquivo" @@ -1312,10 +1349,10 @@ msgid "Given password confirmation did not match, password not changed!" msgstr "A senha de confirmação informada não casa. Senha não alterada!" msgid "Global Settings" -msgstr "" +msgstr "Configurações Globais" msgid "Global network options" -msgstr "" +msgstr "Opções de rede globais" msgid "Go to password configuration..." msgstr "Ir para a configuração de senha..." @@ -1324,19 +1361,21 @@ msgid "Go to relevant configuration page" msgstr "Ir para a página de configuração pertinente" msgid "Group Password" -msgstr "" +msgstr "Senha do Grupo" msgid "Guest" -msgstr "" +msgstr "Convidado\t" msgid "HE.net password" msgstr "Senha HE.net" msgid "HE.net username" -msgstr "" +msgstr "Usuário do HE.net" msgid "HT mode (802.11n)" msgstr "" +"Modo <abbr title=\"High Throughput/Alta Taxa de Transferência\">HT</abbr> " +"(802.11n)" # Não sei que contexto isto está sendo usado msgid "Handler" @@ -1347,9 +1386,11 @@ msgstr "Suspender" msgid "Header Error Code Errors (HEC)" msgstr "" +"Erros de Código de Erro de Cabeçalho (<abbr title=\"Header Error Code\">HEC</" +"abbr>)" msgid "Heartbeat" -msgstr "" +msgstr "Pulso de vida" msgid "" "Here you can configure the basic aspects of your device like its hostname or " @@ -1374,7 +1415,7 @@ msgstr "" "\">ESSID</abbr>" msgid "Host" -msgstr "" +msgstr "Equipamento" msgid "Host entries" msgstr "Entradas de Equipamentos" @@ -1397,13 +1438,15 @@ msgid "Hostnames" msgstr "Nome dos equipamentos" msgid "Hybrid" -msgstr "" +msgstr "HÃbrido" msgid "IKE DH Group" msgstr "" +"Grupo <abbr title=\"Diffie-Hellman\">DH</abbr> do <abbr title=\"Internet " +"Key Exchange/Troca de Chaves na Internet\">IKE</abbr>" msgid "IP Addresses" -msgstr "" +msgstr "Endereços IP" msgid "IP address" msgstr "Endereço IP" @@ -1424,7 +1467,7 @@ msgid "IPv4 and IPv6" msgstr "IPv4 e IPv6" msgid "IPv4 assignment length" -msgstr "" +msgstr "Tamanho da atribuição IPv4" msgid "IPv4 broadcast" msgstr "Broadcast IPv4" @@ -1439,7 +1482,7 @@ msgid "IPv4 only" msgstr "Somente IPv4" msgid "IPv4 prefix" -msgstr "" +msgstr "Prefixo IPv4" msgid "IPv4 prefix length" msgstr "Tamanho do prefixo IPv4" @@ -1448,7 +1491,7 @@ msgid "IPv4-Address" msgstr "Endereço IPv4" msgid "IPv4-in-IPv4 (RFC2003)" -msgstr "" +msgstr "IPv4-in-IPv4 (RFC2003)" msgid "IPv6" msgstr "IPv6" @@ -1457,13 +1500,15 @@ msgid "IPv6 Firewall" msgstr "Firewall para IPv6" msgid "IPv6 Neighbours" -msgstr "" +msgstr "Vizinhos IPv6" msgid "IPv6 Settings" -msgstr "" +msgstr "Configurações IPv6" msgid "IPv6 ULA-Prefix" msgstr "" +"Prefixo <abbr title=\"Unique Local Address/Endereço Local Único\">ULA</abbr> " +"IPv6" msgid "IPv6 WAN Status" msgstr "Estado IPv6 da WAN" @@ -1472,13 +1517,13 @@ msgid "IPv6 address" msgstr "Endereço IPv6" msgid "IPv6 address delegated to the local tunnel endpoint (optional)" -msgstr "" +msgstr "Endereços IPv6 delegados para o ponta local do túnel (opcional)" msgid "IPv6 assignment hint" -msgstr "" +msgstr "Sugestão de atribuição IPv6" msgid "IPv6 assignment length" -msgstr "" +msgstr "Tamanho da atribuição IPv6" msgid "IPv6 gateway" msgstr "Roteador padrão do IPv6" @@ -1493,13 +1538,13 @@ msgid "IPv6 prefix length" msgstr "Tamanho Prefixo IPv6" msgid "IPv6 routed prefix" -msgstr "" +msgstr "Prefixo roteável IPv6" msgid "IPv6-Address" msgstr "Endereço IPv6" msgid "IPv6-PD" -msgstr "" +msgstr "IPv6-PD" msgid "IPv6-in-IPv4 (RFC4213)" msgstr "IPv6-in-IPv4 (RFC4213)" @@ -1514,10 +1559,10 @@ msgid "Identity" msgstr "Identidade PEAP" msgid "If checked, 1DES is enaled" -msgstr "" +msgstr "Se marcado, a cifragem 1DES será habilitada" msgid "If checked, encryption is disabled" -msgstr "" +msgstr "Se marcado, a cifragem estará desabilitada" msgid "" "If specified, mount the device by its UUID instead of a fixed device node" @@ -1573,6 +1618,8 @@ msgid "" "In order to prevent unauthorized access to the system, your request has been " "blocked. Click \"Continue »\" below to return to the previous page." msgstr "" +"Para prevenir acesso não autorizado neste sistema, sua requisição foi " +"bloqueada. Clique abaixo em \"Continuar »\" para retornar à página anterior." msgid "Inactivity timeout" msgstr "Tempo limite de inatividade" @@ -1593,7 +1640,7 @@ msgid "Install" msgstr "Instalar" msgid "Install iputils-traceroute6 for IPv6 traceroute" -msgstr "" +msgstr "Instale iputils-traceroute6 para rastrear rotas IPv6" msgid "Install package %q" msgstr "Instalar pacote %q" @@ -1620,7 +1667,7 @@ msgid "Interface is shutting down..." msgstr "A interface está desligando..." msgid "Interface name" -msgstr "" +msgstr "Nome da Interface" msgid "Interface not present or not connected yet." msgstr "A interface não está presente ou não está conectada ainda." @@ -1635,7 +1682,7 @@ msgid "Interfaces" msgstr "Interfaces" msgid "Internal" -msgstr "" +msgstr "Interno" msgid "Internal Server Error" msgstr "erro no servidor interno" @@ -1656,7 +1703,9 @@ msgstr "" msgid "Invalid username and/or password! Please try again." msgstr "Usuário e/ou senha inválida! Por favor, tente novamente." -#, fuzzy +msgid "Isolate Clients" +msgstr "" + msgid "" "It appears that you are trying to flash an image that does not fit into the " "flash memory, please verify the image file!" @@ -1664,8 +1713,8 @@ msgstr "" "A imagem que está a tentar carregar aparenta nao caber na flash do " "equipamento. Por favor verifique o arquivo da imagem!" -msgid "Java Script required!" -msgstr "É necessário Java Script!" +msgid "JavaScript required!" +msgstr "É necessário JavaScript!" msgid "Join Network" msgstr "Conectar à Rede" @@ -1674,7 +1723,7 @@ msgid "Join Network: Wireless Scan" msgstr "Conectar à Rede: Busca por Rede Sem Fio" msgid "Joining Network: %q" -msgstr "" +msgstr "Juntando-se à rede %q" msgid "Keep settings" msgstr "Manter configurações" @@ -1719,13 +1768,13 @@ msgid "Language and Style" msgstr "Idioma e Estilo" msgid "Latency" -msgstr "" +msgstr "Latência" msgid "Leaf" -msgstr "" +msgstr "Folha" msgid "Lease time" -msgstr "" +msgstr "Tempo de concessão" msgid "Lease validity time" msgstr "Tempo de validade da atribuição" @@ -1753,21 +1802,23 @@ msgstr "Limite" msgid "Limit DNS service to subnets interfaces on which we are serving DNS." msgstr "" +"Limite o serviço DNS para subredes das interfaces nas quais estamos servindo " +"DNS." msgid "Limit listening to these interfaces, and loopback." -msgstr "" +msgstr "Escute somente nestas interfaces e na interface local (loopback) " msgid "Line Attenuation (LATN)" -msgstr "" +msgstr "Atenuação de Linha (<abbr title=\"Line Attenuation\">LATN</abbr>)" msgid "Line Mode" -msgstr "" +msgstr "Modo da Linha" msgid "Line State" -msgstr "" +msgstr "Estado da Linha" msgid "Line Uptime" -msgstr "" +msgstr "Tempo de Atividade da Linha" msgid "Link On" msgstr "Enlace Ativo" @@ -1786,6 +1837,11 @@ msgid "" "from the R0KH that the STA used during the Initial Mobility Domain " "Association." msgstr "" +"Lista dos R0KHs no mesmo DomÃnio de Mobilidade. <br /> Formato: Endereço " +"MAC, Identificador NAS, chave de 128 bits como cadeia hexadecimal. <br /> " +"Esta lista é usada para mapear o Identificador R0KH (Identificador NAS) para " +"um endereço MAC de destino ao solicitar a chave PMK-R1 a partir do R0KH que " +"o STA usado durante a Associação de DomÃnio de Mobilidade Inicial." msgid "" "List of R1KHs in the same Mobility Domain. <br />Format: MAC-address,R1KH-ID " @@ -1794,9 +1850,14 @@ msgid "" "R0KH. This is also the list of authorized R1KHs in the MD that can request " "PMK-R1 keys." msgstr "" +"Lista dos R1KHs no mesmo DomÃnio de Mobilidade. <br /> Formato: Endereço " +"MAC, R1KH-ID como 6 octetos com dois pontos, chave de 128 bits como cadeia " +"hexadecimal. <br /> Esta lista é usada para mapear o identificador R1KH para " +"um endereço MAC de destino ao enviar a chave PMK-R1 a partir do R0KH. Esta é " +"também a lista de R1KHs autorizados no MD que podem solicitar chaves PMK-R1." msgid "List of SSH key files for auth" -msgstr "" +msgstr "Lista de arquivos de chaves SSH para autenticação" msgid "List of domains to allow RFC1918 responses for" msgstr "" @@ -1809,10 +1870,10 @@ msgstr "" "fornecem resultados errados para consultas a domÃnios inexistentes (NX)" msgid "Listen Interfaces" -msgstr "" +msgstr "Interfaces de Escuta" msgid "Listen Port" -msgstr "" +msgstr "Porta de Escuta" msgid "Listen only on the given interface or, if unspecified, on all" msgstr "" @@ -1831,7 +1892,7 @@ msgid "Loading" msgstr "Carregando" msgid "Local IP address to assign" -msgstr "" +msgstr "Endereço IP local para atribuir" msgid "Local IPv4 address" msgstr "Endereço IPv4 local" @@ -1840,7 +1901,7 @@ msgid "Local IPv6 address" msgstr "Endereço IPv6 local" msgid "Local Service Only" -msgstr "" +msgstr "Somente Serviço Local" msgid "Local Startup" msgstr "Iniciação Local" @@ -1851,7 +1912,6 @@ msgstr "Hora Local" msgid "Local domain" msgstr "DomÃnio Local" -#, fuzzy msgid "" "Local domain specification. Names matching this domain are never forwarded " "and are resolved from DHCP or hosts files only" @@ -1879,7 +1939,7 @@ msgid "Localise queries" msgstr "Localizar consultas" msgid "Locked to channel %s used by: %s" -msgstr "" +msgstr "Travado no canal %s usado por: %s" msgid "Log output level" msgstr "NÃvel de detalhamento de saÃda dos registros" @@ -1898,6 +1958,8 @@ msgstr "Sair" msgid "Loss of Signal Seconds (LOSS)" msgstr "" +"Segundos de Perda de Sinal (<abbr title=\"Loss of Signal Seconds\">LOSS</" +"abbr>)" msgid "Lowest leased address as offset from the network address." msgstr "O endereço mais baixo concedido como deslocamento do endereço da rede." @@ -1915,13 +1977,13 @@ msgid "MAC-List" msgstr "Lista de MAC" msgid "MAP / LW4over6" -msgstr "" +msgstr "MAP / LW4over6" msgid "MB/s" msgstr "MB/s" msgid "MD5" -msgstr "" +msgstr "MD5" msgid "MHz" msgstr "MHz" @@ -1935,15 +1997,16 @@ msgid "" "Make sure to clone the root filesystem using something like the commands " "below:" msgstr "" +"Certifique-se que clonou o sistema de arquivos raiz com algo como o comando " +"abaixo:" msgid "Manual" -msgstr "" +msgstr "Manual" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" - -msgid "Maximum Rate" -msgstr "Taxa Máxima" +"Taxa de Dados AtingÃvel Máxima (<abbr title=\"Maximum Attainable Data Rate" +"\">ATTNDR</abbr>)" msgid "Maximum allowed number of active DHCP leases" msgstr "Número máximo permitido de alocações DHCP ativas" @@ -1965,6 +2028,8 @@ msgid "" "Maximum length of the name is 15 characters including the automatic protocol/" "bridge prefix (br-, 6in4-, pppoe- etc.)" msgstr "" +"Comprimento máximo do nome é de 15 caracteres, incluindo o prefixo " +"automático do protocolo/ponte (br-, 6in4- pppoe-, etc.)" msgid "Maximum number of leased addresses." msgstr "Número máximo de endereços atribuÃdos." @@ -1981,29 +2046,26 @@ msgstr "Uso da memória (%)" msgid "Metric" msgstr "Métrica" -msgid "Minimum Rate" -msgstr "Taxa MÃnima" - msgid "Minimum hold time" msgstr "Tempo mÃnimo de espera" msgid "Mirror monitor port" -msgstr "" +msgstr "Porta de monitoramento do espelho" msgid "Mirror source port" -msgstr "" +msgstr "Porta de origem do espelho" msgid "Missing protocol extension for proto %q" msgstr "Extensão para o protocolo %q está ausente" msgid "Mobility Domain" -msgstr "" +msgstr "DomÃnio da Mobilidade" msgid "Mode" msgstr "Modo" msgid "Model" -msgstr "" +msgstr "Modelo" msgid "Modem device" msgstr "Dispositivo do Modem" @@ -2037,7 +2099,7 @@ msgstr "" "anexado ao sistema de arquivos" msgid "Mount filesystems not specifically configured" -msgstr "" +msgstr "Monte sistemas de arquivos não especificamente configurados" msgid "Mount options" msgstr "Opções de montagem" @@ -2046,7 +2108,7 @@ msgid "Mount point" msgstr "Ponto de montagem" msgid "Mount swap not specifically configured" -msgstr "" +msgstr "Montar espalho de troca (swap) não especificamente configurado" msgid "Mounted file systems" msgstr "Sistemas de arquivos montados" @@ -2057,9 +2119,6 @@ msgstr "Mover para baixo" msgid "Move up" msgstr "Mover para cima" -msgid "Multicast Rate" -msgstr "Taxa de Multicast" - msgid "Multicast address" msgstr "Endereço de Multicast" @@ -2067,22 +2126,25 @@ msgid "NAS ID" msgstr "NAS ID" msgid "NAT-T Mode" -msgstr "" +msgstr "Modo NAT-T" msgid "NAT64 Prefix" +msgstr "Prefixo NAT64" + +msgid "NCM" msgstr "" msgid "NDP-Proxy" -msgstr "" +msgstr "Proxy NDP" msgid "NT Domain" -msgstr "" +msgstr "DomÃnio NT" msgid "NTP server candidates" msgstr "Candidatos a servidor NTP" msgid "NTP sync time-out" -msgstr "" +msgstr "Tempo limite da sincronia do NTP" msgid "Name" msgstr "Nome" @@ -2118,7 +2180,7 @@ msgid "No DHCP Server configured for this interface" msgstr "Nenhum Servidor DHCP configurado para esta interface" msgid "No NAT-T" -msgstr "" +msgstr "Sem NAT-T" msgid "No chains in this table" msgstr "Nenhuma cadeira nesta tabela" @@ -2154,16 +2216,18 @@ msgid "Noise" msgstr "RuÃdo" msgid "Noise Margin (SNR)" -msgstr "" +msgstr "Margem de RuÃdo (<abbr title=\"Noise Margin\">SNR</abbr>)" msgid "Noise:" msgstr "RuÃdo:" msgid "Non Pre-emtive CRC errors (CRC_P)" msgstr "" +"Erros CRC Não Preemptivos<abbr title=\"Non Pre-emptive CRC errors\">CRC_P</" +"abbr>" msgid "Non-wildcard" -msgstr "" +msgstr "Sem caracter curinga" msgid "None" msgstr "Nenhum" @@ -2184,7 +2248,7 @@ msgid "Note: Configuration files will be erased." msgstr "Nota: Os arquivos de configuração serão apagados." msgid "Note: interface name length" -msgstr "" +msgstr "Aviso: tamanho do nome da interface" msgid "Notice" msgstr "Aviso" @@ -2199,10 +2263,10 @@ msgid "OPKG-Configuration" msgstr "Configuração-OPKG" msgid "Obfuscated Group Password" -msgstr "" +msgstr "Senha Ofuscada do Grupo" msgid "Obfuscated Password" -msgstr "" +msgstr "Senha Ofuscada" msgid "Off-State Delay" msgstr "Atraso no estado de desligado" @@ -2233,7 +2297,7 @@ msgid "One or more fields contain invalid values!" msgstr "Um ou mais campos contém valores inválidos!" msgid "One or more invalid/required values on tab" -msgstr "" +msgstr "Um ou mais valores inválidos/obrigatórios na aba" msgid "One or more required fields have no value!" msgstr "Um ou mais campos obrigatórios não tem valor!" @@ -2242,10 +2306,10 @@ msgid "Open list..." msgstr "Abrir lista..." msgid "OpenConnect (CISCO AnyConnect)" -msgstr "" +msgstr "OpenConnect (CISCO AnyConnect)" msgid "Operating frequency" -msgstr "" +msgstr "Frequência de Operação" msgid "Option changed" msgstr "Opção alterada" @@ -2254,43 +2318,56 @@ msgid "Option removed" msgstr "Opção removida" msgid "Optional" -msgstr "" +msgstr "Opcional" msgid "Optional, specify to override default server (tic.sixxs.net)" msgstr "" +"Opcional, especifique para sobrescrever o servidor padrão (tic.sixxs.net)" msgid "Optional, use when the SIXXS account has more than one tunnel" -msgstr "" +msgstr "Opcional, para usar quando a conta SIXXS tem mais de um túnel" msgid "Optional." +msgstr "Opcional." + +msgid "" +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" +"Opcional. Adiciona uma camada extra de cifragem simétrica para resistência " +"pós quântica." msgid "Optional. Create routes for Allowed IPs for this peer." -msgstr "" +msgstr "Opcional. Cria rotas para endereços IP Autorizados para este parceiro." msgid "" "Optional. Host of peer. Names are resolved prior to bringing up the " "interface." msgstr "" +"Opcional. Equipamento do parceiro. Nomes serão resolvido antes de levantar a " +"interface." msgid "Optional. Maximum Transmission Unit of tunnel interface." -msgstr "" +msgstr "Opcional. Unidade Máxima de Transmissão da interface do túnel." msgid "Optional. Port of peer." -msgstr "" +msgstr "Opcional. Porta do parceiro." msgid "" "Optional. Seconds between keep alive messages. Default is 0 (disabled). " "Recommended value if this device is behind a NAT is 25." msgstr "" +"Opcional. Segundos entre mensagens para manutenção da conexão. O padrão é 0 " +"(desabilitado). O valor recomendado caso este dispositivo esteja atrás de " +"uma NAT é 25." msgid "Optional. UDP port used for outgoing and incoming packets." -msgstr "" +msgstr "opcional. Porta UDP usada para pacotes saintes ou entrantes." msgid "Options" msgstr "Opções" @@ -2304,26 +2381,25 @@ msgstr "SaÃda" msgid "Outbound:" msgstr "Saindo:" -msgid "Outdoor Channels" -msgstr "Canais para externo" - msgid "Output Interface" -msgstr "" +msgstr "Interface de SaÃda" msgid "Override MAC address" msgstr "Sobrescrever o endereço MAC" msgid "Override MTU" -msgstr "Sobrescrever o MTU" +msgstr "" +"Sobrescrever o <abbr title=\"Maximum Transmission Unit/Unidade Máxima de " +"Transmissão\">MTU</abbr>" msgid "Override TOS" -msgstr "" +msgstr "Sobrescrever o TOS" msgid "Override TTL" -msgstr "" +msgstr "Sobrescrever o TTL" msgid "Override default interface name" -msgstr "" +msgstr "Sobrescrever o nome da nova interface" msgid "Override the gateway in DHCP responses" msgstr "Sobrescrever o roteador padrão nas respostas do DHCP" @@ -2358,7 +2434,7 @@ msgid "PIN" msgstr "PIN" msgid "PMK R1 Push" -msgstr "" +msgstr "PMK R1 Push" msgid "PPP" msgstr "PPP" @@ -2373,19 +2449,19 @@ msgid "PPPoE" msgstr "PPPoE" msgid "PPPoSSH" -msgstr "" +msgstr "PPPoSSH" msgid "PPtP" msgstr "PPtP" msgid "PSID offset" -msgstr "" +msgstr "Deslocamento PSID" msgid "PSID-bits length" -msgstr "" +msgstr "Comprimento dos bits PSID" msgid "PTM/EFM (Packet Transfer Mode)" -msgstr "" +msgstr "PTM/EFM (Modo de Transferência de Pacotes)" msgid "Package libiwinfo required!" msgstr "O pacote libiwinfo é necessário!" @@ -2412,7 +2488,7 @@ msgid "Password of Private Key" msgstr "Senha da Chave Privada" msgid "Password of inner Private Key" -msgstr "" +msgstr "Senha da Chave Privada interna" msgid "Password successfully changed!" msgstr "A senha foi alterada com sucesso!" @@ -2430,25 +2506,25 @@ msgid "Path to executable which handles the button event" msgstr "Caminho para o executável que trata o evento do botão" msgid "Path to inner CA-Certificate" -msgstr "" +msgstr "Caminho para os certificados CA interno" msgid "Path to inner Client-Certificate" -msgstr "" +msgstr "Caminho para o Certificado do Cliente interno" msgid "Path to inner Private Key" -msgstr "" +msgstr "Caminho para a Chave Privada interna" msgid "Peak:" msgstr "Pico:" msgid "Peer IP address to assign" -msgstr "" +msgstr "Endereço IP do parceiro para atribuir" msgid "Peers" -msgstr "" +msgstr "Parceiros" msgid "Perfect Forward Secrecy" -msgstr "" +msgstr "Sigilo Encaminhado Perfeito" msgid "Perform reboot" msgstr "Reiniciar o sistema" @@ -2457,7 +2533,7 @@ msgid "Perform reset" msgstr "Zerar configuração" msgid "Persistent Keep Alive" -msgstr "" +msgstr "Manutenção da Conexão Persistente" msgid "Phy Rate:" msgstr "Taxa fÃsica:" @@ -2484,17 +2560,24 @@ msgid "Port status:" msgstr "Status da porta" msgid "Power Management Mode" -msgstr "" +msgstr "Modo de Gerenciamento de Energia" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +"Erros CRC Preemptivos<abbr title=\"Pre-emptive CRC errors\">CRCP_P</abbr>" -msgid "Prefix Delegated" +msgid "Prefer LTE" msgstr "" -msgid "Preshared Key" +msgid "Prefer UMTS" msgstr "" +msgid "Prefix Delegated" +msgstr "Prefixo Delegado" + +msgid "Preshared Key" +msgstr "Chave Compartilhada" + msgid "" "Presume peer to be dead after given amount of LCP echo failures, use 0 to " "ignore failures" @@ -2503,7 +2586,7 @@ msgstr "" "echo do LCP. Use 0 para ignorar as falhas" msgid "Prevent listening on these interfaces." -msgstr "" +msgstr "Evite escutar nestas Interfaces." msgid "Prevents client-to-client communication" msgstr "Impede a comunicação de cliente para cliente" @@ -2512,7 +2595,7 @@ msgid "Prism2/2.5/3 802.11b Wireless Controller" msgstr "Prism2/2.5/3 802.11b Wireless Controlador" msgid "Private Key" -msgstr "" +msgstr "Chave Privada" msgid "Proceed" msgstr "Proceder" @@ -2521,7 +2604,7 @@ msgid "Processes" msgstr "Processos" msgid "Profile" -msgstr "" +msgstr "Perfil" msgid "Prot." msgstr "Protocolo" @@ -2548,25 +2631,27 @@ msgid "Pseudo Ad-Hoc (ahdemo)" msgstr "Ad-Hoc falso (ahdemo)" msgid "Public Key" -msgstr "" +msgstr "Chave Pública" msgid "Public prefix routed to this device for distribution to clients." msgstr "" +"Prefixo público roteado para este dispositivo para distribuição a seus " +"clientes." msgid "QMI Cellular" -msgstr "" +msgstr "Celular QMI" msgid "Quality" msgstr "Qualidade" msgid "R0 Key Lifetime" -msgstr "" +msgstr "Validade da Chave R0" msgid "R1 Key Holder" -msgstr "" +msgstr "Detentor da Chave R1" msgid "RFC3947 NAT-T mode" -msgstr "" +msgstr "Modo NAT-T (RFC3947)" msgid "RTS/CTS Threshold" msgstr "Limiar RTS/CTS" @@ -2625,7 +2710,6 @@ msgstr "" msgid "Really reset all changes?" msgstr "Realmente limpar todas as mudanças?" -#, fuzzy msgid "" "Really shut down network?\\nYou might lose access to this device if you are " "connected via this interface." @@ -2661,7 +2745,7 @@ msgid "Realtime Wireless" msgstr "Rede sem fio em Tempo Real" msgid "Reassociation Deadline" -msgstr "" +msgstr "Limite para Reassociação" msgid "Rebind protection" msgstr "Proteção contra \"Rebind\"" @@ -2682,7 +2766,7 @@ msgid "Receiver Antenna" msgstr "Antena de Recepção" msgid "Recommended. IP addresses of the WireGuard interface." -msgstr "" +msgstr "Recomendado. Endereços IP da interface do WireGuard." msgid "Reconnect this interface" msgstr "Reconectar esta interface" @@ -2693,9 +2777,6 @@ msgstr "Reconectando interface" msgid "References" msgstr "Referências" -msgid "Regulatory Domain" -msgstr "DomÃnio Regulatório" - msgid "Relay" msgstr "Retransmissor" @@ -2712,7 +2793,7 @@ msgid "Remote IPv4 address" msgstr "Endereço IPv4 remoto" msgid "Remote IPv4 address or FQDN" -msgstr "" +msgstr "Endereço IPv4 remoto ou FQDN" msgid "Remove" msgstr "Remover" @@ -2727,41 +2808,47 @@ msgid "Replace wireless configuration" msgstr "Substituir a configuração da rede sem fio" msgid "Request IPv6-address" -msgstr "" +msgstr "Solicita endereço IPv6" msgid "Request IPv6-prefix of length" -msgstr "" +msgstr "Solicita prefixo IPv6 de tamanho" msgid "Require TLS" -msgstr "" +msgstr "Requer TLS" msgid "Required" -msgstr "" +msgstr "Necessário" msgid "Required for certain ISPs, e.g. Charter with DOCSIS 3" -msgstr "Requerido para alguns provedores de internet, ex. Charter com DOCSIS 3" +msgstr "" +"Obrigatório para alguns provedores de internet, ex. Charter com DOCSIS 3" msgid "Required. Base64-encoded private key for this interface." -msgstr "" +msgstr "Obrigatório. Chave privada codificada em Base64 para esta interface." + +msgid "Required. Base64-encoded public key of peer." +msgstr "Necessário. Chave Pública do parceiro codificada como Base64." msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" - -msgid "Required. Public key of peer." -msgstr "" +"Obrigatório. Endereços IP e prefixos que este parceiro está autorizado a " +"usar dentro do túnel. Normalmente é o endereço IP do parceiro no túnel e as " +"redes que o parceiro roteia através do túnel." msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" -msgstr "" +msgstr "Obrigatório. Chave Pública do parceiro." msgid "" "Requires upstream supports DNSSEC; verify unsigned domain responses really " "come from unsigned domains" msgstr "" +"Exige o suporte DNSSEC do servidor superior; verifica se resposta não " +"assinadas realmente vẽm de domÃnios não assinados." msgid "Reset" msgstr "Limpar" @@ -2800,19 +2887,19 @@ msgid "Root directory for files served via TFTP" msgstr "Diretório raiz para arquivos disponibilizados pelo TFTP" msgid "Root preparation" -msgstr "" +msgstr "Prepação da raiz (/)" msgid "Route Allowed IPs" -msgstr "" +msgstr "Roteie Andereços IP Autorizados" msgid "Route type" -msgstr "" +msgstr "Tipo de rota" msgid "Routed IPv6 prefix for downstream interfaces" -msgstr "" +msgstr "Prefixo roteável IPv6 para interfaces internas" msgid "Router Advertisement-Service" -msgstr "" +msgstr "Serviço de Anúncio de Roteador" msgid "Router Password" msgstr "Senha do Roteador" @@ -2835,30 +2922,32 @@ msgid "Run filesystem check" msgstr "Execute a verificação do sistema de arquivos " msgid "SHA256" -msgstr "" +msgstr "SHA256" msgid "" "SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) " "use 6in4 instead" msgstr "" +"O SIXXS suporta somente TIC. Use o 6in4 para túneis estáticos usando o " +"protocolo IP 41 (RFC4213)" msgid "SIXXS-handle[/Tunnel-ID]" -msgstr "" +msgstr "Identificador do SIXXS[/Identificador do Túnel]" msgid "SNR" -msgstr "" +msgstr "SNR" msgid "SSH Access" msgstr "Acesso SSH" msgid "SSH server address" -msgstr "" +msgstr "Endereço do servidor SSH" msgid "SSH server port" -msgstr "" +msgstr "Porta do servidor SSH" msgid "SSH username" -msgstr "" +msgstr "Usuário do SSH" msgid "SSH-Keys" msgstr "Chaves SSH" @@ -2900,22 +2989,21 @@ msgstr "" msgid "Separate Clients" msgstr "Isolar Clientes" -msgid "Separate WDS" -msgstr "Separar WDS" - msgid "Server Settings" msgstr "Configurações do Servidor" msgid "Server password" -msgstr "" +msgstr "Senha do servidor" msgid "" "Server password, enter the specific password of the tunnel when the username " "contains the tunnel ID" msgstr "" +"Senha do servidor. Informe a senha para este túnel quando o nome do usuário " +"contiver o identificador do túnel" msgid "Server username" -msgstr "" +msgstr "Usuário do servidor" msgid "Service Name" msgstr "Nome do Serviço" @@ -2926,7 +3014,11 @@ msgstr "Tipo do Serviço" msgid "Services" msgstr "Serviços" -#, fuzzy +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + msgid "Set up Time Synchronization" msgstr "Configurar a Sincronização do Horário" @@ -2935,9 +3027,11 @@ msgstr "Configurar Servidor DHCP" msgid "Severely Errored Seconds (SES)" msgstr "" +"Segundos com erro severos (<abbr title=\"Severely Errored Seconds\">SES</" +"abbr>)" msgid "Short GI" -msgstr "" +msgstr "Intervalo de guarda curto" msgid "Show current backup file list" msgstr "Mostra a lista atual de arquivos para a cópia de segurança" @@ -2952,7 +3046,7 @@ msgid "Signal" msgstr "Sinal" msgid "Signal Attenuation (SATN)" -msgstr "" +msgstr "Atenuação do Sinal (<abbr title=\"Signal Attenuation\">SATN</abbr>)" msgid "Signal:" msgstr "Sinal:" @@ -2961,7 +3055,7 @@ msgid "Size" msgstr "Tamanho" msgid "Size (.ipk)" -msgstr "" +msgstr "Tamanho (.ipk)" msgid "Skip" msgstr "Pular" @@ -2979,7 +3073,7 @@ msgid "Software" msgstr "Software" msgid "Software VLAN" -msgstr "" +msgstr "VLAN em Software" msgid "Some fields are invalid, cannot save values!" msgstr "Alguns campos estão inválidos e os valores não podem ser salvos!" @@ -3006,7 +3100,7 @@ msgid "Source" msgstr "Origem" msgid "Source routing" -msgstr "" +msgstr "Roteamento pela origem" msgid "Specifies the button state to handle" msgstr "Especifica o estado do botão para ser tratado" @@ -3032,17 +3126,21 @@ msgstr "" "equipamento está morto" msgid "Specify a TOS (Type of Service)." -msgstr "" +msgstr "Especifique um Tipo de Serviço (TOS)" msgid "" "Specify a TTL (Time to Live) for the encapsulating packet other than the " "default (64)." msgstr "" +"Especifica o tempo de vida (<abbr title=\"Time to Live\">TTL</abbr>) para os " +"pacotes encapsulados ao invés do padrão (64)." msgid "" "Specify an MTU (Maximum Transmission Unit) other than the default (1280 " "bytes)." msgstr "" +"Especifica a unidade máxima de transmissão (<abbr title=\"Maximum " +"Transmission Unit\">MTU</abbr>) ao invés do valor padrão (1280 bytes)" msgid "Specify the secret encryption key here." msgstr "Especifique a chave de cifragem secreta aqui." @@ -3068,9 +3166,6 @@ msgstr "Alocações Estáticas" msgid "Static Routes" msgstr "Rotas Estáticas" -msgid "Static WDS" -msgstr "WDS Estático" - msgid "Static address" msgstr "Endereço Estático" @@ -3097,13 +3192,13 @@ msgid "Submit" msgstr "Enviar" msgid "Suppress logging" -msgstr "" +msgstr "Suprimir registros (log)" msgid "Suppress logging of the routine operation of these protocols" -msgstr "" +msgstr "Suprimir registros (log) de operações rotineiras destes protocolos" msgid "Swap" -msgstr "" +msgstr "Espaço de Troca (swap)" msgid "Swap Entry" msgstr "Entrada do espaço de troca (Swap)" @@ -3120,9 +3215,11 @@ msgstr "Switch %q (%s)" msgid "" "Switch %q has an unknown topology - the VLAN settings might not be accurate." msgstr "" +"O Switch %q tem uma topologia desconhecida - as configurações de VLAN podem " +"não ser precisas." msgid "Switch VLAN" -msgstr "" +msgstr "Switch VLAN" msgid "Switch protocol" msgstr "Trocar o protocolo" @@ -3167,12 +3264,11 @@ msgid "Target" msgstr "Destino" msgid "Target network" -msgstr "" +msgstr "Rede de destino" msgid "Terminate" msgstr "Terminar" -#, fuzzy msgid "" "The <em>Device Configuration</em> section covers physical settings of the " "radio hardware such as channel, transmit power or antenna selection which " @@ -3198,10 +3294,12 @@ msgid "" "The HE.net endpoint update configuration changed, you must now use the plain " "username instead of the user ID!" msgstr "" +"A configuração da atualização de pontas HE.net mudou. Você deve agora usar o " +"nome do usuário ao invés do identificador do usuário!" msgid "" "The IPv4 address or the fully-qualified domain name of the remote tunnel end." -msgstr "" +msgstr "O endereço IPv4 ou o nome completo (FQDN) da ponta remota do túnel." msgid "" "The IPv6 prefix assigned to the provider, usually ends with <code>::</code>" @@ -3217,13 +3315,14 @@ msgstr "" msgid "The configuration file could not be loaded due to the following error:" msgstr "" +"O arquivo de configuração não pode ser carregado devido ao seguinte erro:" msgid "" "The device file of the memory or partition (<abbr title=\"for example\">e.g." "</abbr> <code>/dev/sda1</code>)" msgstr "" -"O arquivo do dispositivo de armazenamento ou da partição (<abbr title=\"por " -"exemplo\">ex.</abbr> <code>/dev/sda1</code>)" +"O arquivo do dispositivo de armazenamento ou da partição (ex: <code>/dev/" +"sda1</code>)" msgid "" "The filesystem that was used to format the memory (<abbr title=\"for example" @@ -3256,7 +3355,6 @@ msgstr "As seguintes regras estão atualmente ativas neste sistema." msgid "The given network name is not unique" msgstr "O nome de rede informado não é único" -#, fuzzy msgid "" "The hardware is not multi-SSID capable and the existing configuration will " "be replaced if you proceed." @@ -3274,7 +3372,7 @@ msgid "The length of the IPv6 prefix in bits" msgstr "O comprimento do prefixo IPv6 em bits" msgid "The local IPv4 address over which the tunnel is created (optional)." -msgstr "" +msgstr "O endereço IPv4 local sobre o qual o túnel será criado (opcional)." msgid "" "The network ports on this device can be combined to several <abbr title=" @@ -3296,7 +3394,7 @@ msgid "The selected protocol needs a device assigned" msgstr "O protocolo selecionado necessita estar associado a um dispositivo" msgid "The submitted security token is invalid or already expired!" -msgstr "" +msgstr "A chave eletrônica enviada é inválida ou já expirou!" msgid "" "The system is erasing the configuration partition now and will reboot itself " @@ -3305,7 +3403,6 @@ msgstr "" "O sistema está apagando agora a partição da configuração e irá reiniciar " "quando terminado." -#, fuzzy msgid "" "The system is flashing now.<br /> DO NOT POWER OFF THE DEVICE!<br /> Wait a " "few minutes before you try to reconnect. It might be necessary to renew the " @@ -3321,6 +3418,8 @@ msgid "" "The tunnel end-point is behind NAT, defaults to disabled and only applies to " "AYIYA" msgstr "" +"O final do túnel está atrás de um NAT. Por padrão será desabilitado e " +"somente se aplica a AYIYA" msgid "" "The uploaded image file does not contain a supported format. Make sure that " @@ -3363,6 +3462,9 @@ msgid "" "'server=1.2.3.4' fordomain-specific or full upstream <abbr title=\"Domain " "Name System\">DNS</abbr> servers." msgstr "" +"Este arquivo deve conter linhas como 'server=/domain/1.2.3.4' ou " +"'server=1.2.3.4' para servidores <abbr title=\"Domain Name System/Sistema de " +"Nomes de DomÃnios\">DNS</abbr> por domÃnio ou completos." msgid "" "This is a list of shell glob patterns for matching files and directories to " @@ -3378,6 +3480,8 @@ msgid "" "This is either the \"Update Key\" configured for the tunnel or the account " "password if no update key has been configured" msgstr "" +"Isto é a \"Update Key\" configurada para o túnel ou a senha da cpnta se não " +"tem uma \"Update Keu\" configurada" msgid "" "This is the content of /etc/rc.local. Insert your own commands here (in " @@ -3401,11 +3505,13 @@ msgstr "" "\">DHCP</abbr> na rede local" msgid "This is the plain username for logging into the account" -msgstr "" +msgstr "Este é o nome do usuário em para se autenticar na sua conta" msgid "" "This is the prefix routed to you by the tunnel broker for use by clients" msgstr "" +"Este é o prefixo roteado pelo agente do tunel para você usar com seus " +"clientes" msgid "This is the system crontab in which scheduled tasks can be defined." msgstr "Este é o sistema de agendamento de tarefas." @@ -3449,7 +3555,7 @@ msgstr "" "de segurança anterior." msgid "Tone" -msgstr "" +msgstr "Tom" msgid "Total Available" msgstr "Total DisponÃvel" @@ -3488,19 +3594,16 @@ msgid "Tunnel Interface" msgstr "Interface de Tunelamento" msgid "Tunnel Link" -msgstr "" +msgstr "Enlace do túnel" msgid "Tunnel broker protocol" -msgstr "" +msgstr "Protocolo do agente do túnel" msgid "Tunnel setup server" -msgstr "" +msgstr "Servidor de configuração do túnel" msgid "Tunnel type" -msgstr "" - -msgid "Turbo Mode" -msgstr "Modo Turbo" +msgstr "Tipo de túnel" msgid "Tx-Power" msgstr "Potência de transmissão" @@ -3521,7 +3624,7 @@ msgid "USB Device" msgstr "Dispositivo USB" msgid "USB Ports" -msgstr "" +msgstr "Portas USB" msgid "UUID" msgstr "UUID" @@ -3531,6 +3634,8 @@ msgstr "Não é possÃvel a expedição" msgid "Unavailable Seconds (UAS)" msgstr "" +"Segundos de indisponibilidade (<abbr title=\"Unavailable Seconds\">UAS</" +"abbr>)" msgid "Unknown" msgstr "Desconhecido" @@ -3542,7 +3647,7 @@ msgid "Unmanaged" msgstr "Não gerenciado" msgid "Unmount" -msgstr "" +msgstr "Desmontar" msgid "Unsaved Changes" msgstr "Alterações Não Salvas" @@ -3584,22 +3689,24 @@ msgid "Use ISO/IEC 3166 alpha2 country codes." msgstr "Usar códigos de paÃses ISO/IEC 3166 alpha2." msgid "Use MTU on tunnel interface" -msgstr "Use MTU na interface do túnel" +msgstr "" +"Use o <abbr title=\"Maximum Transmission Unit/Unidade Máxima de Transmissão" +"\">MTU</abbr> na interface do túnel" msgid "Use TTL on tunnel interface" msgstr "Use TTL na interface do túnel" msgid "Use as external overlay (/overlay)" -msgstr "" +msgstr "Use como uma sobreposição externa (/overlay)" msgid "Use as root filesystem (/)" -msgstr "" +msgstr "Usar como o sistema de arquivos raiz (/)" msgid "Use broadcast flag" msgstr "Use a marcação de broadcast" msgid "Use builtin IPv6-management" -msgstr "" +msgstr "Use o gerenciamento do IPv6 embarcado" msgid "Use custom DNS servers" msgstr "Use servidores DNS personalizados" @@ -3636,12 +3743,14 @@ msgid "" "Used for two different purposes: RADIUS NAS ID and 802.11r R0KH-ID. Not " "needed with normal WPA(2)-PSK." msgstr "" +"Usado para dois diferentes propósitos: identificador do RADIUS NAS e do " +"802.11r R0KH. Não necessário com o WPA(2)-PSK normal." msgid "User certificate (PEM encoded)" -msgstr "" +msgstr "Certificado do usuário (codificado em formato PEM)" msgid "User key (PEM encoded)" -msgstr "" +msgstr "Chave do usuário (codificada em formato PEM)" msgid "Username" msgstr "Usuário" @@ -3650,7 +3759,7 @@ msgid "VC-Mux" msgstr "VC-Mux" msgid "VDSL" -msgstr "" +msgstr "VDSL" msgid "VLANs on %q" msgstr "VLANs em %q" @@ -3659,34 +3768,34 @@ msgid "VLANs on %q (%s)" msgstr "VLANs em %q (%s)" msgid "VPN Local address" -msgstr "" +msgstr "Endereço Local da VPN" msgid "VPN Local port" -msgstr "" +msgstr "Porta Local da VPN" msgid "VPN Server" msgstr "Servidor VPN" msgid "VPN Server port" -msgstr "" +msgstr "Porta do Servidor VPN" msgid "VPN Server's certificate SHA1 hash" -msgstr "" +msgstr "Resumo digital SHA1 do certificado do servidor VPN" msgid "VPNC (CISCO 3000 (and others) VPN)" -msgstr "" +msgstr "VPNC (VPN do CISCO 3000 (e outros))" msgid "Vendor" -msgstr "" +msgstr "Fabricante" msgid "Vendor Class to send when requesting DHCP" msgstr "Classe do fabricante para enviar quando requisitar o DHCP" msgid "Verbose" -msgstr "" +msgstr "Detalhado" msgid "Verbose logging by aiccu daemon" -msgstr "" +msgstr "Habilite registros detalhados do serviço AICCU" msgid "Verify" msgstr "Verificar" @@ -3722,6 +3831,8 @@ msgstr "" msgid "" "Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)" msgstr "" +"Espere esta quantidade de segundos pela sincronia do NTP. Definindo como 0 " +"desabilita a espera (opcional)" msgid "Waiting for changes to be applied..." msgstr "Esperando a aplicação das mudanças..." @@ -3730,25 +3841,25 @@ msgid "Waiting for command to complete..." msgstr "Esperando o término do comando..." msgid "Waiting for device..." -msgstr "" +msgstr "Esperando pelo dispositivo..." msgid "Warning" msgstr "Atenção" msgid "Warning: There are unsaved changes that will get lost on reboot!" -msgstr "" +msgstr "Atenção: Existem mudanças não salvas que serão perdidas ao reiniciar!" msgid "Whether to create an IPv6 default route over the tunnel" -msgstr "" +msgstr "Se deve criar uma rota padrão IPv6 sobre o túnel" msgid "Whether to route only packets from delegated prefixes" -msgstr "" +msgstr "Se deve rotear somente pacotes de prefixos delegados" msgid "Width" -msgstr "" +msgstr "Largura" msgid "WireGuard VPN" -msgstr "" +msgstr "VPN WireGuard" msgid "Wireless" msgstr "Rede sem fio" @@ -3787,10 +3898,7 @@ msgid "Write received DNS requests to syslog" msgstr "Escreva as requisições DNS para o servidor de registro (syslog)" msgid "Write system log to file" -msgstr "" - -msgid "XR Support" -msgstr "Suporte a XR" +msgstr "Escrever registo do sistema (log) no arquivo" msgid "" "You can enable or disable installed init scripts here. Changes will applied " @@ -3804,7 +3912,7 @@ msgstr "" "inacessÃvel!</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" "Você precisa habilitar o JavaScript no seu navegador ou o LuCI não irá " "funcionar corretamente." @@ -3814,6 +3922,9 @@ msgid "" "upgrade it to at least version 7 or use another browser like Firefox, Opera " "or Safari." msgstr "" +"Seu Internet Explorer é muito velho para mostrar esta página corretamente. " +"Por favor, atualiza para, ao menos, a versão 7 ou use outro navegador como o " +"Firefox, Opera ou Safari." msgid "any" msgstr "qualquer" @@ -3821,9 +3932,8 @@ msgstr "qualquer" msgid "auto" msgstr "automático" -#, fuzzy msgid "automatic" -msgstr "estático" +msgstr "automático" msgid "baseT" msgstr "baseT" @@ -3847,7 +3957,7 @@ msgid "disable" msgstr "desativar" msgid "disabled" -msgstr "" +msgstr "desabilitado" msgid "expired" msgstr "expirado" @@ -3875,7 +3985,7 @@ msgid "hidden" msgstr "ocultar" msgid "hybrid mode" -msgstr "" +msgstr "Modo HÃbrido" msgid "if target is a network" msgstr "se o destino for uma rede" @@ -3897,13 +4007,13 @@ msgstr "" "Arquivo local de <abbr title=\"Sistema de Nomes de DomÃnios\">DNS</abbr>" msgid "minimum 1280, maximum 1480" -msgstr "" +msgstr "mÃnimo 1280, máximo 1480" msgid "minutes" -msgstr "" +msgstr "minutos" msgid "navigation Navigation" -msgstr "" +msgstr "navegação Navegação" # Is this yes/no or no like in no one? msgid "no" @@ -3916,7 +4026,7 @@ msgid "none" msgstr "nenhum" msgid "not present" -msgstr "" +msgstr "não presente " msgid "off" msgstr "desligado" @@ -3928,37 +4038,37 @@ msgid "open" msgstr "aberto" msgid "overlay" -msgstr "" +msgstr "sobreposição" msgid "relay mode" -msgstr "" +msgstr "modo retransmissor" msgid "routed" msgstr "roteado" msgid "server mode" -msgstr "" +msgstr "modo servidor" msgid "skiplink1 Skip to navigation" -msgstr "" +msgstr "skiplink1 Pular para a navegação" msgid "skiplink2 Skip to content" -msgstr "" +msgstr "skiplink2 Pular para o conteúdo" msgid "stateful-only" -msgstr "" +msgstr "somente com estado" msgid "stateless" -msgstr "" +msgstr "sem estado" msgid "stateless + stateful" -msgstr "" +msgstr "sem estado + com estado" msgid "tagged" msgstr "etiquetado" msgid "time units (TUs / 1.024 ms) [1000-65535]" -msgstr "" +msgstr "unidades de tempo (TUs / 1.024 ms) [1000-65535]" msgid "unknown" msgstr "desconhecido" @@ -3981,6 +4091,54 @@ msgstr "sim" msgid "« Back" msgstr "« Voltar" +#~ msgid "AR Support" +#~ msgstr "Suporte AR" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "Controlador Wireless Atheros 802.11%s" + +#~ msgid "Background Scan" +#~ msgstr "Busca em Segundo Plano" + +#~ msgid "Compression" +#~ msgstr "Compressão" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "Desativar temporizador de Beacon de Hardware" + +#~ msgid "Do not send probe responses" +#~ msgstr "Não enviar respostas de exames" + +#~ msgid "Fast Frames" +#~ msgstr "Quadros Rápidos" + +#~ msgid "Maximum Rate" +#~ msgstr "Taxa Máxima" + +#~ msgid "Minimum Rate" +#~ msgstr "Taxa MÃnima" + +#~ msgid "Multicast Rate" +#~ msgstr "Taxa de Multicast" + +#~ msgid "Outdoor Channels" +#~ msgstr "Canais para externo" + +#~ msgid "Regulatory Domain" +#~ msgstr "DomÃnio Regulatório" + +#~ msgid "Separate WDS" +#~ msgstr "Separar WDS" + +#~ msgid "Static WDS" +#~ msgstr "WDS Estático" + +#~ msgid "Turbo Mode" +#~ msgstr "Modo Turbo" + +#~ msgid "XR Support" +#~ msgstr "Suporte a XR" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "Uma rede adicional será criada se você deixar isto desmarcado." diff --git a/modules/luci-base/po/pt/base.po b/modules/luci-base/po/pt/base.po index 389b077a32..2c1567397f 100644 --- a/modules/luci-base/po/pt/base.po +++ b/modules/luci-base/po/pt/base.po @@ -157,6 +157,11 @@ msgstr "<abbr title=\"máximo\">Max.</abbr> consultas concorrentes" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "<abbr title='Emparelhada: %s / Grupo: %s'>%s - %s</abbr>" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -175,9 +180,6 @@ msgstr "" msgid "APN" msgstr "APN" -msgid "AR Support" -msgstr "Suporte AR" - msgid "ARP retry threshold" msgstr "Limiar de tentativas ARP" @@ -423,9 +425,6 @@ msgstr "" msgid "Associated Stations" msgstr "Estações Associadas" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "Controlador Wireless Atheros 802.11%s" - msgid "Auth Group" msgstr "" @@ -504,9 +503,6 @@ msgstr "Voltar à vista global" msgid "Back to scan results" msgstr "Voltar aos resultados do scan" -msgid "Background Scan" -msgstr "Procurar em Segundo Plano" - msgid "Backup / Flash Firmware" msgstr "Backup / Flashar Firmware" @@ -675,9 +671,6 @@ msgstr "Comando" msgid "Common Configuration" msgstr "Configuração comum" -msgid "Compression" -msgstr "Compressão" - msgid "Configuration" msgstr "Configuração" @@ -898,9 +891,6 @@ msgstr "Desativar configuração de DNS" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "Desativar temporizador de HW-Beacon" - msgid "Disabled" msgstr "Desativado" @@ -948,9 +938,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "Não encaminhar lookups reversos para as redes locais" -msgid "Do not send probe responses" -msgstr "Não enviar respostas a sondas" - msgid "Domain required" msgstr "Requerer domÃnio" @@ -1153,9 +1140,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "Frames Rápidas" - msgid "File" msgstr "Ficheiro" @@ -1191,6 +1175,9 @@ msgstr "Terminar" msgid "Firewall" msgstr "Firewall" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "Definições da Firewall" @@ -1236,6 +1223,9 @@ msgstr "Forçar TKIP" msgid "Force TKIP and CCMP (AES)" msgstr "Forçar TKIP e CCMP (AES)" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1639,6 +1629,9 @@ msgstr "O ID de VLAN fornecido é inválido! Só os IDs únicos são permitidos. msgid "Invalid username and/or password! Please try again." msgstr "Username inválido e/ou a password! Por favor, tente novamente." +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1647,8 +1640,8 @@ msgstr "" "A imagem que está a tentar carregar aparenta não caber na flash do " "equipamento. Por favor verifique o ficheiro de imagem." -msgid "Java Script required!" -msgstr "É necessário Javascript!" +msgid "JavaScript required!" +msgstr "É necessário JavaScript!" msgid "Join Network" msgstr "Associar Rede" @@ -1916,9 +1909,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "Taxa Máxima" - msgid "Maximum allowed number of active DHCP leases" msgstr "Número máximo permitido de concessões DHCP ativas" @@ -1954,9 +1944,6 @@ msgstr "Uso de memória (%)" msgid "Metric" msgstr "Métrica" -msgid "Minimum Rate" -msgstr "Taxa MÃnima" - msgid "Minimum hold time" msgstr "Tempo de retenção mÃnimo" @@ -2030,9 +2017,6 @@ msgstr "Subir" msgid "Move up" msgstr "Descer" -msgid "Multicast Rate" -msgstr "Taxa de Multicast" - msgid "Multicast address" msgstr "Endereço de multicast" @@ -2045,6 +2029,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2238,8 +2225,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2276,9 +2268,6 @@ msgstr "SaÃda" msgid "Outbound:" msgstr "SaÃda:" -msgid "Outdoor Channels" -msgstr "Canais de Outdoor" - msgid "Output Interface" msgstr "" @@ -2458,6 +2447,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2657,9 +2652,6 @@ msgstr "A reconectar interface" msgid "References" msgstr "Referências" -msgid "Regulatory Domain" -msgstr "DomÃnio Regulatório" - msgid "Relay" msgstr "" @@ -2708,15 +2700,15 @@ msgstr "Necessário para certos ISPs, p.ex. Charter with DOCSIS 3" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2862,9 +2854,6 @@ msgstr "" msgid "Separate Clients" msgstr "Isolar Clientes" -msgid "Separate WDS" -msgstr "Separar WDS" - msgid "Server Settings" msgstr "" @@ -2888,6 +2877,11 @@ msgstr "Tipo de Serviço" msgid "Services" msgstr "Serviços" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + #, fuzzy msgid "Set up Time Synchronization" msgstr "Configurar Sincronização Horária" @@ -3023,9 +3017,6 @@ msgstr "Atribuições Estáticas" msgid "Static Routes" msgstr "Rotas Estáticas" -msgid "Static WDS" -msgstr "WDS Estático" - msgid "Static address" msgstr "Endereço estático" @@ -3434,9 +3425,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "Modo Turbo" - msgid "Tx-Power" msgstr "Potência de Tx" @@ -3716,9 +3704,6 @@ msgstr "Escrever os pedidos de DNS para o syslog" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "Suporte XR" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3731,9 +3716,9 @@ msgstr "" "inacessÃvel!</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" -"Tem de activar o Java Script no seu browser ou a LuCI não funcionará " +"Tem de activar o JavaScript no seu browser ou a LuCI não funcionará " "corretamente." msgid "" @@ -3907,6 +3892,54 @@ msgstr "sim" msgid "« Back" msgstr "« Voltar" +#~ msgid "AR Support" +#~ msgstr "Suporte AR" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "Controlador Wireless Atheros 802.11%s" + +#~ msgid "Background Scan" +#~ msgstr "Procurar em Segundo Plano" + +#~ msgid "Compression" +#~ msgstr "Compressão" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "Desativar temporizador de HW-Beacon" + +#~ msgid "Do not send probe responses" +#~ msgstr "Não enviar respostas a sondas" + +#~ msgid "Fast Frames" +#~ msgstr "Frames Rápidas" + +#~ msgid "Maximum Rate" +#~ msgstr "Taxa Máxima" + +#~ msgid "Minimum Rate" +#~ msgstr "Taxa MÃnima" + +#~ msgid "Multicast Rate" +#~ msgstr "Taxa de Multicast" + +#~ msgid "Outdoor Channels" +#~ msgstr "Canais de Outdoor" + +#~ msgid "Regulatory Domain" +#~ msgstr "DomÃnio Regulatório" + +#~ msgid "Separate WDS" +#~ msgstr "Separar WDS" + +#~ msgid "Static WDS" +#~ msgstr "WDS Estático" + +#~ msgid "Turbo Mode" +#~ msgstr "Modo Turbo" + +#~ msgid "XR Support" +#~ msgstr "Suporte XR" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "Uma rede adicional será criada se deixar isto desmarcado." diff --git a/modules/luci-base/po/ro/base.po b/modules/luci-base/po/ro/base.po index 365574b174..1de4157766 100644 --- a/modules/luci-base/po/ro/base.po +++ b/modules/luci-base/po/ro/base.po @@ -148,6 +148,11 @@ msgstr "<abbr title=\"maximal\">Max.</abbr> interogari simultane" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -166,9 +171,6 @@ msgstr "" msgid "APN" msgstr "APN" -msgid "AR Support" -msgstr "Suport AR" - msgid "ARP retry threshold" msgstr "ARP prag reincercare" @@ -409,9 +411,6 @@ msgstr "" msgid "Associated Stations" msgstr "Statiile asociate" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "Atheros 802.11%s Controler Fara Fir" - msgid "Auth Group" msgstr "" @@ -490,9 +489,6 @@ msgstr "Inapoi la vedere generala" msgid "Back to scan results" msgstr "Inapoi la rezultatele scanarii" -msgid "Background Scan" -msgstr "Scanare in fundal" - msgid "Backup / Flash Firmware" msgstr "Salveaza / Scrie Firmware" @@ -650,9 +646,6 @@ msgstr "Comanda" msgid "Common Configuration" msgstr "Configurarea obisnuita" -msgid "Compression" -msgstr "Comprimare" - msgid "Configuration" msgstr "Configurare" @@ -868,9 +861,6 @@ msgstr "Dezactiveaza configuratia DNS" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "" - msgid "Disabled" msgstr "Dezactivat" @@ -911,9 +901,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "" -msgid "Do not send probe responses" -msgstr "" - msgid "Domain required" msgstr "Domeniul necesar" @@ -1105,9 +1092,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "" - msgid "File" msgstr "Fisier" @@ -1143,6 +1127,9 @@ msgstr "Termina" msgid "Firewall" msgstr "Firewall" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "Setarile firewall-ului" @@ -1189,6 +1176,9 @@ msgstr "Forteaza TKIP" msgid "Force TKIP and CCMP (AES)" msgstr "Forteaza TKIP si CCMP (AES)" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1579,6 +1569,9 @@ msgstr "" msgid "Invalid username and/or password! Please try again." msgstr "Utilizator si/sau parola invalide! Incearcati din nou." +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1587,8 +1580,8 @@ msgstr "" "Se pare ca ai incercat sa rescrii o imagine care nu are loc in memoria " "flash, verifica fisierul din nou!" -msgid "Java Script required!" -msgstr "Ai nevoie de Java Script !" +msgid "JavaScript required!" +msgstr "Ai nevoie de JavaScript !" msgid "Join Network" msgstr "" @@ -1848,9 +1841,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "Rata maxima" - msgid "Maximum allowed number of active DHCP leases" msgstr "" @@ -1886,9 +1876,6 @@ msgstr "Utilizarea memoriei (%)" msgid "Metric" msgstr "Metrica" -msgid "Minimum Rate" -msgstr "Rata minima" - msgid "Minimum hold time" msgstr "" @@ -1960,9 +1947,6 @@ msgstr "" msgid "Move up" msgstr "" -msgid "Multicast Rate" -msgstr "Rata de multicast" - msgid "Multicast address" msgstr "" @@ -1975,6 +1959,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2162,8 +2149,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2200,9 +2192,6 @@ msgstr "Iesire" msgid "Outbound:" msgstr "" -msgid "Outdoor Channels" -msgstr "" - msgid "Output Interface" msgstr "" @@ -2382,6 +2371,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2570,9 +2565,6 @@ msgstr "Interfata se reconecteaza chiar acum" msgid "References" msgstr "Referinte" -msgid "Regulatory Domain" -msgstr "Domeniu regulatoriu" - msgid "Relay" msgstr "" @@ -2621,15 +2613,15 @@ msgstr "" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2772,9 +2764,6 @@ msgstr "" msgid "Separate Clients" msgstr "" -msgid "Separate WDS" -msgstr "" - msgid "Server Settings" msgstr "Setarile serverului" @@ -2798,6 +2787,11 @@ msgstr "Tip de serviciu" msgid "Services" msgstr "Servicii" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + #, fuzzy msgid "Set up Time Synchronization" msgstr "Configurare sincronizare timp" @@ -2933,9 +2927,6 @@ msgstr "" msgid "Static Routes" msgstr "Rute statice" -msgid "Static WDS" -msgstr "" - msgid "Static address" msgstr "" @@ -3301,9 +3292,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "Mod turbo" - msgid "Tx-Power" msgstr "Puterea TX" @@ -3583,9 +3571,6 @@ msgstr "Scrie cererile DNS primite in syslog" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "Suport XR" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3593,7 +3578,7 @@ msgid "" msgstr "" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" msgid "" @@ -3763,6 +3748,36 @@ msgstr "da" msgid "« Back" msgstr "« Inapoi" +#~ msgid "AR Support" +#~ msgstr "Suport AR" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "Atheros 802.11%s Controler Fara Fir" + +#~ msgid "Background Scan" +#~ msgstr "Scanare in fundal" + +#~ msgid "Compression" +#~ msgstr "Comprimare" + +#~ msgid "Maximum Rate" +#~ msgstr "Rata maxima" + +#~ msgid "Minimum Rate" +#~ msgstr "Rata minima" + +#~ msgid "Multicast Rate" +#~ msgstr "Rata de multicast" + +#~ msgid "Regulatory Domain" +#~ msgstr "Domeniu regulatoriu" + +#~ msgid "Turbo Mode" +#~ msgstr "Mod turbo" + +#~ msgid "XR Support" +#~ msgstr "Suport XR" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "" #~ "Daca lasati aceasta optiune neselectata va fi creata o retea aditionala" diff --git a/modules/luci-base/po/ru/base.po b/modules/luci-base/po/ru/base.po index d11fbc2cde..29077054f8 100644 --- a/modules/luci-base/po/ru/base.po +++ b/modules/luci-base/po/ru/base.po @@ -155,6 +155,11 @@ msgstr "" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "<abbr title='Парный: %s / Групповой: %s'>%s - %s</abbr>" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -173,9 +178,6 @@ msgstr "" msgid "APN" msgstr "APN" -msgid "AR Support" -msgstr "Поддержка AR" - msgid "ARP retry threshold" msgstr "Порог повтора ARP" @@ -422,9 +424,6 @@ msgstr "" msgid "Associated Stations" msgstr "Подключенные клиенты" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "БеÑпроводной 802.11%s контроллер Atheros" - msgid "Auth Group" msgstr "" @@ -503,9 +502,6 @@ msgstr "Ðазад к обзору" msgid "Back to scan results" msgstr "Ðазад к результатам ÑканированиÑ" -msgid "Background Scan" -msgstr "Фоновое Ñканирование" - msgid "Backup / Flash Firmware" msgstr "Ð ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ / прошивка" @@ -675,9 +671,6 @@ msgstr "Команда" msgid "Common Configuration" msgstr "ÐžÐ±Ñ‰Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ" -msgid "Compression" -msgstr "Сжатие" - msgid "Configuration" msgstr "КонфигурациÑ" @@ -897,9 +890,6 @@ msgstr "Отключить наÑтройку DNS" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "Отключить таймер HW-Beacon" - msgid "Disabled" msgstr "Отключено" @@ -946,9 +936,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "Ðе перенаправлÑÑ‚ÑŒ обратные DNS-запроÑÑ‹ Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… Ñетей" -msgid "Do not send probe responses" -msgstr "Ðе поÑылать теÑтовые ответы" - msgid "Domain required" msgstr "ТребуетÑÑ Ð´Ð¾Ð¼ÐµÐ½" @@ -1154,9 +1141,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "БыÑтрые кадры" - msgid "File" msgstr "Файл" @@ -1192,6 +1176,9 @@ msgstr "Завершить" msgid "Firewall" msgstr "МежÑетевой Ñкран" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "ÐаÑтройки межÑетевого Ñкрана" @@ -1238,6 +1225,9 @@ msgstr "Требовать TKIP" msgid "Force TKIP and CCMP (AES)" msgstr "TKIP или CCMP (AES)" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1643,6 +1633,9 @@ msgstr "Указан неверный VLAN ID! ДоÑтупны только уРmsgid "Invalid username and/or password! Please try again." msgstr "Ðеверный логин и/или пароль! ПожалуйÑта попробуйте Ñнова." +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1651,8 +1644,8 @@ msgstr "" "Ð’Ñ‹ пытаетеÑÑŒ обновить прошивку файлом, который не помещаетÑÑ Ð² памÑÑ‚ÑŒ " "уÑтройÑтва! ПожалуйÑта, проверьте файл образа." -msgid "Java Script required!" -msgstr "ТребуетÑÑ Java Script!" +msgid "JavaScript required!" +msgstr "ТребуетÑÑ JavaScript!" msgid "Join Network" msgstr "Подключение к Ñети" @@ -1921,9 +1914,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑкороÑÑ‚ÑŒ" - msgid "Maximum allowed number of active DHCP leases" msgstr "МакÑимальное количеÑтво активных арендованных DHCP-адреÑов" @@ -1959,9 +1949,6 @@ msgstr "ИÑпользование памÑти (%)" msgid "Metric" msgstr "Метрика" -msgid "Minimum Rate" -msgstr "ÐœÐ¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑкороÑÑ‚ÑŒ" - msgid "Minimum hold time" msgstr "Минимальное Ð²Ñ€ÐµÐ¼Ñ ÑƒÐ´ÐµÑ€Ð¶Ð°Ð½Ð¸Ñ" @@ -2036,9 +2023,6 @@ msgstr "ПеремеÑтить вниз" msgid "Move up" msgstr "ПеремеÑтить вверх" -msgid "Multicast Rate" -msgstr "СкороÑÑ‚ÑŒ групповой передачи" - msgid "Multicast address" msgstr "ÐÐ´Ñ€ÐµÑ Ð³Ñ€ÑƒÐ¿Ð¿Ð¾Ð²Ð¾Ð¹ передачи" @@ -2051,6 +2035,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2244,8 +2231,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2282,9 +2274,6 @@ msgstr "Вне" msgid "Outbound:" msgstr "ИÑходÑщий:" -msgid "Outdoor Channels" -msgstr "Внешние каналы" - msgid "Output Interface" msgstr "" @@ -2466,6 +2455,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2668,9 +2663,6 @@ msgstr "Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð°ÐµÑ‚ÑÑ" msgid "References" msgstr "СÑылки" -msgid "Regulatory Domain" -msgstr "ÐÐ¾Ñ€Ð¼Ð°Ñ‚Ð¸Ð²Ð½Ð°Ñ Ð·Ð¾Ð½Ð°" - msgid "Relay" msgstr "РетранÑлÑтор" @@ -2719,15 +2711,15 @@ msgstr "ТребуетÑÑ Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… интернет-прова msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2874,9 +2866,6 @@ msgstr "" msgid "Separate Clients" msgstr "РазделÑÑ‚ÑŒ клиентов" -msgid "Separate WDS" -msgstr "Отдельный WDS" - msgid "Server Settings" msgstr "ÐаÑтройки Ñервера" @@ -2900,6 +2889,11 @@ msgstr "Тип Ñлужбы" msgid "Services" msgstr "СервиÑÑ‹" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + #, fuzzy msgid "Set up Time Synchronization" msgstr "ÐаÑтроить Ñинхронизацию времени" @@ -3041,9 +3035,6 @@ msgstr "ПоÑтоÑнные аренды" msgid "Static Routes" msgstr "СтатичеÑкие маршруты" -msgid "Static WDS" -msgstr "СтатичеÑкий WDS" - msgid "Static address" msgstr "СтатичеÑкий адреÑ" @@ -3468,9 +3459,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "Турбо-режим" - msgid "Tx-Power" msgstr "МощноÑÑ‚ÑŒ передатчика" @@ -3758,9 +3746,6 @@ msgstr "ЗапиÑывать полученные DNS-запроÑÑ‹ в ÑиÑÑ‚ msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "Поддержка XR" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3772,9 +3757,9 @@ msgstr "" "(например \"network\"), ваше уÑтройÑтво может оказатьÑÑ Ð½ÐµÐ´Ð¾Ñтупным!</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" -"Вам необходимо включить Java Script в вашем браузере Ð´Ð»Ñ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ð¹ работы " +"Вам необходимо включить JavaScript в вашем браузере Ð´Ð»Ñ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ð¹ работы " "LuCI." msgid "" @@ -3948,6 +3933,54 @@ msgstr "да" msgid "« Back" msgstr "« Ðазад" +#~ msgid "AR Support" +#~ msgstr "Поддержка AR" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "БеÑпроводной 802.11%s контроллер Atheros" + +#~ msgid "Background Scan" +#~ msgstr "Фоновое Ñканирование" + +#~ msgid "Compression" +#~ msgstr "Сжатие" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "Отключить таймер HW-Beacon" + +#~ msgid "Do not send probe responses" +#~ msgstr "Ðе поÑылать теÑтовые ответы" + +#~ msgid "Fast Frames" +#~ msgstr "БыÑтрые кадры" + +#~ msgid "Maximum Rate" +#~ msgstr "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑкороÑÑ‚ÑŒ" + +#~ msgid "Minimum Rate" +#~ msgstr "ÐœÐ¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑкороÑÑ‚ÑŒ" + +#~ msgid "Multicast Rate" +#~ msgstr "СкороÑÑ‚ÑŒ групповой передачи" + +#~ msgid "Outdoor Channels" +#~ msgstr "Внешние каналы" + +#~ msgid "Regulatory Domain" +#~ msgstr "ÐÐ¾Ñ€Ð¼Ð°Ñ‚Ð¸Ð²Ð½Ð°Ñ Ð·Ð¾Ð½Ð°" + +#~ msgid "Separate WDS" +#~ msgstr "Отдельный WDS" + +#~ msgid "Static WDS" +#~ msgstr "СтатичеÑкий WDS" + +#~ msgid "Turbo Mode" +#~ msgstr "Турбо-режим" + +#~ msgid "XR Support" +#~ msgstr "Поддержка XR" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "" #~ "ЕÑли вы не выберите Ñту опцию, то будет Ñоздана Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ñеть." diff --git a/modules/luci-base/po/sk/base.po b/modules/luci-base/po/sk/base.po index 017865d138..318d6f3081 100644 --- a/modules/luci-base/po/sk/base.po +++ b/modules/luci-base/po/sk/base.po @@ -139,6 +139,11 @@ msgstr "" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -157,9 +162,6 @@ msgstr "" msgid "APN" msgstr "" -msgid "AR Support" -msgstr "" - msgid "ARP retry threshold" msgstr "" @@ -395,9 +397,6 @@ msgstr "" msgid "Associated Stations" msgstr "" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "" - msgid "Auth Group" msgstr "" @@ -476,9 +475,6 @@ msgstr "" msgid "Back to scan results" msgstr "" -msgid "Background Scan" -msgstr "" - msgid "Backup / Flash Firmware" msgstr "" @@ -633,9 +629,6 @@ msgstr "" msgid "Common Configuration" msgstr "" -msgid "Compression" -msgstr "" - msgid "Configuration" msgstr "" @@ -849,9 +842,6 @@ msgstr "" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "" - msgid "Disabled" msgstr "" @@ -892,9 +882,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "" -msgid "Do not send probe responses" -msgstr "" - msgid "Domain required" msgstr "" @@ -1086,9 +1073,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "" - msgid "File" msgstr "" @@ -1124,6 +1108,9 @@ msgstr "" msgid "Firewall" msgstr "" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "" @@ -1169,6 +1156,9 @@ msgstr "" msgid "Force TKIP and CCMP (AES)" msgstr "" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1557,12 +1547,15 @@ msgstr "" msgid "Invalid username and/or password! Please try again." msgstr "" +msgid "Isolate Clients" +msgstr "" + msgid "" "It appears that you are trying to flash an image that does not fit into the " "flash memory, please verify the image file!" msgstr "" -msgid "Java Script required!" +msgid "JavaScript required!" msgstr "" msgid "Join Network" @@ -1823,9 +1816,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "" - msgid "Maximum allowed number of active DHCP leases" msgstr "" @@ -1861,9 +1851,6 @@ msgstr "" msgid "Metric" msgstr "" -msgid "Minimum Rate" -msgstr "" - msgid "Minimum hold time" msgstr "" @@ -1935,9 +1922,6 @@ msgstr "" msgid "Move up" msgstr "" -msgid "Multicast Rate" -msgstr "" - msgid "Multicast address" msgstr "" @@ -1950,6 +1934,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2137,8 +2124,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2175,9 +2167,6 @@ msgstr "" msgid "Outbound:" msgstr "" -msgid "Outdoor Channels" -msgstr "" - msgid "Output Interface" msgstr "" @@ -2357,6 +2346,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2543,9 +2538,6 @@ msgstr "" msgid "References" msgstr "" -msgid "Regulatory Domain" -msgstr "" - msgid "Relay" msgstr "" @@ -2594,15 +2586,15 @@ msgstr "" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2745,9 +2737,6 @@ msgstr "" msgid "Separate Clients" msgstr "" -msgid "Separate WDS" -msgstr "" - msgid "Server Settings" msgstr "" @@ -2771,6 +2760,11 @@ msgstr "" msgid "Services" msgstr "" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + msgid "Set up Time Synchronization" msgstr "" @@ -2905,9 +2899,6 @@ msgstr "" msgid "Static Routes" msgstr "" -msgid "Static WDS" -msgstr "" - msgid "Static address" msgstr "" @@ -3271,9 +3262,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "" - msgid "Tx-Power" msgstr "" @@ -3551,9 +3539,6 @@ msgstr "" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3561,7 +3546,7 @@ msgid "" msgstr "" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" msgid "" diff --git a/modules/luci-base/po/sv/base.po b/modules/luci-base/po/sv/base.po index e7e437fe5c..4e262efb16 100644 --- a/modules/luci-base/po/sv/base.po +++ b/modules/luci-base/po/sv/base.po @@ -145,6 +145,11 @@ msgstr "" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -163,9 +168,6 @@ msgstr "" msgid "APN" msgstr "" -msgid "AR Support" -msgstr "" - msgid "ARP retry threshold" msgstr "" @@ -401,9 +403,6 @@ msgstr "" msgid "Associated Stations" msgstr "" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "" - msgid "Auth Group" msgstr "" @@ -482,9 +481,6 @@ msgstr "" msgid "Back to scan results" msgstr "" -msgid "Background Scan" -msgstr "" - msgid "Backup / Flash Firmware" msgstr "" @@ -639,9 +635,6 @@ msgstr "" msgid "Common Configuration" msgstr "" -msgid "Compression" -msgstr "" - msgid "Configuration" msgstr "" @@ -855,9 +848,6 @@ msgstr "" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "" - msgid "Disabled" msgstr "" @@ -898,9 +888,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "" -msgid "Do not send probe responses" -msgstr "" - msgid "Domain required" msgstr "" @@ -1092,9 +1079,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "" - msgid "File" msgstr "" @@ -1130,6 +1114,9 @@ msgstr "" msgid "Firewall" msgstr "" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "" @@ -1175,6 +1162,9 @@ msgstr "" msgid "Force TKIP and CCMP (AES)" msgstr "" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1563,12 +1553,15 @@ msgstr "" msgid "Invalid username and/or password! Please try again." msgstr "" +msgid "Isolate Clients" +msgstr "" + msgid "" "It appears that you are trying to flash an image that does not fit into the " "flash memory, please verify the image file!" msgstr "" -msgid "Java Script required!" +msgid "JavaScript required!" msgstr "" msgid "Join Network" @@ -1829,9 +1822,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "" - msgid "Maximum allowed number of active DHCP leases" msgstr "" @@ -1867,9 +1857,6 @@ msgstr "" msgid "Metric" msgstr "" -msgid "Minimum Rate" -msgstr "" - msgid "Minimum hold time" msgstr "" @@ -1941,9 +1928,6 @@ msgstr "" msgid "Move up" msgstr "" -msgid "Multicast Rate" -msgstr "" - msgid "Multicast address" msgstr "" @@ -1956,6 +1940,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2143,8 +2130,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2181,9 +2173,6 @@ msgstr "" msgid "Outbound:" msgstr "" -msgid "Outdoor Channels" -msgstr "" - msgid "Output Interface" msgstr "" @@ -2363,6 +2352,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2549,9 +2544,6 @@ msgstr "" msgid "References" msgstr "" -msgid "Regulatory Domain" -msgstr "" - msgid "Relay" msgstr "" @@ -2600,15 +2592,15 @@ msgstr "" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2751,9 +2743,6 @@ msgstr "" msgid "Separate Clients" msgstr "" -msgid "Separate WDS" -msgstr "" - msgid "Server Settings" msgstr "" @@ -2777,6 +2766,11 @@ msgstr "" msgid "Services" msgstr "" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + msgid "Set up Time Synchronization" msgstr "" @@ -2911,9 +2905,6 @@ msgstr "" msgid "Static Routes" msgstr "" -msgid "Static WDS" -msgstr "" - msgid "Static address" msgstr "" @@ -3277,9 +3268,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "" - msgid "Tx-Power" msgstr "" @@ -3557,9 +3545,6 @@ msgstr "" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3567,7 +3552,7 @@ msgid "" msgstr "" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" msgid "" diff --git a/modules/luci-base/po/templates/base.pot b/modules/luci-base/po/templates/base.pot index cc47c2c6f2..704c295f02 100644 --- a/modules/luci-base/po/templates/base.pot +++ b/modules/luci-base/po/templates/base.pot @@ -132,6 +132,11 @@ msgstr "" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -150,9 +155,6 @@ msgstr "" msgid "APN" msgstr "" -msgid "AR Support" -msgstr "" - msgid "ARP retry threshold" msgstr "" @@ -388,9 +390,6 @@ msgstr "" msgid "Associated Stations" msgstr "" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "" - msgid "Auth Group" msgstr "" @@ -469,9 +468,6 @@ msgstr "" msgid "Back to scan results" msgstr "" -msgid "Background Scan" -msgstr "" - msgid "Backup / Flash Firmware" msgstr "" @@ -626,9 +622,6 @@ msgstr "" msgid "Common Configuration" msgstr "" -msgid "Compression" -msgstr "" - msgid "Configuration" msgstr "" @@ -842,9 +835,6 @@ msgstr "" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "" - msgid "Disabled" msgstr "" @@ -885,9 +875,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "" -msgid "Do not send probe responses" -msgstr "" - msgid "Domain required" msgstr "" @@ -1079,9 +1066,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "" - msgid "File" msgstr "" @@ -1117,6 +1101,9 @@ msgstr "" msgid "Firewall" msgstr "" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "" @@ -1162,6 +1149,9 @@ msgstr "" msgid "Force TKIP and CCMP (AES)" msgstr "" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1550,12 +1540,15 @@ msgstr "" msgid "Invalid username and/or password! Please try again." msgstr "" +msgid "Isolate Clients" +msgstr "" + msgid "" "It appears that you are trying to flash an image that does not fit into the " "flash memory, please verify the image file!" msgstr "" -msgid "Java Script required!" +msgid "JavaScript required!" msgstr "" msgid "Join Network" @@ -1816,9 +1809,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "" - msgid "Maximum allowed number of active DHCP leases" msgstr "" @@ -1854,9 +1844,6 @@ msgstr "" msgid "Metric" msgstr "" -msgid "Minimum Rate" -msgstr "" - msgid "Minimum hold time" msgstr "" @@ -1928,9 +1915,6 @@ msgstr "" msgid "Move up" msgstr "" -msgid "Multicast Rate" -msgstr "" - msgid "Multicast address" msgstr "" @@ -1943,6 +1927,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2130,8 +2117,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2168,9 +2160,6 @@ msgstr "" msgid "Outbound:" msgstr "" -msgid "Outdoor Channels" -msgstr "" - msgid "Output Interface" msgstr "" @@ -2350,6 +2339,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2536,9 +2531,6 @@ msgstr "" msgid "References" msgstr "" -msgid "Regulatory Domain" -msgstr "" - msgid "Relay" msgstr "" @@ -2587,15 +2579,15 @@ msgstr "" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2738,9 +2730,6 @@ msgstr "" msgid "Separate Clients" msgstr "" -msgid "Separate WDS" -msgstr "" - msgid "Server Settings" msgstr "" @@ -2764,6 +2753,11 @@ msgstr "" msgid "Services" msgstr "" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + msgid "Set up Time Synchronization" msgstr "" @@ -2898,9 +2892,6 @@ msgstr "" msgid "Static Routes" msgstr "" -msgid "Static WDS" -msgstr "" - msgid "Static address" msgstr "" @@ -3264,9 +3255,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "" - msgid "Tx-Power" msgstr "" @@ -3544,9 +3532,6 @@ msgstr "" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3554,7 +3539,7 @@ msgid "" msgstr "" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" msgid "" diff --git a/modules/luci-base/po/tr/base.po b/modules/luci-base/po/tr/base.po index 09312734a2..5f829e0b7e 100644 --- a/modules/luci-base/po/tr/base.po +++ b/modules/luci-base/po/tr/base.po @@ -148,6 +148,11 @@ msgstr "<abbr title=\"maximal\">Maks.</abbr> eÅŸzamanlı sorgu" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -166,9 +171,6 @@ msgstr "" msgid "APN" msgstr "APN" -msgid "AR Support" -msgstr "AR DesteÄŸi" - msgid "ARP retry threshold" msgstr "ARP yenileme aralığı" @@ -408,9 +410,6 @@ msgstr "" msgid "Associated Stations" msgstr "" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "Atheros 802.11%s Kablosuz Denetleyicisi" - msgid "Auth Group" msgstr "" @@ -489,9 +488,6 @@ msgstr "Genel Bakışa dön" msgid "Back to scan results" msgstr "Tarama sonuçlarına dön" -msgid "Background Scan" -msgstr "Arka Planda Tarama" - msgid "Backup / Flash Firmware" msgstr "" @@ -646,9 +642,6 @@ msgstr "" msgid "Common Configuration" msgstr "" -msgid "Compression" -msgstr "" - msgid "Configuration" msgstr "" @@ -862,9 +855,6 @@ msgstr "" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "" - msgid "Disabled" msgstr "" @@ -905,9 +895,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "" -msgid "Do not send probe responses" -msgstr "" - msgid "Domain required" msgstr "" @@ -1099,9 +1086,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "" - msgid "File" msgstr "" @@ -1137,6 +1121,9 @@ msgstr "" msgid "Firewall" msgstr "" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "" @@ -1182,6 +1169,9 @@ msgstr "" msgid "Force TKIP and CCMP (AES)" msgstr "" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1570,12 +1560,15 @@ msgstr "" msgid "Invalid username and/or password! Please try again." msgstr "" +msgid "Isolate Clients" +msgstr "" + msgid "" "It appears that you are trying to flash an image that does not fit into the " "flash memory, please verify the image file!" msgstr "" -msgid "Java Script required!" +msgid "JavaScript required!" msgstr "" msgid "Join Network" @@ -1836,9 +1829,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "" - msgid "Maximum allowed number of active DHCP leases" msgstr "" @@ -1874,9 +1864,6 @@ msgstr "" msgid "Metric" msgstr "" -msgid "Minimum Rate" -msgstr "" - msgid "Minimum hold time" msgstr "" @@ -1948,9 +1935,6 @@ msgstr "" msgid "Move up" msgstr "" -msgid "Multicast Rate" -msgstr "" - msgid "Multicast address" msgstr "" @@ -1963,6 +1947,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2150,8 +2137,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2188,9 +2180,6 @@ msgstr "" msgid "Outbound:" msgstr "" -msgid "Outdoor Channels" -msgstr "" - msgid "Output Interface" msgstr "" @@ -2370,6 +2359,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2556,9 +2551,6 @@ msgstr "" msgid "References" msgstr "" -msgid "Regulatory Domain" -msgstr "" - msgid "Relay" msgstr "" @@ -2607,15 +2599,15 @@ msgstr "" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2758,9 +2750,6 @@ msgstr "" msgid "Separate Clients" msgstr "" -msgid "Separate WDS" -msgstr "" - msgid "Server Settings" msgstr "" @@ -2784,6 +2773,11 @@ msgstr "" msgid "Services" msgstr "" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + msgid "Set up Time Synchronization" msgstr "" @@ -2918,9 +2912,6 @@ msgstr "" msgid "Static Routes" msgstr "" -msgid "Static WDS" -msgstr "" - msgid "Static address" msgstr "" @@ -3284,9 +3275,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "" - msgid "Tx-Power" msgstr "" @@ -3564,9 +3552,6 @@ msgstr "" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3574,7 +3559,7 @@ msgid "" msgstr "" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" "LuCI'nin düzgün çalışması için tarayıcınızda Java Scripti " "etkinleÅŸtirmelisiniz." @@ -3745,3 +3730,12 @@ msgstr "evet" msgid "« Back" msgstr "« Geri" + +#~ msgid "AR Support" +#~ msgstr "AR DesteÄŸi" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "Atheros 802.11%s Kablosuz Denetleyicisi" + +#~ msgid "Background Scan" +#~ msgstr "Arka Planda Tarama" diff --git a/modules/luci-base/po/uk/base.po b/modules/luci-base/po/uk/base.po index 5abf039e85..34bfb29160 100644 --- a/modules/luci-base/po/uk/base.po +++ b/modules/luci-base/po/uk/base.po @@ -163,6 +163,11 @@ msgstr "<abbr title=\"МакÑимум\">Max.</abbr> одночаÑних зап msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "<abbr title='Парний: %s / Груповий: %s'>%s - %s</abbr>" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -182,9 +187,6 @@ msgid "APN" msgstr "" "<abbr title=\"Access Point Name — Ñимволічна назва точки доÑтупу\">APN</abbr>" -msgid "AR Support" -msgstr "Підтримка AR" - msgid "ARP retry threshold" msgstr "Поріг повтору ARP" @@ -432,9 +434,6 @@ msgstr "" msgid "Associated Stations" msgstr "Приєднані Ñтанції" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "Бездротовий 802.11%s контролер Atheros" - msgid "Auth Group" msgstr "" @@ -513,9 +512,6 @@ msgstr "ПовернутиÑÑ Ð´Ð¾ переліку" msgid "Back to scan results" msgstr "ПовернутиÑÑ Ð´Ð¾ результатів ÑкануваннÑ" -msgid "Background Scan" -msgstr "Ð¡ÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ фоновому режимі" - msgid "Backup / Flash Firmware" msgstr "Резервне ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ / ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ÑˆÐ¸Ð²ÐºÐ¸" @@ -684,9 +680,6 @@ msgstr "Команда" msgid "Common Configuration" msgstr "Загальна конфігураціÑ" -msgid "Compression" -msgstr "СтиÑненнÑ" - msgid "Configuration" msgstr "КонфігураціÑ" @@ -907,9 +900,6 @@ msgstr "Вимкнути наÑÑ‚Ñ€Ð¾ÑŽÐ²Ð°Ð½Ð½Ñ DNS" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "Вимкнути таймер HW-Beacon" - msgid "Disabled" msgstr "Вимкнено" @@ -957,9 +947,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "Ðе ÑпрÑмовувати зворотний переглÑд Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ñ… мереж" -msgid "Do not send probe responses" -msgstr "Ðе надÑилати відповіді на зондуваннÑ" - msgid "Domain required" msgstr "Потрібен домен" @@ -1162,9 +1149,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "Швидкі фрейми" - msgid "File" msgstr "Файл" @@ -1200,6 +1184,9 @@ msgstr "Готово" msgid "Firewall" msgstr "Брандмауер" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "ÐаÑтройки брандмауера" @@ -1245,6 +1232,9 @@ msgstr "ПримуÑово TKIP" msgid "Force TKIP and CCMP (AES)" msgstr "ПримуÑово TKIP та CCMP (AES)" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1650,6 +1640,9 @@ msgstr "Задано невірний VLAN ID! ДоÑтупні тільки уРmsgid "Invalid username and/or password! Please try again." msgstr "ÐеприпуÑтиме Ñ–Ð¼â€™Ñ ÐºÐ¾Ñ€Ð¸Ñтувача та/або пароль! Спробуйте ще раз." +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1658,8 +1651,8 @@ msgstr "" "Схоже, що ви намагаєтеÑÑ Ð·Ð°Ð»Ð¸Ñ‚Ð¸ образ, Ñкий не вміщаєтьÑÑ Ñƒ флеш-пам'ÑÑ‚ÑŒ! " "Перевірте файл образу!" -msgid "Java Script required!" -msgstr "Потрібен Java Script!" +msgid "JavaScript required!" +msgstr "Потрібен JavaScript!" msgid "Join Network" msgstr "ÐŸÑ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ мережі" @@ -1930,9 +1923,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "МакÑимальна швидкіÑÑ‚ÑŒ" - msgid "Maximum allowed number of active DHCP leases" msgstr "МакÑимально допуÑтима кількіÑÑ‚ÑŒ активних оренд DHCP" @@ -1968,9 +1958,6 @@ msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ð°Ð¼'ÑÑ‚Ñ–, %" msgid "Metric" msgstr "Метрика" -msgid "Minimum Rate" -msgstr "Мінімальна швидкіÑÑ‚ÑŒ" - msgid "Minimum hold time" msgstr "Мінімальний Ñ‡Ð°Ñ ÑƒÑ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ" @@ -2044,9 +2031,6 @@ msgstr "Вниз" msgid "Move up" msgstr "Вгору" -msgid "Multicast Rate" -msgstr "ШвидкіÑÑ‚ÑŒ багатоадреÑного потоку" - msgid "Multicast address" msgstr "ÐдреÑа багатоадреÑного потоку" @@ -2059,6 +2043,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2252,8 +2239,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2290,9 +2282,6 @@ msgstr "Вих." msgid "Outbound:" msgstr "Вихідний:" -msgid "Outdoor Channels" -msgstr "Зовнішні канали" - msgid "Output Interface" msgstr "" @@ -2477,6 +2466,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2681,9 +2676,6 @@ msgstr "ÐŸÐµÑ€ÐµÐ¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñу" msgid "References" msgstr "ПоÑиланнÑ" -msgid "Regulatory Domain" -msgstr "РегулÑтивний домен" - msgid "Relay" msgstr "РетранÑлÑтор" @@ -2732,15 +2724,15 @@ msgstr "Потрібно Ð´Ð»Ñ Ð´ÐµÑких провайдерів, наприРmsgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2887,9 +2879,6 @@ msgstr "" msgid "Separate Clients" msgstr "РозділÑти клієнтів" -msgid "Separate WDS" -msgstr "РозділÑти WDS" - msgid "Server Settings" msgstr "ÐаÑтройки Ñервера" @@ -2913,6 +2902,11 @@ msgstr "Тип ÑервіÑу" msgid "Services" msgstr "СервіÑи" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + #, fuzzy msgid "Set up Time Synchronization" msgstr "ÐаÑтройки Ñинхронізації чаÑу" @@ -3055,9 +3049,6 @@ msgstr "Статичні оренди" msgid "Static Routes" msgstr "Статичні маршрути" -msgid "Static WDS" -msgstr "Статичний WDS" - msgid "Static address" msgstr "Статичні адреÑи" @@ -3484,9 +3475,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "Режим Turbo" - msgid "Tx-Power" msgstr "ПотужніÑÑ‚ÑŒ передавача" @@ -3773,9 +3761,6 @@ msgstr "ЗапиÑувати отримані DNS-запити до ÑиÑтем msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "Підтримка XR" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3787,9 +3772,9 @@ msgstr "" "приÑтрій може Ñтати недоÑтупним!</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" -"Ви повинні увімкнути Java Script у вашому браузері, або LuCI не буде " +"Ви повинні увімкнути JavaScript у вашому браузері, або LuCI не буде " "працювати належним чином." msgid "" @@ -3963,6 +3948,54 @@ msgstr "так" msgid "« Back" msgstr "« Ðазад" +#~ msgid "AR Support" +#~ msgstr "Підтримка AR" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "Бездротовий 802.11%s контролер Atheros" + +#~ msgid "Background Scan" +#~ msgstr "Ð¡ÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ фоновому режимі" + +#~ msgid "Compression" +#~ msgstr "СтиÑненнÑ" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "Вимкнути таймер HW-Beacon" + +#~ msgid "Do not send probe responses" +#~ msgstr "Ðе надÑилати відповіді на зондуваннÑ" + +#~ msgid "Fast Frames" +#~ msgstr "Швидкі фрейми" + +#~ msgid "Maximum Rate" +#~ msgstr "МакÑимальна швидкіÑÑ‚ÑŒ" + +#~ msgid "Minimum Rate" +#~ msgstr "Мінімальна швидкіÑÑ‚ÑŒ" + +#~ msgid "Multicast Rate" +#~ msgstr "ШвидкіÑÑ‚ÑŒ багатоадреÑного потоку" + +#~ msgid "Outdoor Channels" +#~ msgstr "Зовнішні канали" + +#~ msgid "Regulatory Domain" +#~ msgstr "РегулÑтивний домен" + +#~ msgid "Separate WDS" +#~ msgstr "РозділÑти WDS" + +#~ msgid "Static WDS" +#~ msgstr "Статичний WDS" + +#~ msgid "Turbo Mode" +#~ msgstr "Режим Turbo" + +#~ msgid "XR Support" +#~ msgstr "Підтримка XR" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "Якщо ви залишите це невибраним, буде Ñтворена додаткова мережа." diff --git a/modules/luci-base/po/vi/base.po b/modules/luci-base/po/vi/base.po index 162bd30664..213e5efb2f 100644 --- a/modules/luci-base/po/vi/base.po +++ b/modules/luci-base/po/vi/base.po @@ -146,6 +146,11 @@ msgstr "" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -164,9 +169,6 @@ msgstr "" msgid "APN" msgstr "" -msgid "AR Support" -msgstr "Há»— trợ AR" - msgid "ARP retry threshold" msgstr "" @@ -402,9 +404,6 @@ msgstr "" msgid "Associated Stations" msgstr "" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "" - msgid "Auth Group" msgstr "" @@ -483,9 +482,6 @@ msgstr "" msgid "Back to scan results" msgstr "" -msgid "Background Scan" -msgstr "Background Scan" - msgid "Backup / Flash Firmware" msgstr "" @@ -640,9 +636,6 @@ msgstr "Lệnh" msgid "Common Configuration" msgstr "" -msgid "Compression" -msgstr "Sức nén" - msgid "Configuration" msgstr "Cấu hình" @@ -858,9 +851,6 @@ msgstr "" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "Vô hiệu hóa bá»™ chỉnh giá» HW-Beacon" - msgid "Disabled" msgstr "" @@ -905,9 +895,6 @@ msgstr "" msgid "Do not forward reverse lookups for local networks" msgstr "" -msgid "Do not send probe responses" -msgstr "Không gá»i nhắc hồi đáp" - msgid "Domain required" msgstr "Domain yêu cầu" @@ -1104,9 +1091,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "Khung nhanh" - msgid "File" msgstr "" @@ -1142,6 +1126,9 @@ msgstr "" msgid "Firewall" msgstr "Firewall" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "" @@ -1187,6 +1174,9 @@ msgstr "" msgid "Force TKIP and CCMP (AES)" msgstr "" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1582,6 +1572,9 @@ msgstr "" msgid "Invalid username and/or password! Please try again." msgstr "Tên và máºt mã không đúng. Xin thá» lại " +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " @@ -1590,7 +1583,7 @@ msgstr "" "DÆ°á»ng nhÆ° bạn cố gắng flash má»™t hình ảnh không phù hợp vá»›i bá»™ nhá»› flash, xin " "vui lòng xác minh các táºp tin hình ảnh!" -msgid "Java Script required!" +msgid "JavaScript required!" msgstr "" msgid "Join Network" @@ -1851,9 +1844,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "Mức cao nhất" - msgid "Maximum allowed number of active DHCP leases" msgstr "" @@ -1889,9 +1879,6 @@ msgstr "Memory usage (%)" msgid "Metric" msgstr "Metric" -msgid "Minimum Rate" -msgstr "Mức thấp nhất" - msgid "Minimum hold time" msgstr "Mức thấp nhất" @@ -1965,9 +1952,6 @@ msgstr "" msgid "Move up" msgstr "" -msgid "Multicast Rate" -msgstr "Multicast Rate" - msgid "Multicast address" msgstr "" @@ -1980,6 +1964,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2173,8 +2160,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2211,9 +2203,6 @@ msgstr "Ra khá»i" msgid "Outbound:" msgstr "" -msgid "Outdoor Channels" -msgstr "Kênh ngoại mạng" - msgid "Output Interface" msgstr "" @@ -2393,6 +2382,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2581,9 +2576,6 @@ msgstr "" msgid "References" msgstr "Tham chiếu" -msgid "Regulatory Domain" -msgstr "Miá»n Ä‘iá»u chỉnh" - msgid "Relay" msgstr "" @@ -2632,15 +2624,15 @@ msgstr "" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2785,9 +2777,6 @@ msgstr "" msgid "Separate Clients" msgstr "Cô láºp đối tượng" -msgid "Separate WDS" -msgstr "Phân tách WDS" - msgid "Server Settings" msgstr "" @@ -2811,6 +2800,11 @@ msgstr "" msgid "Services" msgstr "Dịch vụ " +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + msgid "Set up Time Synchronization" msgstr "" @@ -2945,9 +2939,6 @@ msgstr "Thống kê leases" msgid "Static Routes" msgstr "Static Routes" -msgid "Static WDS" -msgstr "" - msgid "Static address" msgstr "" @@ -3326,9 +3317,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "Turbo Mode" - msgid "Tx-Power" msgstr "" @@ -3606,9 +3594,6 @@ msgstr "" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "Há»— trợ XR" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3620,7 +3605,7 @@ msgstr "" "bạn chó thể trở nên không truy cáºp được</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." +"You must enable JavaScript in your browser or LuCI will not work properly." msgstr "" msgid "" @@ -3792,3 +3777,45 @@ msgstr "" msgid "« Back" msgstr "" + +#~ msgid "AR Support" +#~ msgstr "Há»— trợ AR" + +#~ msgid "Background Scan" +#~ msgstr "Background Scan" + +#~ msgid "Compression" +#~ msgstr "Sức nén" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "Vô hiệu hóa bá»™ chỉnh giá» HW-Beacon" + +#~ msgid "Do not send probe responses" +#~ msgstr "Không gá»i nhắc hồi đáp" + +#~ msgid "Fast Frames" +#~ msgstr "Khung nhanh" + +#~ msgid "Maximum Rate" +#~ msgstr "Mức cao nhất" + +#~ msgid "Minimum Rate" +#~ msgstr "Mức thấp nhất" + +#~ msgid "Multicast Rate" +#~ msgstr "Multicast Rate" + +#~ msgid "Outdoor Channels" +#~ msgstr "Kênh ngoại mạng" + +#~ msgid "Regulatory Domain" +#~ msgstr "Miá»n Ä‘iá»u chỉnh" + +#~ msgid "Separate WDS" +#~ msgstr "Phân tách WDS" + +#~ msgid "Turbo Mode" +#~ msgstr "Turbo Mode" + +#~ msgid "XR Support" +#~ msgstr "Há»— trợ XR" diff --git a/modules/luci-base/po/zh-cn/base.po b/modules/luci-base/po/zh-cn/base.po index dca93f0a19..eb84b22f17 100644 --- a/modules/luci-base/po/zh-cn/base.po +++ b/modules/luci-base/po/zh-cn/base.po @@ -3,14 +3,14 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-12-21 23:08+0200\n" -"PO-Revision-Date: 2017-01-07 21:46+0800\n" +"PO-Revision-Date: 2017-04-09 15:04+0800\n" "Last-Translator: Hsing-Wang Liao <kuoruan@gmail.com>\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 1.8.11\n" +"X-Generator: Poedit 2.0\n" "Language-Team: \n" msgid "%s is untagged in multiple VLANs!" @@ -44,43 +44,43 @@ msgid "-- match by label --" msgstr "-- æ ¹æ®æ ‡ç¾åŒ¹é… --" msgid "-- match by uuid --" -msgstr "" +msgstr "-- æ ¹æ® UUID åŒ¹é… --" msgid "1 Minute Load:" -msgstr "1分钟负载:" +msgstr "1 分钟负载:" msgid "15 Minute Load:" -msgstr "15分钟负载:" +msgstr "15 分钟负载:" msgid "4-character hexadecimal ID" -msgstr "" +msgstr "4 å—符的åå…进制 ID" msgid "464XLAT (CLAT)" msgstr "464XLAT (CLAT)" msgid "5 Minute Load:" -msgstr "5分钟负载:" +msgstr "5 分钟负载:" msgid "6-octet identifier as a hex string - no colons" -msgstr "" +msgstr "6 个八ä½å—èŠ‚çš„æ ‡è¯†ç¬¦ (åå…进制å—符串) - æ— å†’å·" msgid "802.11r Fast Transition" -msgstr "" +msgstr "802.11r 快速转æ¢" msgid "802.11w Association SA Query maximum timeout" -msgstr "" +msgstr "802.11w å…³è” SA 查询最大超时" msgid "802.11w Association SA Query retry timeout" -msgstr "" +msgstr "802.11w å…³è” SA 查询é‡è¯•è¶…æ—¶" msgid "802.11w Management Frame Protection" -msgstr "" +msgstr "802.11w 管ç†å¸§ä¿æŠ¤" msgid "802.11w maximum timeout" -msgstr "" +msgstr "802.11w 最大超时" msgid "802.11w retry timeout" -msgstr "" +msgstr "802.11w é‡è¯•è¶…æ—¶" msgid "<abbr title=\"Basic Service Set Identifier\">BSSID</abbr>" msgstr "<abbr title=\"基本æœåŠ¡é›†æ ‡è¯†ç¬¦\">BSSID</abbr>" @@ -94,7 +94,7 @@ msgstr "<abbr title=\"域åæœåŠ¡ç³»ç»Ÿ\">DNS</abbr> æœåŠ¡å™¨ç«¯å£" msgid "" "<abbr title=\"Domain Name System\">DNS</abbr> servers will be queried in the " "order of the resolvfile" -msgstr "将会按照指定的顺åºæŸ¥è¯¢<abbr title=\"域åæœåŠ¡ç³»ç»Ÿ\">DNS</abbr>" +msgstr "将会按照指定的顺åºæŸ¥è¯¢ <abbr title=\"域åæœåŠ¡ç³»ç»Ÿ\">DNS</abbr>" msgid "<abbr title=\"Extended Service Set Identifier\">ESSID</abbr>" msgstr "<abbr title=\"扩展æœåŠ¡é›†æ ‡è¯†ç¬¦\">ESSID</abbr>" @@ -112,20 +112,20 @@ msgid "" "<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Address or Network " "(CIDR)" msgstr "" -"<abbr title=\"互è”网å议第6版\">IPv6</abbr>-地å€æˆ–超网(<abbr title=\"æ— ç±»åˆ«åŸŸ" -"间路由\">CIDR</abbr>)" +"<abbr title=\"互è”网å议第6版\">IPv6</abbr>-地å€æˆ–超网 (<abbr title=\"æ— ç±»åˆ«" +"域间路由\">CIDR</abbr>)" msgid "<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Gateway" msgstr "<abbr title=\"互è”网å议第6版\">IPv6</abbr>-网关" msgid "<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Suffix (hex)" -msgstr "<abbr title=\"互è”网å议第6版\">IPv6</abbr>-åŽç¼€ï¼ˆåå…进制)" +msgstr "<abbr title=\"互è”网å议第6版\">IPv6</abbr>-åŽç¼€ (åå…进制)" msgid "<abbr title=\"Light Emitting Diode\">LED</abbr> Configuration" -msgstr "<abbr title=\"å‘光二æžç®¡\">LED</abbr>é…ç½®" +msgstr "<abbr title=\"å‘光二æžç®¡\">LED</abbr> é…ç½®" msgid "<abbr title=\"Light Emitting Diode\">LED</abbr> Name" -msgstr "<abbr title=\"å‘光二æžç®¡\">LED</abbr>å称" +msgstr "<abbr title=\"å‘光二æžç®¡\">LED</abbr> å称" msgid "<abbr title=\"Media Access Control\">MAC</abbr>-Address" msgstr "<abbr title=\"介质访问控制\">MAC</abbr>-地å€" @@ -133,12 +133,12 @@ msgstr "<abbr title=\"介质访问控制\">MAC</abbr>-地å€" msgid "" "<abbr title=\"maximal\">Max.</abbr> <abbr title=\"Dynamic Host Configuration " "Protocol\">DHCP</abbr> leases" -msgstr "最大<abbr title=\"动æ€ä¸»æœºé…ç½®åè®®\">DHCP</abbr>分é…æ•°é‡" +msgstr "最大 <abbr title=\"动æ€ä¸»æœºé…ç½®åè®®\">DHCP</abbr> 分é…æ•°é‡" msgid "" "<abbr title=\"maximal\">Max.</abbr> <abbr title=\"Extension Mechanisms for " "Domain Name System\">EDNS0</abbr> packet size" -msgstr "最大<abbr title=\"DNS扩展å机制\">EDNS0</abbr>æ•°æ®åŒ…大å°" +msgstr "最大 <abbr title=\"DNS扩展å机制\">EDNS0</abbr> æ•°æ®åŒ…大å°" msgid "<abbr title=\"maximal\">Max.</abbr> concurrent queries" msgstr "最大并å‘查询数" @@ -146,6 +146,11 @@ msgstr "最大并å‘查询数" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "A43C + J43 + A43" @@ -164,37 +169,34 @@ msgstr "ANSI T1.413" msgid "APN" msgstr "APN" -msgid "AR Support" -msgstr "AR支æŒ" - msgid "ARP retry threshold" -msgstr "ARPé‡è¯•é˜ˆå€¼" +msgstr "ARP é‡è¯•é˜ˆå€¼" msgid "ATM (Asynchronous Transfer Mode)" -msgstr "ATM(异æ¥ä¼ 输模å¼)" +msgstr "ATM (异æ¥ä¼ 输模å¼)" msgid "ATM Bridges" -msgstr "ATM桥接" +msgstr "ATM 桥接" msgid "ATM Virtual Channel Identifier (VCI)" -msgstr "ATM虚拟通é“æ ‡è¯†(VCI)" +msgstr "ATM 虚拟通é“æ ‡è¯† (VCI)" msgid "ATM Virtual Path Identifier (VPI)" -msgstr "ATMè™šæ‹Ÿè·¯å¾„æ ‡è¯†(VPI)" +msgstr "ATM è™šæ‹Ÿè·¯å¾„æ ‡è¯† (VPI)" msgid "" "ATM bridges expose encapsulated ethernet in AAL5 connections as virtual " "Linux network interfaces which can be used in conjunction with DHCP or PPP " "to dial into the provider network." msgstr "" -"ATM桥是以AAL5åè®®å°è£…以太网的虚拟Linux网桥,用于ååŒDHCP或PPPæ¥æ‹¨å·è¿žæŽ¥åˆ°ç½‘络" -"è¿è¥å•†ã€‚" +"ATM 桥是以 AAL5 åè®®å°è£…以太网的虚拟 Linux 网桥,用于ååŒ DHCP 或 PPP æ¥æ‹¨å·" +"连接到网络è¿è¥å•†ã€‚" msgid "ATM device number" -msgstr "ATM设备å·ç " +msgstr "ATM 设备å·ç " msgid "ATU-C System Vendor ID" -msgstr "ATU-C系统供应商ID" +msgstr "ATU-C 系统供应商 ID" msgid "AYIYA" msgstr "AYIYA" @@ -203,7 +205,7 @@ msgid "Access Concentrator" msgstr "接入集ä¸å™¨" msgid "Access Point" -msgstr "接入点AP" +msgstr "接入点 AP" msgid "Action" msgstr "动作" @@ -215,37 +217,37 @@ msgid "Activate this network" msgstr "激活æ¤ç½‘络" msgid "Active <abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Routes" -msgstr "活动的<abbr title=\"互è”网å议第4版\">IPv4</abbr>-链路" +msgstr "活动的 <abbr title=\"互è”网å议第4版\">IPv4</abbr>-链路" msgid "Active <abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Routes" -msgstr "活动的<abbr title=\"互è”网å议第6版\">IPv6</abbr>-链路" +msgstr "活动的 <abbr title=\"互è”网å议第6版\">IPv6</abbr>-链路" msgid "Active Connections" msgstr "活动连接" msgid "Active DHCP Leases" -msgstr "已分é…çš„DHCP租约" +msgstr "已分é…çš„ DHCP 租约" msgid "Active DHCPv6 Leases" -msgstr "已分é…çš„DHCPv6租约" +msgstr "已分é…çš„ DHCPv6 租约" msgid "Ad-Hoc" -msgstr "点对点Ad-Hoc" +msgstr "点对点 Ad-Hoc" msgid "Add" msgstr "æ·»åŠ " msgid "Add local domain suffix to names served from hosts files" -msgstr "æ·»åŠ æœ¬åœ°åŸŸååŽç¼€åˆ°HOSTS文件ä¸çš„域å" +msgstr "æ·»åŠ æœ¬åœ°åŸŸååŽç¼€åˆ° HOSTS 文件ä¸çš„域å" msgid "Add new interface..." msgstr "æ·»åŠ æ–°æŽ¥å£..." msgid "Additional Hosts files" -msgstr "é¢å¤–çš„HOSTS文件" +msgstr "é¢å¤–çš„ HOSTS 文件" msgid "Additional servers file" -msgstr "é¢å¤–çš„SERVERS文件" +msgstr "é¢å¤–çš„ SERVERS 文件" msgid "Address" msgstr "地å€" @@ -260,7 +262,7 @@ msgid "Advanced Settings" msgstr "高级设置" msgid "Aggregate Transmit Power(ACTATP)" -msgstr "总å‘射功率(ACTATP)" +msgstr "总å‘射功率 (ACTATP)" msgid "Alert" msgstr "è¦æˆ’" @@ -268,13 +270,13 @@ msgstr "è¦æˆ’" msgid "" "Allocate IP addresses sequentially, starting from the lowest available " "address" -msgstr "从最低å¯ç”¨åœ°å€å¼€å§‹é¡ºåºåˆ†é…IP地å€" +msgstr "从最低å¯ç”¨åœ°å€å¼€å§‹é¡ºåºåˆ†é… IP 地å€" msgid "Allocate IP sequentially" -msgstr "顺åºåˆ†é…IP" +msgstr "顺åºåˆ†é… IP" msgid "Allow <abbr title=\"Secure Shell\">SSH</abbr> password authentication" -msgstr "å…许<abbr title=\"安全外壳åè®®\">SSH</abbr>密ç 验è¯" +msgstr "å…许 <abbr title=\"安全外壳åè®®\">SSH</abbr> 密ç 验è¯" msgid "Allow all except listed" msgstr "ä»…å…许列表外" @@ -286,26 +288,26 @@ msgid "Allow localhost" msgstr "å…许本机" msgid "Allow remote hosts to connect to local SSH forwarded ports" -msgstr "å…许远程主机连接到本地SSH转å‘端å£" +msgstr "å…许远程主机连接到本地 SSH 转å‘端å£" msgid "Allow root logins with password" -msgstr "å…许root用户å‡å¯†ç 登录" +msgstr "å…许 Root 用户å‡å¯†ç 登录" msgid "Allow the <em>root</em> user to login with password" -msgstr "å…许<em>root</em>用户å‡å¯†ç 登录" +msgstr "å…许 <em>root</em> 用户å‡å¯†ç 登录" msgid "" "Allow upstream responses in the 127.0.0.0/8 range, e.g. for RBL services" -msgstr "å…许127.0.0.0/8回环范围内的上行å“应,例如:RBLæœåŠ¡" +msgstr "å…许 127.0.0.0/8 回环范围内的上行å“应,例如: RBL æœåŠ¡" msgid "Allowed IPs" -msgstr "å…许的IP" +msgstr "å…许的 IP" msgid "" "Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison" "\">Tunneling Comparison</a> on SIXXS" msgstr "" -"也请查看SIXXS上的<a href=\"https://www.sixxs.net/faq/connectivity/?" +"也请查看 SIXXS 上的<a href=\"https://www.sixxs.net/faq/connectivity/?" "faq=comparison\">隧é“对比</a>" msgid "Always announce default router" @@ -360,10 +362,10 @@ msgid "Announce as default router even if no public prefix is available." msgstr "å³ä½¿æ²¡æœ‰å¯ç”¨çš„公共å‰ç¼€ä¹Ÿå¹¿æ’默认路由。" msgid "Announced DNS domains" -msgstr "广æ’çš„DNS域å" +msgstr "广æ’çš„ DNS 域å" msgid "Announced DNS servers" -msgstr "广æ’çš„DNSæœåŠ¡å™¨" +msgstr "广æ’çš„ DNS æœåŠ¡å™¨" msgid "Anonymous Identity" msgstr "匿å身份" @@ -372,7 +374,7 @@ msgid "Anonymous Mount" msgstr "自动挂载未é…置的ç£ç›˜åˆ†åŒº" msgid "Anonymous Swap" -msgstr "自动挂载未é…置的Swap分区" +msgstr "自动挂载未é…置的 Swap 分区" msgid "Antenna 1" msgstr "天线 1" @@ -394,21 +396,18 @@ msgstr "æ£åœ¨åº”用更改" msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" -msgstr "ç»™æ¯ä¸ªå…¬å…±IPv6å‰ç¼€åˆ†é…指定长度的固定部分" +msgstr "ç»™æ¯ä¸ªå…¬å…± IPv6 å‰ç¼€åˆ†é…指定长度的固定部分" msgid "Assign interfaces..." msgstr "分é…接å£..." msgid "" "Assign prefix parts using this hexadecimal subprefix ID for this interface." -msgstr "指定æ¤æŽ¥å£ä½¿ç”¨çš„åå…进制åIDå‰ç¼€éƒ¨åˆ†" +msgstr "指定æ¤æŽ¥å£ä½¿ç”¨çš„åå…进制å ID å‰ç¼€éƒ¨åˆ†ã€‚" msgid "Associated Stations" msgstr "已连接站点" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "Qualcomm/Atheros 802.11%s æ— çº¿ç½‘å¡" - msgid "Auth Group" msgstr "认è¯ç»„" @@ -422,7 +421,7 @@ msgid "Authentication Type" msgstr "认è¯ç±»åž‹" msgid "Authoritative" -msgstr "授æƒçš„唯一DHCPæœåŠ¡å™¨" +msgstr "唯一授æƒ" msgid "Authorization Required" msgstr "需è¦æŽˆæƒ" @@ -434,22 +433,22 @@ msgid "Automatic" msgstr "自动" msgid "Automatic Homenet (HNCP)" -msgstr "自动家åºç½‘络(HNCP)" +msgstr "自动家åºç½‘络 (HNCP)" msgid "Automatically check filesystem for errors before mounting" msgstr "在挂载å‰è‡ªåŠ¨æ£€æŸ¥æ–‡ä»¶ç³»ç»Ÿé”™è¯¯" msgid "Automatically mount filesystems on hotplug" -msgstr "通过Hotplug自动挂载ç£ç›˜" +msgstr "通过 Hotplug 自动挂载ç£ç›˜" msgid "Automatically mount swap on hotplug" -msgstr "通过Hotplug自动挂载Swap分区" +msgstr "通过 Hotplug 自动挂载 Swap 分区" msgid "Automount Filesystem" msgstr "自动挂载ç£ç›˜" msgid "Automount Swap" -msgstr "自动挂载Swap" +msgstr "自动挂载 Swap" msgid "Available" msgstr "å¯ç”¨" @@ -487,9 +486,6 @@ msgstr "返回至概况" msgid "Back to scan results" msgstr "返回至扫æ结果" -msgid "Background Scan" -msgstr "åŽå°æœç´¢" - msgid "Backup / Flash Firmware" msgstr "备份/å‡çº§" @@ -506,7 +502,7 @@ msgid "Band" msgstr "频宽" msgid "Behind NAT" -msgstr "在NAT网络内" +msgstr "在 NAT 网络内" msgid "" "Below is the determined list of files to backup. It consists of changed " @@ -523,7 +519,7 @@ msgid "Bind only to specific interfaces rather than wildcard address." msgstr "仅绑定到特定接å£ï¼Œè€Œä¸æ˜¯å…¨éƒ¨åœ°å€ã€‚" msgid "Bind the tunnel to this interface (optional)." -msgstr "将隧é“绑定到æ¤æŽ¥å£(å¯é€‰)。" +msgstr "将隧é“绑定到æ¤æŽ¥å£ (å¯é€‰)。" msgid "Bitrate" msgstr "ä¼ è¾“é€ŸçŽ‡" @@ -561,10 +557,10 @@ msgid "Buttons" msgstr "按键" msgid "CA certificate; if empty it will be saved after the first connection." -msgstr "CAè¯ä¹¦ï¼Œå¦‚果留空的è¯è¯ä¹¦å°†åœ¨ç¬¬ä¸€æ¬¡è¿žæŽ¥æ—¶è¢«ä¿å˜ã€‚" +msgstr "CA è¯ä¹¦ï¼Œå¦‚果留空的è¯è¯ä¹¦å°†åœ¨ç¬¬ä¸€æ¬¡è¿žæŽ¥æ—¶è¢«ä¿å˜ã€‚" msgid "CPU usage (%)" -msgstr "CPU使用率(%)" +msgstr "CPU 使用率 (%)" msgid "Cancel" msgstr "å–消" @@ -594,7 +590,7 @@ msgid "Check fileystems before mount" msgstr "在挂载å‰æ£€æŸ¥æ–‡ä»¶ç³»ç»Ÿ" msgid "Check this option to delete the existing networks from this radio." -msgstr "" +msgstr "选ä¸æ¤é€‰é¡¹ä»¥ä»Žæ— 线ä¸åˆ 除现有网络。" msgid "Checksum" msgstr "æ ¡éªŒå€¼" @@ -615,24 +611,26 @@ msgid "Cipher" msgstr "算法" msgid "Cisco UDP encapsulation" -msgstr "Cisco UDPå°è£…" +msgstr "Cisco UDP å°è£…" msgid "" "Click \"Generate archive\" to download a tar archive of the current " "configuration files. To reset the firmware to its initial state, click " "\"Perform reset\" (only possible with squashfs images)." -msgstr "备份/æ¢å¤å½“å‰ç³»ç»Ÿé…置文件或é‡ç½®OpenWrt(ä»…squashfs固件有效)。" +msgstr "" +"点击“生æˆå¤‡ä»½â€ä¸‹è½½å½“å‰é…置文件的 tar å˜æ¡£ã€‚è¦å°†å›ºä»¶æ¢å¤åˆ°åˆå§‹çŠ¶æ€ï¼Œè¯·å•å‡»â€œæ‰§" +"è¡Œé‡ç½®â€ (ä»… Squashfs 固件有效)。" msgid "Client" -msgstr "客户端Client" +msgstr "客户端 Client" msgid "Client ID to send when requesting DHCP" -msgstr "请求DHCPæ—¶å‘é€çš„客户ID" +msgstr "请求 DHCP æ—¶å‘é€çš„客户 ID" msgid "" "Close inactive connection after the given amount of seconds, use 0 to " "persist connection" -msgstr "定时关é—éžæ´»åŠ¨é“¾æŽ¥(秒),0为æŒç»è¿žæŽ¥" +msgstr "定时关é—éžæ´»åŠ¨é“¾æŽ¥ (秒),0 为æŒç»è¿žæŽ¥" msgid "Close list..." msgstr "å…³é—列表..." @@ -646,14 +644,11 @@ msgstr "进程命令" msgid "Common Configuration" msgstr "一般设置" -msgid "Compression" -msgstr "压缩" - msgid "Configuration" msgstr "é…ç½®" msgid "Configuration applied." -msgstr "é…置已应用" +msgstr "é…置已应用。" msgid "Configuration files will be kept." msgstr "é…置文件将被ä¿ç•™ã€‚" @@ -671,7 +666,7 @@ msgid "Connection Limit" msgstr "连接数é™åˆ¶" msgid "Connection to server fails when TLS cannot be used" -msgstr "当TLSä¸å¯ç”¨æ—¶è¿žæŽ¥åˆ°æœåŠ¡å™¨å¤±è´¥" +msgstr "当 TLS ä¸å¯ç”¨æ—¶ï¼Œä¸ŽæœåŠ¡å™¨è¿žæŽ¥å¤±è´¥" msgid "Connections" msgstr "链接" @@ -689,7 +684,7 @@ msgid "Cover the following interfaces" msgstr "包括以下接å£" msgid "Create / Assign firewall-zone" -msgstr "创建/åˆ†é… é˜²ç«å¢™åŒºåŸŸ" +msgstr "创建/分é…防ç«å¢™åŒºåŸŸ" msgid "Create Interface" msgstr "创建新接å£" @@ -701,19 +696,19 @@ msgid "Critical" msgstr "致命错误" msgid "Cron Log Level" -msgstr "Cron日志级别" +msgstr "Cron 日志级别" msgid "Custom Interface" msgstr "自定义接å£" msgid "Custom delegated IPv6-prefix" -msgstr "自定义分é…çš„IPv6å‰ç¼€" +msgstr "自定义分é…çš„ IPv6 å‰ç¼€" msgid "" "Custom feed definitions, e.g. private feeds. This file can be preserved in a " "sysupgrade." msgstr "" -"自定义的软件æºåœ°å€ï¼ˆä¾‹å¦‚ç§æœ‰çš„软件æºï¼‰ã€‚æ¤å¤„设定的æºåœ°å€åœ¨ç³»ç»Ÿå‡çº§æ—¶å°†è¢«ä¿ç•™" +"自定义的软件æºåœ°å€ (例如ç§æœ‰çš„软件æº)。æ¤å¤„设定的æºåœ°å€åœ¨ç³»ç»Ÿå‡çº§æ—¶å°†è¢«ä¿ç•™" msgid "Custom feeds" msgstr "自定义的软件æº" @@ -721,40 +716,40 @@ msgstr "自定义的软件æº" msgid "" "Customizes the behaviour of the device <abbr title=\"Light Emitting Diode" "\">LED</abbr>s if possible." -msgstr "自定义<abbr title=\"å‘光二æžç®¡\">LED</abbr>的活动状æ€ã€‚" +msgstr "自定义 <abbr title=\"å‘光二æžç®¡\">LED</abbr> 的活动状æ€ã€‚" msgid "DHCP Leases" -msgstr "DHCP分é…" +msgstr "DHCP 分é…" msgid "DHCP Server" -msgstr "DHCPæœåŠ¡å™¨" +msgstr "DHCP æœåŠ¡å™¨" msgid "DHCP and DNS" msgstr "DHCP/DNS" msgid "DHCP client" -msgstr "DHCP客户端" +msgstr "DHCP 客户端" msgid "DHCP-Options" msgstr "DHCP-选项" msgid "DHCPv6 Leases" -msgstr "DHCPv6分é…" +msgstr "DHCPv6 分é…" msgid "DHCPv6 client" -msgstr "DHCPv6客户端" +msgstr "DHCPv6 客户端" msgid "DHCPv6-Mode" -msgstr "DHCPv6模å¼" +msgstr "DHCPv6 模å¼" msgid "DHCPv6-Service" -msgstr "DHCPv6æœåŠ¡" +msgstr "DHCPv6 æœåŠ¡" msgid "DNS" msgstr "DNS" msgid "DNS forwardings" -msgstr "DNS转å‘" +msgstr "DNS 转å‘" msgid "DNS-Label / FQDN" msgstr "DNS-Label / FQDN" @@ -763,25 +758,25 @@ msgid "DNSSEC" msgstr "DNSSEC" msgid "DNSSEC check unsigned" -msgstr "DNSSEC未ç¾å检查" +msgstr "DNSSEC 未ç¾å检查" msgid "DPD Idle Timeout" -msgstr "DPD空闲超时" +msgstr "DPD 空闲超时" msgid "DS-Lite AFTR address" -msgstr "DS-Lite AFTR地å€" +msgstr "DS-Lite AFTR 地å€" msgid "DSL" msgstr "DSL" msgid "DSL Status" -msgstr "DSL状æ€" +msgstr "DSL 状æ€" msgid "DSL line mode" -msgstr "DSL线路模å¼" +msgstr "DSL 线路模å¼" msgid "DUID" -msgstr "DUID (DHCPå”¯ä¸€æ ‡è¯†ç¬¦)" +msgstr "DUID" msgid "Data Rate" msgstr "æ•°æ®é€ŸçŽ‡" @@ -790,7 +785,7 @@ msgid "Debug" msgstr "调试" msgid "Default %d" -msgstr "默认%d" +msgstr "默认 %d" msgid "Default gateway" msgstr "默认网关" @@ -805,15 +800,15 @@ msgid "Default state" msgstr "默认状æ€" msgid "Define a name for this network." -msgstr "为网络定义å称" +msgstr "为网络定义å称。" msgid "" "Define additional DHCP options, for example " "\"<code>6,192.168.2.1,192.168.2.2</code>\" which advertises different DNS " "servers to clients." msgstr "" -"设置DHCPçš„é™„åŠ é€‰é¡¹ï¼Œä¾‹å¦‚è®¾å®š\"<code>6,192.168.2.1,192.168.2.2</code>\"表示通" -"å‘Šä¸åŒçš„DNSæœåŠ¡å™¨ç»™å®¢æˆ·ç«¯ã€‚" +"设置 DHCP çš„é™„åŠ é€‰é¡¹ï¼Œä¾‹å¦‚è®¾å®š \"<code>6,192.168.2.1,192.168.2.2</code>\" 表" +"示通告ä¸åŒçš„ DNS æœåŠ¡å™¨ç»™å®¢æˆ·ç«¯ã€‚" msgid "Delete" msgstr "åˆ é™¤" @@ -857,25 +852,22 @@ msgstr "ç¦ç”¨" msgid "" "Disable <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr> for " "this interface." -msgstr "ç¦ç”¨æœ¬æŽ¥å£çš„<abbr title=\"动æ€ä¸»æœºé…ç½®åè®®\">DHCP</abbr>。" +msgstr "ç¦ç”¨æœ¬æŽ¥å£çš„ <abbr title=\"动æ€ä¸»æœºé…ç½®åè®®\">DHCP</abbr>。" msgid "Disable DNS setup" -msgstr "åœç”¨DNS设定" +msgstr "åœç”¨ DNS 设定" msgid "Disable Encryption" msgstr "ç¦ç”¨åŠ 密" -msgid "Disable HW-Beacon timer" -msgstr "åœç”¨HW-Beacon计时器" - msgid "Disabled" msgstr "ç¦ç”¨" msgid "Disabled (default)" -msgstr "" +msgstr "ç¦ç”¨ (默认)" msgid "Discard upstream RFC1918 responses" -msgstr "丢弃RFC1918上行å“应数æ®" +msgstr "丢弃 RFC1918 上行å“应数æ®" msgid "Displaying only packages containing" msgstr "åªæ˜¾ç¤ºæœ‰å†…容的软件包" @@ -884,32 +876,32 @@ msgid "Distance Optimization" msgstr "è·ç¦»ä¼˜åŒ–" msgid "Distance to farthest network member in meters." -msgstr "最远客户端的è·ç¦»(ç±³)。" +msgstr "最远网络用户的è·ç¦» (ç±³)。" msgid "Distribution feeds" msgstr "å‘行版软件æº" msgid "Diversity" -msgstr "分集" +msgstr "差异" msgid "" "Dnsmasq is a combined <abbr title=\"Dynamic Host Configuration Protocol" "\">DHCP</abbr>-Server and <abbr title=\"Domain Name System\">DNS</abbr>-" "Forwarder for <abbr title=\"Network Address Translation\">NAT</abbr> " "firewalls" -msgstr "Dnsmasq为NAT防ç«å¢™æ供了一个集æˆçš„DHCPæœåŠ¡å™¨å’ŒDNS转å‘器" +msgstr "" +"Dnsmasq 为 <abbr title=\"网络地å€è½¬æ¢\">NAT</abbr> 防ç«å¢™æ供了一个集æˆçš„ " +"<abbr title=\"动æ€ä¸»æœºé…ç½®åè®®\">DHCP</abbr> æœåŠ¡å™¨å’Œ <abbr title=\"域å系统" +"\">DNS</abbr> 转å‘器" msgid "Do not cache negative replies, e.g. for not existing domains" -msgstr "ä¸ç¼“å˜æ— 用的回应, 比如:ä¸å˜åœ¨çš„域。" +msgstr "ä¸ç¼“å˜æ— 用的回应, 比如: ä¸å˜åœ¨çš„域。" msgid "Do not forward requests that cannot be answered by public name servers" msgstr "ä¸è½¬å‘公共域åæœåŠ¡å™¨æ— 法回应的请求" msgid "Do not forward reverse lookups for local networks" -msgstr "ä¸è½¬å‘åå‘查询本地网络的Lookups命令" - -msgid "Do not send probe responses" -msgstr "ä¸å›žé€æŽ¢æµ‹å“应" +msgstr "ä¸è½¬å‘åå‘查询本地网络的 Lookups 命令" msgid "Domain required" msgstr "忽略空域å解æž" @@ -923,7 +915,7 @@ msgstr "ç¦æ¢ç¢Žç‰‡" msgid "" "Don't forward <abbr title=\"Domain Name System\">DNS</abbr>-Requests without " "<abbr title=\"Domain Name System\">DNS</abbr>-Name" -msgstr "ä¸è½¬å‘没有DNSå称的解æžè¯·æ±‚" +msgstr "ä¸è½¬å‘没有 <abbr title=\"域å系统\">DNS</abbr> å称的解æžè¯·æ±‚" msgid "Download and install package" msgstr "下载并安装软件包" @@ -932,20 +924,20 @@ msgid "Download backup" msgstr "下载备份" msgid "Dropbear Instance" -msgstr "Dropbear设置" +msgstr "Dropbear 实例" msgid "" "Dropbear offers <abbr title=\"Secure Shell\">SSH</abbr> network shell access " "and an integrated <abbr title=\"Secure Copy\">SCP</abbr> server" msgstr "" -"Dropbearæ供了集æˆçš„<abbr title=\"安全å¤åˆ¶\">SCP</abbr>æœåŠ¡å™¨å’ŒåŸºäºŽ<abbr " -"title=\"安全外壳åè®®\">SSH</abbr>çš„Shell访问" +"Dropbear æ供了集æˆçš„ <abbr title=\"安全å¤åˆ¶\">SCP</abbr> æœåŠ¡å™¨å’ŒåŸºäºŽ <abbr " +"title=\"安全外壳åè®®\">SSH</abbr> çš„ Shell 访问" msgid "Dual-Stack Lite (RFC6333)" msgstr "Dual-Stack Lite (RFC6333)" msgid "Dynamic <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>" -msgstr "动æ€<abbr title=\"动æ€ä¸»æœºé…ç½®åè®®\">DHCP</abbr>" +msgstr "åŠ¨æ€ <abbr title=\"动æ€ä¸»æœºé…ç½®åè®®\">DHCP</abbr>" msgid "Dynamic tunnel" msgstr "动æ€éš§é“" @@ -953,13 +945,14 @@ msgstr "动æ€éš§é“" msgid "" "Dynamically allocate DHCP addresses for clients. If disabled, only clients " "having static leases will be served." -msgstr "动æ€åˆ†é…DHCP地å€ã€‚如果ç¦ç”¨ï¼Œåˆ™åªèƒ½ä¸ºé™æ€ç§Ÿç”¨è¡¨ä¸çš„客户端æ供网络æœåŠ¡ã€‚" +msgstr "" +"动æ€åˆ†é… DHCP 地å€ã€‚如果ç¦ç”¨ï¼Œåˆ™åªèƒ½ä¸ºé™æ€ç§Ÿç”¨è¡¨ä¸çš„客户端æ供网络æœåŠ¡ã€‚" msgid "EA-bits length" -msgstr "EAä½é•¿åº¦" +msgstr "EA-bits 长度" msgid "EAP-Method" -msgstr "EAP类型" +msgstr "EAP 类型" msgid "Edit" msgstr "修改" @@ -982,34 +975,34 @@ msgid "Enable" msgstr "å¯ç”¨" msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>" -msgstr "å¼€å¯<abbr title=\"生æˆæ ‘åè®®\">STP</abbr>" +msgstr "å¼€å¯ <abbr title=\"生æˆæ ‘åè®®\">STP</abbr>" msgid "Enable HE.net dynamic endpoint update" -msgstr "å¯ç”¨HE.net动æ€ç»ˆç«¯æ›´æ–°" +msgstr "å¯ç”¨ HE.net 动æ€ç»ˆç«¯æ›´æ–°" msgid "Enable IPv6 negotiation" -msgstr "å¯ç”¨IPv6å商" +msgstr "å¯ç”¨ IPv6 å商" msgid "Enable IPv6 negotiation on the PPP link" -msgstr "在PPP链路上å¯ç”¨IPv6å商" +msgstr "在 PPP 链路上å¯ç”¨ IPv6 å商" msgid "Enable Jumbo Frame passthrough" msgstr "å¯ç”¨å·¨åž‹å¸§é€ä¼ " msgid "Enable NTP client" -msgstr "å¯ç”¨NTP客户端" +msgstr "å¯ç”¨ NTP 客户端" msgid "Enable Single DES" -msgstr "å¯ç”¨å•ä¸ªDES" +msgstr "å¯ç”¨å•ä¸ª DES" msgid "Enable TFTP server" -msgstr "å¯ç”¨TFTPæœåŠ¡å™¨" +msgstr "å¯ç”¨ TFTP æœåŠ¡å™¨" msgid "Enable VLAN functionality" -msgstr "å¯ç”¨VLAN" +msgstr "å¯ç”¨ VLAN" msgid "Enable WPS pushbutton, requires WPA(2)-PSK" -msgstr "å¯ç”¨WPS按键é…置,è¦æ±‚使用WPA(2)-PSK" +msgstr "å¯ç”¨ WPS 按键é…置,è¦æ±‚使用 WPA(2)-PSK" msgid "Enable learning and aging" msgstr "å¯ç”¨æ™ºèƒ½äº¤æ¢å¦ä¹ " @@ -1021,7 +1014,7 @@ msgid "Enable mirroring of outgoing packets" msgstr "å¯ç”¨æµå‡ºæ•°æ®åŒ…é•œåƒ" msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets." -msgstr "å¯ç”¨å°è£…æ•°æ®åŒ…çš„DF(ç¦æ¢ç¢Žç‰‡)æ ‡å¿—ã€‚" +msgstr "å¯ç”¨å°è£…æ•°æ®åŒ…çš„ DF (ç¦æ¢ç¢Žç‰‡) æ ‡å¿—ã€‚" msgid "Enable this mount" msgstr "å¯ç”¨æŒ‚载点" @@ -1038,7 +1031,7 @@ msgstr "å¯ç”¨" msgid "" "Enables fast roaming among access points that belong to the same Mobility " "Domain" -msgstr "" +msgstr "å¯ç”¨å±žäºŽåŒä¸€ç§»åŠ¨åŸŸçš„接入点之间的快速漫游" msgid "Enables the Spanning Tree Protocol on this bridge" msgstr "在æ¤æ¡¥æŽ¥ä¸Šå¯ç”¨ç”Ÿæˆåè®®æ ‘" @@ -1062,7 +1055,7 @@ msgid "Error" msgstr "错误" msgid "Errored seconds (ES)" -msgstr "错误秒数(ES)" +msgstr "错误秒数 (ES)" msgid "Ethernet Adapter" msgstr "以太网适é…器" @@ -1074,38 +1067,35 @@ msgid "Exclude interfaces" msgstr "排除接å£" msgid "Expand hosts" -msgstr "扩展HOSTS文件ä¸çš„主机åŽç¼€" +msgstr "扩展 HOSTS 文件ä¸çš„主机åŽç¼€" msgid "Expires" msgstr "到期时间" msgid "" "Expiry time of leased addresses, minimum is 2 minutes (<code>2m</code>)." -msgstr "租用地å€çš„到期时间,最çŸ2分钟(<code>2m</code>)。" +msgstr "租用地å€çš„åˆ°æœŸæ—¶é—´ï¼Œæœ€çŸ 2 分钟 (<code>2m</code>)。" msgid "External" -msgstr "远程" +msgstr "外部" msgid "External R0 Key Holder List" -msgstr "" +msgstr "外部 R0KH (R0 Key Holder) 列表" msgid "External R1 Key Holder List" -msgstr "" +msgstr "外部 R1KH (R1 Key Holder) 列表" msgid "External system log server" -msgstr "远程日志æœåŠ¡å™¨" +msgstr "外部日志æœåŠ¡å™¨" msgid "External system log server port" -msgstr "远程日志æœåŠ¡å™¨ç«¯å£" +msgstr "外部日志æœåŠ¡å™¨ç«¯å£" msgid "External system log server protocol" -msgstr "远程日志æœåŠ¡å™¨åè®®" +msgstr "外部日志æœåŠ¡å™¨åè®®" msgid "Extra SSH command options" -msgstr "é¢å¤–çš„SSH命令选项" - -msgid "Fast Frames" -msgstr "快速帧" +msgstr "é¢å¤–çš„ SSH 命令选项" msgid "File" msgstr "文件" @@ -1129,8 +1119,8 @@ msgid "" "Find all currently attached filesystems and swap and replace configuration " "with defaults based on what was detected" msgstr "" -"查找所有当å‰ç³»ç»Ÿä¸Šçš„分区和Swap并使用基于所找到的分区生æˆçš„é…置文件替æ¢é»˜è®¤é…" -"置。" +"查找所有当å‰ç³»ç»Ÿä¸Šçš„分区和 Swap 并使用基于所找到的分区生æˆçš„é…置文件替æ¢é»˜è®¤" +"é…ç½®" msgid "Find and join network" msgstr "æœç´¢å¹¶åŠ 入网络" @@ -1144,6 +1134,9 @@ msgstr "完æˆ" msgid "Firewall" msgstr "防ç«å¢™" +msgid "Firewall Mark" +msgstr "防ç«å¢™æ ‡è¯†" + msgid "Firewall Settings" msgstr "防ç«å¢™è®¾ç½®" @@ -1157,7 +1150,7 @@ msgid "Firmware Version" msgstr "固件版本" msgid "Fixed source port for outbound DNS queries" -msgstr "指定的DNS查询æºç«¯å£" +msgstr "指定的 DNS 查询æºç«¯å£" msgid "Flash Firmware" msgstr "刷新固件" @@ -1175,31 +1168,34 @@ msgid "Flashing..." msgstr "刷写ä¸..." msgid "Force" -msgstr "强制开å¯DHCP" +msgstr "强制" msgid "Force CCMP (AES)" -msgstr "强制使用CCMP(AES)åŠ å¯†" +msgstr "强制 CCMP (AES)" msgid "Force DHCP on this network even if another server is detected." -msgstr "强制开å¯DHCP。" +msgstr "å³ä½¿æ£€æµ‹åˆ°å¦ä¸€å°æœåŠ¡å™¨ï¼Œä¹Ÿè¦å¼ºåˆ¶ä½¿ç”¨æ¤ç½‘络上的 DHCP。" msgid "Force TKIP" -msgstr "强制使用TKIPåŠ å¯†" +msgstr "强制 TKIP" msgid "Force TKIP and CCMP (AES)" -msgstr "TKIPå’ŒCCMP(AES)æ··åˆåŠ 密" +msgstr "强制 TKIP å’Œ CCMP (AES)" + +msgid "Force link" +msgstr "强制链路" msgid "Force use of NAT-T" -msgstr "强制使用NAT-T" +msgstr "强制使用 NAT-T" msgid "Form token mismatch" msgstr "表å•ä»¤ç‰Œä¸åŒ¹é…" msgid "Forward DHCP traffic" -msgstr "转å‘DHCPæ•°æ®åŒ…" +msgstr "è½¬å‘ DHCP æ•°æ®åŒ…" msgid "Forward Error Correction Seconds (FECS)" -msgstr "å‰å‘çº é”™ç§’æ•°(FECS)" +msgstr "å‰å‘çº é”™ç§’æ•° (FECS)" msgid "Forward broadcast traffic" msgstr "转å‘广æ’æ•°æ®åŒ…" @@ -1223,14 +1219,14 @@ msgid "" "Further information about WireGuard interfaces and peers at <a href=\"http://" "wireguard.io\">wireguard.io</a>." msgstr "" -"有关WireGuard接å£å’ŒPeer的更多信æ¯ï¼š<a href=\"http://wireguard.io\">wireguard." -"io</a>" +"有关 WireGuard 接å£å’Œ Peer 的更多信æ¯: <a href=\"http://wireguard.io" +"\">wireguard.io</a>。" msgid "GHz" msgstr "GHz" msgid "GPRS only" -msgstr "ä»…GPRS" +msgstr "ä»… GPRS" msgid "Gateway" msgstr "网关" @@ -1245,7 +1241,7 @@ msgid "General Setup" msgstr "基本设置" msgid "General options for opkg" -msgstr "Opkg基础é…ç½®" +msgstr "OPKG 基础é…ç½®" msgid "Generate Config" msgstr "生æˆé…ç½®" @@ -1254,7 +1250,7 @@ msgid "Generate archive" msgstr "生æˆå¤‡ä»½" msgid "Generic 802.11%s Wireless Controller" -msgstr "Generic 802.11%s æ— çº¿ç½‘å¡" +msgstr "通用 802.11%s æ— çº¿ç½‘å¡" msgid "Given password confirmation did not match, password not changed!" msgstr "由于密ç 验è¯ä¸åŒ¹é…,密ç 没有更改ï¼" @@ -1278,13 +1274,13 @@ msgid "Guest" msgstr "访客" msgid "HE.net password" -msgstr "HE.net密ç " +msgstr "HE.net 密ç " msgid "HE.net username" -msgstr "HE.net用户å" +msgstr "HE.net 用户å" msgid "HT mode (802.11n)" -msgstr "HT模å¼(802.11n)" +msgstr "HT æ¨¡å¼ (802.11n)" msgid "Handler" msgstr "处ç†ç¨‹åº" @@ -1293,7 +1289,7 @@ msgid "Hang Up" msgstr "挂起" msgid "Header Error Code Errors (HEC)" -msgstr "头错误代ç 错误(HEC)" +msgstr "请求头的错误代ç 错误 (HEC)" msgid "Heartbeat" msgstr "心跳" @@ -1306,13 +1302,13 @@ msgstr "é…置路由器的部分基础信æ¯ã€‚" msgid "" "Here you can paste public SSH-Keys (one per line) for SSH public-key " "authentication." -msgstr "SSH公共密钥认è¯(æ¯è¡Œä¸€ä¸ªå¯†é’¥)。" +msgstr "请在这里粘贴公共 SSH 密钥用于 SSH å…¬é’¥è®¤è¯ (æ¯è¡Œä¸€ä¸ª)。" msgid "Hermes 802.11b Wireless Controller" msgstr "Hermes 802.11b æ— çº¿ç½‘å¡" msgid "Hide <abbr title=\"Extended Service Set Identifier\">ESSID</abbr>" -msgstr "éšè—<abbr title=\"扩展æœåŠ¡é›†æ ‡è¯†ç¬¦\">ESSID</abbr>" +msgstr "éšè— <abbr title=\"扩展æœåŠ¡é›†æ ‡è¯†ç¬¦\">ESSID</abbr>" msgid "Host" msgstr "主机" @@ -1324,13 +1320,13 @@ msgid "Host expiry timeout" msgstr "主机到期超时" msgid "Host-<abbr title=\"Internet Protocol Address\">IP</abbr> or Network" -msgstr "主机IP或网络" +msgstr "主机 IP 或网络" msgid "Hostname" msgstr "主机å" msgid "Hostname to send when requesting DHCP" -msgstr "请求DHCPæ—¶å‘é€çš„主机å" +msgstr "请求 DHCP æ—¶å‘é€çš„主机å" msgid "Hostnames" msgstr "主机å" @@ -1339,49 +1335,49 @@ msgid "Hybrid" msgstr "æ··åˆ" msgid "IKE DH Group" -msgstr "IKE DH组" +msgstr "IKE DH 组" msgid "IP Addresses" -msgstr "" +msgstr "IP 地å€" msgid "IP address" -msgstr "IP地å€" +msgstr "IP 地å€" msgid "IPv4" msgstr "IPv4" msgid "IPv4 Firewall" -msgstr "IPv4防ç«å¢™" +msgstr "IPv4 防ç«å¢™" msgid "IPv4 WAN Status" -msgstr "IPv4 WAN状æ€" +msgstr "IPv4 WAN 状æ€" msgid "IPv4 address" -msgstr "IPv4地å€" +msgstr "IPv4 地å€" msgid "IPv4 and IPv6" -msgstr "IPv4å’ŒIPv6" +msgstr "IPv4 å’Œ IPv6" msgid "IPv4 assignment length" -msgstr "分é…IPv4长度" +msgstr "åˆ†é… IPv4 长度" msgid "IPv4 broadcast" -msgstr "IPv4广æ’" +msgstr "IPv4 广æ’" msgid "IPv4 gateway" -msgstr "IPv4网关" +msgstr "IPv4 网关" msgid "IPv4 netmask" -msgstr "IPv4å网掩ç " +msgstr "IPv4 å网掩ç " msgid "IPv4 only" -msgstr "ä»…IPv4" +msgstr "ä»… IPv4" msgid "IPv4 prefix" -msgstr "IPv4地å€å‰ç¼€" +msgstr "IPv4 地å€å‰ç¼€" msgid "IPv4 prefix length" -msgstr "IPv4地å€å‰ç¼€é•¿åº¦" +msgstr "IPv4 地å€å‰ç¼€é•¿åº¦" msgid "IPv4-Address" msgstr "IPv4-地å€" @@ -1393,52 +1389,52 @@ msgid "IPv6" msgstr "IPv6" msgid "IPv6 Firewall" -msgstr "IPv6防ç«å¢™" +msgstr "IPv6 防ç«å¢™" msgid "IPv6 Neighbours" -msgstr "IPv6邻居" +msgstr "IPv6 网上邻居" msgid "IPv6 Settings" -msgstr "IPv6设置" +msgstr "IPv6 设置" msgid "IPv6 ULA-Prefix" -msgstr "IPv6 ULAå‰ç¼€" +msgstr "IPv6 ULA å‰ç¼€" msgid "IPv6 WAN Status" -msgstr "IPv6 WAN状æ€" +msgstr "IPv6 WAN 状æ€" msgid "IPv6 address" -msgstr "IPv6地å€" +msgstr "IPv6 地å€" msgid "IPv6 address delegated to the local tunnel endpoint (optional)" -msgstr "绑定到本地隧é“终点的IPv6地å€(å¯é€‰)" +msgstr "绑定到本地隧é“终点的 IPv6 åœ°å€ (å¯é€‰)" msgid "IPv6 assignment hint" -msgstr "IPv6分é…æ示" +msgstr "IPv6 分é…æ示" msgid "IPv6 assignment length" -msgstr "IPv6分é…长度" +msgstr "IPv6 分é…长度" msgid "IPv6 gateway" -msgstr "IPv6网关" +msgstr "IPv6 网关" msgid "IPv6 only" -msgstr "ä»…IPv6" +msgstr "ä»… IPv6" msgid "IPv6 prefix" -msgstr "IPv6地å€å‰ç¼€" +msgstr "IPv6 地å€å‰ç¼€" msgid "IPv6 prefix length" -msgstr "IPv6地å€å‰ç¼€é•¿åº¦" +msgstr "IPv6 地å€å‰ç¼€é•¿åº¦" msgid "IPv6 routed prefix" -msgstr "IPv6路由å‰ç¼€" +msgstr "IPv6 路由å‰ç¼€" msgid "IPv6-Address" msgstr "IPv6-地å€" msgid "IPv6-PD" -msgstr "" +msgstr "IPv6-PD" msgid "IPv6-in-IPv4 (RFC4213)" msgstr "IPv6-in-IPv4 (RFC4213)" @@ -1453,14 +1449,14 @@ msgid "Identity" msgstr "鉴æƒ" msgid "If checked, 1DES is enaled" -msgstr "选ä¸ä»¥å¯ç”¨1DES" +msgstr "选ä¸ä»¥å¯ç”¨ 1DES" msgid "If checked, encryption is disabled" msgstr "选ä¸ä»¥ç¦ç”¨åŠ 密" msgid "" "If specified, mount the device by its UUID instead of a fixed device node" -msgstr "用UUIDæ¥æŒ‚载设备" +msgstr "用 UUID æ¥æŒ‚载设备" msgid "" "If specified, mount the device by the partition label instead of a fixed " @@ -1471,7 +1467,7 @@ msgid "If unchecked, no default route is configured" msgstr "留空则ä¸é…置默认路由" msgid "If unchecked, the advertised DNS server addresses are ignored" -msgstr "留空则忽略所通告的DNSæœåŠ¡å™¨åœ°å€" +msgstr "留空则忽略所通告的 DNS æœåŠ¡å™¨åœ°å€" msgid "" "If your physical memory is insufficient unused data can be temporarily " @@ -1485,7 +1481,7 @@ msgid "Ignore <code>/etc/hosts</code>" msgstr "忽略 <code>/etc/hosts</code>" msgid "Ignore interface" -msgstr "å…³é—DHCP" +msgstr "忽略æ¤æŽ¥å£" msgid "Ignore resolve file" msgstr "忽略解æžæ–‡ä»¶" @@ -1507,7 +1503,7 @@ msgid "Inactivity timeout" msgstr "活动超时" msgid "Inbound:" -msgstr "入站:" +msgstr "入站:" msgid "Info" msgstr "ä¿¡æ¯" @@ -1522,7 +1518,7 @@ msgid "Install" msgstr "安装" msgid "Install iputils-traceroute6 for IPv6 traceroute" -msgstr "安装 iputils-traceroute6 以进行IPv6 traceroute" +msgstr "安装 iputils-traceroute6 以进行 IPv6 路由追踪" msgid "Install package %q" msgstr "安装软件包 %q" @@ -1573,30 +1569,33 @@ msgid "Invalid" msgstr "æ— æ•ˆ" msgid "Invalid VLAN ID given! Only IDs between %d and %d are allowed." -msgstr "æ— æ•ˆçš„VLAN IDï¼åªæœ‰ %d å’Œ %d 之间的ID有效。" +msgstr "æ— æ•ˆçš„ VLAN IDï¼åªæœ‰ %d å’Œ %d 之间的 ID 有效。" msgid "Invalid VLAN ID given! Only unique IDs are allowed" -msgstr "æ— æ•ˆçš„VLAN IDï¼åªå…许唯一的ID。" +msgstr "æ— æ•ˆçš„ VLAN IDï¼åªå…许唯一的 ID。" msgid "Invalid username and/or password! Please try again." msgstr "æ— æ•ˆçš„ç”¨æˆ·åå’Œ/或密ç ï¼è¯·é‡è¯•ã€‚" +msgid "Isolate Clients" +msgstr "" + msgid "" "It appears that you are trying to flash an image that does not fit into the " "flash memory, please verify the image file!" msgstr "ä½ å°è¯•åˆ·å†™çš„固件与本路由器ä¸å…¼å®¹ï¼Œè¯·é‡æ–°éªŒè¯å›ºä»¶æ–‡ä»¶ã€‚" -msgid "Java Script required!" -msgstr "需è¦Java Scriptï¼" +msgid "JavaScript required!" +msgstr "éœ€è¦ JavaScriptï¼" msgid "Join Network" msgstr "åŠ å…¥ç½‘ç»œ" msgid "Join Network: Wireless Scan" -msgstr "åŠ å…¥ç½‘ç»œï¼šæœç´¢æ— 线" +msgstr "åŠ å…¥ç½‘ç»œ: æœç´¢æ— 线" msgid "Joining Network: %q" -msgstr "åŠ å…¥ç½‘ç»œï¼š%q" +msgstr "åŠ å…¥ç½‘ç»œ: %q" msgid "Keep settings" msgstr "ä¿ç•™é…ç½®" @@ -1620,13 +1619,13 @@ msgid "L2TP" msgstr "L2TP" msgid "L2TP Server" -msgstr "L2TPæœåŠ¡å™¨" +msgstr "L2TP æœåŠ¡å™¨" msgid "LCP echo failure threshold" -msgstr "LCPå“应故障阈值" +msgstr "LCP å“应故障阈值" msgid "LCP echo interval" -msgstr "LCPå“应间隔" +msgstr "LCP å“应间隔" msgid "LLC" msgstr "LLC" @@ -1644,7 +1643,7 @@ msgid "Latency" msgstr "延迟" msgid "Leaf" -msgstr "å¶çŠ¶" +msgstr "å¶èŠ‚点" msgid "Lease time" msgstr "租期" @@ -1665,10 +1664,10 @@ msgid "Leave empty to autodetect" msgstr "留空则自动探测" msgid "Leave empty to use the current WAN address" -msgstr "留空则使用当å‰WAN地å€" +msgstr "ç•™ç©ºåˆ™ä½¿ç”¨å½“å‰ WAN 地å€" msgid "Legend:" -msgstr "图例:" +msgstr "图例:" msgid "Limit" msgstr "客户数" @@ -1680,7 +1679,7 @@ msgid "Limit listening to these interfaces, and loopback." msgstr "仅监å¬è¿™äº›æŽ¥å£å’ŒçŽ¯å›žæŽ¥å£ã€‚" msgid "Line Attenuation (LATN)" -msgstr "线路衰å‡(LATN)" +msgstr "çº¿è·¯è¡°å‡ (LATN)" msgid "Line Mode" msgstr "线路模å¼" @@ -1697,7 +1696,9 @@ msgstr "活动链接" msgid "" "List of <abbr title=\"Domain Name System\">DNS</abbr> servers to forward " "requests to" -msgstr "将指定的域åDNS解æžè½¬å‘到指定的DNSæœåŠ¡å™¨ï¼ˆæŒ‰ç…§ç¤ºä¾‹å¡«å†™ï¼‰" +msgstr "" +"将指定域å的解æžè¯·æ±‚转å‘到指定的 <abbr title=\"域å系统\">DNS</abbr> æœåŠ¡å™¨ " +"(按照示例填写)" msgid "" "List of R0KHs in the same Mobility Domain. <br />Format: MAC-address,NAS-" @@ -1706,6 +1707,9 @@ msgid "" "from the R0KH that the STA used during the Initial Mobility Domain " "Association." msgstr "" +"åŒä¸€ç§»åŠ¨åŸŸä¸çš„ R0KH 列表。<br />æ ¼å¼: MAC 地å€,NASæ ‡è¯†ç¬¦,128ä½å¯†é’¥ (åå…进制" +"å—符串)。<br />在从åˆå§‹ç§»åŠ¨åŸŸå…³è”期间使用的 R0KH ä¸è¯·æ±‚ PMK-R1 密钥时,该列表" +"用于将 R0KH-ID (NASæ ‡è¯†ç¬¦)æ˜ å°„åˆ°ç›®æ ‡ MAC 地å€ã€‚" msgid "" "List of R1KHs in the same Mobility Domain. <br />Format: MAC-address,R1KH-ID " @@ -1714,12 +1718,16 @@ msgid "" "R0KH. This is also the list of authorized R1KHs in the MD that can request " "PMK-R1 keys." msgstr "" +"åŒä¸€ç§»åŠ¨åŸŸä¸çš„ R1KH 列表。<br />æ ¼å¼: MAC地å€,R1KH-ID (包å«å†’å·çš„6个八ä½å—" +"节),128ä½å¯†é’¥ (åå…进制å—符串)。<br />当从 R0KH å‘é€ PMK-R1 键时,æ¤åˆ—表用于" +"å°† R1KH-ID æ˜ å°„åˆ°ç›®æ ‡ MAC 地å€ã€‚这也是å¯ä»¥è¯·æ±‚ PMK-R1 键的 MD ä¸æŽˆæƒçš„ R1KH " +"的列表。" msgid "List of SSH key files for auth" -msgstr "用于认è¯çš„SSH密钥文件列表" +msgstr "用于认è¯çš„ SSH 密钥文件列表" msgid "List of domains to allow RFC1918 responses for" -msgstr "å…许RFC1918å“应的域å列表" +msgstr "å…许 RFC1918 å“应的域å列表" msgid "List of hosts that supply bogus NX domain results" msgstr "å…许虚å‡ç©ºåŸŸåå“应的æœåŠ¡å™¨åˆ—表" @@ -1731,10 +1739,10 @@ msgid "Listen Port" msgstr "监å¬ç«¯å£" msgid "Listen only on the given interface or, if unspecified, on all" -msgstr "监å¬æŒ‡å®šçš„接å£ï¼›æœªæŒ‡å®šåˆ™ç›‘å¬å…¨éƒ¨" +msgstr "仅监å¬æŒ‡å®šçš„接å£ï¼ŒæœªæŒ‡å®šåˆ™ç›‘å¬å…¨éƒ¨" msgid "Listening port for inbound DNS queries" -msgstr "入站DNS查询端å£" +msgstr "入站 DNS 查询端å£" msgid "Load" msgstr "è´Ÿè½½" @@ -1746,13 +1754,13 @@ msgid "Loading" msgstr "åŠ è½½ä¸" msgid "Local IP address to assign" -msgstr "è¦åˆ†é…的本地IP地å€" +msgstr "è¦åˆ†é…的本地 IP 地å€" msgid "Local IPv4 address" -msgstr "本地IPv4地å€" +msgstr "本地 IPv4 地å€" msgid "Local IPv6 address" -msgstr "本地IPv6地å€" +msgstr "本地 IPv6 地å€" msgid "Local Service Only" msgstr "仅本地æœåŠ¡" @@ -1769,10 +1777,10 @@ msgstr "本地域å" msgid "" "Local domain specification. Names matching this domain are never forwarded " "and are resolved from DHCP or hosts files only" -msgstr "本地域å规则。与æ¤åŸŸåŒ¹é…çš„å称从ä¸è½¬å‘,仅从DHCP或HOSTS文件解æž" +msgstr "本地域å规则。与æ¤åŸŸåŒ¹é…çš„å称从ä¸è½¬å‘,仅从 DHCP 或 HOSTS 文件解æž" msgid "Local domain suffix appended to DHCP names and hosts file entries" -msgstr "本地域ååŽç¼€å°†æ·»åŠ 到DHCPå’ŒHOSTS文件æ¡ç›®" +msgstr "本地域ååŽç¼€å°†æ·»åŠ 到 DHCP å’Œ HOSTS 文件æ¡ç›®" msgid "Local server" msgstr "本地æœåŠ¡å™¨" @@ -1780,7 +1788,7 @@ msgstr "本地æœåŠ¡å™¨" msgid "" "Localise hostname depending on the requesting subnet if multiple IPs are " "available" -msgstr "如果有多个IPå¯ç”¨ï¼Œåˆ™æ ¹æ®è¯·æ±‚æ¥æºçš„å网æ¥æœ¬åœ°åŒ–主机å" +msgstr "如果有多个 IP å¯ç”¨ï¼Œåˆ™æ ¹æ®è¯·æ±‚æ¥æºçš„å网æ¥æœ¬åœ°åŒ–主机å" msgid "Localise queries" msgstr "本地化查询" @@ -1792,7 +1800,7 @@ msgid "Log output level" msgstr "日志记录ç‰çº§" msgid "Log queries" -msgstr "日志查询" +msgstr "记录查询日志" msgid "Logging" msgstr "日志" @@ -1804,7 +1812,7 @@ msgid "Logout" msgstr "退出" msgid "Loss of Signal Seconds (LOSS)" -msgstr "ä¿¡å·ä¸¢å¤±ç§’æ•°(LOSS)" +msgstr "ä¿¡å·ä¸¢å¤±ç§’æ•° (LOSS)" msgid "Lowest leased address as offset from the network address." msgstr "网络地å€çš„起始分é…基å€ã€‚" @@ -1839,28 +1847,25 @@ msgstr "MTU" msgid "" "Make sure to clone the root filesystem using something like the commands " "below:" -msgstr "è¯·ç¡®è®¤ä½ å·²ç»å¤åˆ¶è¿‡æ•´ä¸ªæ ¹æ–‡ä»¶ç³»ç»Ÿ,例如使用以下命令:" +msgstr "è¯·ç¡®è®¤ä½ å·²ç»å¤åˆ¶è¿‡æ•´ä¸ªæ ¹æ–‡ä»¶ç³»ç»Ÿï¼Œä¾‹å¦‚使用以下命令:" msgid "Manual" msgstr "手动" msgid "Max. Attainable Data Rate (ATTNDR)" -msgstr "最大å¯è¾¾æ•°æ®é€ŸçŽ‡(ATTNDR)" - -msgid "Maximum Rate" -msgstr "最高速率" +msgstr "最大å¯è¾¾æ•°æ®é€ŸçŽ‡ (ATTNDR)" msgid "Maximum allowed number of active DHCP leases" -msgstr "å…许的最大DHCP租用数" +msgstr "å…许的最大 DHCP 租用数" msgid "Maximum allowed number of concurrent DNS queries" -msgstr "å…许的最大并å‘DNS查询数" +msgstr "å…è®¸çš„æœ€å¤§å¹¶å‘ DNS 查询数" msgid "Maximum allowed size of EDNS.0 UDP packets" -msgstr "å…许的最大EDNS.0 UDPæ•°æ®åŒ…大å°" +msgstr "å…许的最大 EDNS.0 UDP æ•°æ®åŒ…大å°" msgid "Maximum amount of seconds to wait for the modem to become ready" -msgstr "调制解调器就绪的最大ç‰å¾…时间(秒)" +msgstr "调制解调器就绪的最大ç‰å¾…时间 (秒)" msgid "Maximum hold time" msgstr "最大æŒç»æ—¶é—´" @@ -1869,7 +1874,7 @@ msgid "" "Maximum length of the name is 15 characters including the automatic protocol/" "bridge prefix (br-, 6in4-, pppoe- etc.)" msgstr "" -"å称的最大长度为15个å—符,包括自动åè®®/网桥å‰ç¼€(br-, 6in4-, pppoe- ç‰ç‰)" +"å称的最大长度为 15 个å—符,包括自动åè®®/网桥å‰ç¼€ (br-, 6in4-, pppoe- ç‰ç‰)" msgid "Maximum number of leased addresses." msgstr "最大地å€åˆ†é…æ•°é‡ã€‚" @@ -1881,14 +1886,11 @@ msgid "Memory" msgstr "内å˜" msgid "Memory usage (%)" -msgstr "内å˜ä½¿ç”¨çŽ‡(%)" +msgstr "内å˜ä½¿ç”¨çŽ‡ (%)" msgid "Metric" msgstr "跃点数" -msgid "Minimum Rate" -msgstr "最低速率" - msgid "Minimum hold time" msgstr "最低æŒç»æ—¶é—´" @@ -1902,7 +1904,7 @@ msgid "Missing protocol extension for proto %q" msgstr "缺少åè®® %q çš„å议扩展" msgid "Mobility Domain" -msgstr "" +msgstr "移动域" msgid "Mode" msgstr "模å¼" @@ -1917,7 +1919,7 @@ msgid "Modem init timeout" msgstr "调制解调器åˆå§‹åŒ–超时" msgid "Monitor" -msgstr "监å¬Monitor" +msgstr "监å¬" msgid "Mount Entry" msgstr "挂载项目" @@ -1929,15 +1931,15 @@ msgid "Mount Points" msgstr "挂载点" msgid "Mount Points - Mount Entry" -msgstr "挂载点-å˜å‚¨åŒº" +msgstr "挂载点 - å˜å‚¨åŒº" msgid "Mount Points - Swap Entry" -msgstr "挂载点-交æ¢åŒº" +msgstr "挂载点 - 交æ¢åŒº" msgid "" "Mount Points define at which point a memory device will be attached to the " "filesystem" -msgstr "é…ç½®å˜å‚¨è®¾å¤‡æŒ‚载到文件系统ä¸çš„ä½ç½®å’Œå‚数。" +msgstr "é…ç½®å˜å‚¨è®¾å¤‡æŒ‚载到文件系统ä¸çš„ä½ç½®å’Œå‚æ•°" msgid "Mount filesystems not specifically configured" msgstr "自动挂载未专门é…置挂载点的分区" @@ -1949,7 +1951,7 @@ msgid "Mount point" msgstr "挂载点" msgid "Mount swap not specifically configured" -msgstr "自动挂载未专门é…置的Swap分区" +msgstr "自动挂载未专门é…置的 Swap 分区" msgid "Mounted file systems" msgstr "已挂载的文件系统" @@ -1960,9 +1962,6 @@ msgstr "下移" msgid "Move up" msgstr "上移" -msgid "Multicast Rate" -msgstr "多æ’速率" - msgid "Multicast address" msgstr "多æ’地å€" @@ -1970,22 +1969,25 @@ msgid "NAS ID" msgstr "NAS ID" msgid "NAT-T Mode" -msgstr "NAT-T模å¼" +msgstr "NAT-T 模å¼" msgid "NAT64 Prefix" -msgstr "NAT64å‰ç¼€" +msgstr "NAT64 å‰ç¼€" + +msgid "NCM" +msgstr "" msgid "NDP-Proxy" msgstr "NDP-代ç†" msgid "NT Domain" -msgstr "NT域" +msgstr "NT 域" msgid "NTP server candidates" -msgstr "候选NTPæœåŠ¡å™¨" +msgstr "候选 NTP æœåŠ¡å™¨" msgid "NTP sync time-out" -msgstr "NTPåŒæ¥è¶…æ—¶" +msgstr "NTP åŒæ¥è¶…æ—¶" msgid "Name" msgstr "å称" @@ -2018,10 +2020,10 @@ msgid "Next »" msgstr "ä¸‹ä¸€æ¥ Â»" msgid "No DHCP Server configured for this interface" -msgstr "本接å£æœªé…ç½®DHCPæœåŠ¡å™¨" +msgstr "本接å£æœªé…ç½® DHCP æœåŠ¡å™¨" msgid "No NAT-T" -msgstr "æ— NAT-T" +msgstr "æ— NAT-T" msgid "No chains in this table" msgstr "本表ä¸æ²¡æœ‰é“¾" @@ -2057,16 +2059,16 @@ msgid "Noise" msgstr "噪声" msgid "Noise Margin (SNR)" -msgstr "噪声容é™(SNR)" +msgstr "å™ªå£°å®¹é™ (SNR)" msgid "Noise:" msgstr "噪声:" msgid "Non Pre-emtive CRC errors (CRC_P)" -msgstr "éžæŠ¢å CRC错误(CRC_P)" +msgstr "éžæŠ¢å CRC 错误 (CRC_P)" msgid "Non-wildcard" -msgstr "éžé€šé…符" +msgstr "éžå…¨éƒ¨åœ°å€" msgid "None" msgstr "æ— " @@ -2084,10 +2086,10 @@ msgid "Not connected" msgstr "未连接" msgid "Note: Configuration files will be erased." -msgstr "注æ„:é…ç½®æ–‡ä»¶å°†è¢«åˆ é™¤ã€‚" +msgstr "注æ„: é…ç½®æ–‡ä»¶å°†è¢«åˆ é™¤ã€‚" msgid "Note: interface name length" -msgstr "注æ„:接å£å称长度" +msgstr "注æ„: 接å£å称长度" msgid "Notice" msgstr "注æ„" @@ -2102,10 +2104,10 @@ msgid "OPKG-Configuration" msgstr "OPKG-é…ç½®" msgid "Obfuscated Group Password" -msgstr "" +msgstr "混淆组密ç " msgid "Obfuscated Password" -msgstr "" +msgstr "混淆密ç " msgid "Off-State Delay" msgstr "å…³é—时间" @@ -2117,7 +2119,10 @@ msgid "" "<abbr title=\"Virtual Local Area Network\">VLAN</abbr> notation " "<samp>INTERFACE.VLANNR</samp> (<abbr title=\"for example\">e.g.</abbr>: " "<samp>eth0.1</samp>)." -msgstr "é…置网络接å£ä¿¡æ¯ã€‚" +msgstr "" +"在æ¤é¡µé¢ï¼Œä½ å¯ä»¥é…置网络接å£ã€‚ä½ å¯ä»¥å‹¾é€‰â€œæ¡¥æŽ¥æŽ¥å£â€ï¼Œå¹¶è¾“å…¥ç”±ç©ºæ ¼åˆ†éš”çš„å¤šä¸ªç½‘" +"络接å£çš„å称æ¥æ¡¥æŽ¥å¤šä¸ªæŽ¥å£ã€‚还å¯ä»¥ä½¿ç”¨ <abbr title=\"虚拟局域网\">VLAN</" +"abbr> ç¬¦å· <samp>INTERFACE.VLANNR</samp> (例如: <samp>eth0.1</samp>)。" msgid "On-State Delay" msgstr "通电时间" @@ -2138,7 +2143,7 @@ msgid "Open list..." msgstr "打开列表..." msgid "OpenConnect (CISCO AnyConnect)" -msgstr "开放连接(CISCO AnyConnect)" +msgstr "开放连接 (CISCO AnyConnect)" msgid "Operating frequency" msgstr "工作频率" @@ -2150,29 +2155,35 @@ msgid "Option removed" msgstr "移除的选项" msgid "Optional" -msgstr "" +msgstr "å¯é€‰" msgid "Optional, specify to override default server (tic.sixxs.net)" -msgstr "å¯é€‰ï¼Œè®¾ç½®è¿™ä¸ªé€‰é¡¹ä¼šè¦†ç›–默认设定的æœåŠ¡å™¨(tic.sixxs.net)" +msgstr "å¯é€‰ï¼Œè®¾ç½®è¿™ä¸ªé€‰é¡¹ä¼šè¦†ç›–默认设定的æœåŠ¡å™¨ (tic.sixxs.net)" msgid "Optional, use when the SIXXS account has more than one tunnel" -msgstr "å¯é€‰ï¼Œå¦‚æžœä½ çš„SIXXSè´¦å·æ‹¥æœ‰ä¸€ä¸ªä»¥ä¸Šçš„隧é“请设置æ¤é¡¹." +msgstr "å¯é€‰ï¼Œå¦‚æžœä½ çš„ SIXXS è´¦å·æ‹¥æœ‰ä¸€ä¸ªä»¥ä¸Šçš„隧é“请设置æ¤é¡¹." msgid "Optional." -msgstr "å¯é€‰" +msgstr "å¯é€‰ã€‚" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." msgstr "" +"å¯é€‰ï¼Œä¼ å‡ºåŠ å¯†æ•°æ®åŒ…çš„ 32 ä½æ ‡è®°ã€‚请输入åå…进制值,以 <code>0x</code> 开头。" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." +msgstr "å¯é€‰ï¼ŒBase64 ç¼–ç 的预共享密钥。" msgid "Optional. Create routes for Allowed IPs for this peer." -msgstr "å¯é€‰ï¼Œä¸ºæ¤Peer创建å…许IP的路由。" +msgstr "å¯é€‰ï¼Œä¸ºæ¤ Peer 创建å…许 IP 的路由。" msgid "" "Optional. Host of peer. Names are resolved prior to bringing up the " "interface." -msgstr "" +msgstr "å¯é€‰ï¼ŒPeer 的主机。" msgid "Optional. Maximum Transmission Unit of tunnel interface." msgstr "å¯é€‰ï¼Œéš§é“接å£çš„æœ€å¤§ä¼ è¾“å•å…ƒã€‚" @@ -2184,55 +2195,52 @@ msgid "" "Optional. Seconds between keep alive messages. Default is 0 (disabled). " "Recommended value if this device is behind a NAT is 25." msgstr "" -"å¯é€‰ï¼ŒKeep-Alive消æ¯ä¹‹é—´çš„秒数,默认为0(ç¦ç”¨)。如果æ¤è®¾å¤‡ä½äºŽNAT之åŽï¼Œå»ºè®®ä½¿" -"用的值为25。" +"å¯é€‰ï¼ŒKeep-Alive 消æ¯ä¹‹é—´çš„秒数,默认为 0 (ç¦ç”¨)。如果æ¤è®¾å¤‡ä½äºŽ NAT 之åŽï¼Œå»º" +"议使用的值为 25。" msgid "Optional. UDP port used for outgoing and incoming packets." -msgstr "å¯é€‰ï¼Œç”¨äºŽä¼ å‡ºå’Œä¼ å…¥æ•°æ®åŒ…çš„UDP端å£ã€‚" +msgstr "å¯é€‰ï¼Œç”¨äºŽä¼ å‡ºå’Œä¼ å…¥æ•°æ®åŒ…çš„ UDP 端å£ã€‚" msgid "Options" msgstr "选项" msgid "Other:" -msgstr "其余:" +msgstr "其余:" msgid "Out" msgstr "出å£" msgid "Outbound:" -msgstr "出站:" - -msgid "Outdoor Channels" -msgstr "户外频é“" +msgstr "出站:" msgid "Output Interface" msgstr "网络出å£" msgid "Override MAC address" -msgstr "克隆MAC地å€" +msgstr "é‡è®¾ MAC 地å€" msgid "Override MTU" -msgstr "æ›´æ–°MTU" +msgstr "é‡è®¾ MTU" msgid "Override TOS" -msgstr "æ›´æ–°TOS" +msgstr "é‡è®¾ TOS" msgid "Override TTL" -msgstr "æ›´æ–°TTL" +msgstr "é‡è®¾ TTL" msgid "Override default interface name" -msgstr "更新默认接å£å称" +msgstr "é‡è®¾é»˜è®¤æŽ¥å£å称" msgid "Override the gateway in DHCP responses" -msgstr "æ›´æ–°DHCPå“应网关" +msgstr "é‡è®¾ DHCP å“应网关" msgid "" "Override the netmask sent to clients. Normally it is calculated from the " "subnet that is served." -msgstr "æ›´æ–°å‘é€åˆ°å®¢æˆ·ç«¯çš„å网掩ç 。" +msgstr "é‡è®¾å‘é€åˆ°å®¢æˆ·ç«¯çš„å网掩ç 。" msgid "Override the table used for internal routes" -msgstr "更新内部路由表" +msgstr "é‡è®¾å†…部路由表" msgid "Overview" msgstr "总览" @@ -2241,10 +2249,10 @@ msgid "Owner" msgstr "用户å" msgid "PAP/CHAP password" -msgstr "PAP/CHAP密ç " +msgstr "PAP/CHAP 密ç " msgid "PAP/CHAP username" -msgstr "PAP/CHAP用户å" +msgstr "PAP/CHAP 用户å" msgid "PID" msgstr "PID" @@ -2253,13 +2261,13 @@ msgid "PIN" msgstr "PIN" msgid "PMK R1 Push" -msgstr "" +msgstr "PMK R1 Push" msgid "PPP" msgstr "PPP" msgid "PPPoA Encapsulation" -msgstr "PPPoAå°åŒ…" +msgstr "PPPoA å°åŒ…" msgid "PPPoATM" msgstr "PPPoATM" @@ -2274,19 +2282,19 @@ msgid "PPtP" msgstr "PPtP" msgid "PSID offset" -msgstr "PSIDå移" +msgstr "PSID å移" msgid "PSID-bits length" -msgstr "PSIDä½é•¿åº¦" +msgstr "PSID-bits 长度" msgid "PTM/EFM (Packet Transfer Mode)" -msgstr "PTM/EFM(åˆ†ç»„ä¼ è¾“æ¨¡å¼)" +msgstr "PTM/EFM (åˆ†ç»„ä¼ è¾“æ¨¡å¼)" msgid "Package libiwinfo required!" msgstr "éœ€è¦ libiwinfo 软件包ï¼" msgid "Package lists are older than 24 hours" -msgstr "软件包列表已超过24å°æ—¶æœªæ›´æ–°" +msgstr "软件包列表已超过 24 å°æ—¶æœªæ›´æ–°" msgid "Package name" msgstr "软件包å称" @@ -2313,7 +2321,7 @@ msgid "Password successfully changed!" msgstr "密ç 修改æˆåŠŸï¼" msgid "Path to CA-Certificate" -msgstr "CAè¯ä¹¦è·¯å¾„" +msgstr "CA è¯ä¹¦è·¯å¾„" msgid "Path to Client-Certificate" msgstr "客户端è¯ä¹¦è·¯å¾„" @@ -2337,7 +2345,7 @@ msgid "Peak:" msgstr "峰值:" msgid "Peer IP address to assign" -msgstr "è¦åˆ†é…çš„Peer IP地å€" +msgstr "è¦åˆ†é…çš„ Peer IP 地å€" msgid "Peers" msgstr "Peers" @@ -2349,10 +2357,10 @@ msgid "Perform reboot" msgstr "执行é‡å¯" msgid "Perform reset" -msgstr "执行å¤ä½" +msgstr "执行é‡ç½®" msgid "Persistent Keep Alive" -msgstr "æŒç»Keep-Alive" +msgstr "æŒç» Keep-Alive" msgid "Phy Rate:" msgstr "物ç†é€ŸçŽ‡:" @@ -2376,16 +2384,22 @@ msgid "Port" msgstr "端å£" msgid "Port status:" -msgstr "端å£çŠ¶æ€ï¼š" +msgstr "端å£çŠ¶æ€:" msgid "Power Management Mode" msgstr "电æºç®¡ç†æ¨¡å¼" msgid "Pre-emtive CRC errors (CRCP_P)" -msgstr "抢å å¼CRC错误(CRCP_P)" +msgstr "抢å å¼ CRC 错误 (CRCP_P)" + +msgid "Prefer LTE" +msgstr "首选 LTE" + +msgid "Prefer UMTS" +msgstr "首选 UMTS" msgid "Prefix Delegated" -msgstr "" +msgstr "分å‘å‰ç¼€" msgid "Preshared Key" msgstr "预共享密钥" @@ -2393,10 +2407,10 @@ msgstr "预共享密钥" msgid "" "Presume peer to be dead after given amount of LCP echo failures, use 0 to " "ignore failures" -msgstr "在指定数é‡çš„LCPå“应故障åŽå‡å®šé“¾è·¯å·²æ–开,0为忽略故障" +msgstr "在指定数é‡çš„ LCP å“应故障åŽå‡å®šé“¾è·¯å·²æ–开,0 为忽略故障" msgid "Prevent listening on these interfaces." -msgstr "防æ¢ç›‘å¬è¿™äº›æŽ¥å£ã€‚" +msgstr "ä¸ç›‘å¬è¿™äº›æŽ¥å£ã€‚" msgid "Prevents client-to-client communication" msgstr "ç¦æ¢å®¢æˆ·ç«¯é—´é€šä¿¡" @@ -2438,7 +2452,7 @@ msgid "Provide new network" msgstr "æ·»åŠ æ–°ç½‘ç»œ" msgid "Pseudo Ad-Hoc (ahdemo)" -msgstr "伪装Ad-Hoc(ahdemo)" +msgstr "伪装 Ad-Hoc (ahdemo)" msgid "Public Key" msgstr "公钥" @@ -2447,22 +2461,22 @@ msgid "Public prefix routed to this device for distribution to clients." msgstr "分é…到æ¤è®¾å¤‡çš„公共å‰ç¼€ï¼Œç”¨ä»¥åˆ†å‘到客户端。" msgid "QMI Cellular" -msgstr "QMI蜂çª" +msgstr "QMI 蜂çª" msgid "Quality" msgstr "è´¨é‡" msgid "R0 Key Lifetime" -msgstr "" +msgstr "R0 Key Lifetime" msgid "R1 Key Holder" -msgstr "" +msgstr "R1 Key Holder" msgid "RFC3947 NAT-T mode" -msgstr "RFC3947 NAT-T模å¼" +msgstr "RFC3947 NAT-T 模å¼" msgid "RTS/CTS Threshold" -msgstr "RTS/CTS阈值" +msgstr "RTS/CTS 阈值" msgid "RX" msgstr "接收" @@ -2471,7 +2485,7 @@ msgid "RX Rate" msgstr "接收速率" msgid "RaLink 802.11%s Wireless Controller" -msgstr "MediaTek/RaLink 802.11%s æ— çº¿ç½‘å¡" +msgstr "RaLink 802.11%s æ— çº¿ç½‘å¡" msgid "Radius-Accounting-Port" msgstr "Radius 计费端å£" @@ -2495,8 +2509,8 @@ msgid "" "Read <code>/etc/ethers</code> to configure the <abbr title=\"Dynamic Host " "Configuration Protocol\">DHCP</abbr>-Server" msgstr "" -"æ ¹æ®<code>/etc/ethers</code>æ¥é…ç½®<abbr title=\"Dynamic Host Configuration " -"Protocol\">DHCP</abbr>-æœåŠ¡å™¨" +"æ ¹æ® <code>/etc/ethers</code> æ¥é…ç½® <abbr title=\"动æ€ä¸»æœºé…ç½®åè®®\">DHCP</" +"abbr>-æœåŠ¡å™¨" msgid "" "Really delete this interface? The deletion cannot be undone!\\nYou might " @@ -2547,7 +2561,7 @@ msgid "Realtime Wireless" msgstr "å®žæ—¶æ— çº¿" msgid "Reassociation Deadline" -msgstr "" +msgstr "é‡å…³è”截æ¢æ—¶é—´" msgid "Rebind protection" msgstr "é‡ç»‘定ä¿æŠ¤" @@ -2568,7 +2582,7 @@ msgid "Receiver Antenna" msgstr "接收天线" msgid "Recommended. IP addresses of the WireGuard interface." -msgstr "" +msgstr "推è,Wire Guard 接å£çš„ IP 地å€ã€‚" msgid "Reconnect this interface" msgstr "é‡è¿žæ¤æŽ¥å£" @@ -2579,9 +2593,6 @@ msgstr "é‡è¿žæŽ¥å£ä¸..." msgid "References" msgstr "引用" -msgid "Regulatory Domain" -msgstr "æ— çº¿ç½‘ç»œå›½å®¶åŒºåŸŸ" - msgid "Relay" msgstr "ä¸ç»§" @@ -2595,10 +2606,10 @@ msgid "Relay bridge" msgstr "ä¸ç»§æ¡¥" msgid "Remote IPv4 address" -msgstr "远程IPv4地å€" +msgstr "远程 IPv4 地å€" msgid "Remote IPv4 address or FQDN" -msgstr "远程IPv4地å€æˆ–FQDN" +msgstr "远程 IPv4 地å€æˆ– FQDN" msgid "Remove" msgstr "移除" @@ -2613,43 +2624,45 @@ msgid "Replace wireless configuration" msgstr "é‡ç½®æ— 线é…ç½®" msgid "Request IPv6-address" -msgstr "请求IPv6地å€" +msgstr "请求 IPv6 地å€" msgid "Request IPv6-prefix of length" -msgstr "请求指定长度的IPv6å‰ç¼€" +msgstr "请求指定长度的 IPv6 å‰ç¼€" msgid "Require TLS" -msgstr "必须使用TLS" +msgstr "必须使用 TLS" msgid "Required" -msgstr "" +msgstr "å¿…é¡»" msgid "Required for certain ISPs, e.g. Charter with DOCSIS 3" -msgstr "æŸäº›ISP需è¦ï¼Œä¾‹å¦‚:åŒè½´çº¿ç½‘络DOCSIS 3" +msgstr "æŸäº› ISP 需è¦ï¼Œä¾‹å¦‚: åŒè½´çº¿ç½‘络 DOCSIS 3" msgid "Required. Base64-encoded private key for this interface." -msgstr "必须,æ¤æŽ¥å£çš„Base64ç¼–ç ç§é’¥ã€‚" +msgstr "必须,æ¤æŽ¥å£çš„ Base64 ç¼–ç ç§é’¥ã€‚" + +msgid "Required. Base64-encoded public key of peer." +msgstr "必须,Peer çš„ Base64 ç¼–ç 公钥。" msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -"必须,å…许该Peer在隧é“ä¸ä½¿ç”¨çš„IP地å€å’Œå‰ç¼€ï¼Œé€šå¸¸æ˜¯è¯¥Peer的隧é“IP地å€å’Œé€šè¿‡éš§" -"é“的路由网络。" - -msgid "Required. Public key of peer." -msgstr "必须,Peer的公钥。" +"必须,å…许该 Peer 在隧é“ä¸ä½¿ç”¨çš„ IP 地å€å’Œå‰ç¼€ï¼Œé€šå¸¸æ˜¯è¯¥ Peer çš„éš§é“ IP 地å€" +"和通过隧é“的路由网络。" msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" msgstr "" +"éœ€è¦ wpad/hostapd 的完整版本和 WiFi 驱动程åºçš„支æŒ<br />(截至 2017 å¹´ 2 月: " +"ath9k å’Œ ath10k,或者 LEDE çš„ mwlwifi å’Œ mt76)" msgid "" "Requires upstream supports DNSSEC; verify unsigned domain responses really " "come from unsigned domains" -msgstr "需è¦ä¸Šçº§æ”¯æŒDNSSEC,验è¯æœªç¾å的域å“应确实是æ¥è‡ªæœªç¾å的域。" +msgstr "需è¦ä¸Šçº§æ”¯æŒ DNSSEC,验è¯æœªç¾å的域å“应确实是æ¥è‡ªæœªç¾å的域。" msgid "Reset" msgstr "å¤ä½" @@ -2661,7 +2674,7 @@ msgid "Reset to defaults" msgstr "æ¢å¤åˆ°å‡ºåŽ‚设置" msgid "Resolv and Hosts Files" -msgstr "HOSTS和解æžæ–‡ä»¶" +msgstr "HOSTS 和解æžæ–‡ä»¶" msgid "Resolve file" msgstr "解æžæ–‡ä»¶" @@ -2685,19 +2698,19 @@ msgid "Root" msgstr "Root" msgid "Root directory for files served via TFTP" -msgstr "TFTPæœåŠ¡å™¨çš„æ ¹ç›®å½•" +msgstr "TFTP æœåŠ¡å™¨çš„æ ¹ç›®å½•" msgid "Root preparation" -msgstr "" +msgstr "æ ¹ç›®å½•å‡†å¤‡" msgid "Route Allowed IPs" -msgstr "路由å…许的IP" +msgstr "路由å…许的 IP" msgid "Route type" msgstr "路由类型" msgid "Routed IPv6 prefix for downstream interfaces" -msgstr "下行接å£çš„路由IPv6å‰ç¼€" +msgstr "下行接å£çš„路由 IPv6 å‰ç¼€" msgid "Router Advertisement-Service" msgstr "路由器广告æœåŠ¡" @@ -2725,25 +2738,25 @@ msgstr "SHA256" msgid "" "SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) " "use 6in4 instead" -msgstr "SIXXS仅支æŒTIC,对于使用IPåè®®41(RFC4213)çš„é™æ€éš§é“,使用6in4" +msgstr "SIXXS ä»…æ”¯æŒ TIC,对于使用 IP åè®® 41 (RFC4213) çš„é™æ€éš§é“,使用 6in4" msgid "SIXXS-handle[/Tunnel-ID]" -msgstr "" +msgstr "SIXXS-handle[/Tunnel-ID]" msgid "SNR" msgstr "SNR" msgid "SSH Access" -msgstr "SSH访问" +msgstr "SSH 访问" msgid "SSH server address" -msgstr "SSHæœåŠ¡å™¨åœ°å€" +msgstr "SSH æœåŠ¡å™¨åœ°å€" msgid "SSH server port" -msgstr "SSHæœåŠ¡å™¨ç«¯å£" +msgstr "SSH æœåŠ¡å™¨ç«¯å£" msgid "SSH username" -msgstr "SSH用户å" +msgstr "SSH 用户å" msgid "SSH-Keys" msgstr "SSH-密钥" @@ -2778,14 +2791,11 @@ msgstr "è¯¦å‚ \"mount\" è”机帮助" msgid "" "Send LCP echo requests at the given interval in seconds, only effective in " "conjunction with failure threshold" -msgstr "定时å‘é€LCPå“应(秒),仅在结åˆäº†æ•…障阈值时有效" +msgstr "定时å‘é€ LCP å“应 (秒),仅在结åˆäº†æ•…障阈值时有效" msgid "Separate Clients" msgstr "隔离客户端" -msgid "Separate WDS" -msgstr "隔离WDS" - msgid "Server Settings" msgstr "æœåŠ¡å™¨è®¾ç½®" @@ -2795,7 +2805,7 @@ msgstr "æœåŠ¡å™¨å¯†ç " msgid "" "Server password, enter the specific password of the tunnel when the username " "contains the tunnel ID" -msgstr "æœåŠ¡å™¨å¯†ç ,如果用户å包å«éš§é“ID则在æ¤å¡«å†™ç‹¬ç«‹çš„密ç " +msgstr "æœåŠ¡å™¨å¯†ç ,如果用户å包å«éš§é“ ID 则在æ¤å¡«å†™ç‹¬ç«‹çš„密ç " msgid "Server username" msgstr "æœåŠ¡å™¨ç”¨æˆ·å" @@ -2809,17 +2819,24 @@ msgstr "æœåŠ¡ç±»åž‹" msgid "Services" msgstr "æœåŠ¡" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" +"æ— è®ºé“¾è·¯è½½è·å¦‚何都设置接å£å±žæ€§ (如果设置,载è·ä¾¦å¬äº‹ä»¶ä¸è°ƒç”¨ Hotplug 处ç†ç¨‹" +"åº)。" + msgid "Set up Time Synchronization" msgstr "设置时间åŒæ¥" msgid "Setup DHCP Server" -msgstr "é…ç½®DHCPæœåŠ¡å™¨" +msgstr "é…ç½® DHCP æœåŠ¡å™¨" msgid "Severely Errored Seconds (SES)" -msgstr "严é‡è¯¯ç 秒(SES)" +msgstr "严é‡è¯¯ç 秒 (SES)" msgid "Short GI" -msgstr "" +msgstr "Short GI" msgid "Show current backup file list" msgstr "显示当å‰æ–‡ä»¶å¤‡ä»½åˆ—表" @@ -2834,7 +2851,7 @@ msgid "Signal" msgstr "ä¿¡å·" msgid "Signal Attenuation (SATN)" -msgstr "ä¿¡å·è¡°å‡(SATN)" +msgstr "ä¿¡å·è¡°å‡ (SATN)" msgid "Signal:" msgstr "ä¿¡å·:" @@ -2843,7 +2860,7 @@ msgid "Size" msgstr "大å°" msgid "Size (.ipk)" -msgstr "大å°(.ipk)" +msgstr "å¤§å° (.ipk)" msgid "Skip" msgstr "跳过" @@ -2861,7 +2878,7 @@ msgid "Software" msgstr "软件包" msgid "Software VLAN" -msgstr "" +msgstr "软件 VLAN" msgid "Some fields are invalid, cannot save values!" msgstr "ä¸€äº›é¡¹ç›®çš„å€¼æ— æ•ˆï¼Œæ— æ³•ä¿å˜ï¼" @@ -2877,8 +2894,8 @@ msgid "" "flashed manually. Please refer to the wiki for device specific install " "instructions." msgstr "" -"抱æ‰ï¼Œæ‚¨çš„设备暂ä¸æ”¯æŒSysupgradeå‡çº§ï¼Œéœ€æ‰‹åŠ¨æ›´æ–°å›ºä»¶ã€‚请å‚考Wikiä¸å…³äºŽæ¤è®¾å¤‡" -"的固件更新说明。" +"抱æ‰ï¼Œæ‚¨çš„设备暂ä¸æ”¯æŒ Sysupgrade å‡çº§ï¼Œéœ€æ‰‹åŠ¨æ›´æ–°å›ºä»¶ã€‚请å‚考 Wiki ä¸å…³äºŽæ¤" +"设备的固件更新说明。" msgid "Sort" msgstr "排åº" @@ -2896,30 +2913,30 @@ msgid "Specifies the directory the device is attached to" msgstr "指定设备的挂载目录" msgid "Specifies the listening port of this <em>Dropbear</em> instance" -msgstr "指定<em>Dropbear</em>的监å¬ç«¯å£" +msgstr "指定 <em>Dropbear</em> 的监å¬ç«¯å£" msgid "" "Specifies the maximum amount of failed ARP requests until hosts are presumed " "to be dead" -msgstr "指定å‡è®¾ä¸»æœºå·²ä¸¢å¤±çš„最大失败ARP请求数" +msgstr "指定å‡è®¾ä¸»æœºå·²ä¸¢å¤±çš„最大失败 ARP 请求数" msgid "" "Specifies the maximum amount of seconds after which hosts are presumed to be " "dead" -msgstr "指定å‡è®¾ä¸»æœºå·²ä¸¢å¤±çš„最大时间(秒)" +msgstr "指定å‡è®¾ä¸»æœºå·²ä¸¢å¤±çš„最大时间 (秒)" msgid "Specify a TOS (Type of Service)." -msgstr "指定TOS(æœåŠ¡ç±»åž‹)。" +msgstr "指定 TOS (æœåŠ¡ç±»åž‹)。" msgid "" "Specify a TTL (Time to Live) for the encapsulating packet other than the " "default (64)." -msgstr "为å°è£…æ•°æ®åŒ…设置TTL(生å˜æ—¶é—´),缺çœå€¼ï¼š64" +msgstr "为å°è£…æ•°æ®åŒ…设置 TTL (生å˜æ—¶é—´),缺çœå€¼: 64" msgid "" "Specify an MTU (Maximum Transmission Unit) other than the default (1280 " "bytes)." -msgstr "设置MTU(æœ€å¤§ä¼ è¾“å•ä½),缺çœå€¼ï¼š1280 bytes" +msgstr "设置 MTU (æœ€å¤§ä¼ è¾“å•ä½),缺çœå€¼: 1280 bytes" msgid "Specify the secret encryption key here." msgstr "在æ¤æŒ‡å®šå¯†é’¥ã€‚" @@ -2935,10 +2952,10 @@ msgid "Startup" msgstr "å¯åŠ¨é¡¹" msgid "Static IPv4 Routes" -msgstr "é™æ€IPv4路由" +msgstr "é™æ€ IPv4 路由" msgid "Static IPv6 Routes" -msgstr "é™æ€IPv6路由" +msgstr "é™æ€ IPv6 路由" msgid "Static Leases" msgstr "é™æ€åœ°å€åˆ†é…" @@ -2946,9 +2963,6 @@ msgstr "é™æ€åœ°å€åˆ†é…" msgid "Static Routes" msgstr "é™æ€è·¯ç”±" -msgid "Static WDS" -msgstr "é™æ€WDS" - msgid "Static address" msgstr "é™æ€åœ°å€" @@ -2957,8 +2971,8 @@ msgid "" "to DHCP clients. They are also required for non-dynamic interface " "configurations where only hosts with a corresponding lease are served." msgstr "" -"é™æ€ç§Ÿçº¦ç”¨äºŽç»™DHCP客户端分é…固定的IP地å€å’Œä¸»æœºæ ‡è¯†ã€‚åªæœ‰æŒ‡å®šçš„主机æ‰èƒ½è¿žæŽ¥ï¼Œ" -"并且接å£é¡»ä¸ºéžåŠ¨æ€é…置。" +"é™æ€ç§Ÿçº¦ç”¨äºŽç»™ DHCP 客户端分é…固定的 IP 地å€å’Œä¸»æœºæ ‡è¯†ã€‚åªæœ‰æŒ‡å®šçš„主机æ‰èƒ½è¿ž" +"接,并且接å£é¡»ä¸ºéžåŠ¨æ€é…置。" msgid "Status" msgstr "状æ€" @@ -2995,13 +3009,13 @@ msgstr "交æ¢æœº %q (%s)" msgid "" "Switch %q has an unknown topology - the VLAN settings might not be accurate." -msgstr "交æ¢æœº %q 具有未知的拓扑结构 - VLAN设置å¯èƒ½ä¸æ£ç¡®ã€‚" +msgstr "交æ¢æœº %q 具有未知的拓扑结构 - VLAN 设置å¯èƒ½ä¸æ£ç¡®ã€‚" msgid "Switch VLAN" -msgstr "VLAN交æ¢æœº" +msgstr "交æ¢æœº VLAN" msgid "Switch protocol" -msgstr "切æ¢åè®®" +msgstr "交æ¢æœºåè®®" msgid "Sync with browser" msgstr "åŒæ¥æµè§ˆå™¨æ—¶é—´" @@ -3048,7 +3062,6 @@ msgstr "ç›®æ ‡ç½‘ç»œ" msgid "Terminate" msgstr "å…³é—" -#, fuzzy msgid "" "The <em>Device Configuration</em> section covers physical settings of the " "radio hardware such as channel, transmit power or antenna selection which " @@ -3056,56 +3069,58 @@ msgid "" "multi-SSID capable). Per network settings like encryption or operation mode " "are grouped in the <em>Interface Configuration</em>." msgstr "" -"<em>设备é…ç½®</em>区域å¯é…ç½®æ— çº¿çš„ç¡¬ä»¶å‚数,比如信é“ã€å‘射功率或å‘射天线(如果" -"æ¤æ— 线模å—硬件支æŒå¤šSSID,则全部SSID共用æ¤è®¾å¤‡é…ç½®)。<em>接å£é…ç½®</em>区域则" +"<em>设备é…ç½®</em>区域å¯é…ç½®æ— çº¿çš„ç¡¬ä»¶å‚数,比如信é“ã€å‘射功率或å‘射天线 (如果" +"æ¤æ— 线模å—硬件支æŒå¤š SSID,则全部SSID共用æ¤è®¾å¤‡é…ç½®)。<em>接å£é…ç½®</em>区域则" "å¯é…ç½®æ¤ç½‘络的工作模å¼å’ŒåŠ 密ç‰ã€‚" msgid "" "The <em>libiwinfo-lua</em> package is not installed. You must install this " "component for working wireless configuration!" -msgstr "软件包<em>libiwinfo-lua</em>未安装。必需安装æ¤ç»„件以é…ç½®æ— çº¿ï¼" +msgstr "软件包 <em>libiwinfo-lua</em> 未安装。必需安装æ¤ç»„件以é…ç½®æ— çº¿ï¼" msgid "" "The HE.net endpoint update configuration changed, you must now use the plain " "username instead of the user ID!" -msgstr "HE.net客户端更新设置已ç»è¢«æ”¹å˜,您现在必须使用用户å代替用户ID/" +msgstr "HE.net 客户端更新设置已ç»è¢«æ”¹å˜ï¼Œæ‚¨çŽ°åœ¨å¿…须使用用户å代替用户 IDï¼" msgid "" "The IPv4 address or the fully-qualified domain name of the remote tunnel end." -msgstr "远程隧é“端的IPv4地å€æˆ–完整域å。" +msgstr "远程隧é“端的 IPv4 地å€æˆ–完整域å。" msgid "" "The IPv6 prefix assigned to the provider, usually ends with <code>::</code>" -msgstr "è¿è¥å•†ç‰¹å®šçš„IPv6å‰ç¼€ï¼Œé€šå¸¸ä»¥<code>::</code>为结尾" +msgstr "è¿è¥å•†ç‰¹å®šçš„ IPv6 å‰ç¼€ï¼Œé€šå¸¸ä»¥ <code>::</code> 为结尾" msgid "" "The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</" "code> and <code>_</code>" msgstr "" -"åˆæ³•å—符:<code>A-Z</code>, <code>a-z</code>, <code>0-9</code> å’Œ <code>_</" +"åˆæ³•å—符: <code>A-Z</code>, <code>a-z</code>, <code>0-9</code> å’Œ <code>_</" "code>" msgid "The configuration file could not be loaded due to the following error:" -msgstr "由于以下错误,é…ç½®æ–‡ä»¶æ— æ³•è¢«åŠ è½½ï¼š" +msgstr "由于以下错误,é…ç½®æ–‡ä»¶æ— æ³•è¢«åŠ è½½:" msgid "" "The device file of the memory or partition (<abbr title=\"for example\">e.g." "</abbr> <code>/dev/sda1</code>)" -msgstr "å˜å‚¨å™¨æˆ–分区的设备节点,(例如:<code>/dev/sda1</code>)" +msgstr "å˜å‚¨å™¨æˆ–分区的设备节点,(例如: <code>/dev/sda1</code>)" msgid "" "The filesystem that was used to format the memory (<abbr title=\"for example" "\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem\">ext3</abbr></" "samp>)" msgstr "" -"ç”¨äºŽæ ¼å¼åŒ–å˜å‚¨å™¨çš„文件系统,(例如:<samp><abbr title=\"第三代扩展文件系统" +"ç”¨äºŽæ ¼å¼åŒ–å˜å‚¨å™¨çš„文件系统,(例如: <samp><abbr title=\"第三代扩展文件系统" "\">ext3</abbr></samp>)" msgid "" "The flash image was uploaded. Below is the checksum and file size listed, " "compare them with the original file to ensure data integrity.<br /> Click " "\"Proceed\" below to start the flash procedure." -msgstr "å›ºä»¶å·²ä¸Šä¼ ï¼Œè¯·æ³¨æ„æ ¸å¯¹æ–‡ä»¶å¤§å°å’Œæ ¡éªŒå€¼ï¼<br />刷新过程切勿æ–电ï¼" +msgstr "" +"å›ºä»¶å·²ä¸Šä¼ ï¼Œè¯·æ³¨æ„æ ¸å¯¹æ–‡ä»¶å¤§å°å’Œæ ¡éªŒå€¼ï¼<br />点击下é¢çš„“继ç»â€å¼€å§‹åˆ·å†™ï¼Œåˆ·æ–°" +"过程ä¸åˆ‡å‹¿æ–电ï¼" msgid "The following changes have been committed" msgstr "以下更改已æ交" @@ -3122,18 +3137,18 @@ msgstr "给定的网络åé‡å¤" msgid "" "The hardware is not multi-SSID capable and the existing configuration will " "be replaced if you proceed." -msgstr "本机的硬件ä¸æ”¯æŒå¤šSSID,如果继ç»ï¼ŒçŽ°æœ‰é…置将被替æ¢ã€‚" +msgstr "本机的硬件ä¸æ”¯æŒå¤š SSID,如果继ç»ï¼ŒçŽ°æœ‰é…置将被替æ¢ã€‚" msgid "" "The length of the IPv4 prefix in bits, the remainder is used in the IPv6 " "addresses." -msgstr "bitæ ¼å¼çš„IPv4å‰ç¼€é•¿åº¦, 其余的用在IPv6地å€." +msgstr "IPv4 å‰ç¼€é•¿åº¦ (bit),其余的用在 IPv6 地å€ã€‚" msgid "The length of the IPv6 prefix in bits" -msgstr "bitæ ¼å¼çš„IPv6å‰ç¼€é•¿åº¦" +msgstr "IPv6 å‰ç¼€é•¿åº¦ (bit)" msgid "The local IPv4 address over which the tunnel is created (optional)." -msgstr "所创建隧é“的本地IPv4地å€(å¯é€‰)。" +msgstr "所创建隧é“的本地 IPv4 åœ°å€ (å¯é€‰)。" msgid "" "The network ports on this device can be combined to several <abbr title=" @@ -3143,9 +3158,9 @@ msgid "" "segments. Often there is by default one Uplink port for a connection to the " "next greater network like the internet and other ports for a local network." msgstr "" -"本设备å¯ä»¥åˆ’分为多个<abbr title=\"虚拟局域网\">VLAN</abbr>,并支æŒç”µè„‘é—´çš„ç›´" -"接通讯。<abbr title=\"虚拟局域网\">VLAN</abbr>也常用于分割ä¸åŒç½‘段。默认通常" -"是一æ¡ä¸Šè¡Œç«¯å£è¿žæŽ¥ISP,其余端å£ä¸ºæœ¬åœ°å网。" +"本设备å¯ä»¥åˆ’分为多个 <abbr title=\"虚拟局域网\">VLAN</abbr>,并支æŒç”µè„‘é—´çš„ç›´" +"接通讯。<abbr title=\"虚拟局域网\">VLAN</abbr> 也常用于分割ä¸åŒç½‘段。默认通常" +"是一æ¡ä¸Šè¡Œç«¯å£è¿žæŽ¥ ISP,其余端å£ä¸ºæœ¬åœ°å网。" msgid "The selected protocol needs a device assigned" msgstr "所选的å议需è¦åˆ†é…设备" @@ -3165,12 +3180,12 @@ msgid "" "settings." msgstr "" "æ£åœ¨åˆ·æ–°ç³»ç»Ÿ...<br />切勿关é—电æº! DO NOT POWER OFF THE DEVICE!<br />ç‰å¾…数分" -"é’ŸåŽå³å¯å°è¯•é‡æ–°è¿žæŽ¥åˆ°è·¯ç”±ã€‚您å¯èƒ½éœ€è¦æ›´æ”¹è®¡ç®—机的IP地å€ä»¥é‡æ–°è¿žæŽ¥ã€‚" +"é’ŸåŽå³å¯å°è¯•é‡æ–°è¿žæŽ¥åˆ°è·¯ç”±ã€‚您å¯èƒ½éœ€è¦æ›´æ”¹è®¡ç®—机的 IP 地å€ä»¥é‡æ–°è¿žæŽ¥ã€‚" msgid "" "The tunnel end-point is behind NAT, defaults to disabled and only applies to " "AYIYA" -msgstr "隧é“端点在NAT之åŽï¼Œé»˜è®¤ä¸ºç¦ç”¨ï¼Œä»…适用于AYIYA" +msgstr "隧é“端点在 NAT 之åŽï¼Œé»˜è®¤ä¸ºç¦ç”¨ï¼Œä»…适用于 AYIYA" msgid "" "The uploaded image file does not contain a supported format. Make sure that " @@ -3197,26 +3212,26 @@ msgstr "尚未分é…设备,请在“物ç†è®¾ç½®â€é€‰é¡¹å¡ä¸é€‰æ‹©ç½‘络设 msgid "" "There is no password set on this router. Please configure a root password to " "protect the web interface and enable SSH." -msgstr "尚未设置密ç 。请为root用户设置密ç 以ä¿æŠ¤ä¸»æœºå¹¶å¼€å¯SSH。" +msgstr "尚未设置密ç 。请为 Root 用户设置密ç 以ä¿æŠ¤ä¸»æœºå¹¶å¼€å¯ SSH。" msgid "This IPv4 address of the relay" -msgstr "ä¸ç»§çš„IPv4地å€" +msgstr "ä¸ç»§çš„ IPv4 地å€" msgid "" "This file may contain lines like 'server=/domain/1.2.3.4' or " "'server=1.2.3.4' fordomain-specific or full upstream <abbr title=\"Domain " "Name System\">DNS</abbr> servers." msgstr "" -"æ¤æ–‡ä»¶å¯èƒ½åŒ…å«ç±»ä¼¼'server=/domain/1.2.3.4'或'server=1.2.3.4'的行,æ¥è§£æžç‰¹å®š" -"域å或指定上游<abbr title=\"域åæœåŠ¡ç³»ç»Ÿ\">DNS</abbr>æœåŠ¡å™¨ã€‚" +"æ¤æ–‡ä»¶åŒ…å«ç±»ä¼¼äºŽ 'server=/domain/1.2.3.4' 或 'server=1.2.3.4' 的行,用于解æž" +"特定域å或指定上游 <abbr title=\"域åæœåŠ¡ç³»ç»Ÿ\">DNS</abbr> æœåŠ¡å™¨ã€‚" msgid "" "This is a list of shell glob patterns for matching files and directories to " "include during sysupgrade. Modified files in /etc/config/ and certain other " "configurations are automatically preserved." msgstr "" -"系统å‡çº§æ—¶è¦ä¿å˜çš„é…置文件和目录的清å•ã€‚目录/etc/config/内修改过的文件以åŠéƒ¨" -"分其他é…置会被自动ä¿å˜ã€‚" +"系统å‡çº§æ—¶è¦ä¿å˜çš„é…置文件和目录的清å•ã€‚目录 /etc/config/ 内修改过的文件以åŠ" +"部分其他é…置会被自动ä¿å˜ã€‚" msgid "" "This is either the \"Update Key\" configured for the tunnel or the account " @@ -3226,17 +3241,17 @@ msgstr "如果更新密钥没有设置的è¯,隧é“的“更新密钥â€æˆ–è€…è´ msgid "" "This is the content of /etc/rc.local. Insert your own commands here (in " "front of 'exit 0') to execute them at the end of the boot process." -msgstr "å¯åŠ¨è„šæœ¬æ’入到'exit 0'之å‰å³å¯éšç³»ç»Ÿå¯åŠ¨è¿è¡Œã€‚" +msgstr "å¯åŠ¨è„šæœ¬æ’入到 'exit 0' 之å‰å³å¯éšç³»ç»Ÿå¯åŠ¨è¿è¡Œã€‚" msgid "" "This is the local endpoint address assigned by the tunnel broker, it usually " "ends with <code>:2</code>" -msgstr "隧é“代ç†åˆ†é…的本地终端地å€ï¼Œé€šå¸¸ä»¥<code>:2</code>结尾" +msgstr "隧é“代ç†åˆ†é…的本地终端地å€ï¼Œé€šå¸¸ä»¥ <code>:2</code> 结尾" msgid "" "This is the only <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</" "abbr> in the local network" -msgstr "这是内网ä¸å”¯ä¸€çš„<abbr title=\"动æ€ä¸»æœºé…ç½®åè®®\">DHCP</abbr>æœåŠ¡å™¨" +msgstr "这是内网ä¸å”¯ä¸€çš„ <abbr title=\"动æ€ä¸»æœºé…ç½®åè®®\">DHCP</abbr> æœåŠ¡å™¨" msgid "This is the plain username for logging into the account" msgstr "登录账户时填写的用户å" @@ -3246,11 +3261,11 @@ msgid "" msgstr "这是隧é“代ç†åˆ†é…ç»™ä½ çš„è·¯ç”±å‰ç¼€ï¼Œä¾›å®¢æˆ·ç«¯ä½¿ç”¨" msgid "This is the system crontab in which scheduled tasks can be defined." -msgstr "自定义系统Crontabä¸çš„计划任务。" +msgstr "自定义系统 Crontab ä¸çš„计划任务。" msgid "" "This is usually the address of the nearest PoP operated by the tunnel broker" -msgstr "这通常是隧é“代ç†æ‰€ç®¡ç†çš„最近的PoP的地å€" +msgstr "这通常是隧é“代ç†æ‰€ç®¡ç†çš„最近的 PoP 的地å€" msgid "" "This list gives an overview over currently running system processes and " @@ -3281,13 +3296,13 @@ msgid "" msgstr "ä¸Šä¼ å¤‡ä»½å˜æ¡£ä»¥æ¢å¤é…置。" msgid "Tone" -msgstr "" +msgstr "Tone" msgid "Total Available" msgstr "å¯ç”¨æ•°" msgid "Traceroute" -msgstr "Traceroute" +msgstr "路由追踪" msgid "Traffic" msgstr "æµé‡" @@ -3314,7 +3329,7 @@ msgid "Trigger Mode" msgstr "触å‘模å¼" msgid "Tunnel ID" -msgstr "隧é“ID" +msgstr "éš§é“ ID" msgid "Tunnel Interface" msgstr "隧é“接å£" @@ -3331,9 +3346,6 @@ msgstr "隧é“é…ç½®æœåŠ¡å™¨" msgid "Tunnel type" msgstr "隧é“类型" -msgid "Turbo Mode" -msgstr "Turbo模å¼" - msgid "Tx-Power" msgstr "ä¼ è¾“åŠŸçŽ‡" @@ -3344,16 +3356,16 @@ msgid "UDP:" msgstr "UDP:" msgid "UMTS only" -msgstr "ä»…UMTS(WCDMA)" +msgstr "ä»… UMTS (WCDMA)" msgid "UMTS/GPRS/EV-DO" msgstr "UMTS/GPRS/EV-DO" msgid "USB Device" -msgstr "USB设备" +msgstr "USB 设备" msgid "USB Ports" -msgstr "" +msgstr "USB 接å£" msgid "UUID" msgstr "UUID" @@ -3362,7 +3374,7 @@ msgid "Unable to dispatch" msgstr "æ— æ³•è°ƒåº¦" msgid "Unavailable Seconds (UAS)" -msgstr "ä¸å¯ç”¨ç§’æ•°(UAS)" +msgstr "ä¸å¯ç”¨ç§’æ•° (UAS)" msgid "Unknown" msgstr "未知" @@ -3389,7 +3401,7 @@ msgid "" "Upload a sysupgrade-compatible image here to replace the running firmware. " "Check \"Keep settings\" to retain the current configuration (requires a " "compatible firmware image)." -msgstr "ä¸Šä¼ å…¼å®¹çš„Sysupgrade固件以刷新当å‰ç³»ç»Ÿã€‚" +msgstr "ä¸Šä¼ å…¼å®¹çš„ Sysupgrade 固件以刷新当å‰ç³»ç»Ÿã€‚" msgid "Upload archive..." msgstr "ä¸Šä¼ å¤‡ä»½..." @@ -3401,37 +3413,37 @@ msgid "Uptime" msgstr "è¿è¡Œæ—¶é—´" msgid "Use <code>/etc/ethers</code>" -msgstr "使用<code>/etc/ethers</code>é…ç½®" +msgstr "使用 <code>/etc/ethers</code> é…ç½®" msgid "Use DHCP gateway" -msgstr "使用DHCP网关" +msgstr "使用 DHCP 网关" msgid "Use DNS servers advertised by peer" msgstr "使用端局通告的DNSæœåŠ¡å™¨" msgid "Use ISO/IEC 3166 alpha2 country codes." -msgstr "å‚考ISO/IEC 3166 alpha2国家代ç 。" +msgstr "å‚考 ISO/IEC 3166 alpha2 国家代ç 。" msgid "Use MTU on tunnel interface" -msgstr "隧é“接å£çš„MTU" +msgstr "隧é“接å£çš„ MTU" msgid "Use TTL on tunnel interface" -msgstr "隧é“接å£çš„TTL" +msgstr "隧é“接å£çš„ TTL" msgid "Use as external overlay (/overlay)" -msgstr "作为外部Overlay使用(/overlay)" +msgstr "作为外部 Overlay 使用 (/overlay)" msgid "Use as root filesystem (/)" -msgstr "作为跟文件系统使用(/)" +msgstr "ä½œä¸ºæ ¹æ–‡ä»¶ç³»ç»Ÿä½¿ç”¨ (/)" msgid "Use broadcast flag" msgstr "使用广æ’æ ‡ç¾" msgid "Use builtin IPv6-management" -msgstr "使用内置的IPv6管ç†" +msgstr "使用内置的 IPv6 管ç†" msgid "Use custom DNS servers" -msgstr "使用自定义的DNSæœåŠ¡å™¨" +msgstr "使用自定义的 DNS æœåŠ¡å™¨" msgid "Use default gateway" msgstr "使用默认网关" @@ -3462,12 +3474,14 @@ msgid "" "Used for two different purposes: RADIUS NAS ID and 802.11r R0KH-ID. Not " "needed with normal WPA(2)-PSK." msgstr "" +"用于两ç§ä¸åŒçš„用途: RADIUS NAS ID å’Œ 802.11r R0KH-ID。普通 WPA(2)-PSK ä¸éœ€" +"è¦ã€‚" msgid "User certificate (PEM encoded)" -msgstr "客户è¯ä¹¦(PEMåŠ å¯†çš„)" +msgstr "客户è¯ä¹¦ (PEMåŠ å¯†çš„)" msgid "User key (PEM encoded)" -msgstr "客户Key(PEMåŠ å¯†çš„)" +msgstr "客户 Key (PEMåŠ å¯†çš„)" msgid "Username" msgstr "用户å" @@ -3479,40 +3493,40 @@ msgid "VDSL" msgstr "VDSL" msgid "VLANs on %q" -msgstr "%q 上的VLAN" +msgstr "%q 上的 VLAN" msgid "VLANs on %q (%s)" -msgstr "%q (%s) 上的VLAN" +msgstr "%q (%s) 上的 VLAN" msgid "VPN Local address" -msgstr "VPN本地地å€" +msgstr "VPN 本地地å€" msgid "VPN Local port" -msgstr "VPN本地端å£" +msgstr "VPN 本地端å£" msgid "VPN Server" -msgstr "VPNæœåŠ¡å™¨" +msgstr "VPN æœåŠ¡å™¨" msgid "VPN Server port" -msgstr "VPNæœåŠ¡å™¨ç«¯å£" +msgstr "VPN æœåŠ¡å™¨ç«¯å£" msgid "VPN Server's certificate SHA1 hash" -msgstr "VPNæœåŠ¡å™¨è¯ä¹¦çš„SHA1哈希值" +msgstr "VPN æœåŠ¡å™¨è¯ä¹¦çš„ SHA1 哈希值" msgid "VPNC (CISCO 3000 (and others) VPN)" -msgstr "VPNC (CISCO 3000 和其他VPN)" +msgstr "VPNC (CISCO 3000 和其他 VPN)" msgid "Vendor" -msgstr "" +msgstr "Vendor" msgid "Vendor Class to send when requesting DHCP" -msgstr "请求DHCPæ—¶å‘é€çš„Vendor Class" +msgstr "请求 DHCP æ—¶å‘é€çš„ Vendor Class" msgid "Verbose" msgstr "详细" msgid "Verbose logging by aiccu daemon" -msgstr "aiccu守护程åºè¯¦ç»†æ—¥å¿—" +msgstr "Aiccu 守护程åºè¯¦ç»†æ—¥å¿—" msgid "Verify" msgstr "验è¯" @@ -3524,30 +3538,30 @@ msgid "WDS" msgstr "WDS" msgid "WEP Open System" -msgstr "WEP开放认è¯" +msgstr "WEP 开放认è¯" msgid "WEP Shared Key" -msgstr "WEP共享密钥" +msgstr "WEP 共享密钥" msgid "WEP passphrase" -msgstr "WEP密钥" +msgstr "WEP 密钥" msgid "WMM Mode" -msgstr "WMMå¤šåª’ä½“åŠ é€Ÿ" +msgstr "WMM å¤šåª’ä½“åŠ é€Ÿ" msgid "WPA passphrase" -msgstr "WPA密钥" +msgstr "WPA 密钥" msgid "" "WPA-Encryption requires wpa_supplicant (for client mode) or hostapd (for AP " "and ad-hoc mode) to be installed." msgstr "" -"WPAåŠ å¯†éœ€è¦å®‰è£…wpa_supplicant(客户端模å¼)或安装hostapd(接入点APã€ç‚¹å¯¹ç‚¹ad-hoc" -"模å¼)。" +"WPA åŠ å¯†éœ€è¦å®‰è£… wpa_supplicant (客户端模å¼) 或安装 hostapd (接入点 APã€ç‚¹å¯¹" +"点 Ad-Hoc 模å¼)。" msgid "" "Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)" -msgstr "在NTPåŒæ¥ä¹‹å‰ç‰å¾…时间,设置为0表示åŒæ¥ä¹‹å‰ä¸ç‰å¾…(å¯é€‰)" +msgstr "在 NTP åŒæ¥ä¹‹å‰ç‰å¾…时间,设置为 0 表示åŒæ¥ä¹‹å‰ä¸ç‰å¾… (å¯é€‰)" msgid "Waiting for changes to be applied..." msgstr "æ£åœ¨åº”用更改..." @@ -3562,10 +3576,10 @@ msgid "Warning" msgstr "è¦å‘Š" msgid "Warning: There are unsaved changes that will get lost on reboot!" -msgstr "è¦å‘Šï¼šæœ‰ä¸€äº›æœªä¿å˜çš„é…置将在é‡å¯åŽä¸¢å¤±ï¼" +msgstr "è¦å‘Š: 有一些未ä¿å˜çš„é…置将在é‡å¯åŽä¸¢å¤±ï¼" msgid "Whether to create an IPv6 default route over the tunnel" -msgstr "是å¦é€šè¿‡éš§é“创建IPv6缺çœè·¯ç”±" +msgstr "是å¦é€šè¿‡éš§é“创建 IPv6 缺çœè·¯ç”±" msgid "Whether to route only packets from delegated prefixes" msgstr "是å¦ä»…路由æ¥è‡ªåˆ†å‘å‰ç¼€çš„æ•°æ®åŒ…" @@ -3574,7 +3588,7 @@ msgid "Width" msgstr "频宽" msgid "WireGuard VPN" -msgstr "" +msgstr "WireGuard VPN" msgid "Wireless" msgstr "æ— çº¿" @@ -3610,33 +3624,30 @@ msgid "Wireless shut down" msgstr "æ— çº¿å·²å…³é—" msgid "Write received DNS requests to syslog" -msgstr "将收到的DNS请求写入系统日志" +msgstr "将收到的 DNS 请求写入系统日志" msgid "Write system log to file" msgstr "将系统日志写入文件" -msgid "XR Support" -msgstr "XR支æŒ" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " "scripts like \"network\", your device might become inaccessible!</strong>" msgstr "" -"å¯ç”¨æˆ–ç¦ç”¨å·²å®‰è£…çš„å¯åŠ¨è„šæœ¬ã€‚更改在设备é‡å¯åŽç”Ÿæ•ˆã€‚<br /><strong>è¦å‘Šï¼šå¦‚æžœç¦" -"用了必è¦çš„å¯åŠ¨è„šæœ¬ï¼Œæ¯”如\"network\",å¯èƒ½ä¼šå¯¼è‡´è®¾å¤‡æ— 法访问ï¼</strong>" +"å¯ç”¨æˆ–ç¦ç”¨å·²å®‰è£…çš„å¯åŠ¨è„šæœ¬ã€‚更改在设备é‡å¯åŽç”Ÿæ•ˆã€‚<br /><strong>è¦å‘Š: 如果ç¦" +"用了必è¦çš„å¯åŠ¨è„šæœ¬ï¼Œæ¯”如 \"network\",å¯èƒ½ä¼šå¯¼è‡´è®¾å¤‡æ— 法访问ï¼</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." -msgstr "LUCIçš„æ£å¸¸è¿è¡Œéœ€è¦å¼€å¯æµè§ˆå™¨çš„Java Script支æŒã€‚" +"You must enable JavaScript in your browser or LuCI will not work properly." +msgstr "LUCI çš„æ£å¸¸è¿è¡Œéœ€è¦å¼€å¯æµè§ˆå™¨çš„ JavaScript 支æŒã€‚" msgid "" "Your Internet Explorer is too old to display this page correctly. Please " "upgrade it to at least version 7 or use another browser like Firefox, Opera " "or Safari." msgstr "" -"ä½ çš„Internet Explorerå·²ç»è€åˆ°æ— 法æ£å¸¸æ˜¾ç¤ºè¿™ä¸ªé¡µé¢äº†ï¼è¯·è‡³å°‘更新到IE7或者使用" -"诸如Firefox Opera Safari之类的æµè§ˆå™¨ã€‚" +"ä½ çš„ Internet Explorer å·²ç»è€åˆ°æ— 法æ£å¸¸æ˜¾ç¤ºè¿™ä¸ªé¡µé¢äº†ï¼è¯·æ›´æ–°åˆ° IE7 åŠä»¥ä¸Šæˆ–" +"者使用诸如 Firefox Opera Safari 之类的æµè§ˆå™¨ã€‚" msgid "any" msgstr "ä»»æ„" @@ -3677,7 +3688,7 @@ msgstr "过期时间" msgid "" "file where given <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</" "abbr>-leases will be stored" -msgstr "å˜æ”¾<abbr title=\"动æ€ä¸»æœºé…ç½®åè®®\">DHCP</abbr>租约的文件" +msgstr "å˜æ”¾ <abbr title=\"动æ€ä¸»æœºé…ç½®åè®®\">DHCP</abbr> 租约的文件" msgid "forward" msgstr "转å‘" @@ -3713,19 +3724,19 @@ msgid "kbit/s" msgstr "kbit/s" msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file" -msgstr "本地<abbr title=\"域åæœåŠ¡ç³»ç»Ÿ\">DNS</abbr>解æžæ–‡ä»¶" +msgstr "本地 <abbr title=\"域åæœåŠ¡ç³»ç»Ÿ\">DNS</abbr> 解æžæ–‡ä»¶" msgid "minimum 1280, maximum 1480" -msgstr "最å°å€¼1280,最大值1480" +msgstr "最å°å€¼ 1280,最大值 1480" msgid "minutes" -msgstr "" +msgstr "分钟" msgid "navigation Navigation" msgstr "导航" msgid "no" -msgstr "" +msgstr "å¦" msgid "no link" msgstr "未连接" @@ -3776,7 +3787,7 @@ msgid "tagged" msgstr "å…³è”" msgid "time units (TUs / 1.024 ms) [1000-65535]" -msgstr "" +msgstr "时间å•ä½ (TUs / 1.024ms) [1000-65535]" msgid "unknown" msgstr "未知" @@ -3788,7 +3799,7 @@ msgid "unspecified" msgstr "未指定" msgid "unspecified -or- create:" -msgstr "未指定或创建:" +msgstr "未指定或创建:" msgid "untagged" msgstr "ä¸å…³è”" @@ -3799,6 +3810,57 @@ msgstr "是" msgid "« Back" msgstr "« åŽé€€" +#~ msgid "AR Support" +#~ msgstr "AR支æŒ" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "Qualcomm/Atheros 802.11%s æ— çº¿ç½‘å¡" + +#~ msgid "Background Scan" +#~ msgstr "åŽå°æœç´¢" + +#~ msgid "Compression" +#~ msgstr "压缩" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "åœç”¨HW-Beacon计时器" + +#~ msgid "Do not send probe responses" +#~ msgstr "ä¸å›žé€æŽ¢æµ‹å“应" + +#~ msgid "Fast Frames" +#~ msgstr "快速帧" + +#~ msgid "Maximum Rate" +#~ msgstr "最高速率" + +#~ msgid "Minimum Rate" +#~ msgstr "最低速率" + +#~ msgid "Multicast Rate" +#~ msgstr "多æ’速率" + +#~ msgid "Outdoor Channels" +#~ msgstr "户外频é“" + +#~ msgid "Regulatory Domain" +#~ msgstr "æ— çº¿ç½‘ç»œå›½å®¶åŒºåŸŸ" + +#~ msgid "Separate WDS" +#~ msgstr "隔离WDS" + +#~ msgid "Static WDS" +#~ msgstr "é™æ€WDS" + +#~ msgid "Turbo Mode" +#~ msgstr "Turbo模å¼" + +#~ msgid "XR Support" +#~ msgstr "XR支æŒ" + +#~ msgid "Required. Public key of peer." +#~ msgstr "必须,Peer的公钥。" + #~ msgid "An additional network will be created if you leave this checked." #~ msgstr "如果选ä¸æ¤å¤é€‰æ¡†ï¼Œåˆ™ä¼šåˆ›å»ºä¸€ä¸ªé™„åŠ ç½‘ç»œã€‚" diff --git a/modules/luci-base/po/zh-tw/base.po b/modules/luci-base/po/zh-tw/base.po index 8f759b8d5f..e1d97dc336 100644 --- a/modules/luci-base/po/zh-tw/base.po +++ b/modules/luci-base/po/zh-tw/base.po @@ -147,6 +147,11 @@ msgstr "<abbr title=\"maximal\">最大</abbr>並發查詢數" msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" msgstr "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>" +msgid "" +"<br/>Note: you need to manually restart the cron service if the crontab file " +"was empty before editing." +msgstr "" + msgid "A43C + J43 + A43" msgstr "" @@ -165,9 +170,6 @@ msgstr "" msgid "APN" msgstr "APN" -msgid "AR Support" -msgstr "AR支æ´" - msgid "ARP retry threshold" msgstr "ARPé‡è©¦é–€æª»" @@ -405,9 +407,6 @@ msgstr "" msgid "Associated Stations" msgstr "已連接站點" -msgid "Atheros 802.11%s Wireless Controller" -msgstr "Atheros 802.11%s 無線控制器" - msgid "Auth Group" msgstr "" @@ -486,9 +485,6 @@ msgstr "返回至總覽" msgid "Back to scan results" msgstr "返回至掃æçµæžœ" -msgid "Background Scan" -msgstr "背景æœå°‹" - msgid "Backup / Flash Firmware" msgstr "備份/å‡ç´šéŸŒé«”" @@ -651,9 +647,6 @@ msgstr "指令" msgid "Common Configuration" msgstr "一般è¨å®š" -msgid "Compression" -msgstr "壓縮" - msgid "Configuration" msgstr "è¨å®š" @@ -872,9 +865,6 @@ msgstr "關閉DNSè¨ç½®" msgid "Disable Encryption" msgstr "" -msgid "Disable HW-Beacon timer" -msgstr "關閉硬體燈號計時器" - msgid "Disabled" msgstr "關閉" @@ -918,9 +908,6 @@ msgstr "å°ä¸è¢«å…¬ç”¨å稱伺æœå™¨å›žæ‡‰çš„請求ä¸è½‰ç™¼" msgid "Do not forward reverse lookups for local networks" msgstr "å°æœ¬åœ°ç¶²åŸŸä¸è½‰ç™¼å解æžéŽ–定" -msgid "Do not send probe responses" -msgstr "ä¸å‚³é€æŽ¢æ¸¬å›žæ‡‰" - msgid "Domain required" msgstr "網域必è¦çš„" @@ -1117,9 +1104,6 @@ msgstr "" msgid "Extra SSH command options" msgstr "" -msgid "Fast Frames" -msgstr "快速迅框群" - msgid "File" msgstr "檔案" @@ -1155,6 +1139,9 @@ msgstr "完æˆ" msgid "Firewall" msgstr "防ç«ç‰†" +msgid "Firewall Mark" +msgstr "" + msgid "Firewall Settings" msgstr "防ç«ç‰†è¨å®š" @@ -1200,6 +1187,9 @@ msgstr "強制TKIPåŠ å¯†" msgid "Force TKIP and CCMP (AES)" msgstr "強制TKIP+CCMP (AES)åŠ å¯†" +msgid "Force link" +msgstr "" + msgid "Force use of NAT-T" msgstr "" @@ -1592,13 +1582,16 @@ msgstr "打入的是ä¸æ£ç¢ºçš„VLAN ID!僅有ç¨ä¸€ç„¡äºŒçš„IDs被å…許" msgid "Invalid username and/or password! Please try again." msgstr "ä¸æ£ç¢ºçš„用戶å稱和/或者密碼!è«‹å†è©¦ä¸€æ¬¡." +msgid "Isolate Clients" +msgstr "" + #, fuzzy msgid "" "It appears that you are trying to flash an image that does not fit into the " "flash memory, please verify the image file!" msgstr "å®ƒé¡¯ç¤ºä½ æ£å˜—試更新ä¸é©ç”¨æ–¼é€™å€‹flashè¨˜æ†¶é«”çš„æ˜ åƒæª”,請檢查確èªé€™å€‹æ˜ åƒæª”" -msgid "Java Script required!" +msgid "JavaScript required!" msgstr "需è¦Java腳本" msgid "Join Network" @@ -1860,9 +1853,6 @@ msgstr "" msgid "Max. Attainable Data Rate (ATTNDR)" msgstr "" -msgid "Maximum Rate" -msgstr "最快速度" - msgid "Maximum allowed number of active DHCP leases" msgstr "å…許啟用DHCP釋放的最大數é‡" @@ -1898,9 +1888,6 @@ msgstr "記憶體使用 (%)" msgid "Metric" msgstr "公測單ä½" -msgid "Minimum Rate" -msgstr "最低速度" - msgid "Minimum hold time" msgstr "å¯æŒæœ‰çš„最低時間" @@ -1972,9 +1959,6 @@ msgstr "往下移" msgid "Move up" msgstr "往上移" -msgid "Multicast Rate" -msgstr "多點群æ’速度" - msgid "Multicast address" msgstr "多點群æ’ä½å€" @@ -1987,6 +1971,9 @@ msgstr "" msgid "NAT64 Prefix" msgstr "" +msgid "NCM" +msgstr "" + msgid "NDP-Proxy" msgstr "" @@ -2178,8 +2165,13 @@ msgid "Optional." msgstr "" msgid "" -"Optional. Adds in an additional layer of symmetric-key cryptography for post-" -"quantum resistance." +"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, " +"starting with <code>0x</code>." +msgstr "" + +msgid "" +"Optional. Base64-encoded preshared key. Adds in an additional layer of " +"symmetric-key cryptography for post-quantum resistance." msgstr "" msgid "Optional. Create routes for Allowed IPs for this peer." @@ -2216,9 +2208,6 @@ msgstr "出" msgid "Outbound:" msgstr "外連:" -msgid "Outdoor Channels" -msgstr "室外通é“" - msgid "Output Interface" msgstr "" @@ -2398,6 +2387,12 @@ msgstr "" msgid "Pre-emtive CRC errors (CRCP_P)" msgstr "" +msgid "Prefer LTE" +msgstr "" + +msgid "Prefer UMTS" +msgstr "" + msgid "Prefix Delegated" msgstr "" @@ -2595,9 +2590,6 @@ msgstr "é‡é€£é€™å€‹ä»‹é¢ä¸" msgid "References" msgstr "引用" -msgid "Regulatory Domain" -msgstr "監管網域" - msgid "Relay" msgstr "延é²" @@ -2646,15 +2638,15 @@ msgstr "å°ç‰¹å®šçš„ISP需è¦,例如.DOCSIS 3 åŠ é€Ÿæœ‰ç·šé›»è¦–å¯¬é »ç¶²è·¯" msgid "Required. Base64-encoded private key for this interface." msgstr "" +msgid "Required. Base64-encoded public key of peer." +msgstr "" + msgid "" "Required. IP addresses and prefixes that this peer is allowed to use inside " "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer " "routes through the tunnel." msgstr "" -msgid "Required. Public key of peer." -msgstr "" - msgid "" "Requires the 'full' version of wpad/hostapd and support from the wifi driver " "<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)" @@ -2797,9 +2789,6 @@ msgstr "傳é€LCP呼å«è«‹æ±‚在這個給予的秒數間隔內, 僅影響關è¯å msgid "Separate Clients" msgstr "分隔用戶端" -msgid "Separate WDS" -msgstr "分隔WDSä¸ç¹¼" - msgid "Server Settings" msgstr "伺æœå™¨è¨å®šå€¼" @@ -2823,6 +2812,11 @@ msgstr "æœå‹™åž‹æ…‹" msgid "Services" msgstr "å„æœå‹™" +msgid "" +"Set interface properties regardless of the link carrier (If set, carrier " +"sense events do not invoke hotplug handlers)." +msgstr "" + #, fuzzy msgid "Set up Time Synchronization" msgstr "安è£æ ¡æ™‚åŒæ¥" @@ -2960,9 +2954,6 @@ msgstr "éœæ…‹ç§Ÿç´„" msgid "Static Routes" msgstr "éœæ…‹è·¯ç”±" -msgid "Static WDS" -msgstr "éœæ…‹WDS" - msgid "Static address" msgstr "éœæ…‹ä½å€" @@ -3358,9 +3349,6 @@ msgstr "" msgid "Tunnel type" msgstr "" -msgid "Turbo Mode" -msgstr "渦輪爆è¡æ¨¡å¼" - msgid "Tx-Power" msgstr "傳é€-功率" @@ -3645,9 +3633,6 @@ msgstr "寫入已接收的DNS請求到系統日誌ä¸" msgid "Write system log to file" msgstr "" -msgid "XR Support" -msgstr "支æ´XR無線陣列" - msgid "" "You can enable or disable installed init scripts here. Changes will applied " "after a device reboot.<br /><strong>Warning: If you disable essential init " @@ -3657,8 +3642,8 @@ msgstr "" "å‘Š: å‡å¦‚ä½ é—œé–‰å¿…è¦çš„åˆå§‹åŒ–腳本åƒ\"網路\", ä½ çš„è¨å‚™å°‡å¯èƒ½ç„¡æ³•å˜å–!</strong>" msgid "" -"You must enable Java Script in your browser or LuCI will not work properly." -msgstr "在ç€è¦½å™¨ä½ å¿…é ˆå•Ÿç”¨Java Scriptå¦å‰‡LuCI無法æ£å¸¸é‹ä½œ." +"You must enable JavaScript in your browser or LuCI will not work properly." +msgstr "在ç€è¦½å™¨ä½ å¿…é ˆå•Ÿç”¨JavaScriptå¦å‰‡LuCI無法æ£å¸¸é‹ä½œ." msgid "" "Your Internet Explorer is too old to display this page correctly. Please " @@ -3829,6 +3814,54 @@ msgstr "是的" msgid "« Back" msgstr "« 倒退" +#~ msgid "AR Support" +#~ msgstr "AR支æ´" + +#~ msgid "Atheros 802.11%s Wireless Controller" +#~ msgstr "Atheros 802.11%s 無線控制器" + +#~ msgid "Background Scan" +#~ msgstr "背景æœå°‹" + +#~ msgid "Compression" +#~ msgstr "壓縮" + +#~ msgid "Disable HW-Beacon timer" +#~ msgstr "關閉硬體燈號計時器" + +#~ msgid "Do not send probe responses" +#~ msgstr "ä¸å‚³é€æŽ¢æ¸¬å›žæ‡‰" + +#~ msgid "Fast Frames" +#~ msgstr "快速迅框群" + +#~ msgid "Maximum Rate" +#~ msgstr "最快速度" + +#~ msgid "Minimum Rate" +#~ msgstr "最低速度" + +#~ msgid "Multicast Rate" +#~ msgstr "多點群æ’速度" + +#~ msgid "Outdoor Channels" +#~ msgstr "室外通é“" + +#~ msgid "Regulatory Domain" +#~ msgstr "監管網域" + +#~ msgid "Separate WDS" +#~ msgstr "分隔WDSä¸ç¹¼" + +#~ msgid "Static WDS" +#~ msgstr "éœæ…‹WDS" + +#~ msgid "Turbo Mode" +#~ msgstr "渦輪爆è¡æ¨¡å¼" + +#~ msgid "XR Support" +#~ msgstr "支æ´XR無線陣列" + #~ msgid "An additional network will be created if you leave this unchecked." #~ msgstr "å–消é¸å–將會å¦å¤–建立一個新網路,而ä¸æœƒè¦†è“‹ç›®å‰çš„網路è¨å®š" diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua index 10636a491a..f418ecb40f 100644 --- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua +++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua @@ -68,9 +68,10 @@ se = s:taboption("advanced", Flag, "sequential_ip", translate("Allocate IP addresses sequentially, starting from the lowest available address")) se.optional = true -s:taboption("advanced", Flag, "boguspriv", +bp = s:taboption("advanced", Flag, "boguspriv", translate("Filter private"), translate("Do not forward reverse lookups for local networks")) +bp.default = bp.enabled s:taboption("advanced", Flag, "filterwin2k", translate("Filter useless"), diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua index 16a104494a..0318522281 100644 --- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua +++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua @@ -220,6 +220,12 @@ auto.default = (net:proto() == "none") and auto.disabled or auto.enabled delegate = s:taboption("advanced", Flag, "delegate", translate("Use builtin IPv6-management")) delegate.default = delegate.enabled +force_link = s:taboption("advanced", Flag, "force_link", + translate("Force link"), + translate("Set interface properties regardless of the link carrier (If set, carrier sense events do not invoke hotplug handlers).")) + +force_link.default = (net:proto() == "static") and force_link.enabled or force_link.disabled + if not net:is_virtual() then br = s:taboption("physical", Flag, "type", translate("Bridge interfaces"), translate("creates a bridge over specified interface(s)")) diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua index 33a8892ece..3a08d81d0a 100644 --- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua +++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua @@ -248,64 +248,6 @@ if hwtype == "mac80211" then end -------------------- Madwifi Device ------------------ - -if hwtype == "atheros" then - tp = s:taboption("general", - (#tx_power_list > 0) and ListValue or Value, - "txpower", translate("Transmit Power"), "dBm") - - tp.rmempty = true - tp.default = tx_power_cur - - function tp.cfgvalue(...) - return txpower_current(Value.cfgvalue(...), tx_power_list) - end - - tp:value("", translate("auto")) - for _, p in ipairs(tx_power_list) do - tp:value(p.driver_dbm, "%i dBm (%i mW)" - %{ p.display_dbm, p.display_mw }) - end - - s:taboption("advanced", Flag, "diversity", translate("Diversity")).rmempty = false - - if not nsantenna then - ant1 = s:taboption("advanced", ListValue, "txantenna", translate("Transmitter Antenna")) - ant1.widget = "radio" - ant1.orientation = "horizontal" - ant1:depends("diversity", "") - ant1:value("0", translate("auto")) - ant1:value("1", translate("Antenna 1")) - ant1:value("2", translate("Antenna 2")) - - ant2 = s:taboption("advanced", ListValue, "rxantenna", translate("Receiver Antenna")) - ant2.widget = "radio" - ant2.orientation = "horizontal" - ant2:depends("diversity", "") - ant2:value("0", translate("auto")) - ant2:value("1", translate("Antenna 1")) - ant2:value("2", translate("Antenna 2")) - - else -- NanoFoo - local ant = s:taboption("advanced", ListValue, "antenna", translate("Transmitter Antenna")) - ant:value("auto") - ant:value("vertical") - ant:value("horizontal") - ant:value("external") - end - - s:taboption("advanced", Value, "distance", translate("Distance Optimization"), - translate("Distance to farthest network member in meters.")) - s:taboption("advanced", Value, "regdomain", translate("Regulatory Domain")) - s:taboption("advanced", Value, "country", translate("Country Code")) - s:taboption("advanced", Flag, "outdoor", translate("Outdoor Channels")) - - --s:option(Flag, "nosbeacon", translate("Disable HW-Beacon timer")) -end - - - ------------------- Broadcom Device ------------------ if hwtype == "broadcom" then @@ -519,102 +461,13 @@ if hwtype == "mac80211" then wmm:depends({mode="ap-wds"}) wmm.default = wmm.enabled - ifname = s:taboption("advanced", Value, "ifname", translate("Interface name"), translate("Override default interface name")) - ifname.optional = true -end - - - --------------------- Madwifi Interface ---------------------- - -if hwtype == "atheros" then - mode:value("ahdemo", translate("Pseudo Ad-Hoc (ahdemo)")) - mode:value("monitor", translate("Monitor")) - mode:value("ap-wds", "%s (%s)" % {translate("Access Point"), translate("WDS")}) - mode:value("sta-wds", "%s (%s)" % {translate("Client"), translate("WDS")}) - mode:value("wds", translate("Static WDS")) - - function mode.write(self, section, value) - if value == "ap-wds" then - ListValue.write(self, section, "ap") - m.uci:set("wireless", section, "wds", 1) - elseif value == "sta-wds" then - ListValue.write(self, section, "sta") - m.uci:set("wireless", section, "wds", 1) - else - ListValue.write(self, section, value) - m.uci:delete("wireless", section, "wds") - end - end - - function mode.cfgvalue(self, section) - local mode = ListValue.cfgvalue(self, section) - local wds = m.uci:get("wireless", section, "wds") == "1" - - if mode == "ap" and wds then - return "ap-wds" - elseif mode == "sta" and wds then - return "sta-wds" - else - return mode - end - end - - bssid:depends({mode="adhoc"}) - bssid:depends({mode="ahdemo"}) - bssid:depends({mode="wds"}) - - wdssep = s:taboption("advanced", Flag, "wdssep", translate("Separate WDS")) - wdssep:depends({mode="ap-wds"}) - - s:taboption("advanced", Flag, "doth", "802.11h") - hidden = s:taboption("general", Flag, "hidden", translate("Hide <abbr title=\"Extended Service Set Identifier\">ESSID</abbr>")) - hidden:depends({mode="ap"}) - hidden:depends({mode="adhoc"}) - hidden:depends({mode="ap-wds"}) - hidden:depends({mode="sta-wds"}) - isolate = s:taboption("advanced", Flag, "isolate", translate("Separate Clients"), + isolate = s:taboption("advanced", Flag, "isolate", translate("Isolate Clients"), translate("Prevents client-to-client communication")) isolate:depends({mode="ap"}) - s:taboption("advanced", Flag, "bgscan", translate("Background Scan")) - - mp = s:taboption("macfilter", ListValue, "macpolicy", translate("MAC-Address Filter")) - mp:value("", translate("disable")) - mp:value("allow", translate("Allow listed only")) - mp:value("deny", translate("Allow all except listed")) - - ml = s:taboption("macfilter", DynamicList, "maclist", translate("MAC-List")) - ml.datatype = "macaddr" - ml:depends({macpolicy="allow"}) - ml:depends({macpolicy="deny"}) - nt.mac_hints(function(mac, name) ml:value(mac, "%s (%s)" %{ mac, name }) end) + isolate:depends({mode="ap-wds"}) - s:taboption("advanced", Value, "rate", translate("Transmission Rate")) - s:taboption("advanced", Value, "mcast_rate", translate("Multicast Rate")) - s:taboption("advanced", Value, "frag", translate("Fragmentation Threshold")) - s:taboption("advanced", Value, "rts", translate("RTS/CTS Threshold")) - s:taboption("advanced", Value, "minrate", translate("Minimum Rate")) - s:taboption("advanced", Value, "maxrate", translate("Maximum Rate")) - s:taboption("advanced", Flag, "compression", translate("Compression")) - - s:taboption("advanced", Flag, "bursting", translate("Frame Bursting")) - s:taboption("advanced", Flag, "turbo", translate("Turbo Mode")) - s:taboption("advanced", Flag, "ff", translate("Fast Frames")) - - s:taboption("advanced", Flag, "wmm", translate("WMM Mode")) - s:taboption("advanced", Flag, "xr", translate("XR Support")) - s:taboption("advanced", Flag, "ar", translate("AR Support")) - - local swm = s:taboption("advanced", Flag, "sw_merge", translate("Disable HW-Beacon timer")) - swm:depends({mode="adhoc"}) - - local nos = s:taboption("advanced", Flag, "nosbeacon", translate("Disable HW-Beacon timer")) - nos:depends({mode="sta"}) - nos:depends({mode="sta-wds"}) - - local probereq = s:taboption("advanced", Flag, "probereq", translate("Do not send probe responses")) - probereq.enabled = "0" - probereq.disabled = "1" + ifname = s:taboption("advanced", Value, "ifname", translate("Interface name"), translate("Override default interface name")) + ifname.optional = true end @@ -738,7 +591,7 @@ encr:value("none", "No Encryption") encr:value("wep-open", translate("WEP Open System"), {mode="ap"}, {mode="sta"}, {mode="ap-wds"}, {mode="sta-wds"}, {mode="adhoc"}, {mode="ahdemo"}, {mode="wds"}) encr:value("wep-shared", translate("WEP Shared Key"), {mode="ap"}, {mode="sta"}, {mode="ap-wds"}, {mode="sta-wds"}, {mode="adhoc"}, {mode="ahdemo"}, {mode="wds"}) -if hwtype == "atheros" or hwtype == "mac80211" or hwtype == "prism2" then +if hwtype == "mac80211" or hwtype == "prism2" then local supplicant = fs.access("/usr/sbin/wpa_supplicant") local hostapd = fs.access("/usr/sbin/hostapd") @@ -899,10 +752,10 @@ for slot=1,4 do end -if hwtype == "atheros" or hwtype == "mac80211" or hwtype == "prism2" then +if hwtype == "mac80211" or hwtype == "prism2" then - -- Probe EAP support as a proxy for determining if 802.11r support is present - local has_ap_eap = (os.execute("hostapd -veap >/dev/null 2>/dev/null") == 0) + -- Probe 802.11r support (and EAP support as a proxy for Openwrt) + local has_80211r = (os.execute("hostapd -v11r 2>/dev/null || hostapd -veap 2>/dev/null") == 0) ieee80211r = s:taboption("encryption", Flag, "ieee80211r", translate("802.11r Fast Transition"), @@ -912,7 +765,7 @@ if hwtype == "atheros" or hwtype == "mac80211" or hwtype == "prism2" then ieee80211r:depends({mode="ap", encryption="wpa2"}) ieee80211r:depends({mode="ap-wds", encryption="wpa"}) ieee80211r:depends({mode="ap-wds", encryption="wpa2"}) - if has_ap_eap then + if has_80211r then ieee80211r:depends({mode="ap", encryption="psk"}) ieee80211r:depends({mode="ap", encryption="psk2"}) ieee80211r:depends({mode="ap", encryption="psk-mixed"}) @@ -1125,16 +978,16 @@ end -- ieee802.11w options if hwtype == "mac80211" then - local has_ap_eap = (os.execute("hostapd -veap >/dev/null 2>/dev/null") == 0) - if has_ap_eap then + local has_80211w = (os.execute("hostapd -v11w 2>/dev/null || hostapd -veap 2>/dev/null") == 0) + if has_80211w then ieee80211w = s:taboption("encryption", ListValue, "ieee80211w", translate("802.11w Management Frame Protection"), translate("Requires the 'full' version of wpad/hostapd " .. "and support from the wifi driver <br />(as of Feb 2017: " .. "ath9k and ath10k, in LEDE also mwlwifi and mt76)")) - ieee80211w.default = "0" + ieee80211w.default = "" ieee80211w.rmempty = true - ieee80211w:value("0", translate("Disabled (default)")) + ieee80211w:value("", translate("Disabled (default)")) ieee80211w:value("1", translate("Optional")) ieee80211w:value("2", translate("Required")) ieee80211w:depends({mode="ap", encryption="wpa2"}) @@ -1164,7 +1017,7 @@ if hwtype == "mac80211" then end end -if hwtype == "atheros" or hwtype == "mac80211" or hwtype == "prism2" then +if hwtype == "mac80211" or hwtype == "prism2" then local wpasupplicant = fs.access("/usr/sbin/wpa_supplicant") local hostcli = fs.access("/usr/sbin/hostapd_cli") if hostcli and wpasupplicant then diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/crontab.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/crontab.lua index ea92eb98de..016a6199aa 100644 --- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/crontab.lua +++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/crontab.lua @@ -5,7 +5,10 @@ local fs = require "nixio.fs" local cronfile = "/etc/crontabs/root" -f = SimpleForm("crontab", translate("Scheduled Tasks"), translate("This is the system crontab in which scheduled tasks can be defined.")) +f = SimpleForm("crontab", translate("Scheduled Tasks"), + translate("This is the system crontab in which scheduled tasks can be defined.") .. + translate("<br/>Note: you need to manually restart the cron service if the " .. + "crontab file was empty before editing.")) t = f:field(TextValue, "crons") t.rmempty = true diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_overview.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_overview.htm index 9c351d3933..4465095ff2 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_overview.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_overview.htm @@ -66,10 +66,6 @@ return name - -- madwifi - elseif name == "ath" or name == "wifi" then - return translatef("Atheros 802.11%s Wireless Controller", bands) - -- ralink elseif name == "ra" then return translatef("RaLink 802.11%s Wireless Controller", bands) diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm index 206f9ef82a..d29a894276 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm @@ -37,10 +37,8 @@ local wan = ntm:get_wannet() local wan6 = ntm:get_wan6net() - local conn_count = tonumber(( - luci.sys.exec("wc -l /proc/net/nf_conntrack") or - luci.sys.exec("wc -l /proc/net/ip_conntrack") or - ""):match("%d+")) or 0 + local conn_count = tonumber( + fs.readfile("/proc/sys/net/netfilter/nf_conntrack_count")) or 0 local conn_max = tonumber(( luci.sys.exec("sysctl net.nf_conntrack_max") or diff --git a/modules/luci-mod-admin-mini/luasrc/model/cbi/mini/wifi.lua b/modules/luci-mod-admin-mini/luasrc/model/cbi/mini/wifi.lua index 19952cd5dc..ec929f1ed9 100644 --- a/modules/luci-mod-admin-mini/luasrc/model/cbi/mini/wifi.lua +++ b/modules/luci-mod-admin-mini/luasrc/model/cbi/mini/wifi.lua @@ -156,18 +156,6 @@ end local hwtype = m:get(wifidevs[1], "type") -if hwtype == "atheros" then - mode = s:option(ListValue, "hwmode", translate("Mode")) - mode.override_values = true - mode:value("", "auto") - mode:value("11b", "802.11b") - mode:value("11g", "802.11g") - mode:value("11a", "802.11a") - mode:value("11bg", "802.11b+g") - mode.rmempty = true -end - - ch = s:option(Value, "channel", translate("Channel")) for i=1, 14 do ch:value(i, i .. " (2.4 GHz)") @@ -224,7 +212,7 @@ encr.override_values = true encr:value("none", "No Encryption") encr:value("wep", "WEP") -if hwtype == "atheros" or hwtype == "mac80211" then +if hwtype == "mac80211" then local supplicant = fs.access("/usr/sbin/wpa_supplicant") local hostapd = fs.access("/usr/sbin/hostapd") @@ -288,7 +276,7 @@ port:depends({mode="ap", encryption="wpa2"}) port.rmempty = true -if hwtype == "atheros" or hwtype == "mac80211" then +if hwtype == "mac80211" then nasid = s:option(Value, "nasid", translate("NAS ID")) nasid:depends({mode="ap", encryption="wpa"}) nasid:depends({mode="ap", encryption="wpa2"}) @@ -339,7 +327,7 @@ if hwtype == "atheros" or hwtype == "mac80211" then end -if hwtype == "atheros" or hwtype == "broadcom" then +if hwtype == "broadcom" then iso = s:option(Flag, "isolate", translate("AP-Isolation"), translate("Prevents Client to Client communication")) iso.rmempty = true iso:depends("mode", "ap") @@ -349,7 +337,7 @@ if hwtype == "atheros" or hwtype == "broadcom" then hide:depends("mode", "ap") end -if hwtype == "mac80211" or hwtype == "atheros" then +if hwtype == "mac80211" then bssid:depends({mode="adhoc"}) end diff --git a/protocols/luci-proto-ncm/Makefile b/protocols/luci-proto-ncm/Makefile new file mode 100644 index 0000000000..5fd9c9a266 --- /dev/null +++ b/protocols/luci-proto-ncm/Makefile @@ -0,0 +1,14 @@ +# +# Copyright (C) 2008-2014 The LuCI Team <luci@lists.subsignal.org> +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=Support for NCM +LUCI_DEPENDS:=+comgt-ncm + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/protocols/luci-proto-ncm/luasrc/model/cbi/admin_network/proto_ncm.lua b/protocols/luci-proto-ncm/luasrc/model/cbi/admin_network/proto_ncm.lua new file mode 100644 index 0000000000..917c88c92c --- /dev/null +++ b/protocols/luci-proto-ncm/luasrc/model/cbi/admin_network/proto_ncm.lua @@ -0,0 +1,157 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2015 Cezary Jackiewicz <cezary.jackiewicz@gmail.com> + +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 +]]-- + +local map, section, net = ... + +local device, apn, service, pincode, username, password, dialnumber +local ipv6, maxwait, defaultroute, metric, peerdns, dns, + keepalive_failure, keepalive_interval, demand + + +device = section:taboption("general", Value, "device", translate("Modem device")) +device.rmempty = false + +local device_suggestions = nixio.fs.glob("/dev/cdc-wdm*") + or nixio.fs.glob("/dev/ttyUSB*") + +if device_suggestions then + local node + for node in device_suggestions do + device:value(node) + end +end + + +mode = section:taboption("general", Value, "mode", translate("Service Type")) +mode.default = "auto" +mode:value("preferlte", translate("Prefer LTE")) +mode:value("preferumts", translate("Prefer UMTS")) +mode:value("lte", "LTE") +mode:value("umts", "UMTS/GPRS") +mode:value("gsm", translate("GPRS only")) +mode:value("auto", translate("auto")) + + +apn = section:taboption("general", Value, "apn", translate("APN")) + + +pincode = section:taboption("general", Value, "pincode", translate("PIN")) + + +username = section:taboption("general", Value, "username", translate("PAP/CHAP username")) + + +password = section:taboption("general", Value, "password", translate("PAP/CHAP password")) +password.password = true + +dialnumber = section:taboption("general", Value, "dialnumber", translate("Dial number")) +dialnumber.placeholder = "*99***1#" + +if luci.model.network:has_ipv6() then + + ipv6 = section:taboption("advanced", ListValue, "ipv6") + ipv6:value("auto", translate("Automatic")) + ipv6:value("0", translate("Disabled")) + ipv6:value("1", translate("Manual")) + ipv6.default = "auto" + +end + + +maxwait = section:taboption("advanced", Value, "maxwait", + translate("Modem init timeout"), + translate("Maximum amount of seconds to wait for the modem to become ready")) + +maxwait.placeholder = "20" +maxwait.datatype = "min(1)" + + +defaultroute = section:taboption("advanced", Flag, "defaultroute", + translate("Use default gateway"), + translate("If unchecked, no default route is configured")) + +defaultroute.default = defaultroute.enabled + +metric = section:taboption("advanced", Value, "metric", + translate("Use gateway metric")) + +metric.placeholder = "0" +metric.datatype = "uinteger" +metric:depends("defaultroute", defaultroute.enabled) + + +peerdns = section:taboption("advanced", Flag, "peerdns", + translate("Use DNS servers advertised by peer"), + translate("If unchecked, the advertised DNS server addresses are ignored")) + +peerdns.default = peerdns.enabled + + +dns = section:taboption("advanced", DynamicList, "dns", + translate("Use custom DNS servers")) + +dns:depends("peerdns", "") +dns.datatype = "ipaddr" +dns.cast = "string" + + +keepalive_failure = section:taboption("advanced", Value, "_keepalive_failure", + translate("LCP echo failure threshold"), + translate("Presume peer to be dead after given amount of LCP echo failures, use 0 to ignore failures")) + +function keepalive_failure.cfgvalue(self, section) + local v = m:get(section, "keepalive") + if v and #v > 0 then + return tonumber(v:match("^(%d+)[ ,]+%d+") or v) + end +end + +function keepalive_failure.write() end +function keepalive_failure.remove() end + +keepalive_failure.placeholder = "0" +keepalive_failure.datatype = "uinteger" + + +keepalive_interval = section:taboption("advanced", Value, "_keepalive_interval", + translate("LCP echo interval"), + translate("Send LCP echo requests at the given interval in seconds, only effective in conjunction with failure threshold")) + +function keepalive_interval.cfgvalue(self, section) + local v = m:get(section, "keepalive") + if v and #v > 0 then + return tonumber(v:match("^%d+[ ,]+(%d+)")) + end +end + +function keepalive_interval.write(self, section, value) + local f = tonumber(keepalive_failure:formvalue(section)) or 0 + local i = tonumber(value) or 5 + if i < 1 then i = 1 end + if f > 0 then + m:set(section, "keepalive", "%d %d" %{ f, i }) + else + m:del(section, "keepalive") + end +end + +keepalive_interval.remove = keepalive_interval.write +keepalive_interval.placeholder = "5" +keepalive_interval.datatype = "min(1)" + + +demand = section:taboption("advanced", Value, "demand", + translate("Inactivity timeout"), + translate("Close inactive connection after the given amount of seconds, use 0 to persist connection")) + +demand.placeholder = "0" +demand.datatype = "uinteger" diff --git a/protocols/luci-proto-ncm/luasrc/model/network/proto_ncm.lua b/protocols/luci-proto-ncm/luasrc/model/network/proto_ncm.lua new file mode 100644 index 0000000000..6c5b34e083 --- /dev/null +++ b/protocols/luci-proto-ncm/luasrc/model/network/proto_ncm.lua @@ -0,0 +1,61 @@ +--[[ +LuCI - Network model - NCM protocol extension + +Copyright 2015 Cezary Jackiewicz <cezary.jackiewicz@gmail.com> + +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 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +]]-- + +local netmod = luci.model.network + +local proto = netmod:register_protocol("ncm") +local interface = luci.model.network.interface + +function proto.get_i18n(self) + return luci.i18n.translate("NCM") +end + +function proto.opkg_package(self) + return "comgt-ncm" +end + +function proto.is_installed(self) + return nixio.fs.access("/lib/netifd/proto/ncm.sh") +end + +function proto.is_floating(self) + return true +end + +function proto.is_virtual(self) + return true +end + +function proto.get_interface(self) + local _ifname=netmod.protocol.ifname(self) + if not _ifname then + _ifname = "wan" + end + return interface(_ifname, self) +end + +function proto.get_interfaces(self) + return nil +end + +function proto.contains_interface(self, ifc) + return (netmod:ifnameof(ifc) == self:ifname()) +end + +netmod:register_pattern_virtual("^ncm-%%w") diff --git a/protocols/luci-proto-vpnc/Makefile b/protocols/luci-proto-vpnc/Makefile index 9c77e67a5c..0800e279fe 100644 --- a/protocols/luci-proto-vpnc/Makefile +++ b/protocols/luci-proto-vpnc/Makefile @@ -10,9 +10,6 @@ LUCI_TITLE:=Support for VPNC VPN LUCI_DEPENDS:=+vpnc LUCI_PKGARCH:=all -PKG_NAME:=luci-proto-vpnc -PKG_RELEASE=1 -PKG_VERSION:=1.0.0 PKG_MAINTAINER:=Daniel Dickinson <openwrt@daniel.thecshore.com> PKG_LICENSE:=Apache-2.0 @@ -20,4 +17,4 @@ LUA_TARGET:=source include ../../luci.mk -# call BuildPackage - OpenWrt buildroot signature
\ No newline at end of file +# call BuildPackage - OpenWrt buildroot signature diff --git a/protocols/luci-proto-wireguard/Makefile b/protocols/luci-proto-wireguard/Makefile index ed94a557b6..0dc70cf31e 100644 --- a/protocols/luci-proto-wireguard/Makefile +++ b/protocols/luci-proto-wireguard/Makefile @@ -8,6 +8,7 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=Support for WireGuard VPN LUCI_DEPENDS:=+kmod-wireguard +wireguard-tools +LUCI_PKGARCH:=all PKG_MAINTAINER:=Dan Luedtke <mail@danrl.com> diff --git a/protocols/luci-proto-wireguard/luasrc/model/cbi/admin_network/proto_wireguard.lua b/protocols/luci-proto-wireguard/luasrc/model/cbi/admin_network/proto_wireguard.lua index d950081197..11ef10b5a7 100644 --- a/protocols/luci-proto-wireguard/luasrc/model/cbi/admin_network/proto_wireguard.lua +++ b/protocols/luci-proto-wireguard/luasrc/model/cbi/admin_network/proto_wireguard.lua @@ -19,7 +19,7 @@ private_key = section:taboption( translate("Required. Base64-encoded private key for this interface.") ) private_key.password = true -private_key.datatype = "and(base64,rangelength(44, 44))" +private_key.datatype = "and(base64,rangelength(44,44))" private_key.optional = false @@ -81,10 +81,22 @@ preshared_key = section:taboption( "cryptography for post-quantum resistance.") ) preshared_key.password = true -preshared_key.datatype = "and(base64,rangelength(44, 44))" +preshared_key.datatype = "and(base64,rangelength(44,44))" preshared_key.optional = true +fwmark = section:taboption( + "advanced", + Value, + "fwmark", + translate("Firewall Mark"), + translate("Optional. 32-bit mark for outgoing encrypted packets. " .. + "Enter value in hex, starting with <code>0x</code>.") +) +fwmark.datatype = "hex(4)" +fwmark.optional = true + + -- peers ----------------------------------------------------------------------- peers = map:section( @@ -105,7 +117,7 @@ public_key = peers:option( translate("Public Key"), translate("Required. Base64-encoded public key of peer.") ) -public_key.datatype = "and(base64,rangelength(44, 44))" +public_key.datatype = "and(base64,rangelength(44,44))" public_key.optional = false @@ -155,5 +167,5 @@ persistent_keepalive = peers:option( translate("Optional. Seconds between keep alive messages. " .. "Default is 0 (disabled). Recommended value if " .. "this device is behind a NAT is 25.")) -persistent_keepalive.datatype = "range(0, 65535)" +persistent_keepalive.datatype = "range(0,65535)" persistent_keepalive.placeholder = "0" diff --git a/themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm b/themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm index 6f09bfcdfa..78b98e0355 100644 --- a/themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm +++ b/themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm @@ -201,5 +201,12 @@ </div> <%- end -%> + <noscript> + <div class="alert-message warning"> + <strong><%:JavaScript required!%></strong><br /> + <%:You must enable JavaScript in your browser or LuCI will not work properly.%> + </div> + </noscript> + <div id="maincontent" class="container"> <% if category then render_tabmenu(category, cattree) end %> diff --git a/themes/luci-theme-freifunk-generic/luasrc/view/themes/freifunk-generic/header.htm b/themes/luci-theme-freifunk-generic/luasrc/view/themes/freifunk-generic/header.htm index 20a41be855..b4534090fb 100644 --- a/themes/luci-theme-freifunk-generic/luasrc/view/themes/freifunk-generic/header.htm +++ b/themes/luci-theme-freifunk-generic/luasrc/view/themes/freifunk-generic/header.htm @@ -216,8 +216,8 @@ if tree.nodes[category] and tree.nodes[category].ucidata then <% if category ~= "freifunk" and category ~= "splash" then %> <noscript> <div class="errorbox"> - <strong><%:Java Script required!%></strong><br /> - <%:You must enable Java Script in your browser or LuCI will not work properly.%> + <strong><%:JavaScript required!%></strong><br /> + <%:You must enable JavaScript in your browser or LuCI will not work properly.%> </div> </noscript> <% end %> diff --git a/themes/luci-theme-material/luasrc/view/themes/material/header.htm b/themes/luci-theme-material/luasrc/view/themes/material/header.htm index 8419ade76d..d84fd278a2 100755..100644 --- a/themes/luci-theme-material/luasrc/view/themes/material/header.htm +++ b/themes/luci-theme-material/luasrc/view/themes/material/header.htm @@ -2,14 +2,14 @@ Material is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI luci-theme-material - Copyright 2015 Lutty Yang <lutty@wcan.in> + Copyright 2015-2017 Lutty Yang <lutty@wcan.in> Have a bug? Please create an issue here on GitHub! https://github.com/LuttyYang/luci-theme-material/issues luci-theme-bootstrap: Copyright 2008 Steven Barth <steven@midlink.org> - Copyright 2008 Jo-Philipp Wich <jow@openwrt.org> + Copyright 2008-2016 Jo-Philipp Wich <jow@openwrt.org> Copyright 2012 David Menting <david@nut-bolt.nl> MUI: @@ -19,7 +19,6 @@ -%> <% - local ver = require "luci.version" local sys = require "luci.sys" local util = require "luci.util" local http = require "luci.http" @@ -51,30 +50,27 @@ end end - -- send as HTML5 + -- send as HTML5 http.prepare_content("text/html") local function nodeurl(prefix, name, query) - local url = controller .. prefix .. name .. "/" + local u = url(prefix, name) if query then - url = url .. http.build_querystring(query) + u = u .. http.build_querystring(query) end - return pcdata(url) + return pcdata(u) end - local function subtree(prefix, node, level) + local function render_tabmenu(prefix, node, level) if not level then level = 1 end local childs = disp.node_childs(node) if #childs > 0 then - - if level > 2 then -%> - <ul class="tabs"> - <% - end + if level > 2 then + write('<ul class="tabs">') + end local selected_node local selected_name @@ -86,21 +82,100 @@ selected_node = nnode selected_name = v end - if level > 2 then - %> - <li class="tabmenu-item-<%=v%><%- if nnode._menu_selected or (node.leaf and v == leaf) then %> active<% end %>"> - <a href="<%=nodeurl(prefix, v, nnode.query)%>"><%=striptags(translate(nnode.title))%></a> - </li> - <% end + + if level > 2 then + write('<li class="tabmenu-item-%s %s"><a href="%s">%s</a></li>' %{ + v, (nnode._menu_selected or (node.leaf and v == leaf)) and 'active' or '', + nodeurl(prefix, v, nnode.query), + striptags(translate(nnode.title)) + }) + end end - if level > 2 then - %> - </ul> -<% end + if level > 2 then + write('</ul>') + end if selected_node then - subtree(prefix .. selected_name .. "/", selected_node, level + 1) + render_tabmenu(prefix .. "/" .. selected_name, selected_node, level + 1) + end + end + end + + local function render_submenu(prefix, node) + local childs = disp.node_childs(node) + if #childs > 0 then + write('<ul class="slide-menu">') + + for i, r in ipairs(childs) do + local nnode = node.nodes[r] + local title = pcdata(striptags(translate(nnode.title))) + + write('<li><a data-title="%s" href="%s">%s</a></li>' %{ + title, + nodeurl(prefix, r, nnode.query), + title + }) + end + + write('</ul>') + end + end + + local function render_topmenu() + local childs = disp.node_childs(cattree) + if #childs > 0 then + write('<ul class="nav">') + + for i, r in ipairs(childs) do + local nnode = cattree.nodes[r] + local grandchildren = disp.node_childs(nnode) + + if #grandchildren > 0 then + local title = pcdata(striptags(translate(nnode.title))) + + write('<li class="slide"><a class="menu" data-title="%s" href="#">%s</a>' %{ + title, + title + }) + + render_submenu(category .. "/" .. r, nnode) + write('</li>') + else + local title = pcdata(striptags(translate(nnode.title))) + + write('<li><a data-title="%s" href="%s">%s</a></li>' %{ + title, + nodeurl(category, r, nnode.query), + title + }) + end + end + + write('</ul>') + end + end + + local function render_changes() + -- calculate the number of unsaved changes + if tree.nodes[category] and tree.nodes[category].ucidata then + local ucichanges = 0 + + for i, j in pairs(require("luci.model.uci").cursor():changes()) do + for k, l in pairs(j) do + for m, n in pairs(l) do + ucichanges = ucichanges + 1; + end + end + end + + if ucichanges > 0 then + write('<a class="label notice" href="%s?redir=%s">%s: %d</a>' %{ + url(category, 'uci/changes'), + http.urlencode(http.formvalue('redir') or REQUEST_URI), + translate('Unsaved Changes'), + ucichanges + }) end end end @@ -134,96 +209,30 @@ <link rel="stylesheet" href="<%=resource%>/<%=node.css%>"> <% end -%> <% if css then %> - <style title="text/css"> - <%-= css %> - </style> + <style title="text/css"><%= css %></style> <% end -%> <script src="<%=resource%>/xhr.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 %>"> - <header> <div class="container"> <span class="showSide"></span> <a class="brand" href="#"><%=boardinfo.hostname or "?"%></a> <div class="pull-right"> - <% - -- calculate the number of unsaved changes - if tree.nodes[category] and tree.nodes[category].ucidata then - local ucichanges = 0 - for i, j in pairs(require("luci.model.uci").cursor():changes()) do - for k, l in pairs(j) do - for m, n in pairs(l) do - ucichanges = ucichanges + 1; - end - end - end - %> - <% if ucichanges > 0 then %> - <a class="label notice" href="<%=controller%>/<%=category%>/uci/changes?redir=<%=http.urlencode(http.formvalue("redir") or REQUEST_URI)%>"><span class="mobile-hide"><%:Unsaved Changes%>: </span><%=ucichanges%></a> - <% end %> + <% render_changes() %> <span id="xhr_poll_status" style="display:none" onclick="XHR.running() ? XHR.halt() : XHR.run()"> - <span class="label success" id="xhr_poll_status_on"><span class="mobile-hide"><%:Auto Refresh%> </span><%:on%></span> - <span class="label" id="xhr_poll_status_off" style="display:none"><span class="mobile-hide"><%:Auto Refresh%> </span><%:off%></span> + <span class="label success" id="xhr_poll_status_on"><span class="mobile-hide"><%:Auto Refresh%></span> <%:on%></span> + <span class="label" id="xhr_poll_status_off" style="display:none"><span class="mobile-hide"><%:Auto Refresh%></span> <%:off%></span> </span> - <% end %> </div> </div> </header> - - <div class="main"> +<div class="main"> <div style="" class="loading"><span><div class="loading-img"></div>Loading...</span></div> <div class="main-left"> - <ul class="nav"> - <%- - local function submenu(prefix, node) - local childs = disp.node_childs(node) - if #childs > 0 then - %> - <ul class="slide-menu"> - <%- - for i, r in ipairs(childs) do - local nnode = node.nodes[r] - local href = controller .. prefix .. r .. - (nnode.query and http.build_querystring(nnode.query) or "") - %> - <li><a data-title="<%=pcdata(striptags(nnode.title))%>" href="<%=pcdata(href)%>"><%=pcdata(striptags(translate(nnode.title)))%></a></li> - <%- - end - %> - </ul> - <%- - end - end - - childs = disp.node_childs(cattree) - - if #childs > 0 then - for i, r in ipairs(childs) do - local nnode = cattree.nodes[r] - local href = controller .. "/" .. category .. "/" .. r .. - (nnode.query and http.build_querystring(k.query) or "") - local grandchildren = disp.node_childs(nnode) - - if #grandchildren > 0 then - %> - <li class="slide"> - <a class="menu" data-title="<%=pcdata(striptags(nnode.title))%>" href="#"><%=pcdata(striptags(translate(nnode.title)))%></a> - <%- submenu(category .. "/" .. r .. "/", nnode) %> - </li> - <% else %> - <li> - <a data-title="<%=pcdata(striptags(nnode.title))%>" href="<%=pcdata(href)%>"><%=pcdata(striptags(translate(nnode.title)))%></a> - </li> - <% - end - end - end - %> - </ul> + <% render_topmenu() %> </div> - <div class="main-right"> + <div class="main-right"> <div class="darkMask"></div> <div id="maincontent"> <div class="container"> @@ -234,5 +243,11 @@ <a href="<%=pcdata(luci.dispatcher.build_url("admin/system/admin"))%>"><%:Go to password configuration...%></a> </div> <%- end -%> - <% if category then subtree("/" .. category .. "/", cattree) end %> - + <% if category then render_tabmenu(category, cattree) end %> + + <noscript> + <div class="alert-message warning"> + <strong><%:JavaScript required!%></strong><br /> + <%:You must enable JavaScript in your browser or LuCI will not work properly.%> + </div> + </noscript> diff --git a/themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm b/themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm index 505e64b958..ae348f3856 100644 --- a/themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm +++ b/themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm @@ -179,8 +179,8 @@ <div id="maincontent"> <noscript> <div class="errorbox"> - <strong><%:Java Script required!%></strong><br /> - <%:You must enable Java Script in your browser or LuCI will not work properly.%> + <strong><%:JavaScript required!%></strong><br /> + <%:You must enable JavaScript in your browser or LuCI will not work properly.%> </div> </noscript> |