luci-app-adblock: backport updates to match 2.6.2

Backport updates to luci-app-adblock that correspond to
the adblock 2.6.2 version.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
This commit is contained in:
Hannu Nyman 2017-04-30 00:02:31 +03:00
parent 7fee975bb4
commit ae565bc393
16 changed files with 1407 additions and 184 deletions

View file

@ -1,12 +1,10 @@
# Copyright (C) 2016 Openwrt.org # Copyright 2017 Dirk Brenken (dev@brenken.org)
# # This is free software, licensed under the Apache License, Version 2.0
# This is free software, licensed under the Apache License, Version 2.0 .
#
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI support for Adblock LUCI_TITLE:=LuCI support for Adblock
LUCI_DEPENDS:=+adblock LUCI_DEPENDS:=+adblock +luci-lib-jsonc
LUCI_PKGARCH:=all LUCI_PKGARCH:=all
include ../../luci.mk include ../../luci.mk

View file

@ -1,12 +1,52 @@
-- Copyright 2016 Openwrt.org -- Copyright 2017 Dirk Brenken (dev@brenken.org)
-- Licensed to the public under the Apache License 2.0. -- This is free software, licensed under the Apache License, Version 2.0
module("luci.controller.adblock", package.seeall) module("luci.controller.adblock", package.seeall)
local fs = require("nixio.fs")
local util = require("luci.util")
local template = require("luci.template")
local i18n = require("luci.i18n")
function index() function index()
if not nixio.fs.access("/etc/config/adblock") then if not nixio.fs.access("/etc/config/adblock") then
return return
end end
entry({"admin", "services", "adblock"}, firstchild(), _("Adblock"), 30).dependent = false
entry({"admin", "services", "adblock"}, cbi("adblock"), _("Adblock"), 40) entry({"admin", "services", "adblock", "tab_from_cbi"}, cbi("adblock/overview_tab"), _("Overview"), 10).leaf = true
entry({"admin", "services", "adblock", "logfile"}, call("logread"), _("View Logfile"), 20).leaf = true
entry({"admin", "services", "adblock", "advanced"}, firstchild(), _("Advanced"), 100)
entry({"admin", "services", "adblock", "advanced", "blacklist"}, cbi("adblock/blacklist_tab"), _("Edit Blacklist"), 110).leaf = true
entry({"admin", "services", "adblock", "advanced", "whitelist"}, cbi("adblock/whitelist_tab"), _("Edit Whitelist"), 120).leaf = true
entry({"admin", "services", "adblock", "advanced", "configuration"}, cbi("adblock/configuration_tab"), _("Edit Configuration"), 130).leaf = true
entry({"admin", "services", "adblock", "advanced", "query"}, call("query"), _("Query domains"), 140).leaf = true
entry({"admin", "services", "adblock", "advanced", "result"}, call("queryData"), nil, 150).leaf = true
end
function logread()
local logfile = util.trim(util.exec("logread -e 'adblock'"))
template.render("adblock/logread", {title = i18n.translate("Adblock Logfile"), content = logfile})
end
function query()
template.render("adblock/query", {title = i18n.translate("Adblock Domain Query")})
end
function queryData(domain)
if domain and domain:match("^[a-zA-Z0-9%-%._]+$") then
luci.http.prepare_content("text/plain")
local cmd = "/etc/init.d/adblock query %q 2>&1"
local util = io.popen(cmd % domain)
if util then
while true do
local line = util:read("*l")
if not line then
break
end
luci.http.write(line)
luci.http.write("\n")
end
util:close()
end
end
end end

View file

@ -1,63 +0,0 @@
-- Copyright 2016 Hannu Nyman
-- Licensed to the public under the Apache License 2.0.
m = Map("adblock", translate("Adblock"),
translate("Configuration of the adblock package to block ad/abuse domains by using DNS."))
-- General options
s = m:section(NamedSection, "global", "adblock", translate("Global options"))
o1 = s:option(Flag, "adb_enabled", translate("Enable adblock"))
o1.rmempty = false
o1.default = 0
o3 = s:option(Value, "adb_whitelist", translate("Whitelist file"),
translate("File with whitelisted hosts/domains that are allowed despite being on a blocklist."))
o3.rmempty = false
o3.datatype = "file"
-- Blocklist options
bl = m:section(TypedSection, "source", translate("Blocklist sources"),
translate("Available blocklist sources (")
.. [[<a href="https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md" target="_blank">]]
.. translate("see list details")
.. [[</a>]]
.. translate("). Note that list URLs and Shallalist category selections are not configurable via Luci."))
bl.template = "cbi/tblsection"
name = bl:option(Flag, "enabled", translate("Enabled"))
name.rmempty = false
des = bl:option(DummyValue, "adb_src_desc", translate("Description"))
-- Additional options
s2 = m:section(NamedSection, "global", "adblock", translate("Backup options"))
o4 = s2:option(Flag, "adb_backup", translate("Enable blocklist backup"))
o4.rmempty = false
o4.default = 0
o5 = s2:option(Value, "adb_backupdir", translate("Backup directory"))
o5.rmempty = false
o5.datatype = "directory"
-- Extra options
e = m:section(NamedSection, "global", "adblock", translate("Extra options"),
translate("Options for further tweaking in case the defaults are not suitable for you."))
a = e:option(Flag, "adb_debug", translate("Enable verbose debug logging"))
a.default = a.disabled
a.rmempty = false
a = e:option(Value, "adb_iface", translate("Restrict reload trigger to certain interface(s)"),
translate("Space separated list of wan interfaces that trigger reload action. " ..
"To disable reload trigger set it to 'false'. Default: empty"))
a.datatype = "network"
a.rmempty = true
return m

View file

@ -0,0 +1,39 @@
-- Copyright 2017 Dirk Brenken (dev@brenken.org)
-- This is free software, licensed under the Apache License, Version 2.0
local fs = require("nixio.fs")
local util = require("luci.util")
local uci = require("uci")
local adbinput = uci.get("adblock", "blacklist", "adb_src" or "/etc/adblock/adblock.blacklist")
if not nixio.fs.access(adbinput) then
m = SimpleForm("error", nil, translate("Input file not found, please check your configuration."))
return m
end
m = SimpleForm("input", nil)
m:append(Template("adblock/config_css"))
m.reset = false
s = m:section(SimpleSection, nil,
translatef("This form allows you to modify the content of the adblock blacklist (%s).<br />", adbinput)
.. translate("Please add only one domain per line. Comments introduced with '#' are allowed - ip addresses, wildcards and regex are not."))
f = s:option(TextValue, "data")
f.datatype = "string"
f.rows = 20
f.rmempty = true
function f.cfgvalue()
return nixio.fs.readfile(adbinput) or ""
end
function f.write(self, section, data)
return nixio.fs.writefile(adbinput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
end
function s.handle(self, state, data)
return true
end
return m

View file

@ -0,0 +1,36 @@
-- Copyright 2017 Dirk Brenken (dev@brenken.org)
-- This is free software, licensed under the Apache License, Version 2.0
local fs = require("nixio.fs")
local util = require("luci.util")
local adbinput = "/etc/config/adblock"
if not nixio.fs.access(adbinput) then
m = SimpleForm("error", nil, translate("Input file not found, please check your configuration."))
return m
end
m = SimpleForm("input", nil)
m:append(Template("adblock/config_css"))
m.reset = false
s = m:section(SimpleSection, nil,
translate("This form allows you to modify the content of the main adblock configuration file (/etc/config/adblock)."))
f = s:option(TextValue, "data")
f.rows = 20
f.rmempty = true
function f.cfgvalue()
return nixio.fs.readfile(adbinput) or ""
end
function f.write(self, section, data)
return nixio.fs.writefile(adbinput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
end
function s.handle(self, state, data)
return true
end
return m

View file

@ -0,0 +1,164 @@
-- Copyright 2017 Dirk Brenken (dev@brenken.org)
-- This is free software, licensed under the Apache License, Version 2.0
local fs = require("nixio.fs")
local uci = require("uci")
local sys = require("luci.sys")
local json = require("luci.jsonc")
local adbinput = uci.get("adblock", "global", "adb_rtfile") or "/tmp/adb_runtime.json"
local parse = json.parse(fs.readfile(adbinput) or "")
local dnsFile1 = sys.exec("find '/tmp/dnsmasq.d/.adb_hidden' -maxdepth 1 -type f -name 'adb_list*' -print 2>/dev/null")
local dnsFile2 = sys.exec("find '/var/lib/unbound/.adb_hidden' -maxdepth 1 -type f -name 'adb_list*' -print 2>/dev/null")
m = Map("adblock", translate("Adblock"),
translate("Configuration of the adblock package to block ad/abuse domains by using DNS. ")
.. 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
-- Main adblock options
s = m:section(NamedSection, "global", "adblock")
o1 = s:option(Flag, "adb_enabled", translate("Enable adblock"))
o1.default = o1.enabled
o1.rmempty = false
btn = s:option(Button, "", translate("Suspend / Resume adblock"))
if dnsFile1 ~= "" or dnsFile2 ~= "" then
btn.inputtitle = translate("Resume adblock")
btn.inputstyle = "apply"
btn.disabled = false
function btn.write()
luci.sys.call("/etc/init.d/adblock resume >/dev/null 2>&1")
end
else
btn.inputtitle = translate("Suspend adblock")
btn.inputstyle = "reset"
btn.disabled = false
function btn.write()
luci.sys.call("/etc/init.d/adblock suspend >/dev/null 2>&1")
end
end
o2 = s:option(Value, "adb_iface", translate("Restrict interface trigger to certain interface(s)"),
translate("Space separated list of interfaces that trigger adblock processing. "..
"To disable event driven (re-)starts remove all entries."))
o2.rmempty = true
o3 = s:option(Value, "adb_triggerdelay", translate("Trigger delay"),
translate("Additional trigger delay in seconds before adblock processing begins."))
o3.default = 2
o3.datatype = "range(1,90)"
o3.rmempty = false
o4 = s:option(Flag, "adb_debug", translate("Enable verbose debug logging"))
o4.default = o4.disabled
o4.rmempty = false
-- Runtime information
ds = s:option(DummyValue, "_dummy", translate("Runtime information"))
ds.template = "cbi/nullsection"
dv1 = s:option(DummyValue, "status", translate("Status"))
dv1.template = "adblock/runtime"
if parse == nil then
dv1.value = translate("n/a")
elseif parse.data.blocked_domains == "0" then
dv1.value = translate("no domains blocked")
elseif dnsFile1 ~= "" or dnsFile2 ~= "" then
dv1.value = translate("suspended")
else
dv1.value = translate("active")
end
dv2 = s:option(DummyValue, "adblock_version", translate("Adblock version"))
dv2.template = "adblock/runtime"
if parse ~= nil then
dv2.value = parse.data.adblock_version or translate("n/a")
else
dv2.value = translate("n/a")
end
dv3 = s:option(DummyValue, "fetch_info", translate("Download Utility (SSL Library)"),
translate("For SSL protected blocklist sources you need a suitable SSL library, e.g. 'libustream-ssl' or the wget 'built-in'."))
dv3.template = "adblock/runtime"
if parse ~= nil then
dv3.value = parse.data.fetch_info or translate("n/a")
else
dv3.value = translate("n/a")
end
dv4 = s:option(DummyValue, "dns_backend", translate("DNS backend"))
dv4.template = "adblock/runtime"
if parse ~= nil then
dv4.value = parse.data.dns_backend or translate("n/a")
else
dv4.value = translate("n/a")
end
dv5 = s:option(DummyValue, "blocked_domains", translate("Blocked domains (overall)"))
dv5.template = "adblock/runtime"
if parse ~= nil then
dv5.value = parse.data.blocked_domains or translate("n/a")
else
dv5.value = translate("n/a")
end
dv6 = s:option(DummyValue, "last_rundate", translate("Last rundate"))
dv6.template = "adblock/runtime"
if parse ~= nil then
dv6.value = parse.data.last_rundate or translate("n/a")
else
dv6.value = translate("n/a")
end
-- Blocklist table
bl = m:section(TypedSection, "source", translate("Blocklist sources"),
translate("Available blocklist sources. ")
.. translate("Note that list URLs and Shallalist category selections are configurable in the 'Advanced' section."))
bl.template = "cbi/tblsection"
name = bl:option(Flag, "enabled", translate("Enabled"))
name.rmempty = false
ssl = bl:option(DummyValue, "adb_src", translate("SSL req."))
function ssl.cfgvalue(self, section)
local source = self.map:get(section, "adb_src")
if source and source:match("https://") then
return translate("Yes")
else
return translate("No")
end
end
des = bl:option(DummyValue, "adb_src_desc", translate("Description"))
-- Extra options
e = m:section(NamedSection, "global", "adblock", translate("Extra options"),
translate("Options for further tweaking in case the defaults are not suitable for you."))
e1 = e:option(Flag, "adb_forcedns", translate("Force local DNS"),
translate("Redirect all DNS queries to the local resolver."))
e1.default = e1.disabled
e1.rmempty = false
e2 = e:option(Flag, "adb_forcesrt", translate("Force Overall Sort"),
translate("Enable memory intense overall sort / duplicate removal on low memory devices (&lt; 64 MB RAM)"))
e2.default = e2.disabled
e2.rmempty = false
e3 = e:option(Flag, "adb_backup", translate("Enable blocklist backup"))
e3.default = e3.disabled
e3.rmempty = false
e4 = e:option(Value, "adb_backupdir", translate("Backup directory"))
e4.datatype = "directory"
e4.rmempty = false
return m

View file

@ -0,0 +1,39 @@
-- Copyright 2017 Dirk Brenken (dev@brenken.org)
-- This is free software, licensed under the Apache License, Version 2.0
local fs = require("nixio.fs")
local util = require("luci.util")
local uci = require("uci")
local adbinput = uci.get("adblock", "global", "adb_whitelist") or "/etc/adblock/adblock.whitelist"
if not nixio.fs.access(adbinput) then
m = SimpleForm("error", nil, translate("Input file not found, please check your configuration."))
return m
end
m = SimpleForm("input", nil)
m:append(Template("adblock/config_css"))
m.reset = false
s = m:section(SimpleSection, nil,
translatef("This form allows you to modify the content of the adblock whitelist (%s).<br />", adbinput)
.. translate("Please add only one domain per line. Comments introduced with '#' are allowed - ip addresses, wildcards and regex are not."))
f = s:option(TextValue, "data")
f.datatype = "string"
f.rows = 20
f.rmempty = true
function f.cfgvalue()
return nixio.fs.readfile(adbinput) or ""
end
function f.write(self, section, data)
return nixio.fs.writefile(adbinput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
end
function s.handle(self, state, data)
return true
end
return m

View file

@ -0,0 +1,10 @@
<style type="text/css">
textarea
{
border: 1px solid #cccccc;
padding: 5px;
font-size: 12px;
font-family: monospace;
resize: none;
}
</style>

View file

@ -0,0 +1,14 @@
<%#
Copyright 2017 Dirk Brenken (dev@brenken.org)
This is free software, licensed under the Apache License, Version 2.0
-%>
<%+header%>
<div class="cbi-map">
<fieldset class="cbi-section">
<div class="cbi-section-descr"><%:This form shows the syslog output, pre-filtered for adblock related messages only.%></div>
<textarea id="logread_id" style="width: 100%; height: 450px; border: 1px solid #cccccc; padding: 5px; font-size: 12px; font-family: monospace; resize: none;" readonly="readonly" wrap="off" rows="<%=content:cmatch("\n")+2%>"><%=content:pcdata()%></textarea>
</fieldset>
</div>
<%+footer%>

View file

@ -0,0 +1,65 @@
<%#
Copyright 2017 Dirk Brenken (dev@brenken.org)
This is free software, licensed under the Apache License, Version 2.0
-%>
<%+header%>
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
<script type="text/javascript">
//<![CDATA[
var stxhr = new XHR();
function update_status(data)
{
var domain = data.value;
var input = document.getElementById('query_input');
var output = document.getElementById('query_output');
if (input && output)
{
output.innerHTML =
'<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /> ' +
'<%:Waiting for command to complete...%>'
;
input.parentNode.style.display = 'block';
input.style.display = 'inline';
stxhr.post('<%=luci.dispatcher.build_url('admin/services/adblock/advanced/result/')%>' + domain, { token: '<%=token%>' },
function(x)
{
if (x.responseText)
{
input.style.display = 'none';
output.innerHTML = String.format('<pre>%h</pre>', x.responseText);
}
else
{
input.style.display = 'none';
output.innerHTML = '<span class="error"><%:Invalid domain specified!%></span>';
}
}
);
}
}
//]]>
</script>
<form method="post" action="<%=REQUEST_URI%>">
<div class="cbi-map">
<fieldset class="cbi-section">
<div class="cbi-section-descr"><%:This form allows you to query active block lists for certain domains, e.g. for whitelisting.%></div>
<div style="width:33%; float:left;">
<input style="margin: 5px 0" type="text" value="www.lede-project.org" name="input" />
<input type="button" value="<%:Query%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.input)" />
</div>
<br style="clear:both" />
<br />
</fieldset>
</div>
<fieldset class="cbi-section" style="display:none">
<legend id="query_input"><%:Collecting data...%></legend>
<span id="query_output"></span>
</fieldset>
</form>
<%+footer%>

View file

@ -0,0 +1,10 @@
<%#
Copyright 2017 Dirk Brenken (dev@brenken.org)
This is free software, licensed under the Apache License, Version 2.0
-%>
<%+cbi/valueheader%>
<input name="runtime" id="runtime" type="text" class="cbi-input-text" style="border: none; box-shadow: none; background-color: #ffffff; color: #0069d6;" value="<%=self:cfgvalue(section)%>" disabled="disabled" />
<%+cbi/valuefooter%>

View file

@ -8,45 +8,82 @@ msgstr ""
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.11\n" "X-Generator: Poedit 2.0.1\n"
"Language: ja\n" "Language: ja\n"
msgid "" msgid "."
"). Note that list URLs and Shallalist category selections are not " msgstr "。"
"configurable via Luci."
msgstr ""
"。これらのリストのURLおよびshallaリストのカテゴリー選択は、Luciによって設定"
"できないことに注意します。"
msgid "Adblock" msgid "Adblock"
msgstr "Adblock" msgstr "Adblock"
msgid "Available blocklist sources (" msgid "Adblock Domain Query"
msgstr "利用可能なブロックリスト提供元です(" msgstr "Adblock ドメイン検索"
msgid "Adblock Logfile"
msgstr "Adblock ログファイル"
msgid "Adblock version"
msgstr "Adblock バージョン"
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr "Adblock の処理が開始されるまでの、追加の遅延時間(秒)です。"
msgid "Advanced"
msgstr "詳細設定"
msgid "Available blocklist sources."
msgstr "利用可能なブロックリスト提供元です。"
msgid "Backup directory" msgid "Backup directory"
msgstr "バックアップ ディレクトリ" msgstr "バックアップ ディレクトリ"
msgid "Backup options" msgid "Blocked domains (overall)"
msgstr "バックアップ オプション" msgstr "ブロック済みドメイン(全体)"
msgid "Blocklist sources" msgid "Blocklist sources"
msgstr "ブロックリスト提供元" msgstr "ブロックリスト提供元"
msgid "Collecting data..."
msgstr "データ収集中です..."
msgid "" msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS." "Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr "" msgstr ""
"広告/不正ドメインをDNSを利用してブロックする、adblock パッケージの設定です。" "DNS の利用によって広告/不正ドメインをブロックする、Adblock パッケージの設定で"
"す。"
msgid "DNS backend"
msgstr "DNS バックエンド"
msgid "Description" msgid "Description"
msgstr "説明" msgstr "説明"
msgid "Download Utility (SSL Library)"
msgstr "ダウンロード ユーティリティSSL ライブラリ)"
msgid "Edit Blacklist"
msgstr "ブラックリストの編集"
msgid "Edit Configuration"
msgstr "設定の編集"
msgid "Edit Whitelist"
msgstr "ホワイトリストの編集"
msgid "Enable adblock" msgid "Enable adblock"
msgstr "adblockの有効化" msgstr "Adblock の有効化"
msgid "Enable blocklist backup" msgid "Enable blocklist backup"
msgstr "ブロックリスト バックアップの有効化" msgstr "ブロックリスト バックアップの有効化"
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB RAM)"
msgstr ""
"メモリー容量の少ないデバイスRAM 64MB 未満)において、一時ファイル内の全体的"
"なソート及び重複の除去を有効にします。"
msgid "Enable verbose debug logging" msgid "Enable verbose debug logging"
msgstr "詳細なデバッグ ログの有効化" msgstr "詳細なデバッグ ログの有効化"
@ -57,34 +94,222 @@ msgid "Extra options"
msgstr "拡張設定" msgstr "拡張設定"
msgid "" msgid ""
"File with whitelisted hosts/domains that are allowed despite being on a " "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
"blocklist." "'libustream-ssl' or the wget 'built-in'."
msgstr "" msgstr ""
"ファイルのホワイトリスト ホスト/ドメインは、ブロックリストに登録されていても" "SSLで保護されているブロックリストの取得には、適切なSSL ライブラリが必要です。"
"許可されます。" "例: 'libustream-ssl' または wget 'ビルトイン'"
msgid "Global options" msgid "For further information"
msgstr "一般設定" msgstr "詳細な情報は"
msgid "Force Overall Sort"
msgstr "全体ソートの強制"
msgid "Force local DNS"
msgstr "ローカル DNS の強制"
msgid "Input file not found, please check your configuration."
msgstr "入力ファイルが見つかりません。設定を確認してください。"
msgid "Invalid domain specified!"
msgstr "無効なドメインが指定されています!"
msgid "Last rundate"
msgstr "最終実行日時"
msgid "Loading"
msgstr "読込中"
msgid "No"
msgstr "いいえ"
msgid ""
"Note that list URLs and Shallalist category selections are configurable in "
"the 'Advanced' section."
msgstr ""
"リストの URL 及び \"Shalla\" リストのカテゴリー設定は、'詳細設定' セクション"
"で設定することができます。"
msgid "" msgid ""
"Options for further tweaking in case the defaults are not suitable for you." "Options for further tweaking in case the defaults are not suitable for you."
msgstr "デフォルト設定が適切でない場合、追加で設定するためのオプションです。" msgstr "デフォルト設定が適切でない場合、追加で設定するためのオプションです。"
msgid "Restrict reload trigger to certain interface(s)" msgid "Overview"
msgstr "リロードトリガを特定のインターフェースに限定する" msgstr "概要"
msgid "" msgid ""
"Space separated list of wan interfaces that trigger reload action. To " "Please add only one domain per line. Comments introduced with '#' are "
"disable reload trigger set it to 'false'. Default: empty" "allowed - ip addresses, wildcards and regex are not."
msgstr "" msgstr ""
"リロード実行のトリガとなる、スペースで区切られたWANインターフェースのリストで" "1行に1つのドメインを追加してください。'#' から始まるコメントを記述できます"
"す。リロードトリガを無効にするには、 false を設定します。デフォルト:(空)" "が、IP アドレスやワイルドカード、正規表現を設定値として使用することはできませ"
"ん。"
msgid "Whitelist file" msgid "Query"
msgstr "ホワイトリスト ファイル" msgstr "検索"
msgid "see list details" msgid "Query domains"
msgstr "リストの詳細を見る" msgstr "ドメインの検索"
msgid "Redirect all DNS queries to the local resolver."
msgstr "全ての DNS クエリをローカル リゾルバにリダイレクトします。"
msgid "Restrict interface trigger to certain interface(s)"
msgstr "インターフェース トリガーを特定のインターフェースに限定する"
msgid "Resume adblock"
msgstr "Adblock の再開"
msgid "Runtime information"
msgstr "実行情報"
msgid "SSL req."
msgstr "SSL 必須"
msgid ""
"Space separated list of interfaces that trigger adblock processing. To "
"disable event driven (re-)starts remove all entries."
msgstr ""
"Adblock の処理のトリガーとなる、スペースで区切られたインターフェースのリスト"
"です。処理を発生させるイベントを無効にするには、全てのエントリーを削除して空"
"欄にします。"
msgid "Status"
msgstr "ステータス"
msgid "Suspend / Resume adblock"
msgstr "Adblock の一時停止/再開"
msgid "Suspend adblock"
msgstr "Adblock の一時停止"
msgid ""
"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 "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 "Backup options"
#~ msgstr "バックアップ オプション"
#~ msgid "Restrict interface reload trigger to certain interface(s)"
#~ msgstr "リロード トリガを特定のインターフェースに限定する"
#~ msgid ""
#~ "Space separated list of interfaces that trigger a reload action. To "
#~ "disable reload trigger at all remove all entries."
#~ msgstr ""
#~ "リロードのトリガとなる、スペースで区切られたインターフェースのリストです。"
#~ "リロード トリガを無効にするには、全てのエントリーを削除して空欄にします。"
#~ msgid ""
#~ "Space separated list of interfaces that trigger a reload action. To "
#~ "disable reload trigger at all set it to 'false'."
#~ msgstr ""
#~ "リロードのトリガとなる、スペースで区切られたインターフェースのリストで"
#~ "す。'false' に設定した場合、全てのリロード トリガは無効になります。"
#~ msgid ""
#~ "Please add only one domain per line. Comments introduced with '#' are "
#~ "allowed - ip addresses, wildcards & regex are not."
#~ msgstr ""
#~ "一行に一つのドメインを追加してください。'#' から始まるコメントを記述できま"
#~ "すが、IPアドレスやワイルドカード、正規表現を設定値として使用することはでき"
#~ "ません。"
#~ msgid ""
#~ "). Note that list URLs and Shallalist category selections are not "
#~ "configurable via Luci."
#~ msgstr ""
#~ "。これらのリストのURLおよびshallaリストの選択済みカテゴリーは、Luciを通"
#~ "して設定することができません。"
#~ msgid "Available blocklist sources ("
#~ msgstr "利用可能なブロックリスト提供元です("
#~ msgid ""
#~ "File with whitelisted hosts/domains that are allowed despite being on a "
#~ "blocklist."
#~ msgstr ""
#~ "ホワイトリスト ファイル内のホスト/ドメインは、ブロックリストの登録に関わら"
#~ "ず許可されます。"
#~ msgid "Global options"
#~ msgstr "一般設定"
#~ msgid "Restrict reload trigger to certain interface(s)"
#~ msgstr "リロードトリガを特定のインターフェースに限定する"
#~ msgid ""
#~ "Space separated list of wan interfaces that trigger reload action. To "
#~ "disable reload trigger set it to 'false'. Default: empty"
#~ msgstr ""
#~ "リロード実行のトリガとなる、スペースで区切られたWANインターフェースのリス"
#~ "トです。リロードトリガを無効にするには、 false を設定します。デフォルト:"
#~ "(空)"
#~ msgid "Whitelist file"
#~ msgstr "ホワイトリスト ファイル"
#~ msgid "see list details"
#~ msgstr "リストの詳細を見る"
#~ msgid "Count" #~ msgid "Count"
#~ msgstr "カウント" #~ msgstr "カウント"

View file

@ -12,43 +12,77 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Language: pt_BR\n" "Language: pt_BR\n"
msgid "" msgid "."
"). Note that list URLs and Shallalist category selections are not "
"configurable via Luci."
msgstr "" msgstr ""
"). Note que a lista de URL e as seleções de categoria da Shallalist não são "
"configuráveis pelo Luci."
msgid "Adblock" msgid "Adblock"
msgstr "Adblock" msgstr "Adblock"
msgid "Available blocklist sources (" msgid "Adblock Domain Query"
msgstr "Fontes de listas de bloqueio disponíveis (" msgstr ""
msgid "Adblock Logfile"
msgstr ""
msgid "Adblock version"
msgstr ""
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr ""
msgid "Advanced"
msgstr ""
msgid "Available blocklist sources."
msgstr ""
msgid "Backup directory" msgid "Backup directory"
msgstr "Diretório da cópia de segurança" msgstr "Diretório da cópia de segurança"
msgid "Backup options" msgid "Blocked domains (overall)"
msgstr "Opções da cópia de segurança" msgstr ""
msgid "Blocklist sources" msgid "Blocklist sources"
msgstr "Fontes de listas de bloqueio" msgstr "Fontes de listas de bloqueio"
msgid "Collecting data..."
msgstr ""
msgid "" msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS." "Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr "" msgstr ""
"Configuração do pacote adblock para bloquear, usando o DNS, domínios que " "Configuração do pacote adblock para bloquear, usando o DNS, domínios que "
"distribuem propagandas abusivas." "distribuem propagandas abusivas."
msgid "DNS backend"
msgstr ""
msgid "Description" msgid "Description"
msgstr "Descrição" msgstr "Descrição"
msgid "Download Utility (SSL Library)"
msgstr ""
msgid "Edit Blacklist"
msgstr ""
msgid "Edit Configuration"
msgstr ""
msgid "Edit Whitelist"
msgstr ""
msgid "Enable adblock" msgid "Enable adblock"
msgstr "Habilitar adblock" msgstr "Habilitar adblock"
msgid "Enable blocklist backup" msgid "Enable blocklist backup"
msgstr "Habilitar cópia de segurança da lista de bloqueio" 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)"
msgstr ""
msgid "Enable verbose debug logging" msgid "Enable verbose debug logging"
msgstr "Habilite registros detalhados para depuração" msgstr "Habilite registros detalhados para depuração"
@ -59,14 +93,38 @@ msgid "Extra options"
msgstr "Opções adicionais" msgstr "Opções adicionais"
msgid "" msgid ""
"File with whitelisted hosts/domains that are allowed despite being on a " "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
"blocklist." "'libustream-ssl' or the wget 'built-in'."
msgstr "" msgstr ""
"Arquivo com a lista branca dos equipamentos/domínios que serão autorizados "
"mesmo estando na lista de bloqueio."
msgid "Global options" msgid "For further information"
msgstr "Opções Globais" msgstr ""
msgid "Force Overall Sort"
msgstr ""
msgid "Force local DNS"
msgstr ""
msgid "Input file not found, please check your configuration."
msgstr ""
msgid "Invalid domain specified!"
msgstr ""
msgid "Last rundate"
msgstr ""
msgid "Loading"
msgstr ""
msgid "No"
msgstr ""
msgid ""
"Note that list URLs and Shallalist category selections are configurable in "
"the 'Advanced' section."
msgstr ""
msgid "" msgid ""
"Options for further tweaking in case the defaults are not suitable for you." "Options for further tweaking in case the defaults are not suitable for you."
@ -74,19 +132,137 @@ msgstr ""
"Opções para aprimoramentos adicionais caso as opções padrão não sejam " "Opções para aprimoramentos adicionais caso as opções padrão não sejam "
"suficientes para você." "suficientes para você."
msgid "Restrict reload trigger to certain interface(s)" msgid "Overview"
msgstr "Restringir o gatilho de recarga para somente alguma(s) interface(s)" msgstr ""
msgid "" msgid ""
"Space separated list of wan interfaces that trigger reload action. To " "Please add only one domain per line. Comments introduced with '#' are "
"disable reload trigger set it to 'false'. Default: empty" "allowed - ip addresses, wildcards and regex are not."
msgstr "" msgstr ""
"Lista das interfaces WAN, separadas por espaço, que podem disparar uma ação "
"de recarga. Para desabilitar este gatilho, defina-o como 'false'. Padrão: em "
"branco"
msgid "Whitelist file" msgid "Query"
msgstr "Arquivo da lista branca" msgstr ""
msgid "see list details" msgid "Query domains"
msgstr "veja os detalhes da lista" msgstr ""
msgid "Redirect all DNS queries to the local resolver."
msgstr ""
msgid "Restrict interface trigger to certain interface(s)"
msgstr ""
msgid "Resume adblock"
msgstr ""
msgid "Runtime information"
msgstr ""
msgid "SSL req."
msgstr ""
msgid ""
"Space separated list of interfaces that trigger adblock processing. To "
"disable event driven (re-)starts remove all entries."
msgstr ""
msgid "Status"
msgstr ""
msgid "Suspend / Resume adblock"
msgstr ""
msgid "Suspend adblock"
msgstr ""
msgid ""
"This form allows you to modify the content of the adblock blacklist (%s)."
"<br />"
msgstr ""
msgid ""
"This form allows you to modify the content of the adblock whitelist (%s)."
"<br />"
msgstr ""
msgid ""
"This form allows you to modify the content of the main adblock configuration "
"file (/etc/config/adblock)."
msgstr ""
msgid ""
"This form allows you to query active block lists for certain domains, e.g. "
"for whitelisting."
msgstr ""
msgid ""
"This form shows the syslog output, pre-filtered for adblock related messages "
"only."
msgstr ""
msgid "Trigger delay"
msgstr ""
msgid "View Logfile"
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
msgid "Yes"
msgstr ""
msgid "active"
msgstr ""
msgid "n/a"
msgstr ""
msgid "no domains blocked"
msgstr ""
msgid "see online documentation"
msgstr ""
msgid "suspended"
msgstr ""
#~ msgid "Backup options"
#~ msgstr "Opções da cópia de segurança"
#~ msgid ""
#~ "). Note that list URLs and Shallalist category selections are not "
#~ "configurable via Luci."
#~ msgstr ""
#~ "). Note que a lista de URL e as seleções de categoria da Shallalist não "
#~ "são configuráveis pelo Luci."
#~ msgid "Available blocklist sources ("
#~ msgstr "Fontes de listas de bloqueio disponíveis ("
#~ msgid ""
#~ "File with whitelisted hosts/domains that are allowed despite being on a "
#~ "blocklist."
#~ msgstr ""
#~ "Arquivo com a lista branca dos equipamentos/domínios que serão "
#~ "autorizados mesmo estando na lista de bloqueio."
#~ msgid "Global options"
#~ msgstr "Opções Globais"
#~ msgid "Restrict reload trigger to certain interface(s)"
#~ msgstr "Restringir o gatilho de recarga para somente alguma(s) interface(s)"
#~ msgid ""
#~ "Space separated list of wan interfaces that trigger reload action. To "
#~ "disable reload trigger set it to 'false'. Default: empty"
#~ msgstr ""
#~ "Lista das interfaces WAN, separadas por espaço, que podem disparar uma "
#~ "ação de recarga. Para desabilitar este gatilho, defina-o como 'false'. "
#~ "Padrão: em branco"
#~ msgid "Whitelist file"
#~ msgstr "Arquivo da lista branca"
#~ msgid "see list details"
#~ msgstr "veja os detalhes da lista"

View file

@ -1,41 +1,77 @@
msgid "" msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8\n" msgstr "Content-Type: text/plain; charset=UTF-8\n"
msgid "" msgid "."
"). Note that list URLs and Shallalist category selections are not "
"configurable via Luci."
msgstr "" msgstr ""
msgid "Adblock" msgid "Adblock"
msgstr "Blockering av annonser" msgstr "Blockering av annonser"
msgid "Available blocklist sources (" msgid "Adblock Domain Query"
msgstr "Tillgängliga källor för blockeringslistor (" msgstr ""
msgid "Adblock Logfile"
msgstr ""
msgid "Adblock version"
msgstr ""
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr ""
msgid "Advanced"
msgstr ""
msgid "Available blocklist sources."
msgstr ""
msgid "Backup directory" msgid "Backup directory"
msgstr "Säkerhetskopiera mapp" msgstr "Säkerhetskopiera mapp"
msgid "Backup options" msgid "Blocked domains (overall)"
msgstr "Alternativ för säkerhetskopiering" msgstr ""
msgid "Blocklist sources" msgid "Blocklist sources"
msgstr "Källor för blockeringslistor" msgstr "Källor för blockeringslistor"
msgid "Collecting data..."
msgstr ""
msgid "" msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS." "Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr "" msgstr ""
"Konfiguration av paket adblock för att blockera annons/otillåtna domäner " "Konfiguration av paket adblock för att blockera annons/otillåtna domäner "
"genom att användning DNS." "genom att användning DNS."
msgid "DNS backend"
msgstr ""
msgid "Description" msgid "Description"
msgstr "Beskrivning" msgstr "Beskrivning"
msgid "Download Utility (SSL Library)"
msgstr ""
msgid "Edit Blacklist"
msgstr ""
msgid "Edit Configuration"
msgstr ""
msgid "Edit Whitelist"
msgstr ""
msgid "Enable adblock" msgid "Enable adblock"
msgstr "Aktivera abblock" msgstr "Aktivera abblock"
msgid "Enable blocklist backup" msgid "Enable blocklist backup"
msgstr "Aktivera säkerhetskopiering av blockeringslistan" msgstr "Aktivera säkerhetskopiering av blockeringslistan"
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB RAM)"
msgstr ""
msgid "Enable verbose debug logging" msgid "Enable verbose debug logging"
msgstr "" msgstr ""
@ -46,30 +82,152 @@ msgid "Extra options"
msgstr "Extra alternativ" msgstr "Extra alternativ"
msgid "" msgid ""
"File with whitelisted hosts/domains that are allowed despite being on a " "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
"blocklist." "'libustream-ssl' or the wget 'built-in'."
msgstr "" msgstr ""
msgid "Global options" msgid "For further information"
msgstr "Globala alternativ" msgstr ""
msgid "Force Overall Sort"
msgstr ""
msgid "Force local DNS"
msgstr ""
msgid "Input file not found, please check your configuration."
msgstr ""
msgid "Invalid domain specified!"
msgstr ""
msgid "Last rundate"
msgstr ""
msgid "Loading"
msgstr ""
msgid "No"
msgstr ""
msgid ""
"Note that list URLs and Shallalist category selections are configurable in "
"the 'Advanced' section."
msgstr ""
msgid "" msgid ""
"Options for further tweaking in case the defaults are not suitable for you." "Options for further tweaking in case the defaults are not suitable for you."
msgstr "" msgstr ""
msgid "Restrict reload trigger to certain interface(s)" msgid "Overview"
msgstr "" msgstr ""
msgid "" msgid ""
"Space separated list of wan interfaces that trigger reload action. To " "Please add only one domain per line. Comments introduced with '#' are "
"disable reload trigger set it to 'false'. Default: empty" "allowed - ip addresses, wildcards and regex are not."
msgstr "" msgstr ""
msgid "Whitelist file" msgid "Query"
msgstr "Vitlista fil" msgstr ""
msgid "see list details" msgid "Query domains"
msgstr "se listans detaljer" msgstr ""
msgid "Redirect all DNS queries to the local resolver."
msgstr ""
msgid "Restrict interface trigger to certain interface(s)"
msgstr ""
msgid "Resume adblock"
msgstr ""
msgid "Runtime information"
msgstr ""
msgid "SSL req."
msgstr ""
msgid ""
"Space separated list of interfaces that trigger adblock processing. To "
"disable event driven (re-)starts remove all entries."
msgstr ""
msgid "Status"
msgstr ""
msgid "Suspend / Resume adblock"
msgstr ""
msgid "Suspend adblock"
msgstr ""
msgid ""
"This form allows you to modify the content of the adblock blacklist (%s)."
"<br />"
msgstr ""
msgid ""
"This form allows you to modify the content of the adblock whitelist (%s)."
"<br />"
msgstr ""
msgid ""
"This form allows you to modify the content of the main adblock configuration "
"file (/etc/config/adblock)."
msgstr ""
msgid ""
"This form allows you to query active block lists for certain domains, e.g. "
"for whitelisting."
msgstr ""
msgid ""
"This form shows the syslog output, pre-filtered for adblock related messages "
"only."
msgstr ""
msgid "Trigger delay"
msgstr ""
msgid "View Logfile"
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
msgid "Yes"
msgstr ""
msgid "active"
msgstr ""
msgid "n/a"
msgstr ""
msgid "no domains blocked"
msgstr ""
msgid "see online documentation"
msgstr ""
msgid "suspended"
msgstr ""
#~ msgid "Backup options"
#~ msgstr "Alternativ för säkerhetskopiering"
#~ msgid "Available blocklist sources ("
#~ msgstr "Tillgängliga källor för blockeringslistor ("
#~ msgid "Global options"
#~ msgstr "Globala alternativ"
#~ msgid "Whitelist file"
#~ msgstr "Vitlista fil"
#~ msgid "see list details"
#~ msgstr "se listans detaljer"
#~ msgid "Count" #~ msgid "Count"
#~ msgstr "Räkna" #~ msgstr "Räkna"

View file

@ -1,39 +1,75 @@
msgid "" msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8" msgstr "Content-Type: text/plain; charset=UTF-8"
msgid "" msgid "."
"). Note that list URLs and Shallalist category selections are not "
"configurable via Luci."
msgstr "" msgstr ""
msgid "Adblock" msgid "Adblock"
msgstr "" msgstr ""
msgid "Available blocklist sources (" msgid "Adblock Domain Query"
msgstr ""
msgid "Adblock Logfile"
msgstr ""
msgid "Adblock version"
msgstr ""
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr ""
msgid "Advanced"
msgstr ""
msgid "Available blocklist sources."
msgstr "" msgstr ""
msgid "Backup directory" msgid "Backup directory"
msgstr "" msgstr ""
msgid "Backup options" msgid "Blocked domains (overall)"
msgstr "" msgstr ""
msgid "Blocklist sources" msgid "Blocklist sources"
msgstr "" msgstr ""
msgid "Collecting data..."
msgstr ""
msgid "" msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS." "Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr "" msgstr ""
msgid "DNS backend"
msgstr ""
msgid "Description" msgid "Description"
msgstr "" msgstr ""
msgid "Download Utility (SSL Library)"
msgstr ""
msgid "Edit Blacklist"
msgstr ""
msgid "Edit Configuration"
msgstr ""
msgid "Edit Whitelist"
msgstr ""
msgid "Enable adblock" msgid "Enable adblock"
msgstr "" msgstr ""
msgid "Enable blocklist backup" msgid "Enable blocklist backup"
msgstr "" msgstr ""
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB RAM)"
msgstr ""
msgid "Enable verbose debug logging" msgid "Enable verbose debug logging"
msgstr "" msgstr ""
@ -44,27 +80,134 @@ msgid "Extra options"
msgstr "" msgstr ""
msgid "" msgid ""
"File with whitelisted hosts/domains that are allowed despite being on a " "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
"blocklist." "'libustream-ssl' or the wget 'built-in'."
msgstr "" msgstr ""
msgid "Global options" msgid "For further information"
msgstr ""
msgid "Force Overall Sort"
msgstr ""
msgid "Force local DNS"
msgstr ""
msgid "Input file not found, please check your configuration."
msgstr ""
msgid "Invalid domain specified!"
msgstr ""
msgid "Last rundate"
msgstr ""
msgid "Loading"
msgstr ""
msgid "No"
msgstr ""
msgid ""
"Note that list URLs and Shallalist category selections are configurable in "
"the 'Advanced' section."
msgstr "" msgstr ""
msgid "" msgid ""
"Options for further tweaking in case the defaults are not suitable for you." "Options for further tweaking in case the defaults are not suitable for you."
msgstr "" msgstr ""
msgid "Restrict reload trigger to certain interface(s)" msgid "Overview"
msgstr "" msgstr ""
msgid "" msgid ""
"Space separated list of wan interfaces that trigger reload action. To " "Please add only one domain per line. Comments introduced with '#' are "
"disable reload trigger set it to 'false'. Default: empty" "allowed - ip addresses, wildcards and regex are not."
msgstr "" msgstr ""
msgid "Whitelist file" msgid "Query"
msgstr "" msgstr ""
msgid "see list details" msgid "Query domains"
msgstr ""
msgid "Redirect all DNS queries to the local resolver."
msgstr ""
msgid "Restrict interface trigger to certain interface(s)"
msgstr ""
msgid "Resume adblock"
msgstr ""
msgid "Runtime information"
msgstr ""
msgid "SSL req."
msgstr ""
msgid ""
"Space separated list of interfaces that trigger adblock processing. To "
"disable event driven (re-)starts remove all entries."
msgstr ""
msgid "Status"
msgstr ""
msgid "Suspend / Resume adblock"
msgstr ""
msgid "Suspend adblock"
msgstr ""
msgid ""
"This form allows you to modify the content of the adblock blacklist (%s)."
"<br />"
msgstr ""
msgid ""
"This form allows you to modify the content of the adblock whitelist (%s)."
"<br />"
msgstr ""
msgid ""
"This form allows you to modify the content of the main adblock configuration "
"file (/etc/config/adblock)."
msgstr ""
msgid ""
"This form allows you to query active block lists for certain domains, e.g. "
"for whitelisting."
msgstr ""
msgid ""
"This form shows the syslog output, pre-filtered for adblock related messages "
"only."
msgstr ""
msgid "Trigger delay"
msgstr ""
msgid "View Logfile"
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
msgid "Yes"
msgstr ""
msgid "active"
msgstr ""
msgid "n/a"
msgstr ""
msgid "no domains blocked"
msgstr ""
msgid "see online documentation"
msgstr ""
msgid "suspended"
msgstr "" msgstr ""

View file

@ -1,53 +1,90 @@
# liushuyu <liushuyu_011@163.com>, 2017.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"POT-Creation-Date: \n" "POT-Creation-Date: \n"
"PO-Revision-Date: \n" "PO-Revision-Date: 2017-04-15 21:35-0600\n"
"Last-Translator: kuoruan@gmail.com\n" "Last-Translator: liushuyu <liushuyu011@gmail.com>\n"
"Language-Team: none\n" "Language-Team: Chinese <kde-i18n-doc@kde.org>\n"
"Language: zh_CN\n" "Language: zh_CN\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.5\n" "X-Generator: Poedit 2.0.1\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
msgid "" msgid "."
"). Note that list URLs and Shallalist category selections are not " msgstr "."
"configurable via Luci."
msgstr "。需要注意的是列表URL和列表类别选项无法通过Luci设置。"
msgid "Adblock" msgid "Adblock"
msgstr "Adblock" msgstr "Adblock"
msgid "Available blocklist sources (" msgid "Adblock Domain Query"
msgstr "可用拦截列表来源(" msgstr ""
msgid "Adblock Logfile"
msgstr "Adblock 日志文件"
msgid "Adblock version"
msgstr "Adblock 版本"
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr ""
msgid "Advanced"
msgstr "高级"
msgid "Available blocklist sources."
msgstr "可用的 blocklist 来源"
msgid "Backup directory" msgid "Backup directory"
msgstr "备份目录" msgstr "备份目录"
msgid "Backup options" msgid "Blocked domains (overall)"
msgstr "备份选项" msgstr ""
msgid "Blocklist sources" msgid "Blocklist sources"
msgstr "拦截列表来源" msgstr "拦截列表来源"
msgid "Collecting data..."
msgstr "正在收集数据..."
msgid "" msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS." "Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr "Adblock 配置工具,通过 DNS 来拦截广告和阻止域名。" msgstr "Adblock 配置工具,通过 DNS 来拦截广告和阻止域名。"
msgid "DNS backend"
msgstr "DNS 后端"
msgid "Description" msgid "Description"
msgstr "描述" msgstr "描述"
msgid "Download Utility (SSL Library)"
msgstr ""
msgid "Edit Blacklist"
msgstr "编辑黑名单"
msgid "Edit Configuration"
msgstr "编辑设置"
msgid "Edit Whitelist"
msgstr "编辑白名单"
msgid "Enable adblock" msgid "Enable adblock"
msgstr "启用Adblock" msgstr "启用Adblock"
msgid "Enable blocklist backup" msgid "Enable blocklist backup"
msgstr "启用拦截规则备份" msgstr "启用拦截规则备份"
msgid "Enable verbose debug logging" msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB RAM)"
msgstr "" msgstr ""
msgid "Enable verbose debug logging"
msgstr "启用详细调试输出"
msgid "Enabled" msgid "Enabled"
msgstr "启用" msgstr "启用"
@ -55,30 +92,162 @@ msgid "Extra options"
msgstr "额外选项" msgstr "额外选项"
msgid "" msgid ""
"File with whitelisted hosts/domains that are allowed despite being on a " "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
"blocklist." "'libustream-ssl' or the wget 'built-in'."
msgstr "允许的主机/域名列表" msgstr ""
msgid "Global options" msgid "For further information"
msgstr "全局选项" msgstr "更多信息"
msgid "Force Overall Sort"
msgstr ""
msgid "Force local DNS"
msgstr ""
msgid "Input file not found, please check your configuration."
msgstr ""
msgid "Invalid domain specified!"
msgstr "无效域名!"
msgid "Last rundate"
msgstr ""
msgid "Loading"
msgstr "加载中"
msgid "No"
msgstr "否"
msgid ""
"Note that list URLs and Shallalist category selections are configurable in "
"the 'Advanced' section."
msgstr ""
msgid "" msgid ""
"Options for further tweaking in case the defaults are not suitable for you." "Options for further tweaking in case the defaults are not suitable for you."
msgstr "在默认设置并不适合你时的额外选项。" msgstr "在默认设置并不适合你时的额外选项。"
msgid "Restrict reload trigger to certain interface(s)" msgid "Overview"
msgstr "总览"
msgid ""
"Please add only one domain per line. Comments introduced with '#' are "
"allowed - ip addresses, wildcards and regex are not."
msgstr ""
msgid "Query"
msgstr "查询"
msgid "Query domains"
msgstr ""
msgid "Redirect all DNS queries to the local resolver."
msgstr ""
msgid "Restrict interface trigger to certain interface(s)"
msgstr ""
msgid "Resume adblock"
msgstr "恢复 Adblock"
msgid "Runtime information"
msgstr "运行信息"
msgid "SSL req."
msgstr "" msgstr ""
msgid "" msgid ""
"Space separated list of wan interfaces that trigger reload action. To " "Space separated list of interfaces that trigger adblock processing. To "
"disable reload trigger set it to 'false'. Default: empty" "disable event driven (re-)starts remove all entries."
msgstr "" msgstr ""
msgid "Whitelist file" msgid "Status"
msgstr "白名单文件" msgstr "状态"
msgid "see list details" msgid "Suspend / Resume adblock"
msgstr "查看列表详情" msgstr "暂停/恢复 Adblock"
msgid "Suspend adblock"
msgstr "暂停 Adblock"
msgid ""
"This form allows you to modify the content of the adblock blacklist (%s)."
"<br />"
msgstr ""
msgid ""
"This form allows you to modify the content of the adblock whitelist (%s)."
"<br />"
msgstr ""
msgid ""
"This form allows you to modify the content of the main adblock configuration "
"file (/etc/config/adblock)."
msgstr ""
msgid ""
"This form allows you to query active block lists for certain domains, e.g. "
"for whitelisting."
msgstr ""
msgid ""
"This form shows the syslog output, pre-filtered for adblock related messages "
"only."
msgstr ""
msgid "Trigger delay"
msgstr "触发延迟"
msgid "View Logfile"
msgstr "查看日志文件"
msgid "Waiting for command to complete..."
msgstr "正在执行命令..."
msgid "Yes"
msgstr "是"
msgid "active"
msgstr "已启用"
msgid "n/a"
msgstr ""
msgid "no domains blocked"
msgstr "没有被拦截的域名"
msgid "see online documentation"
msgstr "查看在线文档"
msgid "suspended"
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" #~ msgid "Count"
#~ msgstr "数量" #~ msgstr "数量"