[17.01] luci-app-adblock: release 3.4.3 1563/head
authorDirk Brenken <dev@brenken.org>
Fri, 19 Jan 2018 09:30:42 +0000 (10:30 +0100)
committerDirk Brenken <dev@brenken.org>
Fri, 19 Jan 2018 09:33:01 +0000 (10:33 +0100)
* bump adblock version in stable tree

Signed-off-by: Dirk Brenken <dev@brenken.org>
17 files changed:
applications/luci-app-adblock/luasrc/controller/adblock.lua
applications/luci-app-adblock/luasrc/model/cbi/adblock/blacklist_tab.lua
applications/luci-app-adblock/luasrc/model/cbi/adblock/configuration_tab.lua
applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua
applications/luci-app-adblock/luasrc/model/cbi/adblock/whitelist_tab.lua
applications/luci-app-adblock/luasrc/view/adblock/blocklist.htm [new file with mode: 0644]
applications/luci-app-adblock/luasrc/view/adblock/config_css.htm
applications/luci-app-adblock/luasrc/view/adblock/logread.htm
applications/luci-app-adblock/luasrc/view/adblock/runtime.htm
applications/luci-app-adblock/po/it/adblock.po [new file with mode: 0644]
applications/luci-app-adblock/po/ja/adblock.po
applications/luci-app-adblock/po/pt-br/adblock.po
applications/luci-app-adblock/po/ru/adblock.po [new file with mode: 0644]
applications/luci-app-adblock/po/sv/adblock.po
applications/luci-app-adblock/po/templates/adblock.pot
applications/luci-app-adblock/po/zh-cn/adblock.po
applications/luci-app-adblock/po/zh-tw/adblock.po [new file with mode: 0644]

index b37fcd8..0cfbb5f 100644 (file)
@@ -1,35 +1,37 @@
--- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- Copyright 2017-2018 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")
+local fs    = require("nixio.fs")
+local util  = require("luci.util")
+local templ = 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"), _("Overview"), 10).leaf = true
+       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", "query"}, template("adblock/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
+       local logfile
 
-function query()
-       template.render("adblock/query", {title = i18n.translate("Adblock Domain Query")})
+       if nixio.fs.access("/var/log/messages") then
+               logfile = util.trim(util.exec("cat /var/log/messages | grep -F 'adblock-'"))
+       else
+               logfile = util.trim(util.exec("logread -e 'adblock-'"))
+       end
+       templ.render("adblock/logread", {title = i18n.translate("Adblock Logfile"), content = logfile})
 end
 
 function queryData(domain)
index d540c77..ef70100 100644 (file)
@@ -7,12 +7,25 @@ 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 = 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 (&gt; 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.submit = translate("Save")
 m.reset = false
 
 s = m:section(SimpleSection, nil,
index 1b83c94..1d89485 100644 (file)
@@ -7,11 +7,14 @@ 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.submit = translate("Save")
 m.reset = false
 
 s = m:section(SimpleSection, nil,
index d2740f4..476d8ec 100644 (file)
--- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- Copyright 2017-2018 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 fs       = require("nixio.fs")
+local uci      = require("luci.model.uci").cursor()
+local sys      = require("luci.sys")
+local util     = require("luci.util")
+local dump     = util.ubus("network.interface", "dump", {})
+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")
+
+if not uci:get("adblock", "extra") then
+       m = SimpleForm("", nil, translate("Please update your adblock config file to use this package.<br />")
+       .. translatef("During opkg package installation use the '--force-maintainer' option to overwrite the pre-existing config file or download a fresh default config from "
+       .. "<a href=\"%s\" target=\"_blank\">"
+       .. "here</a>", "https://raw.githubusercontent.com/openwrt/packages/master/net/adblock/files/adblock.conf"))
+       m.submit = false
+       m.reset = false
+       return m
+end
 
 m = Map("adblock", translate("Adblock"),
        translate("Configuration of the adblock package to block ad/abuse domains by using DNS. ")
-       .. translate("For further information ")
-       .. [[<a href="https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md" target="_blank">]]
-       .. translate("see online documentation")
-       .. [[</a>]]
-       .. translate("."))
-m.reset = false
+       .. translatef("For further information "
+       .. "<a href=\"%s\" target=\"_blank\">"
+       .. "check the 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
+local parse = json.parse(fs.readfile(adbinput) or "")
+if parse then
+       status  = parse.data.adblock_status
+       version = parse.data.adblock_version
+       domains = parse.data.overall_domains
+       fetch   = parse.data.fetch_utility
+       backend = parse.data.dns_backend
+       rundate = parse.data.last_rundate
+end
+
+o1 = s:option(Flag, "adb_enabled", translate("Enable Adblock"))
+o1.default = o1.disabled
 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 = s:option(Button, "", translate("Suspend / Resume Adblock"))
+if parse and status == "enabled" then
+       btn.inputtitle = translate("Suspend")
+       btn.inputstyle = "reset"
        btn.disabled = false
        function btn.write()
-               luci.sys.call("/etc/init.d/adblock resume >/dev/null 2>&1")
+               luci.sys.call("/etc/init.d/adblock suspend >/dev/null 2>&1")
+               luci.http.redirect(luci.dispatcher.build_url("admin", "services", "adblock"))
        end
-else
-       btn.inputtitle = translate("Suspend adblock")
-       btn.inputstyle = "reset"
+elseif parse and status == "paused" then
+       btn.inputtitle = translate("Resume")
+       btn.inputstyle = "apply"
        btn.disabled = false
        function btn.write()
-               luci.sys.call("/etc/init.d/adblock suspend >/dev/null 2>&1")
+               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("-------")
+       btn.inputstyle = "button"
+       btn.disabled = true
 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
+o2 = s:option(ListValue, "adb_dns", translate("DNS Backend (DNS Directory)"),
+       translate("List of supported DNS backends with their default list export directory.<br />")
+       .. translate("To overwrite the default path use the 'DNS Directory' option in the extra section below."))
+o2:value("dnsmasq", "dnsmasq (/tmp)")
+o2:value("unbound", "unbound (/var/lib/unbound)")
+o2:value("named", "named (/var/lib/bind)")
+o2:value("kresd", "kresd (/etc/kresd)")
+o2:value("dnscrypt-proxy","dnscrypt-proxy (/tmp)")
+o2.default = "dnsmasq (/tmp)"
+o2.rmempty = false
 
-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 = s:option(ListValue, "adb_fetchutil", translate("Download Utility"),
+translate("List of supported and fully pre-configured download utilities."))
+o3:value("uclient-fetch")
+o3:value("wget")
+o3:value("curl")
+o3:value("aria2c")
+o3:value("wget-nossl", "wget-nossl (noSSL)")
+o3:value("busybox", "wget-busybox (noSSL)")
+o3.default = "uclient-fetch"
 o3.rmempty = false
 
-o4 = s:option(Flag, "adb_debug", translate("Enable verbose debug logging"))
-o4.default = o4.disabled
+o4 = s:option(ListValue, "adb_trigger", translate("Startup Trigger"),
+       translate("List of available network interfaces. Usually the startup will be triggered by the 'wan' interface.<br />")
+       .. translate("Choose 'none' to disable automatic startups, 'timed' to use a classic timeout (default 30 sec.) or select another trigger interface."))
+o4:value("none")
+o4:value("timed")
+if dump then
+       local i, v
+       for i, v in ipairs(dump.interface) do
+               if v.interface ~= "loopback" then
+                       o4:value(v.interface)
+               end
+       end
+end
 o4.rmempty = false
 
 -- Runtime information
 
-ds = s:option(DummyValue, "_dummy", translate("Runtime information"))
-ds.template = "cbi/nullsection"
+ds = m:section(NamedSection, "global", "adblock", translate("Runtime Information"))
 
-dv1 = s:option(DummyValue, "status", translate("Status"))
+dv1 = ds:option(DummyValue, "", translate("Adblock 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")
+       if status == "error" then
+               dv1.value = translate("error")
+       elseif status == "disabled" then
+               dv1.value = translate("disabled")
+       elseif status == "paused" then
+               dv1.value = translate("paused")
+       elseif status == "running" then
+               dv1.value = translate("running")
+       else
+               dv1.value = translate("enabled")
+       end
 end
-dv2 = s:option(DummyValue, "adblock_version", translate("Adblock version"))
+
+dv2 = ds:option(DummyValue, "", translate("Adblock Version"))
 dv2.template = "adblock/runtime"
-if parse ~= nil then
-       dv2.value = parse.data.adblock_version or translate("n/a")
-else
+if parse == nil then
        dv2.value = translate("n/a")
+else
+       dv2.value = version
 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 = ds:option(DummyValue, "", translate("Download Utility (SSL Library)"),
+       translate("For SSL protected blocklist sources you need a suitable SSL library, e.g. 'libustream-ssl' or 'built-in'."))
 dv3.template = "adblock/runtime"
-if parse ~= nil then
-       dv3.value = parse.data.fetch_info or translate("n/a")
-else
+if parse == nil then
        dv3.value = translate("n/a")
+else
+       dv3.value = fetch
 end
 
-dv4 = s:option(DummyValue, "dns_backend", translate("DNS backend"))
+dv4 = ds:option(DummyValue, "", translate("DNS Backend (DNS Directory)"))
 dv4.template = "adblock/runtime"
-if parse ~= nil then
-       dv4.value = parse.data.dns_backend or translate("n/a")
-else
+if parse == nil then
        dv4.value = translate("n/a")
+else
+       dv4.value = backend
 end
 
-dv5 = s:option(DummyValue, "blocked_domains", translate("Blocked domains (overall)"))
+dv5 = ds:option(DummyValue, "", translate("Overall Domains"))
 dv5.template = "adblock/runtime"
-if parse ~= nil then
-       dv5.value = parse.data.blocked_domains or translate("n/a")
-else
+if parse == nil then
        dv5.value = translate("n/a")
+else
+       dv5.value = domains
 end
 
-dv6 = s:option(DummyValue, "last_rundate", translate("Last rundate"))
+dv6 = ds:option(DummyValue, "", translate("Last Run"))
 dv6.template = "adblock/runtime"
-if parse ~= nil then
-       dv6.value = parse.data.last_rundate or translate("n/a")
-else
+if parse == nil then
        dv6.value = translate("n/a")
+else
+       dv6.value = rundate
 end
 
 -- Blocklist table
 
-bl = m:section(TypedSection, "source", translate("Blocklist sources"),
+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"
+       .. translate("List URLs and Shallalist category selections are configurable in the 'Advanced' section.<br />")
+       .. translate("Caution: To prevent OOM exceptions on low memory devices with less than 64 MB free RAM, please do not select more than five blocklist sources!"))
+bl.template = "adblock/blocklist"
 
 name = bl:option(Flag, "enabled", translate("Enabled"))
 name.rmempty = false
@@ -135,30 +191,83 @@ function ssl.cfgvalue(self, section)
                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"),
+e = m:section(NamedSection, "extra", "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 = e:option(Flag, "adb_debug", translate("Verbose Debug Logging"),
+       translate("Enable verbose debug logging in case of any processing error."))
 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 (&lt; 64 MB RAM)"))
+e2 = e:option(Flag, "adb_forcedns", translate("Force Local DNS"),
+       translate("Redirect all DNS queries from 'lan' zone to the local resolver."))
 e2.default = e2.disabled
 e2.rmempty = false
 
-e3 = e:option(Flag, "adb_backup", translate("Enable blocklist backup"))
+e3 = e:option(Flag, "adb_forcesrt", translate("Force Overall Sort"),
+       translate("Enable memory intense overall sort / duplicate removal on low memory devices (&lt; 64 MB free RAM)"))
 e3.default = e3.disabled
 e3.rmempty = false
 
-e4 = e:option(Value, "adb_backupdir", translate("Backup directory"))
-e4.datatype = "directory"
+e4 = e:option(Flag, "adb_backup", translate("Enable Blocklist Backup"),
+       translate("Create compressed blocklist backups, they will be used in case of download errors or during startup in backup mode."))
+e4.default = e4.disabled
 e4.rmempty = false
 
+e5 = e:option(Value, "adb_backupdir", translate("Backup Directory"),
+       translate("Target directory for adblock backups. Please use only non-volatile disks, e.g. an external usb stick."))
+e5:depends("adb_backup", 1)
+e5.datatype = "directory"
+e5.default = "/mnt"
+e5.rmempty = true
+
+e6 = e:option(Flag, "adb_backup_mode", translate("Backup Mode"),
+       translate("Do not automatically update blocklists during startup, use blocklist backups instead."))
+e6:depends("adb_backup", 1)
+e6.default = e6.disabled
+e6.rmempty = true
+
+e7 = e:option(Flag, "adb_whitelist_mode", translate("Whitelist Mode"),
+       translate("Block access to all domains except those explicitly listed in the whitelist file."))
+e7.default = e7.disabled
+e7.rmempty = true
+
+e8 = e:option(Flag, "adb_dnsflush", translate("Flush DNS Cache"),
+       translate("Flush DNS Cache after adblock processing."))
+e8.default = e8.disabled
+e8.rmempty = true
+
+e9 = e:option(Flag, "adb_notify", translate("Email Notification"),
+       translate("Send notification emails in case of a processing error or if domain count is &le; 0.<br />")
+       .. translate("Please note: this needs additional 'mstmp' installation and setup (see readme)."))
+e9.default = e9.disabled
+e9.rmempty = true
+
+e10 = e:option(Value, "adb_notifycnt", translate("Email Notification Count"),
+       translate("Raise the minimum email notification count, to get emails if the overall count is less or equal to the given limit (default 0),<br />")
+       .. translate("e.g. to receive an email notification with every adblock update set this value to 150000."))
+e10.default = 0
+e10.datatype = "min(0)"
+e10.optional = true
+
+e11 = e:option(Value, "adb_dnsdir", translate("DNS Directory"),
+       translate("Target directory for the generated blocklist 'adb_list.overall'."))
+e11.datatype = "directory"
+e11.optional = true
+
+e12 = e:option(Value, "adb_whitelist", translate("Whitelist File"),
+       translate("Full path to the whitelist file."))
+e12.datatype = "file"
+e12.default = "/etc/adblock/adblock.whitelist"
+e12.optional = true
+
+e13 = e:option(Value, "adb_triggerdelay", translate("Trigger Delay"),
+       translate("Additional trigger delay in seconds before adblock processing begins."))
+e13.datatype = "range(1,60)"
+e13.optional = true
+
 return m
index 23c99a9..a3659eb 100644 (file)
@@ -8,11 +8,23 @@ local adbinput = uci.get("adblock", "global", "adb_whitelist") or "/etc/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
+
+if nixio.fs.stat(adbinput).size > 524288 then
+       m = SimpleForm("error", nil,
+       translate("The file size is too large for online editing in LuCI (&gt; 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.submit = translate("Save")
 m.reset = false
 
 s = m:section(SimpleSection, nil,
diff --git a/applications/luci-app-adblock/luasrc/view/adblock/blocklist.htm b/applications/luci-app-adblock/luasrc/view/adblock/blocklist.htm
new file mode 100644 (file)
index 0000000..aae6407
--- /dev/null
@@ -0,0 +1,80 @@
+<%#
+Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
+This is free software, licensed under the Apache License, Version 2.0
+-%>
+
+<%-
+local rowcnt = 1
+function rowstyle()
+       rowcnt = rowcnt + 1
+       return (rowcnt % 2) + 1
+end
+
+function width(o)
+       if o.width then
+               if type(o.width) == 'number' then
+                       return ' style="width:%dpx"' % o.width
+               end
+               return ' style="width:%s"' % o.width
+       end
+       return ''
+end
+-%>
+
+<style type="text/css">
+<!--
+.cbi-section-table-cell,
+.cbi-section-table-row
+{
+       text-align:left;
+       margin-right:auto;
+       margin-left:0px;
+}
+-->
+</style>
+
+<fieldset class="cbi-section" id="cbi-<%=self.config%>-<%=self.sectiontype%>">
+       <% if self.title then -%>
+               <legend><%=self.title%></legend>
+       <%- end %>
+       <div class="cbi-section-descr"><%=self.description%></div>
+       <div class="cbi-section-node">
+               <%- local count = 0 -%>
+               <table class="cbi-section-table">
+                       <tr class="cbi-section-table-titles">
+                       <%- if self.sectionhead then -%>
+                               <th class="cbi-section-table-cell"><%=self.sectionhead%></th>
+                       <%- else -%>
+                               <th>&#160;</th>
+                       <%- end -%>
+                       <%- for i, k in pairs(self.children) do -%>
+                               <th class="cbi-section-table-cell"<%=width(k)%>>
+                                       <%-=k.title-%>
+                               </th>
+                       <%- count = count + 1; end; -%>
+                       </tr>
+                       <%- local isempty = true
+                               for i, k in ipairs(self:cfgsections()) do
+                                       section = k
+                                       isempty = false
+                                       scope = { valueheader = "cbi/cell_valueheader", valuefooter = "cbi/cell_valuefooter" }
+                       -%>
+                       <tr class="cbi-section-table-row" id="cbi-<%=self.config%>-<%=section%>">
+                                       <th><%=k%></th>
+                               <%-
+                                       for k, node in ipairs(self.children) do
+                                               if not node.optional then
+                                                       node:render(section, scope or {})
+                                               end
+                                       end
+                               -%>
+                       </tr>
+                       <%- end -%>
+                       <%- if isempty then -%>
+                       <tr class="cbi-section-table-row">
+                               <td colspan="<%=count%>"><em><br /><%:This section contains no values yet%></em></td>
+                       </tr>
+                       <%- end -%>
+               </table>
+       </div>
+</fieldset>
index 53493a1..2233a15 100644 (file)
@@ -6,5 +6,8 @@
                font-size: 12px;
                font-family: monospace;
                resize: none;
+               white-space: pre;
+               overflow-wrap: normal;
+               overflow-x: scroll;
        }
 </style>
index 5e25a54..082ec80 100644 (file)
@@ -1,5 +1,5 @@
 <%#
-Copyright 2017 Dirk Brenken (dev@brenken.org)
+Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
 This is free software, licensed under the Apache License, Version 2.0
 -%>
 
@@ -11,4 +11,10 @@ This is free software, licensed under the Apache License, Version 2.0
                <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>
+
+<script type="text/javascript">
+       var textarea = document.getElementById('logread_id');
+       textarea.scrollTop = textarea.scrollHeight;
+</script>
+
 <%+footer%>
index ee3a455..e7827b5 100644 (file)
@@ -1,10 +1,10 @@
 <%#
-Copyright 2017 Dirk Brenken (dev@brenken.org)
+Copyright 2017-2018 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" />
+<input name="runtime" id="runtime" type="text" class="cbi-input-text" style="outline:none;border:none;box-shadow:none;background:transparent;color:#0069d6;font-weight:bold;line-height:30px;height:30px;" value="<%=self:cfgvalue(section)%>" disabled="disabled" />
 
 <%+cbi/valuefooter%>
diff --git a/applications/luci-app-adblock/po/it/adblock.po b/applications/luci-app-adblock/po/it/adblock.po
new file mode 100644 (file)
index 0000000..b9f772a
--- /dev/null
@@ -0,0 +1,445 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 17/09/2017\n"
+"Last-Translator: Bubu83 <bubu83@gmail.com>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.3\n"
+"Language: it\n"
+
+msgid "-------"
+msgstr ""
+
+msgid "Adblock"
+msgstr "Adblock"
+
+msgid "Adblock Logfile"
+msgstr "Registro Adblock"
+
+msgid "Adblock Status"
+msgstr "Status Adblock"
+
+msgid "Adblock Version"
+msgstr "Versione Adblock"
+
+msgid "Additional trigger delay in seconds before adblock processing begins."
+msgstr "Tempo addizionale in secondi di attesa prima che adblock si avvii."
+
+msgid "Advanced"
+msgstr "Avanzato"
+
+msgid "Available blocklist sources."
+msgstr "Fonti lista di blocco disponibili."
+
+msgid "Backup Directory"
+msgstr "Directory del Backup"
+
+msgid "Backup Mode"
+msgstr ""
+
+msgid ""
+"Block access to all domains except those explicitly listed in the whitelist "
+"file."
+msgstr ""
+
+msgid "Blocklist Sources"
+msgstr "Fonti lista di Blocco"
+
+msgid ""
+"Caution: To prevent OOM exceptions on low memory devices with less than 64 "
+"MB free RAM, please do not select more than five blocklist sources!"
+msgstr ""
+
+msgid ""
+"Choose 'none' to disable automatic startups, 'timed' to use a classic "
+"timeout (default 30 sec.) or select another trigger interface."
+msgstr ""
+"Scegli 'none' per disabilitare l'avvio automatico, 'timed' per usare un "
+"classico timeout (default 30 sec.) o seleziona un'altra interfaccia di avvio."
+
+msgid "Collecting data..."
+msgstr "Raccogliendo dati..."
+
+msgid ""
+"Configuration of the adblock package to block ad/abuse domains by using DNS."
+msgstr ""
+"Configurazione del pacchetto adblock per bloccare domini pubblicità/abuso "
+"usando i DNS."
+
+msgid ""
+"Create compressed blocklist backups, they will be used in case of download "
+"errors or during startup in backup mode."
+msgstr ""
+
+msgid "DNS Backend (DNS Directory)"
+msgstr ""
+
+msgid "DNS Directory"
+msgstr "Directory DNS"
+
+msgid "Description"
+msgstr "Descrizione"
+
+msgid ""
+"Do not automatically update blocklists during startup, use blocklist backups "
+"instead."
+msgstr ""
+"Non aggiornare automaticamente le liste durante l'avvio, usa invece i backup "
+"della lista di blocco."
+
+msgid "Download Utility"
+msgstr ""
+
+msgid "Download Utility (SSL Library)"
+msgstr ""
+
+msgid ""
+"During opkg package installation use the '--force-maintainer' option to "
+"overwrite the pre-existing config file or download a fresh default config "
+"from <a href=\"%s\" target=\"_blank\">here</a>"
+msgstr ""
+
+msgid "Edit Blacklist"
+msgstr "Modifica Lista Nera"
+
+msgid "Edit Configuration"
+msgstr "Modifica Configurazione"
+
+msgid "Edit Whitelist"
+msgstr "Modifica Lista Bianca"
+
+msgid "Email Notification"
+msgstr ""
+
+msgid "Email Notification Count"
+msgstr ""
+
+msgid "Enable Adblock"
+msgstr "Attiva Adblock"
+
+msgid "Enable Blocklist Backup"
+msgstr "Attiva Backup Lista di Blocco"
+
+msgid ""
+"Enable memory intense overall sort / duplicate removal on low memory devices "
+"(&lt; 64 MB free RAM)"
+msgstr ""
+
+msgid "Enable verbose debug logging in case of any processing error."
+msgstr ""
+"Abilita il registro dettagliato in caso di qualsiasi errore di processo."
+
+msgid "Enabled"
+msgstr "Abilitato"
+
+msgid "Extra Options"
+msgstr "Opzioni Extra"
+
+msgid "Flush DNS Cache"
+msgstr ""
+
+msgid "Flush DNS Cache after adblock processing."
+msgstr ""
+
+msgid ""
+"For SSL protected blocklist sources you need a suitable SSL library, e.g. "
+"'libustream-ssl' or 'built-in'."
+msgstr ""
+
+msgid ""
+"For further information <a href=\"%s\" target=\"_blank\">check the online "
+"documentation</a>"
+msgstr ""
+
+msgid "Force Local DNS"
+msgstr "Forza DNS Locale"
+
+msgid "Force Overall Sort"
+msgstr "Forza Ordinamento Globale"
+
+msgid "Full path to the whitelist file."
+msgstr ""
+
+msgid "Input file not found, please check your configuration."
+msgstr "File di input non trovato, per favore controlla la tua configurazione."
+
+msgid "Invalid domain specified!"
+msgstr "Dominio invalido specificato!"
+
+msgid "Last Run"
+msgstr "Ultimo Avvio"
+
+msgid ""
+"List URLs and Shallalist category selections are configurable in the "
+"'Advanced' section.<br />"
+msgstr ""
+"Le selezioni degli URL delle liste e categorie Shallalist sono configurabili "
+"nella sezione 'Avanzato'.<br />"
+
+msgid ""
+"List of available network interfaces. Usually the startup will be triggered "
+"by the 'wan' interface.<br />"
+msgstr ""
+
+msgid ""
+"List of supported DNS backends with their default list export directory.<br /"
+">"
+msgstr ""
+"Lista dei backend DNS supportati con la loro directory di default di esporto "
+"della lista.<br />"
+
+msgid "List of supported and fully pre-configured download utilities."
+msgstr ""
+
+msgid "Loading"
+msgstr "Caricando"
+
+msgid "No"
+msgstr "No"
+
+msgid ""
+"Options for further tweaking in case the defaults are not suitable for you."
+msgstr ""
+"Opzioni per ulteriori modifiche in caso che quelle di default non ti sono "
+"adatte."
+
+msgid "Overall Domains"
+msgstr ""
+
+msgid "Overview"
+msgstr "Riassunto"
+
+msgid ""
+"Please add only one domain per line. Comments introduced with '#' are "
+"allowed - ip addresses, wildcards and regex are not."
+msgstr ""
+"Per favore aggiungi solo un dominio per linea. I commenti introdotti con '#' "
+"sono consentiti - indirizzi ip , jolly e regex non lo sono."
+
+msgid "Please edit this file directly in a terminal session."
+msgstr ""
+"Per favore modifica questo file direttamente in una sessione al terminale."
+
+msgid ""
+"Please note: this needs additional 'mstmp' installation and setup (see "
+"readme)."
+msgstr ""
+
+msgid "Please update your adblock config file to use this package.<br />"
+msgstr ""
+
+msgid "Query"
+msgstr "Interrogazione"
+
+msgid "Query domains"
+msgstr "Interrogazione domini"
+
+msgid ""
+"Raise the minimum email notification count, to get emails if the overall "
+"count is less or equal to the given limit (default 0),<br />"
+msgstr ""
+
+msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
+msgstr ""
+"Reindirizza tutte le richieste DNS dalla zona 'lan' al risolvitore locale."
+
+msgid "Resume"
+msgstr "Riprendi"
+
+msgid "Runtime Information"
+msgstr "Informazione di Runtime"
+
+msgid "SSL req."
+msgstr "Ric. SSL"
+
+msgid "Save"
+msgstr "Salva"
+
+msgid ""
+"Send notification emails in case of a processing error or if domain count is "
+"&le; 0.<br />"
+msgstr ""
+
+msgid "Startup Trigger"
+msgstr "Innesco d'Avvio"
+
+msgid "Suspend"
+msgstr "Sospendi"
+
+msgid "Suspend / Resume Adblock"
+msgstr "Sospendi / Riprendi Adblock"
+
+msgid ""
+"Target directory for adblock backups. Please use only non-volatile disks, e."
+"g. an external usb stick."
+msgstr ""
+
+msgid "Target directory for the generated blocklist 'adb_list.overall'."
+msgstr "Directory per la lista di blocco generata 'adb_list.overall'."
+
+msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
+msgstr ""
+"La grandezza del file è troppo grande per modificarla online in LuCI (&gt; "
+"512 KB)."
+
+msgid ""
+"This form allows you to modify the content of the adblock blacklist (%s)."
+"<br />"
+msgstr ""
+"Questo form ti consente di modificare il contenuto della lista nera di "
+"adblock (%s).<br />"
+
+msgid ""
+"This form allows you to modify the content of the adblock whitelist (%s)."
+"<br />"
+msgstr ""
+"Questo form ti consente di modificare il contenuto della lista bianca di "
+"adblock (%s).<br />"
+
+msgid ""
+"This form allows you to modify the content of the main adblock configuration "
+"file (/etc/config/adblock)."
+msgstr ""
+"Questo form ti consente di modificare il contenuto del file principale di "
+"configurazione di adblock (/etc/config/adblock)."
+
+msgid ""
+"This form allows you to query active block lists for certain domains, e.g. "
+"for whitelisting."
+msgstr ""
+"Questo form ti consente di interrogare le liste di blocco attive per "
+"determinati domini, p.e. per metterli nella lista bianca."
+
+msgid ""
+"This form shows the syslog output, pre-filtered for adblock related messages "
+"only."
+msgstr ""
+"Questo form mostra l'output del registro, prefiltrato per messaggi relativi "
+"solo ad adblock."
+
+msgid "This section contains no values yet"
+msgstr ""
+
+msgid ""
+"To overwrite the default path use the 'DNS Directory' option in the extra "
+"section below."
+msgstr ""
+"Per sovrascrivere il percorso di default usa l'opzione 'Directory DNS' nella "
+"sezione aggiuntiva sotto."
+
+msgid "Trigger Delay"
+msgstr "Ritardo Innesco"
+
+msgid "Verbose Debug Logging"
+msgstr "Registro di Debug Dettagliato"
+
+msgid "View Logfile"
+msgstr "Vedi Registro"
+
+msgid "Waiting for command to complete..."
+msgstr "Aspettando che il comando venga completato..."
+
+msgid "Whitelist File"
+msgstr ""
+
+msgid "Whitelist Mode"
+msgstr ""
+
+msgid "Yes"
+msgstr "Sì"
+
+msgid "disabled"
+msgstr "disabilitato"
+
+msgid ""
+"e.g. to receive an email notification with every adblock update set this "
+"value to 150000."
+msgstr ""
+
+msgid "enabled"
+msgstr "abilitato"
+
+msgid "error"
+msgstr "errore"
+
+msgid "n/a"
+msgstr "n/d"
+
+msgid "paused"
+msgstr "in pausa"
+
+msgid "running"
+msgstr ""
+
+#~ msgid ""
+#~ "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
+#~ "'libustream-ssl' or the wget 'built-in'."
+#~ msgstr ""
+#~ "Per le fonti delle liste protette da SSL hai bisogno di una libreria SSL "
+#~ "adatta, p.e. 'libustream-ssl' o wget 'built-in'."
+
+#~ msgid ""
+#~ "Caution: Please don't select big lists or many lists at once on low "
+#~ "memory devices to prevent OOM exceptions!"
+#~ msgstr ""
+#~ "Attenzione: Per favore non selezionare grandi liste o molte liste alla "
+#~ "volta su dispositivi con poca memoria per prevenire errori OOM!"
+
+#~ msgid ""
+#~ "Create compressed blocklist backups, they will be used in case of "
+#~ "download errors or during startup in manual mode."
+#~ msgstr ""
+#~ "Crea i backup compressi delle liste di blocco, saranno usati in caso di "
+#~ "errori di download o durante l'avvio in modalità manuale."
+
+#~ msgid ""
+#~ "Enable memory intense overall sort / duplicate removal on low memory "
+#~ "devices (&lt; 64 MB RAM)"
+#~ msgstr ""
+#~ "Attiva l'ordinamento globale / rimozione duplicati stressante per la "
+#~ "memoria su dispositivi con poca memoria (&lt; 64 MB RAM)"
+
+#~ msgid ""
+#~ "For further information <a href=\"%s\" target=\"_blank\">see online "
+#~ "documentation</a>"
+#~ msgstr ""
+#~ "Per ulteriori informazioni <a href=\"%s\" target=\"_blank\">vedi "
+#~ "documentazione online</a>"
+
+#~ msgid ""
+#~ "In OPKG use the '--force-maintainer' option to overwrite the pre-existing "
+#~ "config file or download a fresh default config from <a href=\"%s\" target="
+#~ "\"_blank\">here</a>"
+#~ msgstr ""
+#~ "In OPKG usa l'opzione '--force-maintainer' per sovrascrivere il pre-"
+#~ "esistente file di configurazione o scarica una nuova configurazione di "
+#~ "default da <a href=\"%s\" target=\"_blank\">qui</a>"
+
+#~ msgid ""
+#~ "List of available network interfaces. By default the startup will be "
+#~ "triggered by the 'wan' interface.<br />"
+#~ msgstr ""
+#~ "Lista delle interfacce di rete disponibili. Per default l'avvio sarà "
+#~ "innescato dall'interfaccia 'wan'.<br />"
+
+#~ msgid "Manual / Backup mode"
+#~ msgstr "Modalità Manuale / Backup"
+
+#~ msgid "Overall Blocked Domains"
+#~ msgstr "Totale Domini Bloccati"
+
+#~ msgid "Please update your adblock config file to use this package."
+#~ msgstr ""
+#~ "Per favore aggiorna il tuo file configurazione di adblock per usare "
+#~ "questo pacchetto."
+
+#~ msgid ""
+#~ "Target directory for adblock backups. Please use only non-volatile disks, "
+#~ "no ram/tmpfs drives."
+#~ msgstr ""
+#~ "Directory per i backup di adblock. Per favore usa solo dischi non "
+#~ "volatili, non dischi ram/tmpfs."
index 3ead3af..a89a81e 100644 (file)
@@ -8,22 +8,22 @@ msgstr ""
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 2.0.1\n"
+"X-Generator: Poedit 2.0.5\n"
 "Language: ja\n"
 
-msgid "."
-msgstr ""
+msgid "-------"
+msgstr "(利用不可)"
 
 msgid "Adblock"
 msgstr "Adblock"
 
-msgid "Adblock Domain Query"
-msgstr "Adblock ドメイン検索"
-
 msgid "Adblock Logfile"
 msgstr "Adblock ログファイル"
 
-msgid "Adblock version"
+msgid "Adblock Status"
+msgstr "Adblock ステータス"
+
+msgid "Adblock Version"
 msgstr "Adblock バージョン"
 
 msgid "Additional trigger delay in seconds before adblock processing begins."
@@ -35,15 +35,37 @@ msgstr "詳細設定"
 msgid "Available blocklist sources."
 msgstr "利用可能なブロックリスト提供元です。"
 
-msgid "Backup directory"
+msgid "Backup Directory"
 msgstr "バックアップ先 ディレクトリ"
 
-msgid "Blocked domains (overall)"
-msgstr "ブロック済みドメイン(全体)"
+msgid "Backup Mode"
+msgstr "バックアップ モード"
+
+msgid ""
+"Block access to all domains except those explicitly listed in the whitelist "
+"file."
+msgstr ""
+"ホワイトリストに列記されていない全ドメインへのアクセスをブロックします。"
 
-msgid "Blocklist sources"
+msgid "Blocklist Sources"
 msgstr "ブロックリスト提供元"
 
+msgid ""
+"Caution: To prevent OOM exceptions on low memory devices with less than 64 "
+"MB free RAM, please do not select more than five blocklist sources!"
+msgstr ""
+"警告: RAM の空き容量が 64MB に満たないメモリー容量の小さいデバイスでは、 "
+"OutOfMemory (OOM) 例外を防ぐために、5個よりも多くのリストを選択しないようにし"
+"てください。"
+
+msgid ""
+"Choose 'none' to disable automatic startups, 'timed' to use a classic "
+"timeout (default 30 sec.) or select another trigger interface."
+msgstr ""
+"自動スタートアップを無効にするには 'none' を、従来のタイムアウト(既定値: 30"
+"秒)を使用するには 'timed' を選択してください。または、他のトリガとなるイン"
+"ターフェースを選択してください。"
+
 msgid "Collecting data..."
 msgstr "データ収集中です..."
 
@@ -53,15 +75,45 @@ msgstr ""
 "DNS の利用によって広告/不正ドメインをブロックする、Adblock パッケージの設定で"
 "す。"
 
-msgid "DNS backend"
-msgstr "DNS バックエンド"
+msgid ""
+"Create compressed blocklist backups, they will be used in case of download "
+"errors or during startup in backup mode."
+msgstr ""
+"圧縮されたブロックリストのバックアップを作成します。これは、リストのダウン"
+"ロードがエラーの場合、またはバックアップ モードでサービスを起動した場合に使用"
+"されます。"
+
+msgid "DNS Backend (DNS Directory)"
+msgstr "DNS バックエンド(DNS ディレクトリ)"
+
+msgid "DNS Directory"
+msgstr "DNS ディレクトリ"
 
 msgid "Description"
 msgstr "説明"
 
+msgid ""
+"Do not automatically update blocklists during startup, use blocklist backups "
+"instead."
+msgstr ""
+"サービス起動時にブロックリストを自動的に更新せず、代わりにバックアップされた"
+"ブロックリストを使用します。"
+
+msgid "Download Utility"
+msgstr "ダウンロード ユーティリティ"
+
 msgid "Download Utility (SSL Library)"
 msgstr "ダウンロード ユーティリティ(SSL ライブラリ)"
 
+msgid ""
+"During opkg package installation use the '--force-maintainer' option to "
+"overwrite the pre-existing config file or download a fresh default config "
+"from <a href=\"%s\" target=\"_blank\">here</a>"
+msgstr ""
+"opkg でパッケージをインストールする際に '--force-maintainer' オプションを使用"
+"して既存の設定ファイルを上書きするか、 <a href=\"%s\" target=\"_blank\">ここ"
+"</a> からデフォルトの設定ファイルをダウンロードしてください。"
+
 msgid "Edit Blacklist"
 msgstr "ブラックリストの編集"
 
@@ -71,43 +123,63 @@ msgstr "設定の編集"
 msgid "Edit Whitelist"
 msgstr "ホワイトリストの編集"
 
-msgid "Enable adblock"
+msgid "Email Notification"
+msgstr "メール通知"
+
+msgid "Email Notification Count"
+msgstr "メール通知カウント"
+
+msgid "Enable Adblock"
 msgstr "Adblock の有効化"
 
-msgid "Enable blocklist backup"
+msgid "Enable Blocklist Backup"
 msgstr "ブロックリスト バックアップの有効化"
 
 msgid ""
 "Enable memory intense overall sort / duplicate removal on low memory devices "
-"(&lt; 64 MB RAM)"
+"(&lt; 64 MB free RAM)"
 msgstr ""
-"メモリー容量の少ないデバイス(RAM 64MB 未満)において、一時ファイル内の全体的"
-"なソート及び重複の除去を有効にします。"
+"メモリー容量の少ないデバイス(RAM 空き領域 64MB 未満)において、一時ファイル"
+"内の全体的なソート及び重複の除去を有効にします。"
 
-msgid "Enable verbose debug logging"
-msgstr "詳細なデバッグ ログの有効化"
+msgid "Enable verbose debug logging in case of any processing error."
+msgstr ""
+"何らかの処理エラーが発生した場合に、詳細なデバッグ ログを有効にします。"
 
 msgid "Enabled"
 msgstr "有効"
 
-msgid "Extra options"
-msgstr "拡張設定"
+msgid "Extra Options"
+msgstr "拡張オプション"
+
+msgid "Flush DNS Cache"
+msgstr "DNS キャッシュのクリア"
+
+msgid "Flush DNS Cache after adblock processing."
+msgstr "Adblock 処理の後に DNS キャッシュをクリアします。"
 
 msgid ""
 "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
-"'libustream-ssl' or the wget 'built-in'."
+"'libustream-ssl' or 'built-in'."
 msgstr ""
 "SSLで保護されているブロックリストの取得には、適切なSSL ライブラリが必要です。"
-"例: 'libustream-ssl' または wget 'ビルトイン'"
+"例: 'libustream-ssl' または 'built-in'"
 
-msgid "For further information"
-msgstr "詳細な情報は"
+msgid ""
+"For further information <a href=\"%s\" target=\"_blank\">check the online "
+"documentation</a>"
+msgstr ""
+"詳細な情報は <a href=\"%s\" target=\"_blank\">オンライン ドキュメント</a> を"
+"確認してください。"
+
+msgid "Force Local DNS"
+msgstr "ローカル DNS の強制"
 
 msgid "Force Overall Sort"
 msgstr "全体ソートの強制"
 
-msgid "Force local DNS"
-msgstr "ã\83­ã\83¼ã\82«ã\83« DNS ã\81®å¼·å\88"
+msgid "Full path to the whitelist file."
+msgstr "ã\83\9bã\83¯ã\82¤ã\83\88ã\83ªã\82¹ã\83\88 ã\83\95ã\82¡ã\82¤ã\83«ã\81¸ã\81®ã\83\95ã\83«ã\83\91ã\82¹ã\81§ã\81\99ã\80\82"
 
 msgid "Input file not found, please check your configuration."
 msgstr "入力ファイルが見つかりません。設定を確認してください。"
@@ -115,8 +187,32 @@ msgstr "入力ファイルが見つかりません。設定を確認してくだ
 msgid "Invalid domain specified!"
 msgstr "無効なドメインが指定されています!"
 
-msgid "Last rundate"
-msgstr "最終実行日時"
+msgid "Last Run"
+msgstr "最終実行"
+
+msgid ""
+"List URLs and Shallalist category selections are configurable in the "
+"'Advanced' section.<br />"
+msgstr ""
+"リストの URL 及び \"Shalla\" リストのカテゴリー設定は、'詳細設定' セクション"
+"で設定することができます。<br />"
+
+msgid ""
+"List of available network interfaces. Usually the startup will be triggered "
+"by the 'wan' interface.<br />"
+msgstr ""
+"利用可能なネットワーク インターフェースの一覧です。通常、 'wan' インター"
+"フェースによりスタートアップがトリガされます。<br />"
+
+msgid ""
+"List of supported DNS backends with their default list export directory.<br /"
+">"
+msgstr ""
+"サポートされる DNS バックエンドと、それぞれのデフォルトのリスト出力先ディレク"
+"トリのリストです<br />"
+
+msgid "List of supported and fully pre-configured download utilities."
+msgstr "サポートされ、かつ設定済のダウンロード ユーティリティの一覧です。"
 
 msgid "Loading"
 msgstr "読込中"
@@ -125,16 +221,12 @@ 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 "Overall Domains"
+msgstr "全体のドメイン"
+
 msgid "Overview"
 msgstr "概要"
 
@@ -146,43 +238,79 @@ msgstr ""
 "が、IP アドレスやワイルドカード、正規表現を設定値として使用することはできませ"
 "ん。"
 
+msgid "Please edit this file directly in a terminal session."
+msgstr "ターミナル セッションで直接このファイルを編集してください。"
+
+msgid ""
+"Please note: this needs additional 'mstmp' installation and setup (see "
+"readme)."
+msgstr ""
+"注意: これには、追加で 'mstmp' のインストールとセットアップが必要です"
+"(readme を参照)。"
+
+msgid "Please update your adblock config file to use this package.<br />"
+msgstr ""
+"このパッケージを使用するには、既存の Adblock 設定ファイルを更新してください。"
+"<br />"
+
 msgid "Query"
 msgstr "検索"
 
 msgid "Query domains"
 msgstr "ドメインの検索"
 
-msgid "Redirect all DNS queries to the local resolver."
-msgstr "全ての DNS クエリをローカル リゾルバにリダイレクトします。"
+msgid ""
+"Raise the minimum email notification count, to get emails if the overall "
+"count is less or equal to the given limit (default 0),<br />"
+msgstr ""
+"メール通知を行うドメイン カウントの下限を設定します。全体カウントが指定された"
+"値以下の場合、メールを受け取ります(規定値: 0)。<br />"
 
-msgid "Restrict interface trigger to certain interface(s)"
-msgstr "インターフェース トリガーを特定のインターフェースに限定する"
+msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
+msgstr ""
+"'lan' ゾーンからの全 DNS クエリを、ローカル リゾルバにリダイレクトします。"
 
-msgid "Resume adblock"
-msgstr "Adblock の再開"
+msgid "Resume"
+msgstr "再開"
 
-msgid "Runtime information"
+msgid "Runtime Information"
 msgstr "実行情報"
 
 msgid "SSL req."
 msgstr "SSL 必須"
 
+msgid "Save"
+msgstr "保存"
+
 msgid ""
-"Space separated list of interfaces that trigger adblock processing. To "
-"disable event driven (re-)starts remove all entries."
+"Send notification emails in case of a processing error or if domain count is "
+"&le; 0.<br />"
 msgstr ""
-"Adblock の処理のトリガーとなる、スペースで区切られたインターフェースのリスト"
-"です。処理を発生させるイベントを無効にするには、全てのエントリーを削除して空"
-"欄にします。"
+"処理エラーまたはドメイン カウントが0以下の場合、メールを送信します。<br />"
 
-msgid "Status"
-msgstr "ã\82¹ã\83\86ã\83¼ã\82¿ã\82¹"
+msgid "Startup Trigger"
+msgstr "ã\82¹ã\82¿ã\83¼ã\83\88ã\82¢ã\83\83ã\83\97 ã\83\88ã\83ªã\82¬"
 
-msgid "Suspend / Resume adblock"
-msgstr "Adblock の一時停止/再開"
+msgid "Suspend"
+msgstr "一時停止"
 
-msgid "Suspend adblock"
-msgstr "Adblock の一時停止"
+msgid "Suspend / Resume Adblock"
+msgstr "Adblock の一時停止 / 再開"
+
+msgid ""
+"Target directory for adblock backups. Please use only non-volatile disks, e."
+"g. an external usb stick."
+msgstr ""
+"Adblock バックアップの保存先ディレクトリです。 外部 USB フラッシュメモリなど"
+"の不揮発性ドライブのみを使用してください。"
+
+msgid "Target directory for the generated blocklist 'adb_list.overall'."
+msgstr "生成されたブロックリスト 'adb_list.overall' の保存先ディレクトリです。"
+
+msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
+msgstr ""
+"ファイル サイズが大きすぎる(512 KB超)ため、 LuCI 上でオンライン編集できませ"
+"ん。"
 
 msgid ""
 "This form allows you to modify the content of the adblock blacklist (%s)."
@@ -219,161 +347,73 @@ msgstr ""
 "このフォームには、システムログ内の 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 "see online documentation"
-msgstr "オンライン ドキュメントを確認してください"
-
-msgid "suspended"
-msgstr "一時停止中"
-
-#~ msgid ""
-#~ "For further information <a href=\"%s\" target=\"_blank\">see online "
-#~ "documentation</a>"
-#~ msgstr ""
-#~ "詳細な情報は<a href=\"%s\" target=\"_blank\">オンライン ドキュメント</a>を"
-#~ "確認してください。"
-
-#~ msgid "Please edit this file directly in a terminal session."
-#~ msgstr "ターミナル セッションで直接このファイルを編集してください。"
-
-#~ msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
-#~ msgstr ""
-#~ "ファイル サイズが大きすぎるため、 LuCI 上でオンライン編集できません(&gt; "
-#~ "512 KB)。"
-
-#~ 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 "This section contains no values yet"
+msgstr "このセクションには、まだ値がありません"
 
-#~ 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 ""
+"To overwrite the default path use the 'DNS Directory' option in the extra "
+"section below."
+msgstr ""
+"デフォルトのパスを上書きするには、下記拡張セクションの 'DNS ディレクトリ' オ"
+"プションを使用します。"
 
-#~ msgid "Global options"
-#~ msgstr "一般設定"
+msgid "Trigger Delay"
+msgstr "トリガ遅延"
 
-#~ msgid "Restrict reload trigger to certain interface(s)"
-#~ msgstr "リロードトリガを特定のインターフェースに限定する"
+msgid "Verbose Debug Logging"
+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 "View Logfile"
+msgstr "ログファイルを見る"
 
-#~ msgid "Whitelist file"
-#~ msgstr "ホワイトリスト ファイル"
+msgid "Waiting for command to complete..."
+msgstr "コマンド実行中です..."
 
-#~ msgid "see list details"
-#~ msgstr "リストの詳細を見る"
+msgid "Whitelist File"
+msgstr "ホワイトリスト ファイル"
 
-#~ msgid "Count"
-#~ msgstr "カウント"
+msgid "Whitelist Mode"
+msgstr "ホワイトリスト モード"
 
-#~ msgid "Do not write status info to flash"
-#~ msgstr "ステータス情報をフラッシュに書き込まない"
+msgid "Yes"
+msgstr "はい"
 
-#~ msgid "Last update of the blocklists"
-#~ msgstr "ブロックリストの最終更新日時"
+msgid "disabled"
+msgstr "無効"
 
-#~ msgid "List date/state"
-#~ msgstr "リスト日時/状態"
+msgid ""
+"e.g. to receive an email notification with every adblock update set this "
+"value to 150000."
+msgstr ""
+"例: Adblock のアップデート毎にメールを受け取るには、150000 に設定します。"
 
-#~ msgid "Name of the logical lan interface"
-#~ msgstr "論理LANインターフェース名"
+msgid "enabled"
+msgstr "有効"
 
-#~ msgid "Percentage of blocked packets (before last update, IPv4/IPv6)"
-#~ msgstr "ブロック済みパケットの割合(最終更新以前、IPv4/IPv6)"
+msgid "error"
+msgstr "エラー"
 
-#~ msgid "Port of the adblock uhttpd instance"
-#~ msgstr "adblock uhttpdインスタンスのポート"
+msgid "n/a"
+msgstr "利用不可"
 
-#~ msgid "Port of the adblock uhttpd instance for https links"
-#~ msgstr "httpsリンク用adblock uhttpdインスタンスのポート"
+msgid "paused"
+msgstr "一時停止"
 
-#~ msgid "Redirect all DNS queries to the local resolver"
-#~ msgstr "全てのDNSクエリをローカルリゾルバにリダイレクト"
+msgid "running"
+msgstr "実行中"
 
 #~ msgid ""
-#~ "Skip writing update status information to the config file. Status fields "
-#~ "on this page will not be updated."
+#~ "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
+#~ "'libustream-ssl' or the wget 'built-in'."
 #~ msgstr ""
-#~ "更新ステータス情報をコンフィグファイルに書き込まず、スキップします。この"
-#~ "ページのステータス画面は更新されなくなります。"
-
-#~ msgid "Statistics"
-#~ msgstr "ステータス"
-
-#~ msgid "Timeout for blocklist fetch (seconds)"
-#~ msgstr "ブロックリスト取得の制限時間(秒)"
-
-#~ msgid "Total count of blocked domains"
-#~ msgstr "ブロック済みドメインの合計"
+#~ "SSLで保護されているブロックリストの取得には、適切なSSL ライブラリが必要で"
+#~ "す。例: 'libustream-ssl' または wget 'built-in'"
 
 #~ msgid ""
-#~ "When adblock is active, all DNS queries are redirected to the local "
-#~ "resolver in this server by default. You can disable that to allow queries "
-#~ "to external DNS servers."
+#~ "Caution: To prevent OOM exceptions on low memory devices with less than "
+#~ "64 MB free RAM, please do not select too many lists - 5-6 should be "
+#~ "sufficient!"
 #~ msgstr ""
-#~ "adblockがアクティブである時、全てのDNSクエリは既定でこのサーバー上のリゾル"
-#~ "バにリダイレクトされます。外部DNSサーバーへのクエリを許可する場合、この設"
-#~ "定を無効にすることもできます。"
+#~ "警告: RAM の空き容量が 64MB に満たないメモリー容量の小さいデバイスでは、 "
+#~ "OutOfMemory (OOM) 例外を防ぐために、多くのリストを選択しないようにしてくだ"
+#~ "さい。5 - 6個のリストで十分です。"
index 05002b7..79cc8b7 100644 (file)
@@ -8,225 +8,433 @@ msgstr ""
 "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"
+"Last-Translator: Luís Gabriel Lima Silva <gabrielima.si@gmail.com>\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "Language: pt_BR\n"
 
-msgid "."
+msgid "-------"
 msgstr ""
 
 msgid "Adblock"
 msgstr "Adblock"
 
-msgid "Adblock Domain Query"
-msgstr ""
-
 msgid "Adblock Logfile"
-msgstr ""
+msgstr "Arquivo de log do Adblock"
 
-msgid "Adblock version"
+msgid "Adblock Status"
 msgstr ""
 
+msgid "Adblock Version"
+msgstr "Versão do Adblock"
+
 msgid "Additional trigger delay in seconds before adblock processing begins."
 msgstr ""
+"Atraso de gatilho adicional em segundos antes do processamento do adblock "
+"começar."
 
 msgid "Advanced"
-msgstr ""
+msgstr "Avançado"
 
 msgid "Available blocklist sources."
-msgstr ""
+msgstr "Fontes de listas de bloqueio disponíveis."
 
-msgid "Backup directory"
+msgid "Backup Directory"
 msgstr "Diretório da cópia de segurança"
 
-msgid "Blocked domains (overall)"
+msgid "Backup Mode"
 msgstr ""
 
-msgid "Blocklist sources"
+msgid ""
+"Block access to all domains except those explicitly listed in the whitelist "
+"file."
+msgstr ""
+
+msgid "Blocklist Sources"
 msgstr "Fontes de listas de bloqueio"
 
-msgid "Collecting data..."
+msgid ""
+"Caution: To prevent OOM exceptions on low memory devices with less than 64 "
+"MB free RAM, please do not select more than five blocklist sources!"
 msgstr ""
 
 msgid ""
+"Choose 'none' to disable automatic startups, 'timed' to use a classic "
+"timeout (default 30 sec.) or select another trigger interface."
+msgstr ""
+
+msgid "Collecting data..."
+msgstr "Coletando dados..."
+
+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"
+msgid ""
+"Create compressed blocklist backups, they will be used in case of download "
+"errors or during startup in backup mode."
+msgstr ""
+
+msgid "DNS Backend (DNS Directory)"
+msgstr ""
+
+msgid "DNS Directory"
 msgstr ""
 
 msgid "Description"
 msgstr "Descrição"
 
+msgid ""
+"Do not automatically update blocklists during startup, use blocklist backups "
+"instead."
+msgstr ""
+"Não atualize as listas de bloqueio automaticamente durante o início, use o "
+"backup das listas como alternativa."
+
+msgid "Download Utility"
+msgstr ""
+
 msgid "Download Utility (SSL Library)"
+msgstr "Utilitário de Download (Biblioteca SSL)"
+
+msgid ""
+"During opkg package installation use the '--force-maintainer' option to "
+"overwrite the pre-existing config file or download a fresh default config "
+"from <a href=\"%s\" target=\"_blank\">here</a>"
 msgstr ""
 
 msgid "Edit Blacklist"
-msgstr ""
+msgstr "Editar Lista de Bloqueio"
 
 msgid "Edit Configuration"
-msgstr ""
+msgstr "Editar Configuração"
 
 msgid "Edit Whitelist"
+msgstr "Editar Lista Permitida"
+
+msgid "Email Notification"
+msgstr ""
+
+msgid "Email Notification Count"
 msgstr ""
 
-msgid "Enable adblock"
+msgid "Enable Adblock"
 msgstr "Habilitar adblock"
 
-msgid "Enable blocklist backup"
+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 "
-"(&lt; 64 MB RAM)"
+"(&lt; 64 MB free RAM)"
 msgstr ""
 
-msgid "Enable verbose debug logging"
-msgstr "Habilite registros detalhados para depuração"
+msgid "Enable verbose debug logging in case of any processing error."
+msgstr ""
 
 msgid "Enabled"
 msgstr "Habilitado"
 
-msgid "Extra options"
+msgid "Extra Options"
 msgstr "Opções adicionais"
 
+msgid "Flush DNS Cache"
+msgstr ""
+
+msgid "Flush DNS Cache after adblock processing."
+msgstr ""
+
 msgid ""
 "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
-"'libustream-ssl' or the wget 'built-in'."
+"'libustream-ssl' or 'built-in'."
 msgstr ""
 
-msgid "For further information"
+msgid ""
+"For further information <a href=\"%s\" target=\"_blank\">check the online "
+"documentation</a>"
 msgstr ""
 
+msgid "Force Local DNS"
+msgstr "Force o DNS local"
+
 msgid "Force Overall Sort"
-msgstr ""
+msgstr "Force Tipo Geral"
 
-msgid "Force local DNS"
+msgid "Full path to the whitelist file."
 msgstr ""
 
 msgid "Input file not found, please check your configuration."
-msgstr ""
+msgstr "Arquivo de entrada não encontrado, por favor cheque sua configuração."
 
 msgid "Invalid domain specified!"
-msgstr ""
+msgstr "Domínio especificado inválido!"
 
-msgid "Last rundate"
+msgid "Last Run"
 msgstr ""
 
-msgid "Loading"
+msgid ""
+"List URLs and Shallalist category selections are configurable in the "
+"'Advanced' section.<br />"
 msgstr ""
 
-msgid "No"
+msgid ""
+"List of available network interfaces. Usually the startup will be triggered "
+"by the 'wan' interface.<br />"
 msgstr ""
 
 msgid ""
-"Note that list URLs and Shallalist category selections are configurable in "
-"the 'Advanced' section."
+"List of supported DNS backends with their default list export directory.<br /"
+">"
 msgstr ""
 
+msgid "List of supported and fully pre-configured download utilities."
+msgstr ""
+
+msgid "Loading"
+msgstr "Carregando"
+
+msgid "No"
+msgstr "Não"
+
 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"
+msgid "Overall Domains"
 msgstr ""
 
+msgid "Overview"
+msgstr "Visão geral"
+
 msgid ""
 "Please add only one domain per line. Comments introduced with '#' are "
 "allowed - ip addresses, wildcards and regex are not."
 msgstr ""
 
-msgid "Query"
-msgstr ""
+msgid "Please edit this file directly in a terminal session."
+msgstr "Por favor edite esse arquivo direto em uma sessão de terminal."
 
-msgid "Query domains"
+msgid ""
+"Please note: this needs additional 'mstmp' installation and setup (see "
+"readme)."
 msgstr ""
 
-msgid "Redirect all DNS queries to the local resolver."
+msgid "Please update your adblock config file to use this package.<br />"
 msgstr ""
 
-msgid "Restrict interface trigger to certain interface(s)"
+msgid "Query"
+msgstr "Consulta"
+
+msgid "Query domains"
+msgstr "Consulta de domínios"
+
+msgid ""
+"Raise the minimum email notification count, to get emails if the overall "
+"count is less or equal to the given limit (default 0),<br />"
 msgstr ""
 
-msgid "Resume adblock"
+msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
 msgstr ""
 
-msgid "Runtime information"
+msgid "Resume"
 msgstr ""
 
+msgid "Runtime Information"
+msgstr "Informação de execução"
+
 msgid "SSL req."
-msgstr ""
+msgstr "req. de SSL"
+
+msgid "Save"
+msgstr "Salvar"
 
 msgid ""
-"Space separated list of interfaces that trigger adblock processing. To "
-"disable event driven (re-)starts remove all entries."
+"Send notification emails in case of a processing error or if domain count is "
+"&le; 0.<br />"
 msgstr ""
 
-msgid "Status"
+msgid "Startup Trigger"
 msgstr ""
 
-msgid "Suspend / Resume adblock"
+msgid "Suspend"
 msgstr ""
 
-msgid "Suspend adblock"
+msgid "Suspend / Resume Adblock"
+msgstr "Suspender / Resumir adblock"
+
+msgid ""
+"Target directory for adblock backups. Please use only non-volatile disks, e."
+"g. an external usb stick."
 msgstr ""
 
+msgid "Target directory for the generated blocklist 'adb_list.overall'."
+msgstr ""
+
+msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
+msgstr ""
+"O tamanho do arquivo é muito grande para edição online no LuCI (&gt; 512 KB)."
+
 msgid ""
 "This form allows you to modify the content of the adblock blacklist (%s)."
 "<br />"
 msgstr ""
+"Esse formulário permite que você modifique o conteúdo das listas de bloqueio "
+"do adblock (%s).<br />"
 
 msgid ""
 "This form allows you to modify the content of the adblock whitelist (%s)."
 "<br />"
 msgstr ""
+"Esse formulário permite que você modifique o conteúdo das listas de "
+"permissão do adblock (%s).<br />"
 
 msgid ""
 "This form allows you to modify the content of the main adblock configuration "
 "file (/etc/config/adblock)."
 msgstr ""
+"Esse formulário permite que você modifique o conteúdo das do arquivo de "
+"configuração principal (/etc/config/adblock)."
 
 msgid ""
 "This form allows you to query active block lists for certain domains, e.g. "
 "for whitelisting."
 msgstr ""
+"Esse formulário permite que você consulte listas de blocos ativos para "
+"certos domínios, e.x. para listas de permissão."
 
 msgid ""
 "This form shows the syslog output, pre-filtered for adblock related messages "
 "only."
 msgstr ""
+"Esse formulário mostra a saída do syslog, pré-filtrado para mensagens do "
+"adblock  apenas."
 
-msgid "Trigger delay"
+msgid "This section contains no values yet"
 msgstr ""
 
-msgid "View Logfile"
+msgid ""
+"To overwrite the default path use the 'DNS Directory' option in the extra "
+"section below."
 msgstr ""
 
+msgid "Trigger Delay"
+msgstr "Atraso no gatilho"
+
+msgid "Verbose Debug Logging"
+msgstr ""
+
+msgid "View Logfile"
+msgstr "Ver arquivo de log"
+
 msgid "Waiting for command to complete..."
+msgstr "Aguardando por comando para completar..."
+
+msgid "Whitelist File"
+msgstr ""
+
+msgid "Whitelist Mode"
 msgstr ""
 
 msgid "Yes"
+msgstr "Sim"
+
+msgid "disabled"
 msgstr ""
 
-msgid "active"
+msgid ""
+"e.g. to receive an email notification with every adblock update set this "
+"value to 150000."
 msgstr ""
 
-msgid "n/a"
+msgid "enabled"
 msgstr ""
 
-msgid "no domains blocked"
+msgid "error"
 msgstr ""
 
-msgid "see online documentation"
+msgid "n/a"
+msgstr "n/d"
+
+msgid "paused"
 msgstr ""
 
-msgid "suspended"
+msgid "running"
 msgstr ""
 
+#~ msgid ""
+#~ "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
+#~ "'libustream-ssl' or the wget 'built-in'."
+#~ msgstr ""
+#~ "Para uma lista de bloqueio protegida por SSL você precisa de uma "
+#~ "biblioteca SSL adequada, e.x. 'libustream-ssl' ou o wget 'built-in'."
+
+#~ msgid ""
+#~ "Create compressed blocklist backups, they will be used in case of "
+#~ "download errors or during startup in manual mode."
+#~ msgstr ""
+#~ "Crie backups comprimidos das listas de bloqueio, eles serão usados em "
+#~ "caso de erro dedownload ou durante o início em modo manual."
+
+#~ msgid ""
+#~ "Enable memory intense overall sort / duplicate removal on low memory "
+#~ "devices (&lt; 64 MB RAM)"
+#~ msgstr ""
+#~ "Ativar tipo geral intenso de memória / duplicar remoção em dispositivos "
+#~ "com pouca memória (&lt; 64 MB RAM)"
+
+#~ msgid ""
+#~ "For further information <a href=\"%s\" target=\"_blank\">see online "
+#~ "documentation</a>"
+#~ msgstr ""
+#~ "Para outras informações <a href=\"%s\" target=\"_blank\">veja a "
+#~ "documentação online</a>"
+
+#~ msgid "Manual / Backup mode"
+#~ msgstr "Manual / Modo backup"
+
+#~ msgid "Blocked domains (overall)"
+#~ msgstr "Domínios bloqueados (total)"
+
+#~ msgid "DNS backend"
+#~ msgstr "Porta dos fundos de DNS"
+
+#~ msgid "Enable verbose debug logging"
+#~ msgstr "Habilite registros detalhados para depuração"
+
+#~ msgid "Last rundate"
+#~ msgstr "Última data de execução"
+
+#~ msgid ""
+#~ "Note that list URLs and Shallalist category selections are configurable "
+#~ "in the 'Advanced' section."
+#~ msgstr ""
+#~ "Observe que as URLs da lista e as seleções da categoria Shallalist são "
+#~ "configuráveis na secção 'Avançada'."
+
+#~ msgid "Redirect all DNS queries to the local resolver."
+#~ msgstr "Redirecione todas as consultas de DNS para o resolvedor local."
+
+#~ msgid "Restrict interface trigger to certain interface(s)"
+#~ msgstr "Restingir o gatilho de interface para certas interface(s)"
+
+#~ msgid "Resume adblock"
+#~ msgstr "Resumir adblock"
+
+#~ msgid "Status"
+#~ msgstr "Estado"
+
+#~ msgid "active"
+#~ msgstr "ativo"
+
+#~ msgid "no domains blocked"
+#~ msgstr "nenhum domínio bloqueado"
+
+#~ msgid "suspended"
+#~ msgstr "suspenso"
+
 #~ msgid "Backup options"
 #~ msgstr "Opções da cópia de segurança"
 
diff --git a/applications/luci-app-adblock/po/ru/adblock.po b/applications/luci-app-adblock/po/ru/adblock.po
new file mode 100644 (file)
index 0000000..465e120
--- /dev/null
@@ -0,0 +1,402 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: LuCI: adblock\n"
+"POT-Creation-Date: 2017-10-22 13:00+0300\n"
+"PO-Revision-Date: 2018-01-14 11:42+0300\n"
+"Language-Team: http://cyber-place.ru\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+"Last-Translator: Vladimir aka sunny <picfun@ya.ru>\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Language: ru\n"
+"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
+"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
+
+msgid "-------"
+msgstr "-------"
+
+msgid "Adblock"
+msgstr "AdBlock"
+
+msgid "Adblock Logfile"
+msgstr "Ведение системного журала Adblock-ом"
+
+msgid "Adblock Status"
+msgstr "Состояние Adblock-а"
+
+msgid "Adblock Version"
+msgstr "Версия Adblock-а"
+
+msgid "Additional trigger delay in seconds before adblock processing begins."
+msgstr "Дополнительная задержка в секундах до начала работы Adblock-a."
+
+msgid "Advanced"
+msgstr "Дополнительно"
+
+msgid "Available blocklist sources."
+msgstr "Источники списков блокировки. "
+
+msgid "Backup Directory"
+msgstr "Папка для бэкапа"
+
+msgid "Backup Mode"
+msgstr "Режим сохранения бекапа"
+
+msgid ""
+"Block access to all domains except those explicitly listed in the whitelist "
+"file."
+msgstr ""
+"Блокировать доступ ко всем доменам кроме тех, которые явно перечислены в "
+"файле Белого списка."
+
+msgid "Blocklist Sources"
+msgstr "Источники списков блокировки"
+
+msgid ""
+"Caution: To prevent OOM exceptions on low memory devices with less than 64 "
+"MB free RAM, please do not select more than five blocklist sources!"
+msgstr ""
+"ВНИМАНИЕ: Для предотвращения возможного программного сбоя и перезагрузки, на "
+"устройствах с объемом оперативной памяти менее 64MB, не выбирайте больше 5 "
+"списков."
+
+msgid ""
+"Choose 'none' to disable automatic startups, 'timed' to use a classic "
+"timeout (default 30 sec.) or select another trigger interface."
+msgstr ""
+"Выберите 'none', чтобы отключить автоматический старт, 'timed', чтобы "
+"использовать дефолтную задержку (по умолчанию 30 сек.) или выберите другой "
+"интерфейс запуска."
+
+msgid "Collecting data..."
+msgstr "Сбор информации..."
+
+msgid ""
+"Configuration of the adblock package to block ad/abuse domains by using DNS."
+msgstr ""
+"Настройка Adblock. Приложения для блокировки ненадежных или добавления "
+"доверенных доменов используя DNS. "
+
+msgid ""
+"Create compressed blocklist backups, they will be used in case of download "
+"errors or during startup in backup mode."
+msgstr ""
+"Создавайте сжатые резервные копии списков блокировки, они будут "
+"использоваться в случае ошибок загрузки или при запуске в ручном режиме."
+
+msgid "DNS Backend (DNS Directory)"
+msgstr "DNS бэкенд (папка DNS)"
+
+msgid "DNS Directory"
+msgstr "Папка DNS"
+
+msgid "Description"
+msgstr "Описание"
+
+msgid ""
+"Do not automatically update blocklists during startup, use blocklist backups "
+"instead."
+msgstr ""
+"Не обновляйте списки блокировок автоматически во время запуска, вместо этого "
+"используйте резервные копии списков блокировок."
+
+msgid "Download Utility"
+msgstr "Скачать утилиту"
+
+msgid "Download Utility (SSL Library)"
+msgstr "Загрузить утилиту (библиотека SSL)"
+
+msgid ""
+"During opkg package installation use the '--force-maintainer' option to "
+"overwrite the pre-existing config file or download a fresh default config "
+"from <a href=\"%s\" target=\"_blank\">here</a>"
+msgstr ""
+"Устанавливая пакет с помощью opkg, используйте '--force-maintainer', чтобы "
+"перезаписать существующий config файл или загрузить новый дефолтный config "
+"файл <a href=\"%s\" target=\"_blank\">здесь</a>"
+
+msgid "Edit Blacklist"
+msgstr "Редактировать Черный список"
+
+msgid "Edit Configuration"
+msgstr "Редактировать config файл"
+
+msgid "Edit Whitelist"
+msgstr "Редактировать Белый список"
+
+msgid "Email Notification"
+msgstr "Уведомление на email"
+
+msgid "Email Notification Count"
+msgstr "Кол-во уведомлений на email"
+
+msgid "Enable Adblock"
+msgstr "Включить Adblock"
+
+msgid "Enable Blocklist Backup"
+msgstr "Включить сохранение<br />списка блокировок"
+
+msgid ""
+"Enable memory intense overall sort / duplicate removal on low memory devices "
+"(&lt; 64 MB free RAM)"
+msgstr ""
+"Включите полную сортировку / удаление дубликатов памяти на устройствах с "
+"низким объемом  памяти (&lt; 64 MB свободной оперативной памяти)."
+
+msgid "Enable verbose debug logging in case of any processing error."
+msgstr "Включите подробное ведение журнала отладки в случае ошибки обработки."
+
+msgid "Enabled"
+msgstr "Включено"
+
+msgid "Extra Options"
+msgstr "Дополнительные настройки"
+
+msgid "Flush DNS Cache"
+msgstr "Очистка кэша DNS"
+
+msgid "Flush DNS Cache after adblock processing."
+msgstr "Очистки DNS-кэша после обработки Adblock-ом."
+
+msgid ""
+"For SSL protected blocklist sources you need a suitable SSL library, e.g. "
+"'libustream-ssl' or 'built-in'."
+msgstr ""
+"Для SSL-защищенных источников списков блокировки, вам нужны подходящие SSL "
+"библиотеки, например 'libustream-ssl' или 'built-in'."
+
+msgid ""
+"For further information <a href=\"%s\" target=\"_blank\">check the online "
+"documentation</a>"
+msgstr ""
+"<br />Для получения дополнительной информации <a href=\"%s\" target=\"_blank"
+"\"> смотрите онлайн документацию</a>."
+
+msgid "Force Local DNS"
+msgstr "Назначить локальный DNS"
+
+msgid "Force Overall Sort"
+msgstr "Назначить полную сортировку"
+
+msgid "Full path to the whitelist file."
+msgstr "Полный путь к файлу Белого списка."
+
+msgid "Input file not found, please check your configuration."
+msgstr "Введенный файл не найден, проверьте ваши настройки."
+
+msgid "Invalid domain specified!"
+msgstr "Задан недопустимый домен!"
+
+msgid "Last Run"
+msgstr "Последнее время запуска"
+
+msgid ""
+"List URLs and Shallalist category selections are configurable in the "
+"'Advanced' section.<br />"
+msgstr ""
+"Список URL-адресов и настройка списка использования, настраиваются на "
+"странице 'Дополнительно'.<br />"
+
+msgid ""
+"List of available network interfaces. Usually the startup will be triggered "
+"by the 'wan' interface.<br />"
+msgstr ""
+"Список доступных сетевых интерфейсов. По умолчанию установлен 'wan' "
+"интерфейс.<br />"
+
+msgid ""
+"List of supported DNS backends with their default list export directory.<br /"
+">"
+msgstr ""
+"Список поддерживаемых серверов DNS перемещается в папку по умолчанию.<br />"
+
+msgid "List of supported and fully pre-configured download utilities."
+msgstr ""
+"Список поддерживаемых и полностью предварительно настроенных утилит загрузки."
+
+msgid "Loading"
+msgstr "Загрузка"
+
+msgid "No"
+msgstr "Нет"
+
+msgid ""
+"Options for further tweaking in case the defaults are not suitable for you."
+msgstr ""
+"Варианты для дальнейшей обработки, если значения по умолчанию вам не "
+"подходят."
+
+msgid "Overall Domains"
+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 ""
+"Добавляйте только один домен в строке. Комментарии вводятся используя '#' "
+"разрешенные - ip адреса, метасимволы и нерегулярные выражения."
+
+msgid "Please edit this file directly in a terminal session."
+msgstr "Отредактируйте данный файл, строго в терминале."
+
+msgid ""
+"Please note: this needs additional 'mstmp' installation and setup (see "
+"readme)."
+msgstr ""
+"Внимание: для этого потребуется дополнительно установить и настроить "
+"'mstmp' (см. readme)."
+
+msgid "Please update your adblock config file to use this package.<br />"
+msgstr "Обновите config файл Adblock, чтобы использовать этот пакет.<br />"
+
+msgid "Query"
+msgstr "Запрос"
+
+msgid "Query domains"
+msgstr "Запрос доменов"
+
+msgid ""
+"Raise the minimum email notification count, to get emails if the overall "
+"count is less or equal to the given limit (default 0),<br />"
+msgstr ""
+"Увеличьте количество уведомлений по email, чтобы получить сообщения, если "
+"общее количество меньше или равно заданному пределу (по умолчанию 0),<br />"
+
+msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
+msgstr ""
+"Перенаправлять все DNS запросы с интерфейса 'lan' на обработку Adblock-ом."
+
+msgid "Resume"
+msgstr "Возобновить"
+
+msgid "Runtime Information"
+msgstr "Текущая информация"
+
+msgid "SSL req."
+msgstr "Запрос SSL"
+
+msgid "Save"
+msgstr "Сохранить"
+
+msgid ""
+"Send notification emails in case of a processing error or if domain count is "
+"&le; 0.<br />"
+msgstr ""
+"Отправлять по email уведомления в случае ошибки обработки или если домен "
+"&le; 0.<br />"
+
+msgid "Startup Trigger"
+msgstr "Назначить"
+
+msgid "Suspend"
+msgstr "Приостановить"
+
+msgid "Suspend / Resume Adblock"
+msgstr "Приостановить / Возобновить Adblock"
+
+msgid ""
+"Target directory for adblock backups. Please use only non-volatile disks, e."
+"g. an external usb stick."
+msgstr ""
+"Назначить папку для резервного копирования Adblock. Используйте такие "
+"накопители, как usb флешка."
+
+msgid "Target directory for the generated blocklist 'adb_list.overall'."
+msgstr "Назначить папку для создания списка блокировки 'adb_list.overall'."
+
+msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
+msgstr ""
+"Размер файла слишком большой, для онлайн редактирования в LuCI (&gt; 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 ""
+"Страница позволяет изменять содержимое главного config файла Adblock-a (/etc/"
+"config/adblock)."
+
+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 "Страница системного журнала. Только сообщения связанные с Adblock."
+
+msgid "This section contains no values yet"
+msgstr "Страница не содержит значений"
+
+msgid ""
+"To overwrite the default path use the 'DNS Directory' option in the extra "
+"section below."
+msgstr ""
+"Чтобы заменить дефолтный путь, используйте строку ниже 'Папка DNS' в разделе "
+"'Дополнительные настройки'."
+
+msgid "Trigger Delay"
+msgstr "Задержка запуска"
+
+msgid "Verbose Debug Logging"
+msgstr "Подробное ведение<br />журнала отладки"
+
+msgid "View Logfile"
+msgstr "Системный журнал"
+
+msgid "Waiting for command to complete..."
+msgstr "Ожидание выполнения команды..."
+
+msgid "Whitelist File"
+msgstr "Файл Белого списка"
+
+msgid "Whitelist Mode"
+msgstr "Режим Белого списка"
+
+msgid "Yes"
+msgstr "Да"
+
+msgid "disabled"
+msgstr "отключено"
+
+msgid ""
+"e.g. to receive an email notification with every adblock update set this "
+"value to 150000."
+msgstr ""
+"например, чтобы получать уведомления по электронной почте при каждом "
+"обновлении Adblock-а установите значение 150000."
+
+msgid "enabled"
+msgstr "включено"
+
+msgid "error"
+msgstr "ошибка"
+
+msgid "n/a"
+msgstr "нет данных"
+
+msgid "paused"
+msgstr "остановлено"
+
+msgid "running"
+msgstr "работает"
index 398b0ca..d5bb782 100644 (file)
@@ -1,20 +1,20 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=UTF-8\n"
 
-msgid "."
-msgstr "."
+msgid "-------"
+msgstr "-------"
 
 msgid "Adblock"
 msgstr "Adblock"
 
-msgid "Adblock Domain Query"
-msgstr ""
-
 msgid "Adblock Logfile"
 msgstr "Adblock's loggfil"
 
-msgid "Adblock version"
-msgstr "Version för Adblock"
+msgid "Adblock Status"
+msgstr "Status för Adblock"
+
+msgid "Adblock Version"
+msgstr "Version av Adblock"
 
 msgid "Additional trigger delay in seconds before adblock processing begins."
 msgstr ""
@@ -25,15 +25,33 @@ msgstr "Avancerat"
 msgid "Available blocklist sources."
 msgstr "Tillgängliga källor för blockeringslistor"
 
-msgid "Backup directory"
+msgid "Backup Directory"
 msgstr "Säkerhetskopiera mapp"
 
-msgid "Blocked domains (overall)"
-msgstr "Blockerade domäner (övergripande)"
+msgid "Backup Mode"
+msgstr ""
+
+msgid ""
+"Block access to all domains except those explicitly listed in the whitelist "
+"file."
+msgstr ""
 
-msgid "Blocklist sources"
+msgid "Blocklist Sources"
 msgstr "Källor för blockeringslistor"
 
+msgid ""
+"Caution: To prevent OOM exceptions on low memory devices with less than 64 "
+"MB free RAM, please do not select more than five blocklist sources!"
+msgstr ""
+
+msgid ""
+"Choose 'none' to disable automatic startups, 'timed' to use a classic "
+"timeout (default 30 sec.) or select another trigger interface."
+msgstr ""
+"Välj 'inga' för att stänga av automatiska uppstarter, 'tidsinställd för att "
+"använda ett klassiskt avbrott (30 sek. är standard) eller välj ett annat "
+"utlösande gränssnitt."
+
 msgid "Collecting data..."
 msgstr "Samlar in data..."
 
@@ -43,15 +61,39 @@ msgstr ""
 "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 ""
+"Create compressed blocklist backups, they will be used in case of download "
+"errors or during startup in backup mode."
+msgstr ""
+
+msgid "DNS Backend (DNS Directory)"
+msgstr "DNS-bakände (DNS-mapp)"
+
+msgid "DNS Directory"
+msgstr "DNS-mapp"
 
 msgid "Description"
 msgstr "Beskrivning"
 
+msgid ""
+"Do not automatically update blocklists during startup, use blocklist backups "
+"instead."
+msgstr ""
+"Uppdatera inte automatiskt blockeringlistor vid uppstarten, använd "
+"säkerhetskopierade blockeringslistor istället."
+
+msgid "Download Utility"
+msgstr ""
+
 msgid "Download Utility (SSL Library)"
 msgstr "Nerladdningsprogram (SSL-bibliotek)"
 
+msgid ""
+"During opkg package installation use the '--force-maintainer' option to "
+"overwrite the pre-existing config file or download a fresh default config "
+"from <a href=\"%s\" target=\"_blank\">here</a>"
+msgstr ""
+
 msgid "Edit Blacklist"
 msgstr "Redigera svartlista"
 
@@ -61,48 +103,83 @@ msgstr "Redigerar konfigurationen"
 msgid "Edit Whitelist"
 msgstr "Redigera vitlista"
 
-msgid "Enable adblock"
+msgid "Email Notification"
+msgstr ""
+
+msgid "Email Notification Count"
+msgstr ""
+
+msgid "Enable Adblock"
 msgstr "Aktivera adblock"
 
-msgid "Enable blocklist backup"
+msgid "Enable Blocklist Backup"
 msgstr "Aktivera säkerhetskopiering av blockeringslistan"
 
 msgid ""
 "Enable memory intense overall sort / duplicate removal on low memory devices "
-"(&lt; 64 MB RAM)"
+"(&lt; 64 MB free RAM)"
 msgstr ""
 
-msgid "Enable verbose debug logging"
+msgid "Enable verbose debug logging in case of any processing error."
 msgstr ""
 
 msgid "Enabled"
 msgstr "Aktiverad"
 
-msgid "Extra options"
+msgid "Extra Options"
 msgstr "Extra alternativ"
 
+msgid "Flush DNS Cache"
+msgstr ""
+
+msgid "Flush DNS Cache after adblock processing."
+msgstr ""
+
 msgid ""
 "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
-"'libustream-ssl' or the wget 'built-in'."
+"'libustream-ssl' or 'built-in'."
 msgstr ""
 
-msgid "For further information"
-msgstr "För mer information"
+msgid ""
+"For further information <a href=\"%s\" target=\"_blank\">check the online "
+"documentation</a>"
+msgstr ""
+
+msgid "Force Local DNS"
+msgstr "Tvinga lokal DNS"
 
 msgid "Force Overall Sort"
 msgstr ""
 
-msgid "Force local DNS"
-msgstr "Tvinga lokal DNS"
+msgid "Full path to the whitelist file."
+msgstr ""
 
 msgid "Input file not found, please check your configuration."
 msgstr ""
-"Inmatningsfilen hittades inte, var vänlig och kontrollera din konfiguration."
+"Inmatningsfilen kunde inte hittas, var vänlig kontrollera din konfiguration."
 
 msgid "Invalid domain specified!"
 msgstr "Ogiltig domän angiven!"
 
-msgid "Last rundate"
+msgid "Last Run"
+msgstr "Kördes senast"
+
+msgid ""
+"List URLs and Shallalist category selections are configurable in the "
+"'Advanced' section.<br />"
+msgstr ""
+
+msgid ""
+"List of available network interfaces. Usually the startup will be triggered "
+"by the 'wan' interface.<br />"
+msgstr ""
+
+msgid ""
+"List of supported DNS backends with their default list export directory.<br /"
+">"
+msgstr ""
+
+msgid "List of supported and fully pre-configured download utilities."
 msgstr ""
 
 msgid "Loading"
@@ -112,12 +189,10 @@ msgid "No"
 msgstr "Nej"
 
 msgid ""
-"Note that list URLs and Shallalist category selections are configurable in "
-"the 'Advanced' section."
+"Options for further tweaking in case the defaults are not suitable for you."
 msgstr ""
 
-msgid ""
-"Options for further tweaking in case the defaults are not suitable for you."
+msgid "Overall Domains"
 msgstr ""
 
 msgid "Overview"
@@ -128,55 +203,88 @@ msgid ""
 "allowed - ip addresses, wildcards and regex are not."
 msgstr ""
 
-msgid "Query"
+msgid "Please edit this file directly in a terminal session."
+msgstr "Vänligen redigera den här filen direkt i en terminal-session."
+
+msgid ""
+"Please note: this needs additional 'mstmp' installation and setup (see "
+"readme)."
 msgstr ""
 
-msgid "Query domains"
+msgid "Please update your adblock config file to use this package.<br />"
 msgstr ""
 
-msgid "Redirect all DNS queries to the local resolver."
+msgid "Query"
+msgstr "Fråga"
+
+msgid "Query domains"
+msgstr "Fråga efter domäner"
+
+msgid ""
+"Raise the minimum email notification count, to get emails if the overall "
+"count is less or equal to the given limit (default 0),<br />"
 msgstr ""
 
-msgid "Restrict interface trigger to certain interface(s)"
+msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
 msgstr ""
 
-msgid "Resume adblock"
-msgstr "Återuppta adblock"
+msgid "Resume"
+msgstr "Återuppta"
 
-msgid "Runtime information"
-msgstr "Information om kör-tid"
+msgid "Runtime Information"
+msgstr "Information om körtid"
 
 msgid "SSL req."
-msgstr ""
+msgstr "SSL-rek."
+
+msgid "Save"
+msgstr "Spara"
 
 msgid ""
-"Space separated list of interfaces that trigger adblock processing. To "
-"disable event driven (re-)starts remove all entries."
+"Send notification emails in case of a processing error or if domain count is "
+"&le; 0.<br />"
 msgstr ""
 
-msgid "Status"
-msgstr "Status"
+msgid "Startup Trigger"
+msgstr "Uppstartslösare"
+
+msgid "Suspend"
+msgstr "Stäng av"
 
-msgid "Suspend / Resume adblock"
+msgid "Suspend / Resume Adblock"
 msgstr "Upphäv / Återuppta adblock"
 
-msgid "Suspend adblock"
-msgstr "Upphäv adblock"
+msgid ""
+"Target directory for adblock backups. Please use only non-volatile disks, e."
+"g. an external usb stick."
+msgstr ""
+
+msgid "Target directory for the generated blocklist 'adb_list.overall'."
+msgstr ""
+
+msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
+msgstr "Filstorleken är för stor för online-redigering i LuCi (&gt; 512 KB)."
 
 msgid ""
 "This form allows you to modify the content of the adblock blacklist (%s)."
 "<br />"
 msgstr ""
+"Det här formuläret tillåter dig att förändra innehållet i adblock's "
+"svartlista (%s).<br />"
 
 msgid ""
 "This form allows you to modify the content of the adblock whitelist (%s)."
 "<br />"
 msgstr ""
+"Det här formuläret tillåter dig att förändra innehållet i adblock's vitlista "
+"(%s).<br />"
 
 msgid ""
 "This form allows you to modify the content of the main adblock configuration "
 "file (/etc/config/adblock)."
 msgstr ""
+"Det här formuläret tillåter dig att förändra innehållet i adblock's "
+"huvudsakliga konfigurations fil (/etc/config/adblock)."
 
 msgid ""
 "This form allows you to query active block lists for certain domains, e.g. "
@@ -188,7 +296,18 @@ msgid ""
 "only."
 msgstr ""
 
-msgid "Trigger delay"
+msgid "This section contains no values yet"
+msgstr ""
+
+msgid ""
+"To overwrite the default path use the 'DNS Directory' option in the extra "
+"section below."
+msgstr ""
+
+msgid "Trigger Delay"
+msgstr ""
+
+msgid "Verbose Debug Logging"
 msgstr ""
 
 msgid "View Logfile"
@@ -197,23 +316,98 @@ msgstr "Visa loggfil"
 msgid "Waiting for command to complete..."
 msgstr "Väntar på att kommandot ska slutföras..."
 
+msgid "Whitelist File"
+msgstr ""
+
+msgid "Whitelist Mode"
+msgstr ""
+
 msgid "Yes"
 msgstr "Ja"
 
-msgid "active"
-msgstr "aktiv"
+msgid "disabled"
+msgstr "inaktiverad"
+
+msgid ""
+"e.g. to receive an email notification with every adblock update set this "
+"value to 150000."
+msgstr ""
+
+msgid "enabled"
+msgstr "aktiverad"
+
+msgid "error"
+msgstr "fel"
 
 msgid "n/a"
 msgstr "n/a"
 
-msgid "no domains blocked"
-msgstr "inga domäner blockerades"
+msgid "paused"
+msgstr "pausad"
 
-msgid "see online documentation"
+msgid "running"
 msgstr ""
 
-msgid "suspended"
-msgstr "upphävd"
+#~ msgid ""
+#~ "Caution: Please don't select big lists or many lists at once on low "
+#~ "memory devices to prevent OOM exceptions!"
+#~ msgstr ""
+#~ "Försiktig: Vänligen välj inte stora listor eller många listor på samma "
+#~ "gång för enheter med lite minne för att undvika OOM-undantag!"
+
+#~ msgid ""
+#~ "For further information <a href=\"%s\" target=\"_blank\">see online "
+#~ "documentation</a>"
+#~ msgstr ""
+#~ "För mer information <a href=\"%s\" target=\"_blank\">se dokumentationen "
+#~ "på internet</a>"
+
+#~ msgid "Manual / Backup mode"
+#~ msgstr "Manuell / Säkerhetskopieringsläge"
+
+#~ msgid "Please update your adblock config file to use this package."
+#~ msgstr ""
+#~ "Vänligen uppdatera din adblock's konfigurationsfil till att använda det "
+#~ "här paketet."
+
+#~ msgid "Blocked domains (overall)"
+#~ msgstr "Blockerade domäner (övergripande)"
+
+#~ msgid "DNS backend"
+#~ msgstr "Bakände för DNS"
+
+#~ msgid "Enable verbose debug logging"
+#~ msgstr "Aktivera utförlig loggning för avlusning"
+
+#~ msgid "Last rundate"
+#~ msgstr "Senaste kördatum"
+
+#~ msgid "Redirect all DNS queries to the local resolver."
+#~ msgstr "Dirigera om alla DNS-förfrågningar till den lokala "
+
+#~ msgid "Resume adblock"
+#~ msgstr "Återuppta adblock"
+
+#~ msgid "Status"
+#~ msgstr "Status"
+
+#~ msgid "Suspend adblock"
+#~ msgstr "Upphäv adblock"
+
+#~ msgid "active"
+#~ msgstr "aktiv"
+
+#~ 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"
index c755446..960145a 100644 (file)
@@ -1,19 +1,19 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=UTF-8"
 
-msgid "."
+msgid "-------"
 msgstr ""
 
 msgid "Adblock"
 msgstr ""
 
-msgid "Adblock Domain Query"
+msgid "Adblock Logfile"
 msgstr ""
 
-msgid "Adblock Logfile"
+msgid "Adblock Status"
 msgstr ""
 
-msgid "Adblock version"
+msgid "Adblock Version"
 msgstr ""
 
 msgid "Additional trigger delay in seconds before adblock processing begins."
@@ -25,13 +25,28 @@ msgstr ""
 msgid "Available blocklist sources."
 msgstr ""
 
-msgid "Backup directory"
+msgid "Backup Directory"
+msgstr ""
+
+msgid "Backup Mode"
 msgstr ""
 
-msgid "Blocked domains (overall)"
+msgid ""
+"Block access to all domains except those explicitly listed in the whitelist "
+"file."
 msgstr ""
 
-msgid "Blocklist sources"
+msgid "Blocklist Sources"
+msgstr ""
+
+msgid ""
+"Caution: To prevent OOM exceptions on low memory devices with less than 64 "
+"MB free RAM, please do not select more than five blocklist sources!"
+msgstr ""
+
+msgid ""
+"Choose 'none' to disable automatic startups, 'timed' to use a classic "
+"timeout (default 30 sec.) or select another trigger interface."
 msgstr ""
 
 msgid "Collecting data..."
@@ -41,15 +56,37 @@ msgid ""
 "Configuration of the adblock package to block ad/abuse domains by using DNS."
 msgstr ""
 
-msgid "DNS backend"
+msgid ""
+"Create compressed blocklist backups, they will be used in case of download "
+"errors or during startup in backup mode."
+msgstr ""
+
+msgid "DNS Backend (DNS Directory)"
+msgstr ""
+
+msgid "DNS Directory"
 msgstr ""
 
 msgid "Description"
 msgstr ""
 
+msgid ""
+"Do not automatically update blocklists during startup, use blocklist backups "
+"instead."
+msgstr ""
+
+msgid "Download Utility"
+msgstr ""
+
 msgid "Download Utility (SSL Library)"
 msgstr ""
 
+msgid ""
+"During opkg package installation use the '--force-maintainer' option to "
+"overwrite the pre-existing config file or download a fresh default config "
+"from <a href=\"%s\" target=\"_blank\">here</a>"
+msgstr ""
+
 msgid "Edit Blacklist"
 msgstr ""
 
@@ -59,38 +96,55 @@ msgstr ""
 msgid "Edit Whitelist"
 msgstr ""
 
-msgid "Enable adblock"
+msgid "Email Notification"
 msgstr ""
 
-msgid "Enable blocklist backup"
+msgid "Email Notification Count"
+msgstr ""
+
+msgid "Enable Adblock"
+msgstr ""
+
+msgid "Enable Blocklist Backup"
 msgstr ""
 
 msgid ""
 "Enable memory intense overall sort / duplicate removal on low memory devices "
-"(&lt; 64 MB RAM)"
+"(&lt; 64 MB free RAM)"
 msgstr ""
 
-msgid "Enable verbose debug logging"
+msgid "Enable verbose debug logging in case of any processing error."
 msgstr ""
 
 msgid "Enabled"
 msgstr ""
 
-msgid "Extra options"
+msgid "Extra Options"
+msgstr ""
+
+msgid "Flush DNS Cache"
+msgstr ""
+
+msgid "Flush DNS Cache after adblock processing."
 msgstr ""
 
 msgid ""
 "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
-"'libustream-ssl' or the wget 'built-in'."
+"'libustream-ssl' or 'built-in'."
 msgstr ""
 
-msgid "For further information"
+msgid ""
+"For further information <a href=\"%s\" target=\"_blank\">check the online "
+"documentation</a>"
+msgstr ""
+
+msgid "Force Local DNS"
 msgstr ""
 
 msgid "Force Overall Sort"
 msgstr ""
 
-msgid "Force local DNS"
+msgid "Full path to the whitelist file."
 msgstr ""
 
 msgid "Input file not found, please check your configuration."
@@ -99,24 +153,40 @@ msgstr ""
 msgid "Invalid domain specified!"
 msgstr ""
 
-msgid "Last rundate"
+msgid "Last Run"
 msgstr ""
 
-msgid "Loading"
+msgid ""
+"List URLs and Shallalist category selections are configurable in the "
+"'Advanced' section.<br />"
 msgstr ""
 
-msgid "No"
+msgid ""
+"List of available network interfaces. Usually the startup will be triggered "
+"by the 'wan' interface.<br />"
 msgstr ""
 
 msgid ""
-"Note that list URLs and Shallalist category selections are configurable in "
-"the 'Advanced' section."
+"List of supported DNS backends with their default list export directory.<br /"
+">"
+msgstr ""
+
+msgid "List of supported and fully pre-configured download utilities."
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "No"
 msgstr ""
 
 msgid ""
 "Options for further tweaking in case the defaults are not suitable for you."
 msgstr ""
 
+msgid "Overall Domains"
+msgstr ""
+
 msgid "Overview"
 msgstr ""
 
@@ -125,39 +195,66 @@ msgid ""
 "allowed - ip addresses, wildcards and regex are not."
 msgstr ""
 
+msgid "Please edit this file directly in a terminal session."
+msgstr ""
+
+msgid ""
+"Please note: this needs additional 'mstmp' installation and setup (see "
+"readme)."
+msgstr ""
+
+msgid "Please update your adblock config file to use this package.<br />"
+msgstr ""
+
 msgid "Query"
 msgstr ""
 
 msgid "Query domains"
 msgstr ""
 
-msgid "Redirect all DNS queries to the local resolver."
+msgid ""
+"Raise the minimum email notification count, to get emails if the overall "
+"count is less or equal to the given limit (default 0),<br />"
 msgstr ""
 
-msgid "Restrict interface trigger to certain interface(s)"
+msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
 msgstr ""
 
-msgid "Resume adblock"
+msgid "Resume"
 msgstr ""
 
-msgid "Runtime information"
+msgid "Runtime Information"
 msgstr ""
 
 msgid "SSL req."
 msgstr ""
 
+msgid "Save"
+msgstr ""
+
 msgid ""
-"Space separated list of interfaces that trigger adblock processing. To "
-"disable event driven (re-)starts remove all entries."
+"Send notification emails in case of a processing error or if domain count is "
+"&le; 0.<br />"
+msgstr ""
+
+msgid "Startup Trigger"
+msgstr ""
+
+msgid "Suspend"
 msgstr ""
 
-msgid "Status"
+msgid "Suspend / Resume Adblock"
 msgstr ""
 
-msgid "Suspend / Resume adblock"
+msgid ""
+"Target directory for adblock backups. Please use only non-volatile disks, e."
+"g. an external usb stick."
+msgstr ""
+
+msgid "Target directory for the generated blocklist 'adb_list.overall'."
 msgstr ""
 
-msgid "Suspend adblock"
+msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
 msgstr ""
 
 msgid ""
@@ -185,7 +282,18 @@ msgid ""
 "only."
 msgstr ""
 
-msgid "Trigger delay"
+msgid "This section contains no values yet"
+msgstr ""
+
+msgid ""
+"To overwrite the default path use the 'DNS Directory' option in the extra "
+"section below."
+msgstr ""
+
+msgid "Trigger Delay"
+msgstr ""
+
+msgid "Verbose Debug Logging"
 msgstr ""
 
 msgid "View Logfile"
@@ -194,20 +302,34 @@ msgstr ""
 msgid "Waiting for command to complete..."
 msgstr ""
 
+msgid "Whitelist File"
+msgstr ""
+
+msgid "Whitelist Mode"
+msgstr ""
+
 msgid "Yes"
 msgstr ""
 
-msgid "active"
+msgid "disabled"
 msgstr ""
 
-msgid "n/a"
+msgid ""
+"e.g. to receive an email notification with every adblock update set this "
+"value to 150000."
 msgstr ""
 
-msgid "no domains blocked"
+msgid "enabled"
+msgstr ""
+
+msgid "error"
+msgstr ""
+
+msgid "n/a"
 msgstr ""
 
-msgid "see online documentation"
+msgid "paused"
 msgstr ""
 
-msgid "suspended"
+msgid "running"
 msgstr ""
index 7ef853b..64460fd 100644 (file)
@@ -1,51 +1,70 @@
 # liushuyu <liushuyu_011@163.com>, 2017.
+# Yangfl <mmyangfl@gmail.com>, 2017.
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "POT-Creation-Date: \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"
+"PO-Revision-Date: 2017-10-28 16:06+0800\n"
+"Last-Translator: Yangfl <mmyangfl@gmail.com>\n"
+"Language-Team:  <debian-l10n-chinese@lists.debian.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 2.0.1\n"
+"X-Generator: Gtranslator 2.91.7\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-msgid "."
-msgstr "."
+msgid "-------"
+msgstr "-------"
 
 msgid "Adblock"
 msgstr "Adblock"
 
-msgid "Adblock Domain Query"
-msgstr ""
-
 msgid "Adblock Logfile"
 msgstr "Adblock 日志文件"
 
-msgid "Adblock version"
+msgid "Adblock Status"
+msgstr "Adblock 状态"
+
+msgid "Adblock Version"
 msgstr "Adblock 版本"
 
 msgid "Additional trigger delay in seconds before adblock processing begins."
-msgstr ""
+msgstr "触发 Adblock 开始处理前的额外延迟(以秒为单位)。"
 
 msgid "Advanced"
 msgstr "高级"
 
 msgid "Available blocklist sources."
-msgstr "可用的 blocklist 来源"
+msgstr "可用的 blocklist 来源"
 
-msgid "Backup directory"
+msgid "Backup Directory"
 msgstr "备份目录"
 
-msgid "Blocked domains (overall)"
+msgid "Backup Mode"
 msgstr ""
 
-msgid "Blocklist sources"
+msgid ""
+"Block access to all domains except those explicitly listed in the whitelist "
+"file."
+msgstr ""
+
+msgid "Blocklist Sources"
 msgstr "拦截列表来源"
 
+msgid ""
+"Caution: To prevent OOM exceptions on low memory devices with less than 64 "
+"MB free RAM, please do not select more than five blocklist sources!"
+msgstr ""
+
+msgid ""
+"Choose 'none' to disable automatic startups, 'timed' to use a classic "
+"timeout (default 30 sec.) or select another trigger interface."
+msgstr ""
+"选择“none”以禁用自动启动,“timed”以使用默认的超时设定(默认 30 秒),或选择另"
+"一个触发接口。"
+
 msgid "Collecting data..."
 msgstr "正在收集数据..."
 
@@ -53,13 +72,35 @@ msgid ""
 "Configuration of the adblock package to block ad/abuse domains by using DNS."
 msgstr "Adblock 配置工具,通过 DNS 来拦截广告和阻止域名。"
 
-msgid "DNS backend"
-msgstr "DNS 后端"
+msgid ""
+"Create compressed blocklist backups, they will be used in case of download "
+"errors or during startup in backup mode."
+msgstr ""
+
+msgid "DNS Backend (DNS Directory)"
+msgstr "DNS 后端(DNS 目录)"
+
+msgid "DNS Directory"
+msgstr "DNS 目录"
 
 msgid "Description"
 msgstr "描述"
 
+msgid ""
+"Do not automatically update blocklists during startup, use blocklist backups "
+"instead."
+msgstr "启动期间不要自动更新 blocklists,改用 blocklists 的备份。"
+
+msgid "Download Utility"
+msgstr ""
+
 msgid "Download Utility (SSL Library)"
+msgstr "下载实用程序(SSL 库)"
+
+msgid ""
+"During opkg package installation use the '--force-maintainer' option to "
+"overwrite the pre-existing config file or download a fresh default config "
+"from <a href=\"%s\" target=\"_blank\">here</a>"
 msgstr ""
 
 msgid "Edit Blacklist"
@@ -71,47 +112,82 @@ msgstr "编辑设置"
 msgid "Edit Whitelist"
 msgstr "编辑白名单"
 
-msgid "Enable adblock"
-msgstr "启用Adblock"
+msgid "Email Notification"
+msgstr ""
+
+msgid "Email Notification Count"
+msgstr ""
+
+msgid "Enable Adblock"
+msgstr "启用 Adblock"
 
-msgid "Enable blocklist backup"
-msgstr "启用拦截规则备份"
+msgid "Enable Blocklist Backup"
+msgstr "启用 Blocklist 备份"
 
 msgid ""
 "Enable memory intense overall sort / duplicate removal on low memory devices "
-"(&lt; 64 MB RAM)"
+"(&lt; 64 MB free RAM)"
 msgstr ""
 
-msgid "Enable verbose debug logging"
-msgstr "å\90¯ç\94¨è¯¦ç»\86è°\83è¯\95è¾\93å\87º"
+msgid "Enable verbose debug logging in case of any processing error."
+msgstr "å\9c¨å\87ºç\8e°ä»»ä½\95å¤\84ç\90\86é\94\99误ç\9a\84æ\83\85å\86µä¸\8bå\90¯ç\94¨è¯¦ç»\86è°\83è¯\95æ\97¥å¿\97è®°å½\95ã\80\82"
 
 msgid "Enabled"
-msgstr "启用"
+msgstr "å·²å\90¯ç\94¨"
 
-msgid "Extra options"
+msgid "Extra Options"
 msgstr "额外选项"
 
+msgid "Flush DNS Cache"
+msgstr ""
+
+msgid "Flush DNS Cache after adblock processing."
+msgstr ""
+
 msgid ""
 "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
-"'libustream-ssl' or the wget 'built-in'."
+"'libustream-ssl' or 'built-in'."
+msgstr ""
+
+msgid ""
+"For further information <a href=\"%s\" target=\"_blank\">check the online "
+"documentation</a>"
 msgstr ""
 
-msgid "For further information"
-msgstr "更多信息"
+msgid "Force Local DNS"
+msgstr "强制本地 DNS"
 
 msgid "Force Overall Sort"
-msgstr ""
+msgstr "强制整体排序"
 
-msgid "Force local DNS"
+msgid "Full path to the whitelist file."
 msgstr ""
 
 msgid "Input file not found, please check your configuration."
-msgstr ""
+msgstr "输入文件未找到,请检查您的配置。"
 
 msgid "Invalid domain specified!"
 msgstr "无效域名!"
 
-msgid "Last rundate"
+msgid "Last Run"
+msgstr "最后运行"
+
+msgid ""
+"List URLs and Shallalist category selections are configurable in the "
+"'Advanced' section.<br />"
+msgstr "列表 URL 和 Shallalist 类别选择可在“高级”选项卡中配置。<br />"
+
+msgid ""
+"List of available network interfaces. Usually the startup will be triggered "
+"by the 'wan' interface.<br />"
+msgstr ""
+
+msgid ""
+"List of supported DNS backends with their default list export directory.<br /"
+">"
+msgstr "支持的 DNS 后端列表及其默认列表导出目录。<br />"
+
+msgid "List of supported and fully pre-configured download utilities."
 msgstr ""
 
 msgid "Loading"
@@ -121,13 +197,11 @@ 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 "在默认设置并不适合你时的额外选项。"
+msgstr "在默认设置并不适合您时的额外选项。"
+
+msgid "Overall Domains"
+msgstr ""
 
 msgid "Overview"
 msgstr "总览"
@@ -136,93 +210,237 @@ msgid ""
 "Please add only one domain per line. Comments introduced with '#' are "
 "allowed - ip addresses, wildcards and regex are not."
 msgstr ""
+"请每行只添加一个域。允许使用'#'开头的注释 - ip 地址、通配符和正则表达式都不"
+"允许。"
+
+msgid "Please edit this file directly in a terminal session."
+msgstr "请在终端会话中直接编辑此文件。"
+
+msgid ""
+"Please note: this needs additional 'mstmp' installation and setup (see "
+"readme)."
+msgstr ""
+
+msgid "Please update your adblock config file to use this package.<br />"
+msgstr ""
 
 msgid "Query"
 msgstr "查询"
 
 msgid "Query domains"
-msgstr ""
+msgstr "查询域"
 
-msgid "Redirect all DNS queries to the local resolver."
+msgid ""
+"Raise the minimum email notification count, to get emails if the overall "
+"count is less or equal to the given limit (default 0),<br />"
 msgstr ""
 
-msgid "Restrict interface trigger to certain interface(s)"
-msgstr ""
+msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
+msgstr "将所有 DNS 查询从“lan”区域重定向到本地解析器。"
 
-msgid "Resume adblock"
-msgstr "恢复 Adblock"
+msgid "Resume"
+msgstr "恢复"
 
-msgid "Runtime information"
+msgid "Runtime Information"
 msgstr "运行信息"
 
 msgid "SSL req."
-msgstr ""
+msgstr "SSL 要求"
+
+msgid "Save"
+msgstr "保存"
 
 msgid ""
-"Space separated list of interfaces that trigger adblock processing. To "
-"disable event driven (re-)starts remove all entries."
+"Send notification emails in case of a processing error or if domain count is "
+"&le; 0.<br />"
 msgstr ""
 
-msgid "Status"
-msgstr "状态"
+msgid "Startup Trigger"
+msgstr "启动触发器"
 
-msgid "Suspend / Resume adblock"
+msgid "Suspend"
+msgstr "暂停"
+
+msgid "Suspend / Resume Adblock"
 msgstr "暂停/恢复 Adblock"
 
-msgid "Suspend adblock"
-msgstr "暂停 Adblock"
+msgid ""
+"Target directory for adblock backups. Please use only non-volatile disks, e."
+"g. an external usb stick."
+msgstr ""
+
+msgid "Target directory for the generated blocklist 'adb_list.overall'."
+msgstr "生成的 blocklist 'adb_list.overall'的目标目录。"
+
+msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
+msgstr "文件大小太大,无法在 LuCI(&gt; 512 KB)中进行在线编辑。"
 
 msgid ""
 "This form allows you to modify the content of the adblock blacklist (%s)."
 "<br />"
-msgstr ""
+msgstr "此表单允许您修改 adblock 黑名单(%s)的内容。<br />"
 
 msgid ""
 "This form allows you to modify the content of the adblock whitelist (%s)."
 "<br />"
-msgstr ""
+msgstr "此表单允许您修改 adblock 白名单(%s)的内容。<br />"
 
 msgid ""
 "This form allows you to modify the content of the main adblock configuration "
 "file (/etc/config/adblock)."
-msgstr ""
+msgstr "此表单允许您修改主要 adblock 配置文件(/etc/config/adblock)的内容。"
 
 msgid ""
 "This form allows you to query active block lists for certain domains, e.g. "
 "for whitelisting."
-msgstr ""
+msgstr "此表单允许您查询某些域的活动块列表,例如用于列出白名单。"
 
 msgid ""
 "This form shows the syslog output, pre-filtered for adblock related messages "
 "only."
+msgstr "此表单显示系统日志输出,仅针对 adblock 相关的消息进行了预筛选。"
+
+msgid "This section contains no values yet"
 msgstr ""
 
-msgid "Trigger delay"
+msgid ""
+"To overwrite the default path use the 'DNS Directory' option in the extra "
+"section below."
+msgstr "要覆盖默认路径,请使用下面额外部分中的“DNS 目录”选项。"
+
+msgid "Trigger Delay"
 msgstr "触发延迟"
 
+msgid "Verbose Debug Logging"
+msgstr "详细的调试记录"
+
 msgid "View Logfile"
 msgstr "查看日志文件"
 
 msgid "Waiting for command to complete..."
 msgstr "正在执行命令..."
 
+msgid "Whitelist File"
+msgstr ""
+
+msgid "Whitelist Mode"
+msgstr ""
+
 msgid "Yes"
 msgstr "是"
 
-msgid "active"
+msgid "disabled"
+msgstr "已禁用"
+
+msgid ""
+"e.g. to receive an email notification with every adblock update set this "
+"value to 150000."
+msgstr ""
+
+msgid "enabled"
 msgstr "已启用"
 
+msgid "error"
+msgstr "错误"
+
 msgid "n/a"
+msgstr "不可用"
+
+msgid "paused"
+msgstr "已暂停"
+
+msgid "running"
 msgstr ""
 
-msgid "no domains blocked"
-msgstr "没有被拦截的域名"
+#~ msgid ""
+#~ "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
+#~ "'libustream-ssl' or the wget 'built-in'."
+#~ msgstr ""
+#~ "对于 SSL 保护的 blocklist 源,您需要一个合适的 SSL 库,例如'libustream-"
+#~ "ssl'或 wget'built-in'。"
 
-msgid "see online documentation"
-msgstr "查看在线文档"
+#~ msgid ""
+#~ "Caution: Please don't select big lists or many lists at once on low "
+#~ "memory devices to prevent OOM exceptions!"
+#~ msgstr ""
+#~ "注意:请勿在内存较小的设备上选择过长的列表或同时选择多个列表,以防止 OOM "
+#~ "异常!"
 
-msgid "suspended"
-msgstr "已暂停"
+#~ msgid ""
+#~ "Create compressed blocklist backups, they will be used in case of "
+#~ "download errors or during startup in manual mode."
+#~ msgstr "创建压缩的 blocklist 备份,它们将在下载错误或手动模式下启动时使用。"
+
+#~ msgid ""
+#~ "Enable memory intense overall sort / duplicate removal on low memory "
+#~ "devices (&lt; 64 MB RAM)"
+#~ msgstr "在低内存设备上启用耗用内存的整体排序/重复规则删除(&lt;64 MB RAM)"
+
+#~ msgid ""
+#~ "For further information <a href=\"%s\" target=\"_blank\">see online "
+#~ "documentation</a>"
+#~ msgstr "有关更多信息,请<a href=\"%s\" target=\"_blank\">参阅在线文档</a>"
+
+#~ msgid ""
+#~ "In OPKG use the '--force-maintainer' option to overwrite the pre-existing "
+#~ "config file or download a fresh default config from <a href=\"%s\" target="
+#~ "\"_blank\">here</a>"
+#~ msgstr ""
+#~ "在 OPKG 中,使用“--force-maintainer”选项覆盖预先存在的配置文件,或从<a "
+#~ "href=\"%s\" target=\"_blank\">此处</a>下载新的默认配置"
+
+#~ msgid ""
+#~ "List of available network interfaces. By default the startup will be "
+#~ "triggered by the 'wan' interface.<br />"
+#~ msgstr "可用网络接口列表。默认情况下,将由“wan”界面触发启动。<br />"
+
+#~ msgid "Manual / Backup mode"
+#~ msgstr "手动/备份模式"
+
+#~ msgid "Overall Blocked Domains"
+#~ msgstr "整体封锁域名"
+
+#~ msgid "Please update your adblock config file to use this package."
+#~ msgstr "请更新您的 adblock 配置文件以使用此软件包。"
+
+#~ msgid ""
+#~ "Target directory for adblock backups. Please use only non-volatile disks, "
+#~ "no ram/tmpfs drives."
+#~ msgstr ""
+#~ "adblock 备份的目标目录。请仅使用非易失性磁盘,不使用 ram/tmpfs 驱动器。"
+
+#~ msgid "DNS backend"
+#~ msgstr "DNS 后端"
+
+#~ msgid "Enable verbose debug logging"
+#~ msgstr "启用详细调试输出"
+
+#~ msgid "Resume adblock"
+#~ msgstr "恢复 Adblock"
+
+#~ msgid "Status"
+#~ msgstr "状态"
+
+#~ msgid "Suspend adblock"
+#~ msgstr "暂停 Adblock"
+
+#~ msgid "active"
+#~ 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 "备份选项"
diff --git a/applications/luci-app-adblock/po/zh-tw/adblock.po b/applications/luci-app-adblock/po/zh-tw/adblock.po
new file mode 100644 (file)
index 0000000..ace0f29
--- /dev/null
@@ -0,0 +1,504 @@
+# liushuyu <liushuyu_011@163.com>, 2017.
+# Yangfl <mmyangfl@gmail.com>, 2017.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2017-10-28 16:06+0800\n"
+"Last-Translator: Yangfl <mmyangfl@gmail.com>\n"
+"Language-Team:  <debian-l10n-chinese@lists.debian.org>\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Gtranslator 2.91.7\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgid "-------"
+msgstr "-------"
+
+msgid "Adblock"
+msgstr "Adblock"
+
+msgid "Adblock Logfile"
+msgstr "Adblock 日誌檔案"
+
+msgid "Adblock Status"
+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 "可用的 blocklist 來源。"
+
+msgid "Backup Directory"
+msgstr "備份目錄"
+
+msgid "Backup Mode"
+msgstr ""
+
+msgid ""
+"Block access to all domains except those explicitly listed in the whitelist "
+"file."
+msgstr ""
+
+msgid "Blocklist Sources"
+msgstr "攔截列表來源"
+
+msgid ""
+"Caution: To prevent OOM exceptions on low memory devices with less than 64 "
+"MB free RAM, please do not select more than five blocklist sources!"
+msgstr ""
+
+msgid ""
+"Choose 'none' to disable automatic startups, 'timed' to use a classic "
+"timeout (default 30 sec.) or select another trigger interface."
+msgstr ""
+"選擇“none”以禁用自動啟動,“timed”以使用預設的超時設定(預設 30 秒),或選擇另"
+"一個觸發介面。"
+
+msgid "Collecting data..."
+msgstr "正在收集資料..."
+
+msgid ""
+"Configuration of the adblock package to block ad/abuse domains by using DNS."
+msgstr "Adblock 配置工具,通過 DNS 來攔截廣告和阻止域名。"
+
+msgid ""
+"Create compressed blocklist backups, they will be used in case of download "
+"errors or during startup in backup mode."
+msgstr ""
+
+msgid "DNS Backend (DNS Directory)"
+msgstr "DNS 後端(DNS 目錄)"
+
+msgid "DNS Directory"
+msgstr "DNS 目錄"
+
+msgid "Description"
+msgstr "描述"
+
+msgid ""
+"Do not automatically update blocklists during startup, use blocklist backups "
+"instead."
+msgstr "啟動期間不要自動更新 blocklists,改用 blocklists 的備份。"
+
+msgid "Download Utility"
+msgstr ""
+
+msgid "Download Utility (SSL Library)"
+msgstr "下載實用程式(SSL 庫)"
+
+msgid ""
+"During opkg package installation use the '--force-maintainer' option to "
+"overwrite the pre-existing config file or download a fresh default config "
+"from <a href=\"%s\" target=\"_blank\">here</a>"
+msgstr ""
+
+msgid "Edit Blacklist"
+msgstr "編輯黑名單"
+
+msgid "Edit Configuration"
+msgstr "編輯設定"
+
+msgid "Edit Whitelist"
+msgstr "編輯白名單"
+
+msgid "Email Notification"
+msgstr ""
+
+msgid "Email Notification Count"
+msgstr ""
+
+msgid "Enable Adblock"
+msgstr "啟用 Adblock"
+
+msgid "Enable Blocklist Backup"
+msgstr "啟用 Blocklist 備份"
+
+msgid ""
+"Enable memory intense overall sort / duplicate removal on low memory devices "
+"(&lt; 64 MB free RAM)"
+msgstr ""
+
+msgid "Enable verbose debug logging in case of any processing error."
+msgstr "在出現任何處理錯誤的情況下啟用詳細除錯日誌記錄。"
+
+msgid "Enabled"
+msgstr "已啟用"
+
+msgid "Extra Options"
+msgstr "額外選項"
+
+msgid "Flush DNS Cache"
+msgstr ""
+
+msgid "Flush DNS Cache after adblock processing."
+msgstr ""
+
+msgid ""
+"For SSL protected blocklist sources you need a suitable SSL library, e.g. "
+"'libustream-ssl' or 'built-in'."
+msgstr ""
+
+msgid ""
+"For further information <a href=\"%s\" target=\"_blank\">check the online "
+"documentation</a>"
+msgstr ""
+
+msgid "Force Local DNS"
+msgstr "強制本地 DNS"
+
+msgid "Force Overall Sort"
+msgstr "強制整體排序"
+
+msgid "Full path to the whitelist file."
+msgstr ""
+
+msgid "Input file not found, please check your configuration."
+msgstr "輸入檔案未找到,請檢查您的配置。"
+
+msgid "Invalid domain specified!"
+msgstr "無效域名!"
+
+msgid "Last Run"
+msgstr "最後執行"
+
+msgid ""
+"List URLs and Shallalist category selections are configurable in the "
+"'Advanced' section.<br />"
+msgstr "列表 URL 和 Shallalist 類別選擇可在“高階”選項卡中配置。<br />"
+
+msgid ""
+"List of available network interfaces. Usually the startup will be triggered "
+"by the 'wan' interface.<br />"
+msgstr ""
+
+msgid ""
+"List of supported DNS backends with their default list export directory.<br /"
+">"
+msgstr "支援的 DNS 後端列表及其預設列表匯出目錄。<br />"
+
+msgid "List of supported and fully pre-configured download utilities."
+msgstr ""
+
+msgid "Loading"
+msgstr "載入中"
+
+msgid "No"
+msgstr "否"
+
+msgid ""
+"Options for further tweaking in case the defaults are not suitable for you."
+msgstr "在預設設定並不適合您時的額外選項。"
+
+msgid "Overall Domains"
+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 ""
+"請每行只新增一個域。允許使用'#'開頭的註釋 - ip 位址、萬用字元和正則表示式都"
+"不允許。"
+
+msgid "Please edit this file directly in a terminal session."
+msgstr "請在終端會話中直接編輯此檔案。"
+
+msgid ""
+"Please note: this needs additional 'mstmp' installation and setup (see "
+"readme)."
+msgstr ""
+
+msgid "Please update your adblock config file to use this package.<br />"
+msgstr ""
+
+msgid "Query"
+msgstr "查詢"
+
+msgid "Query domains"
+msgstr "查詢域"
+
+msgid ""
+"Raise the minimum email notification count, to get emails if the overall "
+"count is less or equal to the given limit (default 0),<br />"
+msgstr ""
+
+msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
+msgstr "將所有 DNS 查詢從“lan”區域重定向到本地解析器。"
+
+msgid "Resume"
+msgstr "恢復"
+
+msgid "Runtime Information"
+msgstr "執行資訊"
+
+msgid "SSL req."
+msgstr "SSL 要求"
+
+msgid "Save"
+msgstr "儲存"
+
+msgid ""
+"Send notification emails in case of a processing error or if domain count is "
+"&le; 0.<br />"
+msgstr ""
+
+msgid "Startup Trigger"
+msgstr "啟動觸發器"
+
+msgid "Suspend"
+msgstr "暫停"
+
+msgid "Suspend / Resume Adblock"
+msgstr "暫停/恢復 Adblock"
+
+msgid ""
+"Target directory for adblock backups. Please use only non-volatile disks, e."
+"g. an external usb stick."
+msgstr ""
+
+msgid "Target directory for the generated blocklist 'adb_list.overall'."
+msgstr "生成的 blocklist 'adb_list.overall'的目標目錄。"
+
+msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
+msgstr "檔案大小太大,無法在 LuCI(&gt; 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 ""
+"This form shows the syslog output, pre-filtered for adblock related messages "
+"only."
+msgstr "此表單顯示系統日誌輸出,僅針對 adblock 相關的訊息進行了預篩選。"
+
+msgid "This section contains no values yet"
+msgstr ""
+
+msgid ""
+"To overwrite the default path use the 'DNS Directory' option in the extra "
+"section below."
+msgstr "要覆蓋預設路徑,請使用下面額外部分中的“DNS 目錄”選項。"
+
+msgid "Trigger Delay"
+msgstr "觸發延遲"
+
+msgid "Verbose Debug Logging"
+msgstr "詳細的除錯記錄"
+
+msgid "View Logfile"
+msgstr "檢視日誌檔案"
+
+msgid "Waiting for command to complete..."
+msgstr "正在執行命令..."
+
+msgid "Whitelist File"
+msgstr ""
+
+msgid "Whitelist Mode"
+msgstr ""
+
+msgid "Yes"
+msgstr "是"
+
+msgid "disabled"
+msgstr "已禁用"
+
+msgid ""
+"e.g. to receive an email notification with every adblock update set this "
+"value to 150000."
+msgstr ""
+
+msgid "enabled"
+msgstr "已啟用"
+
+msgid "error"
+msgstr "錯誤"
+
+msgid "n/a"
+msgstr "不可用"
+
+msgid "paused"
+msgstr "已暫停"
+
+msgid "running"
+msgstr ""
+
+#~ msgid ""
+#~ "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
+#~ "'libustream-ssl' or the wget 'built-in'."
+#~ msgstr ""
+#~ "對於 SSL 保護的 blocklist 源,您需要一個合適的 SSL 庫,例如'libustream-"
+#~ "ssl'或 wget'built-in'。"
+
+#~ msgid ""
+#~ "Caution: Please don't select big lists or many lists at once on low "
+#~ "memory devices to prevent OOM exceptions!"
+#~ msgstr ""
+#~ "注意:請勿在記憶體較小的裝置上選擇過長的列表或同時選擇多個列表,以防止 "
+#~ "OOM 異常!"
+
+#~ msgid ""
+#~ "Create compressed blocklist backups, they will be used in case of "
+#~ "download errors or during startup in manual mode."
+#~ msgstr "建立壓縮的 blocklist 備份,它們將在下載錯誤或手動模式下啟動時使用。"
+
+#~ msgid ""
+#~ "Enable memory intense overall sort / duplicate removal on low memory "
+#~ "devices (&lt; 64 MB RAM)"
+#~ msgstr ""
+#~ "在低記憶體裝置上啟用耗用記憶體的整體排序/重複規則刪除(&lt;64 MB RAM)"
+
+#~ msgid ""
+#~ "For further information <a href=\"%s\" target=\"_blank\">see online "
+#~ "documentation</a>"
+#~ msgstr "有關更多資訊,請<a href=\"%s\" target=\"_blank\">參閱線上文件</a>"
+
+#~ msgid ""
+#~ "In OPKG use the '--force-maintainer' option to overwrite the pre-existing "
+#~ "config file or download a fresh default config from <a href=\"%s\" target="
+#~ "\"_blank\">here</a>"
+#~ msgstr ""
+#~ "在 OPKG 中,使用“--force-maintainer”選項覆蓋預先存在的配置檔案,或從<a "
+#~ "href=\"%s\" target=\"_blank\">此處</a>下載新的預設配置"
+
+#~ msgid ""
+#~ "List of available network interfaces. By default the startup will be "
+#~ "triggered by the 'wan' interface.<br />"
+#~ msgstr "可用網路介面列表。預設情況下,將由“wan”介面觸發啟動。<br />"
+
+#~ msgid "Manual / Backup mode"
+#~ msgstr "手動/備份模式"
+
+#~ msgid "Overall Blocked Domains"
+#~ msgstr "整體封鎖域名"
+
+#~ msgid "Please update your adblock config file to use this package."
+#~ msgstr "請更新您的 adblock 配置檔案以使用此軟體包。"
+
+#~ msgid ""
+#~ "Target directory for adblock backups. Please use only non-volatile disks, "
+#~ "no ram/tmpfs drives."
+#~ msgstr ""
+#~ "adblock 備份的目標目錄。請僅使用非易失性磁碟,不使用 ram/tmpfs 驅動器。"
+
+#~ msgid "DNS backend"
+#~ msgstr "DNS 後端"
+
+#~ msgid "Enable verbose debug logging"
+#~ msgstr "啟用詳細除錯輸出"
+
+#~ msgid "Resume adblock"
+#~ msgstr "恢復 Adblock"
+
+#~ msgid "Status"
+#~ msgstr "狀態"
+
+#~ msgid "Suspend adblock"
+#~ msgstr "暫停 Adblock"
+
+#~ msgid "active"
+#~ 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 "Count"
+#~ msgstr "數量"
+
+#~ msgid "IPv4 blackhole ip address"
+#~ msgstr "IPv4禁止列表"
+
+#~ msgid "IPv6 blackhole ip address"
+#~ msgstr "IPv6禁止列表"
+
+#~ msgid "List date/state"
+#~ msgstr "列表日期/狀態"
+
+#~ msgid "Name of the logical lan interface"
+#~ msgstr "LAN介面名稱"
+
+#~ msgid "Port of the adblock uhttpd instance"
+#~ msgstr "Adblock uhttpd埠"
+
+#~ msgid "Redirect all DNS queries to the local resolver"
+#~ msgstr "將所有DNS查詢都重定向到本地解析器"
+
+#~ msgid "Timeout for blocklist fetch (seconds)"
+#~ msgstr "列表查詢超時時間(秒)"
+
+#~ msgid "Total count of blocked domains"
+#~ msgstr "阻止域名總數"
+
+#~ msgid ""
+#~ "When adblock is active, all DNS queries are redirected to the local "
+#~ "resolver in this server by default. You can disable that to allow queries "
+#~ "to external DNS servers."
+#~ msgstr ""
+#~ "當Adblock處於活動狀態時,預設情況下會將所有的DNS查詢重定向到此伺服器的本地"
+#~ "解析器。您可以禁用以允許查詢外部DNS伺服器。"