summaryrefslogtreecommitdiffhomepage
path: root/applications
diff options
context:
space:
mode:
Diffstat (limited to 'applications')
-rw-r--r--applications/luci-app-adblock/luasrc/controller/adblock.lua14
-rw-r--r--applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua186
-rw-r--r--applications/luci-app-adblock/luasrc/view/adblock/runtime.htm2
-rw-r--r--applications/luci-app-adblock/po/it/adblock.po337
-rw-r--r--applications/luci-app-adblock/po/ja/adblock.po173
-rw-r--r--applications/luci-app-adblock/po/pt-br/adblock.po228
-rw-r--r--applications/luci-app-adblock/po/sv/adblock.po188
-rw-r--r--applications/luci-app-adblock/po/templates/adblock.pot113
-rw-r--r--applications/luci-app-adblock/po/zh-cn/adblock.po153
-rw-r--r--applications/luci-app-advanced-reboot/po/sv/luci-app-advanced-reboot.po108
-rw-r--r--applications/luci-app-ahcp/po/sv/ahcp.po6
-rw-r--r--applications/luci-app-aria2/po/sv/aria2.po30
-rw-r--r--applications/luci-app-bcp38/po/sv/bcp38.po45
-rw-r--r--applications/luci-app-clamav/po/sv/clamav.po22
-rw-r--r--applications/luci-app-coovachilli/po/sv/coovachilli.po2
-rw-r--r--applications/luci-app-ddns/po/it/ddns.po407
-rw-r--r--applications/luci-app-ddns/po/sv/ddns.po5
-rw-r--r--applications/luci-app-diag-devinfo/po/sv/diag_devinfo.po88
-rw-r--r--applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua12
-rw-r--r--applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua2
-rw-r--r--applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua39
-rw-r--r--applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua192
-rw-r--r--applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po117
-rw-r--r--applications/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot81
-rw-r--r--applications/luci-app-firewall/po/it/firewall.po199
-rw-r--r--applications/luci-app-firewall/po/sv/firewall.po43
-rwxr-xr-xapplications/luci-app-mwan3/root/etc/uci-defaults/60_luci-mwan32
-rw-r--r--applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua4
-rw-r--r--applications/luci-app-openvpn/po/en/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/ru/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/sv/openvpn.po12
-rw-r--r--applications/luci-app-openvpn/po/templates/openvpn.pot3
-rw-r--r--applications/luci-app-samba/po/it/samba.po10
-rw-r--r--applications/luci-app-unbound/luasrc/controller/unbound.lua146
-rw-r--r--applications/luci-app-unbound/luasrc/model/cbi/unbound.lua216
-rw-r--r--applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua273
-rw-r--r--applications/luci-app-unbound/luasrc/model/cbi/unbound/extended.lua30
-rw-r--r--applications/luci-app-unbound/luasrc/model/cbi/unbound/manual.lua30
-rw-r--r--applications/luci-app-unbound/luasrc/model/cbi/unbound/server.lua30
-rw-r--r--applications/luci-app-unbound/luasrc/view/unbound/css-editing.htm8
-rw-r--r--applications/luci-app-unbound/luasrc/view/unbound/show-empty.htm5
-rw-r--r--applications/luci-app-unbound/luasrc/view/unbound/show-textbox.htm8
-rw-r--r--applications/luci-app-unbound/root/etc/uci-defaults/60_luci-unbound13
-rw-r--r--applications/luci-app-wifischedule/po/it/wifischedule.po101
-rw-r--r--applications/luci-app-wireguard/po/sv/wireguard.po6
-rw-r--r--applications/luci-app-wol/po/it/wol.po14
46 files changed, 2670 insertions, 1039 deletions
diff --git a/applications/luci-app-adblock/luasrc/controller/adblock.lua b/applications/luci-app-adblock/luasrc/controller/adblock.lua
index efa99b5b89..b74858400b 100644
--- a/applications/luci-app-adblock/luasrc/controller/adblock.lua
+++ b/applications/luci-app-adblock/luasrc/controller/adblock.lua
@@ -3,10 +3,10 @@
module("luci.controller.adblock", package.seeall)
-local fs = require("nixio.fs")
-local util = require("luci.util")
+local fs = require("nixio.fs")
+local util = require("luci.util")
local templ = require("luci.template")
-local i18n = require("luci.i18n")
+local i18n = require("luci.i18n")
function index()
if not nixio.fs.access("/etc/config/adblock") then
@@ -24,7 +24,13 @@ function index()
end
function logread()
- local logfile = util.trim(util.exec("logread -e 'adblock'"))
+ local logfile
+
+ if nixio.fs.access("/var/log/messages") then
+ logfile = util.trim(util.exec("cat /var/log/messages | grep 'adblock'"))
+ else
+ logfile = util.trim(util.exec("logread -e 'adblock'"))
+ end
templ.render("adblock/logread", {title = i18n.translate("Adblock Logfile"), content = logfile})
end
diff --git a/applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua b/applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua
index aa57014879..e2ef1ef214 100644
--- a/applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua
+++ b/applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua
@@ -1,32 +1,23 @@
-- 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 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 dnspath = uci.get("adblock", "global", "adb_dnsdir") or ""
-local parse = json.parse(fs.readfile(adbinput) or "")
-if parse ~= nil then
- version = parse.data.adblock_version
- domains = parse.data.blocked_domains
- fetch = parse.data.fetch_info
- backend = parse.data.dns_backend
- rundate = parse.data.last_rundate
- if dnspath == "" then
- if backend == "dnsmasq" then
- dnspath = "/tmp/dnsmasq.d"
- elseif backend == "unbound" then
- dnspath = "/var/lib/unbound"
- elseif backend == "named" then
- dnspath = "/var/lib/bind"
- elseif backend == "kresd" then
- dnspath = "/tmp/kresd"
- end
- end
+
+if not uci:get_first("adblock", "adblock", "adb_trigger") then
+ m = SimpleForm("error", nil, translate("Please update your adblock config file to use this package. ")
+ .. translatef("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>", "https://raw.githubusercontent.com/openwrt/packages/master/net/adblock/files/adblock.conf"))
+ m.submit = false
+ m.reset = false
+ return m
end
-local dnsfile = dnspath .. "/.adb_hidden/adb_list.overall"
m = Map("adblock", translate("Adblock"),
translate("Configuration of the adblock package to block ad/abuse domains by using DNS. ")
@@ -35,7 +26,7 @@ m = Map("adblock", translate("Adblock"),
.. "see online documentation</a>", "https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md"))
function m.on_after_commit(self)
- function e3.validate(self, value)
+ function e4.validate(self, value)
if value == "0" then
luci.sys.call("/etc/init.d/adblock reload >/dev/null 2>&1")
else
@@ -49,62 +40,91 @@ end
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.blocked_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 parse ~= nil and nixio.fs.access(dnsfile) 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
-
-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)"
+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/dnsmasq.d)")
+o2:value("unbound", "unbound (/var/lib/unbound)")
+o2:value("named", "bind (/var/lib/bind)")
+o2:value("kresd", "kresd (/etc/kresd)")
+o2:value("dnscrypt-proxy","dnscrypt-proxy (/tmp)")
+o2.default = "dnsmasq"
+o2.rmempty = false
+
+o3 = s:option(ListValue, "adb_trigger", translate("Startup Trigger"),
+ translate("List of available network interfaces. By default 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."))
+o3:value("none")
+o3:value("timed")
+if dump then
+ local i, v
+ for i, v in ipairs(dump.interface) do
+ if v.interface ~= "loopback" then
+ o3:value(v.interface)
+ end
+ end
+end
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 = s:option(DummyValue, "", translate("Runtime Information"))
ds.template = "cbi/nullsection"
-dv1 = s:option(DummyValue, "status", translate("Status"))
+dv1 = s:option(DummyValue, "", translate("Adblock Status"))
dv1.template = "adblock/runtime"
if parse == nil then
dv1.value = translate("n/a")
-elseif domains == "0" then
- dv1.value = translate("no domains blocked")
-elseif nixio.fs.access(dnsfile) 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")
+ else
+ dv1.value = translate("enabled")
+ end
end
-dv2 = s:option(DummyValue, "adblock_version", translate("Adblock version"))
+dv2 = s:option(DummyValue, "", translate("Adblock Version"))
dv2.template = "adblock/runtime"
if parse == nil then
dv2.value = translate("n/a")
@@ -112,7 +132,7 @@ else
dv2.value = version
end
-dv3 = s:option(DummyValue, "fetch_info", translate("Download Utility (SSL Library)"),
+dv3 = s:option(DummyValue, "", 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
@@ -121,7 +141,7 @@ else
dv3.value = fetch
end
-dv4 = s:option(DummyValue, "dns_backend", translate("DNS backend"))
+dv4 = s:option(DummyValue, "", translate("DNS Backend (DNS Directory)"))
dv4.template = "adblock/runtime"
if parse == nil then
dv4.value = translate("n/a")
@@ -129,7 +149,7 @@ else
dv4.value = backend
end
-dv5 = s:option(DummyValue, "blocked_domains", translate("Blocked domains (overall)"))
+dv5 = s:option(DummyValue, "", translate("Overall Blocked Domains"))
dv5.template = "adblock/runtime"
if parse == nil then
dv5.value = translate("n/a")
@@ -137,7 +157,7 @@ else
dv5.value = domains
end
-dv6 = s:option(DummyValue, "last_rundate", translate("Last rundate"))
+dv6 = s:option(DummyValue, "", translate("Last Run"))
dv6.template = "adblock/runtime"
if parse == nil then
dv6.value = translate("n/a")
@@ -147,9 +167,10 @@ 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."))
+ .. translate("List URLs and Shallalist category selections are configurable in the 'Advanced' section.<br />")
+ .. translate("Caution: Please don't select big lists or many lists at once on low memory devices to prevent OOM exceptions!"))
bl.template = "cbi/tblsection"
name = bl:option(Flag, "enabled", translate("Enabled"))
@@ -169,31 +190,48 @@ des = bl:option(DummyValue, "adb_src_desc", translate("Description"))
-- Extra options
-e = m:section(NamedSection, "global", "adblock", translate("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 = 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_manmode", translate("Manual / Backup mode"),
- translate("Do not automatically update blocklists during startup, use blocklist backups instead."))
+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 RAM)"))
e3.default = e3.disabled
e3.rmempty = false
-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 manual mode."))
+e4 = e:option(Flag, "adb_manmode", translate("Manual / Backup mode"),
+ translate("Do not automatically update blocklists during startup, use blocklist backups instead."))
e4.default = e4.disabled
e4.rmempty = false
-e5 = e:option(Value, "adb_backupdir", translate("Backup directory"))
-e5.datatype = "directory"
+e5 = 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 manual mode."))
+e5.default = e5.disabled
e5.rmempty = false
+e6 = e:option(Value, "adb_backupdir", translate("Backup Directory"),
+ translate("Target directory for adblock backups. Please use only non-volatile disks, no ram/tmpfs drives."))
+e6.datatype = "directory"
+e6.default = "/mnt"
+e6.rmempty = false
+
+e7 = e:option(Value, "adb_dnsdir", translate("DNS Directory"),
+ translate("Target directory for the generated blocklist 'adb_list.overall'."))
+e7.datatype = "directory"
+e7.optional = true
+
+e8 = e:option(Value, "adb_triggerdelay", translate("Trigger Delay"),
+ translate("Additional trigger delay in seconds before adblock processing begins."))
+e8.datatype = "range(1,60)"
+e8.optional = true
+
return m
diff --git a/applications/luci-app-adblock/luasrc/view/adblock/runtime.htm b/applications/luci-app-adblock/luasrc/view/adblock/runtime.htm
index ee3a4553a8..0221a75ed1 100644
--- a/applications/luci-app-adblock/luasrc/view/adblock/runtime.htm
+++ b/applications/luci-app-adblock/luasrc/view/adblock/runtime.htm
@@ -5,6 +5,6 @@ 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="border:none;box-shadow:none;background:transparent;color:#0069d6;" 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
index 0000000000..1901228634
--- /dev/null
+++ b/applications/luci-app-adblock/po/it/adblock.po
@@ -0,0 +1,337 @@
+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 "Blocklist Sources"
+msgstr "Fonti lista di Blocco"
+
+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 ""
+"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 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 "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 (SSL Library)"
+msgstr ""
+
+msgid "Edit Blacklist"
+msgstr "Modifica Lista Nera"
+
+msgid "Edit Configuration"
+msgstr "Modifica Configurazione"
+
+msgid "Edit Whitelist"
+msgstr "Modifica Lista Bianca"
+
+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 RAM)"
+msgstr ""
+"Attiva l'ordinamento globale / rimozione duplicati stressante per la memoria "
+"su dispositivi con poca memoria (&lt; 64 MB RAM)"
+
+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 ""
+"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 ""
+"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 "Force Local DNS"
+msgstr "Forza DNS Locale"
+
+msgid "Force Overall Sort"
+msgstr "Forza Ordinamento Globale"
+
+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 "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. 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 ""
+"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 "Loading"
+msgstr "Caricando"
+
+msgid "Manual / Backup mode"
+msgstr "Modalità Manuale / Backup"
+
+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 Blocked Domains"
+msgstr "Totale Domini Bloccati"
+
+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 update your adblock config file to use this package."
+msgstr ""
+"Per favore aggiorna il tuo file configurazione di adblock per usare questo "
+"pacchetto."
+
+msgid "Query"
+msgstr "Interrogazione"
+
+msgid "Query domains"
+msgstr "Interrogazione domini"
+
+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 "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, no "
+"ram/tmpfs drives."
+msgstr ""
+"Directory per i backup di adblock. Per favore usa solo dischi non volatili, "
+"non dischi ram/tmpfs."
+
+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 ""
+"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 "Yes"
+msgstr "Sì"
+
+msgid "disabled"
+msgstr "disabilitato"
+
+msgid "enabled"
+msgstr "abilitato"
+
+msgid "error"
+msgstr "errore"
+
+msgid "n/a"
+msgstr "n/d"
+
+msgid "paused"
+msgstr "in pausa"
diff --git a/applications/luci-app-adblock/po/ja/adblock.po b/applications/luci-app-adblock/po/ja/adblock.po
index b3e139e12d..86ff36379d 100644
--- a/applications/luci-app-adblock/po/ja/adblock.po
+++ b/applications/luci-app-adblock/po/ja/adblock.po
@@ -11,13 +11,19 @@ msgstr ""
"X-Generator: Poedit 2.0.3\n"
"Language: ja\n"
+msgid "-------"
+msgstr "(利用不可)"
+
msgid "Adblock"
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."
@@ -29,15 +35,27 @@ msgstr "詳細設定"
msgid "Available blocklist sources."
msgstr "利用可能なブロックリスト提供元です。"
-msgid "Backup directory"
+msgid "Backup Directory"
msgstr "バックアップ先 ディレクトリ"
-msgid "Blocked domains (overall)"
-msgstr "ブロック済みドメイン(全体)"
-
-msgid "Blocklist sources"
+msgid "Blocklist Sources"
msgstr "ブロックリスト提供元"
+msgid ""
+"Caution: Please don't select big lists or many lists at once on low memory "
+"devices to prevent OOM exceptions!"
+msgstr ""
+"警告: メモリー容量の小さいデバイスでは OutOfMemory (OOM) 例外を防ぐため、大き"
+"いリストや一度にたくさんのリストを選択しないでください。"
+
+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 "データ収集中です..."
@@ -55,8 +73,11 @@ msgstr ""
"ロードがエラーの場合、またはマニュアル モードでサービスを起動時に使用されま"
"す。"
-msgid "DNS backend"
-msgstr "DNS バックエンド"
+msgid "DNS Backend (DNS Directory)"
+msgstr "DNS バックエンド(DNS ディレクトリ)"
+
+msgid "DNS Directory"
+msgstr "DNS ディレクトリ"
msgid "Description"
msgstr "説明"
@@ -80,10 +101,10 @@ msgstr "設定の編集"
msgid "Edit Whitelist"
msgstr "ホワイトリストの編集"
-msgid "Enable adblock"
+msgid "Enable Adblock"
msgstr "Adblock の有効化"
-msgid "Enable blocklist backup"
+msgid "Enable Blocklist Backup"
msgstr "ブロックリスト バックアップの有効化"
msgid ""
@@ -93,14 +114,15 @@ msgstr ""
"メモリー容量の少ないデバイス(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 ""
"For SSL protected blocklist sources you need a suitable SSL library, e.g. "
@@ -116,11 +138,20 @@ msgstr ""
"詳細な情報は<a href=\"%s\" target=\"_blank\">オンライン ドキュメント</a>を確"
"認してください。"
+msgid "Force Local DNS"
+msgstr "ローカル DNS の強制"
+
msgid "Force Overall Sort"
msgstr "全体ソートの強制"
-msgid "Force local DNS"
-msgstr "ローカル DNS の強制"
+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 "Input file not found, please check your configuration."
msgstr "入力ファイルが見つかりません。設定を確認してください。"
@@ -128,8 +159,29 @@ 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. By default the startup will be "
+"triggered by the 'wan' interface.<br />"
+msgstr ""
+"利用可能なネットワーク インターフェースの一覧です。デフォルトでは 'wan' イン"
+"ターフェースによりスタートアップがトリガされます。"
+
+msgid ""
+"List of supported DNS backends with their default list export directory.<br /"
+">"
+msgstr ""
+"サポートされる DNS バックエンドと、それぞれのデフォルトのリスト出力先ディレク"
+"トリのリストです<br />"
msgid "Loading"
msgstr "読込中"
@@ -141,16 +193,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 Blocked Domains"
+msgstr "全体のブロック済みドメイン"
+
msgid "Overview"
msgstr "概要"
@@ -165,22 +213,24 @@ msgstr ""
msgid "Please edit this file directly in a terminal session."
msgstr "ターミナル セッションで直接このファイルを編集してください。"
+msgid "Please update your adblock config file to use this package."
+msgstr ""
+"このパッケージを使用するには、既存の Adblock 設定ファイルを更新してください。"
+
msgid "Query"
msgstr "検索"
msgid "Query domains"
msgstr "ドメインの検索"
-msgid "Redirect all DNS queries to the local resolver."
-msgstr "全ての DNS クエリをローカル リゾルバにリダイレクトします。"
-
-msgid "Restrict interface trigger to certain interface(s)"
-msgstr "インターフェース トリガーを特定のインターフェースに限定する"
+msgid "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."
@@ -189,22 +239,24 @@ msgstr "SSL 必須"
msgid "Save"
msgstr "保存"
-msgid ""
-"Space separated list of interfaces that trigger adblock processing. To "
-"disable event driven (re-)starts remove all entries."
-msgstr ""
-"Adblock の処理のトリガーとなる、スペースで区切られたインターフェースのリスト"
-"です。処理を発生させるイベントを無効にするには、全てのエントリーを削除して空"
-"欄にします。"
+msgid "Startup Trigger"
+msgstr "スタートアップ トリガ"
-msgid "Status"
-msgstr "ステータス"
+msgid "Suspend"
+msgstr "一時停止"
-msgid "Suspend / Resume adblock"
+msgid "Suspend / Resume Adblock"
msgstr "Adblock の一時停止 / 再開"
-msgid "Suspend adblock"
-msgstr "Adblock の一時停止"
+msgid ""
+"Target directory for adblock backups. Please use only non-volatile disks, no "
+"ram/tmpfs drives."
+msgstr ""
+"Adblock バックアップの保存先ディレクトリです。 RAM/tmpfs ドライブではなく、不"
+"揮発性のドライブのみを使用してください。"
+
+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 ""
@@ -246,8 +298,18 @@ msgstr ""
"このフォームには、システムログ内の Adblock に関連するメッセージのみが表示され"
"ます。"
-msgid "Trigger delay"
-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 "ログファイルを見る"
@@ -258,14 +320,17 @@ msgstr "コマンド実行中です..."
msgid "Yes"
msgstr "はい"
-msgid "active"
-msgstr "動作中"
+msgid "disabled"
+msgstr "無効"
+
+msgid "enabled"
+msgstr "有効"
+
+msgid "error"
+msgstr "エラー"
msgid "n/a"
msgstr "利用不可"
-msgid "no domains blocked"
-msgstr "ブロックされたドメインはありません"
-
-msgid "suspended"
-msgstr "一時停止中"
+msgid "paused"
+msgstr "一時停止"
diff --git a/applications/luci-app-adblock/po/pt-br/adblock.po b/applications/luci-app-adblock/po/pt-br/adblock.po
index 586c318014..b4c8675f07 100644
--- a/applications/luci-app-adblock/po/pt-br/adblock.po
+++ b/applications/luci-app-adblock/po/pt-br/adblock.po
@@ -8,39 +8,54 @@ 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 "-------"
+msgstr ""
+
msgid "Adblock"
msgstr "Adblock"
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 "Blocklist Sources"
+msgstr "Fontes de listas de bloqueio"
+
+msgid ""
+"Caution: Please don't select big lists or many lists at once on low memory "
+"devices to prevent OOM exceptions!"
msgstr ""
-msgid "Blocklist sources"
-msgstr "Fontes de listas de bloqueio"
+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 ""
+msgstr "Coletando dados..."
msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS."
@@ -52,8 +67,13 @@ 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 "DNS Backend (DNS Directory)"
+msgstr ""
-msgid "DNS backend"
+msgid "DNS Directory"
msgstr ""
msgid "Description"
@@ -63,185 +83,277 @@ 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 (SSL Library)"
-msgstr ""
+msgstr "Utilitário de Download (Biblioteca SSL)"
msgid "Edit Blacklist"
-msgstr ""
+msgstr "Editar Lista de Bloqueio"
msgid "Edit Configuration"
-msgstr ""
+msgstr "Editar Configuração"
msgid "Edit Whitelist"
-msgstr ""
+msgstr "Editar Lista Permitida"
-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)"
msgstr ""
+"Ativar tipo geral intenso de memória / duplicar remoção em dispositivos com "
+"pouca memória (&lt; 64 MB RAM)"
-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 ""
"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 ""
"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 "Force Local DNS"
+msgstr "Force o DNS local"
msgid "Force Overall Sort"
-msgstr ""
+msgstr "Force Tipo Geral"
-msgid "Force local DNS"
+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 ""
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"
-msgstr ""
-
-msgid "Manual / Backup mode"
+msgid ""
+"List URLs and Shallalist category selections are configurable in the "
+"'Advanced' section.<br />"
msgstr ""
-msgid "No"
+msgid ""
+"List of available network interfaces. By default 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 "Loading"
+msgstr "Carregando"
+
+msgid "Manual / Backup mode"
+msgstr "Manual / Modo backup"
+
+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 Blocked 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 "Please edit this file directly in a terminal session."
+msgstr "Por favor edite esse arquivo direto em uma sessão de terminal."
+
+msgid "Please update your adblock config file to use this package."
msgstr ""
msgid "Query"
-msgstr ""
+msgstr "Consulta"
msgid "Query domains"
-msgstr ""
+msgstr "Consulta de domínios"
-msgid "Redirect all DNS queries to the local resolver."
+msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
msgstr ""
-msgid "Restrict interface trigger to certain interface(s)"
+msgid "Resume"
msgstr ""
-msgid "Resume adblock"
-msgstr ""
-
-msgid "Runtime information"
-msgstr ""
+msgid "Runtime Information"
+msgstr "Informação de execução"
msgid "SSL req."
-msgstr ""
+msgstr "req. de SSL"
msgid "Save"
-msgstr ""
+msgstr "Salvar"
-msgid ""
-"Space separated list of interfaces that trigger adblock processing. To "
-"disable event driven (re-)starts remove all entries."
+msgid "Startup Trigger"
msgstr ""
-msgid "Status"
+msgid "Suspend"
msgstr ""
-msgid "Suspend / Resume adblock"
+msgid "Suspend / Resume Adblock"
+msgstr "Suspender / Resumir adblock"
+
+msgid ""
+"Target directory for adblock backups. Please use only non-volatile disks, no "
+"ram/tmpfs drives."
msgstr ""
-msgid "Suspend adblock"
+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 ""
+"To overwrite the default path use the 'DNS Directory' option in the extra "
+"section below."
msgstr ""
-msgid "View Logfile"
+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 ""
+msgstr "Aguardando por comando para completar..."
msgid "Yes"
-msgstr ""
+msgstr "Sim"
-msgid "active"
+msgid "disabled"
msgstr ""
-msgid "n/a"
+msgid "enabled"
msgstr ""
-msgid "no domains blocked"
+msgid "error"
msgstr ""
-msgid "suspended"
+msgid "n/a"
+msgstr "n/d"
+
+msgid "paused"
msgstr ""
+#~ 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/sv/adblock.po b/applications/luci-app-adblock/po/sv/adblock.po
index a70a1a1d67..4cb932c601 100644
--- a/applications/luci-app-adblock/po/sv/adblock.po
+++ b/applications/luci-app-adblock/po/sv/adblock.po
@@ -1,13 +1,19 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8\n"
+msgid "-------"
+msgstr ""
+
msgid "Adblock"
msgstr "Adblock"
msgid "Adblock Logfile"
msgstr "Adblock's loggfil"
-msgid "Adblock version"
+msgid "Adblock Status"
+msgstr ""
+
+msgid "Adblock Version"
msgstr "Version för Adblock"
msgid "Additional trigger delay in seconds before adblock processing begins."
@@ -19,15 +25,22 @@ 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 "Blocklist sources"
+msgid "Blocklist Sources"
msgstr "Källor för blockeringslistor"
+msgid ""
+"Caution: Please don't select big lists or many lists at once on low memory "
+"devices to prevent OOM exceptions!"
+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 "Samlar in data..."
@@ -42,8 +55,11 @@ msgid ""
"errors or during startup in manual mode."
msgstr ""
-msgid "DNS backend"
-msgstr "Bakände för DNS"
+msgid "DNS Backend (DNS Directory)"
+msgstr ""
+
+msgid "DNS Directory"
+msgstr ""
msgid "Description"
msgstr "Beskrivning"
@@ -52,6 +68,8 @@ 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 (SSL Library)"
msgstr "Nerladdningsprogram (SSL-bibliotek)"
@@ -65,10 +83,10 @@ msgstr "Redigerar konfigurationen"
msgid "Edit Whitelist"
msgstr "Redigera vitlista"
-msgid "Enable adblock"
+msgid "Enable Adblock"
msgstr "Aktivera adblock"
-msgid "Enable blocklist backup"
+msgid "Enable Blocklist Backup"
msgstr "Aktivera säkerhetskopiering av blockeringslistan"
msgid ""
@@ -76,13 +94,13 @@ msgid ""
"(&lt; 64 MB 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 ""
@@ -94,39 +112,60 @@ 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 "Force Local DNS"
+msgstr "Tvinga lokal DNS"
msgid "Force Overall Sort"
msgstr ""
-msgid "Force local DNS"
-msgstr "Tvinga lokal DNS"
+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 ""
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 ""
+
+msgid ""
+"List URLs and Shallalist category selections are configurable in the "
+"'Advanced' section.<br />"
+msgstr ""
+
+msgid ""
+"List of available network interfaces. By default 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 "Loading"
msgstr "Laddar"
msgid "Manual / Backup mode"
-msgstr ""
+msgstr "Manuell / Säkerhetskopieringsläge"
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 Blocked Domains"
msgstr ""
msgid "Overview"
@@ -138,63 +177,72 @@ msgid ""
msgstr ""
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 update your adblock config file to use this package."
msgstr ""
msgid "Query"
-msgstr ""
+msgstr "Fråga"
msgid "Query domains"
-msgstr ""
+msgstr "Fråga efter domäner"
-msgid "Redirect all DNS queries to the local resolver."
+msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
msgstr ""
-msgid "Restrict interface trigger to certain interface(s)"
+msgid "Resume"
msgstr ""
-msgid "Resume adblock"
-msgstr "Återuppta adblock"
-
-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 ""
+msgstr "Spara"
-msgid ""
-"Space separated list of interfaces that trigger adblock processing. To "
-"disable event driven (re-)starts remove all entries."
+msgid "Startup Trigger"
msgstr ""
-msgid "Status"
-msgstr "Status"
+msgid "Suspend"
+msgstr ""
-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, no "
+"ram/tmpfs drives."
+msgstr ""
-msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
+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. "
@@ -206,7 +254,15 @@ msgid ""
"only."
msgstr ""
-msgid "Trigger delay"
+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"
@@ -218,17 +274,53 @@ msgstr "Väntar på att kommandot ska slutföras..."
msgid "Yes"
msgstr "Ja"
-msgid "active"
-msgstr "aktiv"
+msgid "disabled"
+msgstr ""
+
+msgid "enabled"
+msgstr ""
+
+msgid "error"
+msgstr ""
msgid "n/a"
msgstr "n/a"
-msgid "no domains blocked"
-msgstr "inga domäner blockerades"
+msgid "paused"
+msgstr ""
+
+#~ 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 "suspended"
+#~ msgstr "upphävd"
#~ msgid "."
#~ msgstr "."
diff --git a/applications/luci-app-adblock/po/templates/adblock.pot b/applications/luci-app-adblock/po/templates/adblock.pot
index 3b61036e02..c6ad66baa3 100644
--- a/applications/luci-app-adblock/po/templates/adblock.pot
+++ b/applications/luci-app-adblock/po/templates/adblock.pot
@@ -1,13 +1,19 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
+msgid "-------"
+msgstr ""
+
msgid "Adblock"
msgstr ""
msgid "Adblock Logfile"
msgstr ""
-msgid "Adblock version"
+msgid "Adblock Status"
+msgstr ""
+
+msgid "Adblock Version"
msgstr ""
msgid "Additional trigger delay in seconds before adblock processing begins."
@@ -19,13 +25,20 @@ msgstr ""
msgid "Available blocklist sources."
msgstr ""
-msgid "Backup directory"
+msgid "Backup Directory"
msgstr ""
-msgid "Blocked domains (overall)"
+msgid "Blocklist Sources"
msgstr ""
-msgid "Blocklist sources"
+msgid ""
+"Caution: Please don't select big lists or many lists at once on low memory "
+"devices to prevent OOM exceptions!"
+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..."
@@ -40,7 +53,10 @@ msgid ""
"errors or during startup in manual mode."
msgstr ""
-msgid "DNS backend"
+msgid "DNS Backend (DNS Directory)"
+msgstr ""
+
+msgid "DNS Directory"
msgstr ""
msgid "Description"
@@ -63,10 +79,10 @@ msgstr ""
msgid "Edit Whitelist"
msgstr ""
-msgid "Enable adblock"
+msgid "Enable Adblock"
msgstr ""
-msgid "Enable blocklist backup"
+msgid "Enable Blocklist Backup"
msgstr ""
msgid ""
@@ -74,13 +90,13 @@ msgid ""
"(&lt; 64 MB 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 ""
@@ -93,10 +109,16 @@ msgid ""
"documentation</a>"
msgstr ""
+msgid "Force Local DNS"
+msgstr ""
+
msgid "Force Overall Sort"
msgstr ""
-msgid "Force local DNS"
+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 ""
msgid "Input file not found, please check your configuration."
@@ -105,7 +127,22 @@ 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 ""
+
+msgid ""
+"List of available network interfaces. By default 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 "Loading"
@@ -118,12 +155,10 @@ msgid "No"
msgstr ""
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 Blocked Domains"
msgstr ""
msgid "Overview"
@@ -137,22 +172,22 @@ msgstr ""
msgid "Please edit this file directly in a terminal session."
msgstr ""
-msgid "Query"
+msgid "Please update your adblock config file to use this package."
msgstr ""
-msgid "Query domains"
+msgid "Query"
msgstr ""
-msgid "Redirect all DNS queries to the local resolver."
+msgid "Query domains"
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."
@@ -161,18 +196,21 @@ msgstr ""
msgid "Save"
msgstr ""
-msgid ""
-"Space separated list of interfaces that trigger adblock processing. To "
-"disable event driven (re-)starts remove all entries."
+msgid "Startup Trigger"
msgstr ""
-msgid "Status"
+msgid "Suspend"
msgstr ""
-msgid "Suspend / Resume adblock"
+msgid "Suspend / Resume Adblock"
msgstr ""
-msgid "Suspend adblock"
+msgid ""
+"Target directory for adblock backups. Please use only non-volatile disks, no "
+"ram/tmpfs drives."
+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)."
@@ -203,7 +241,15 @@ msgid ""
"only."
msgstr ""
-msgid "Trigger delay"
+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"
@@ -215,14 +261,17 @@ msgstr ""
msgid "Yes"
msgstr ""
-msgid "active"
+msgid "disabled"
msgstr ""
-msgid "n/a"
+msgid "enabled"
msgstr ""
-msgid "no domains blocked"
+msgid "error"
+msgstr ""
+
+msgid "n/a"
msgstr ""
-msgid "suspended"
+msgid "paused"
msgstr ""
diff --git a/applications/luci-app-adblock/po/zh-cn/adblock.po b/applications/luci-app-adblock/po/zh-cn/adblock.po
index 534e8f5cce..d5f5104a05 100644
--- a/applications/luci-app-adblock/po/zh-cn/adblock.po
+++ b/applications/luci-app-adblock/po/zh-cn/adblock.po
@@ -13,13 +13,19 @@ msgstr ""
"X-Generator: Poedit 2.0.1\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+msgid "-------"
+msgstr ""
+
msgid "Adblock"
msgstr "Adblock"
msgid "Adblock Logfile"
msgstr "Adblock 日志文件"
-msgid "Adblock version"
+msgid "Adblock Status"
+msgstr ""
+
+msgid "Adblock Version"
msgstr "Adblock 版本"
msgid "Additional trigger delay in seconds before adblock processing begins."
@@ -31,14 +37,21 @@ msgstr "高级"
msgid "Available blocklist sources."
msgstr "可用的 blocklist 来源"
-msgid "Backup directory"
+msgid "Backup Directory"
msgstr "备份目录"
-msgid "Blocked domains (overall)"
+msgid "Blocklist Sources"
+msgstr "拦截列表来源"
+
+msgid ""
+"Caution: Please don't select big lists or many lists at once on low memory "
+"devices to prevent OOM exceptions!"
msgstr ""
-msgid "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 "正在收集数据..."
@@ -52,8 +65,11 @@ msgid ""
"errors or during startup in manual mode."
msgstr ""
-msgid "DNS backend"
-msgstr "DNS 后端"
+msgid "DNS Backend (DNS Directory)"
+msgstr ""
+
+msgid "DNS Directory"
+msgstr ""
msgid "Description"
msgstr "描述"
@@ -75,10 +91,10 @@ msgstr "编辑设置"
msgid "Edit Whitelist"
msgstr "编辑白名单"
-msgid "Enable adblock"
+msgid "Enable Adblock"
msgstr "启用Adblock"
-msgid "Enable blocklist backup"
+msgid "Enable Blocklist Backup"
msgstr "启用拦截规则备份"
msgid ""
@@ -86,13 +102,13 @@ msgid ""
"(&lt; 64 MB RAM)"
msgstr ""
-msgid "Enable verbose debug logging"
-msgstr "启用详细调试输出"
+msgid "Enable verbose debug logging in case of any processing error."
+msgstr ""
msgid "Enabled"
msgstr "启用"
-msgid "Extra options"
+msgid "Extra Options"
msgstr "额外选项"
msgid ""
@@ -105,10 +121,16 @@ msgid ""
"documentation</a>"
msgstr ""
+msgid "Force Local DNS"
+msgstr ""
+
msgid "Force Overall Sort"
msgstr ""
-msgid "Force local DNS"
+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 ""
msgid "Input file not found, please check your configuration."
@@ -117,7 +139,22 @@ 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 ""
+
+msgid ""
+"List of available network interfaces. By default 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 "Loading"
@@ -130,14 +167,12 @@ msgid "No"
msgstr "否"
msgid ""
-"Note that list URLs and Shallalist category selections are configurable in "
-"the 'Advanced' section."
-msgstr ""
-
-msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr "在默认设置并不适合你时的额外选项。"
+msgid "Overall Blocked Domains"
+msgstr ""
+
msgid "Overview"
msgstr "总览"
@@ -149,22 +184,22 @@ msgstr ""
msgid "Please edit this file directly in a terminal session."
msgstr ""
+msgid "Please update your adblock config file to use this package."
+msgstr ""
+
msgid "Query"
msgstr "查询"
msgid "Query domains"
msgstr ""
-msgid "Redirect all DNS queries to the local resolver."
+msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
msgstr ""
-msgid "Restrict interface trigger to certain interface(s)"
+msgid "Resume"
msgstr ""
-msgid "Resume adblock"
-msgstr "恢复 Adblock"
-
-msgid "Runtime information"
+msgid "Runtime Information"
msgstr "运行信息"
msgid "SSL req."
@@ -173,19 +208,22 @@ msgstr ""
msgid "Save"
msgstr ""
-msgid ""
-"Space separated list of interfaces that trigger adblock processing. To "
-"disable event driven (re-)starts remove all entries."
+msgid "Startup Trigger"
msgstr ""
-msgid "Status"
-msgstr "状态"
+msgid "Suspend"
+msgstr ""
-msgid "Suspend / Resume adblock"
+msgid "Suspend / Resume Adblock"
msgstr "暂停/恢复 Adblock"
-msgid "Suspend adblock"
-msgstr "暂停 Adblock"
+msgid ""
+"Target directory for adblock backups. Please use only non-volatile disks, no "
+"ram/tmpfs drives."
+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 ""
@@ -215,9 +253,17 @@ msgid ""
"only."
msgstr ""
-msgid "Trigger delay"
+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"
msgstr "查看日志文件"
@@ -227,17 +273,44 @@ msgstr "正在执行命令..."
msgid "Yes"
msgstr "是"
-msgid "active"
-msgstr "已启用"
+msgid "disabled"
+msgstr ""
+
+msgid "enabled"
+msgstr ""
+
+msgid "error"
+msgstr ""
msgid "n/a"
msgstr ""
-msgid "no domains blocked"
-msgstr "没有被拦截的域名"
+msgid "paused"
+msgstr ""
+
+#~ 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 "suspended"
+#~ msgstr "已暂停"
#~ msgid "."
#~ msgstr "."
diff --git a/applications/luci-app-advanced-reboot/po/sv/luci-app-advanced-reboot.po b/applications/luci-app-advanced-reboot/po/sv/luci-app-advanced-reboot.po
new file mode 100644
index 0000000000..cac09d76a6
--- /dev/null
+++ b/applications/luci-app-advanced-reboot/po/sv/luci-app-advanced-reboot.po
@@ -0,0 +1,108 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+msgid "Action"
+msgstr "Åtgärd"
+
+msgid "Advanced Reboot"
+msgstr "Avancerad omstart"
+
+msgid "Alternative"
+msgstr "Alternativ"
+
+msgid "Cancel"
+msgstr "Avbryt"
+
+msgid "Confirm"
+msgstr "Bekräfta"
+
+msgid "Current"
+msgstr "Nuvarande"
+
+msgid "Firmware/OS (Kernel)"
+msgstr "Inre mjukvara/OS (Kärna)"
+
+msgid "Partition"
+msgstr "Partition"
+
+msgid "Partitions"
+msgstr "Partitioner"
+
+msgid "Perform power off..."
+msgstr "Utför avstängning..."
+
+msgid "Power Off Device"
+msgstr "Stäng av enhet"
+
+msgid "Proceed"
+msgstr "Fortsätt"
+
+msgid "Reboot Device to an Alternative Partition"
+msgstr "Starta om enheten till en alternativ partition"
+
+msgid "Reboot to alternative partition..."
+msgstr "Starta om till alternativ partition..."
+
+msgid "Reboot to current partition"
+msgstr "Starta om till nuvarande partition"
+
+msgid "Rebooting..."
+msgstr "Startar om..."
+
+msgid "Shutting down..."
+msgstr "Stänger av..."
+
+msgid "Status"
+msgstr "Status"
+
+msgid ""
+"The system is rebooting now.<br /> DO NOT POWER OFF THE DEVICE!<br /> Wait a "
+"few minutes before you try to reconnect. It might be necessary to renew the "
+"address of your computer to reach the device again, depending on your "
+"settings."
+msgstr ""
+
+msgid ""
+"The system is rebooting to an alternative partition now.<br /> DO NOT POWER "
+"OFF THE DEVICE!<br /> Wait a few minutes before you try to reconnect. It "
+"might be necessary to renew the address of your computer to reach the device "
+"again, depending on your settings."
+msgstr ""
+
+msgid ""
+"The system is shutting down now.<br /> DO NOT POWER OFF THE DEVICE!<br /> It "
+"might be necessary to renew the address of your computer to reach the device "
+"again, depending on your settings."
+msgstr ""
+"Systemet stänger ner nu.<br /> STÄNG INTE AV ENHETEN!<br /> Beroende
+"på dina inställningar så kan det vara nödvändigt att förnya din dators adress "
+"för att nå enheten igen."
+
+msgid ""
+"WARNING: An alternative partition might have its own settings and completely "
+"different firmware.<br /><br /> As your network configuration and WiFi SSID/"
+"password on alternative partition might be different, you might have to "
+"adjust your computer settings to be able to access your device once it "
+"reboots.<br /><br /> Please also be aware that alternative partition "
+"firmware might not provide an easy way to switch active partition and boot "
+"back to the currently active partition.<br /><br /> Click \"Proceed\" below "
+"to reboot device to an alternative partition."
+msgstr ""
+
+msgid ""
+"WARNING: Power off might result in a reboot on a device which doesn't "
+"support power off.<br /><br /> Click \"Proceed\" below to power off your "
+"device."
+msgstr ""
+"VARNING: Att stänga av kan resultera i en omstart i en enhet som inte "
+"har stöd för avstängning.<br /><br /> Klicka på \"Fortsätt\" nedanför för att stänga av din "
+"enhet."
+
+msgid "Warning: There are unsaved changes that will get lost on reboot!"
+msgstr "Varning: Det finns osparade ändringar som kommer att förloras vid omstart!"
+
+msgid "Warning: This system does not have two partitions!"
+msgstr "Varning: Det här systemet har inte två partitioner!"
+
+msgid "Warning: This system does not support powering off!"
+msgstr "Varning: Det här systemet har inte stöd för avstängning!"
diff --git a/applications/luci-app-ahcp/po/sv/ahcp.po b/applications/luci-app-ahcp/po/sv/ahcp.po
index a7c7a38f79..db1cc35ec5 100644
--- a/applications/luci-app-ahcp/po/sv/ahcp.po
+++ b/applications/luci-app-ahcp/po/sv/ahcp.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"PO-Revision-Date: 2014-04-27 22:52+0200\n"
-"Last-Translator: Umeaboy <kristoffer.grundstrom1983@gmail.com>\n"
+"Last-Translator: Umeaboy <hamnisdude@gmail.com>\n"
"Language-Team: none\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
@@ -20,6 +20,10 @@ msgid ""
"networks where it is difficult or impossible to configure a server within "
"every link-layer broadcast domain, for example mobile ad-hoc networks."
msgstr ""
+"AHCP är ett autokonfigurationsprotokoll för IPv6 och dual-stack IPv6/IPv4- "
+"nätverk designade för att användas vid upptäckt av router eller DHCP på "
+"nätverk där det är svårt eller omöjligt att ställa in en server inom "
+"varje sändningslänkslags-domän, till exempel mobila ad-hocnätverk."
msgid "Active AHCP Leases"
msgstr "Aktiva AHCP-hyror"
diff --git a/applications/luci-app-aria2/po/sv/aria2.po b/applications/luci-app-aria2/po/sv/aria2.po
index 3a129364cf..33613faca5 100644
--- a/applications/luci-app-aria2/po/sv/aria2.po
+++ b/applications/luci-app-aria2/po/sv/aria2.po
@@ -25,10 +25,10 @@ msgstr "Status för Aria2"
msgid ""
"Aria2 is a multi-protocol &amp; multi-source download utility, here you can "
"configure the settings."
-msgstr "Aria2 är ett verktyg för multiprotokoll &amp; multi-käll"
+msgstr ""
msgid "Autosave session interval"
-msgstr ""
+msgstr "Autospara sessionintervall"
msgid "BitTorrent Settings"
msgstr "Inställningar för BitTorrent"
@@ -82,16 +82,16 @@ msgid "Info"
msgstr "Info"
msgid "List of additional Bt tracker"
-msgstr ""
+msgstr "Lista över extra Bt-tracker"
msgid "List of extra settings"
-msgstr ""
+msgstr "Lista över extra inställningar"
msgid "Log file is in the config file dir."
msgstr "Logg-filen är i konfigurationsfilens mapp."
msgid "Log level"
-msgstr "Loggningsnivå"
+msgstr "Loggnivå"
msgid "Max concurrent downloads"
msgstr "Maximalt sammanhängande nerladdningar"
@@ -103,10 +103,10 @@ msgid "Max number of peers per torrent"
msgstr "Maximalt antalet jämlikar per torrent"
msgid "Max number of split"
-msgstr ""
+msgstr "Högst antal split"
msgid "Min split size"
-msgstr ""
+msgstr "Minsta split-storlek"
msgid "No Authentication"
msgstr "Ingen autentisering"
@@ -118,7 +118,7 @@ msgid "Off"
msgstr "Av"
msgid "Open WebUI-Aria2"
-msgstr ""
+msgstr "Öppna WebUI-Aria2"
msgid "Open YAAW"
msgstr "Öppna YAAW"
@@ -145,10 +145,10 @@ msgid "Prealloc"
msgstr "Prealloc"
msgid "Preallocation"
-msgstr ""
+msgstr "Förallokering"
msgid "Prefix of peer ID"
-msgstr ""
+msgstr "Peer-ID prefix"
msgid "RPC Token"
msgstr ""
@@ -172,7 +172,7 @@ msgid "Sec"
msgstr "Sek"
msgid "Task Settings"
-msgstr ""
+msgstr "Inställningar för uppgifter"
msgid "The Aria2 service is not running."
msgstr "Aria2-tjänsten körs inte."
@@ -181,7 +181,7 @@ msgid "The Aria2 service is running."
msgstr "Aria2-tjänsten körs."
msgid "Token"
-msgstr ""
+msgstr "Tecken"
msgid "Trunc"
msgstr ""
@@ -196,13 +196,13 @@ msgid "Username & Password"
msgstr "Användarnamn & Lösenord"
msgid "View Json-RPC URL"
-msgstr ""
+msgstr "Visa Json-RPC URL"
msgid "Warn"
msgstr "Varna"
msgid "in bytes, You can append K or M."
-msgstr ""
+msgstr "i bytes, Du kan bifoga K eller M."
msgid "in bytes/sec, You can append K or M."
-msgstr ""
+msgstr "i bytes/sek, Du kan bifoga K eller M."
diff --git a/applications/luci-app-bcp38/po/sv/bcp38.po b/applications/luci-app-bcp38/po/sv/bcp38.po
new file mode 100644
index 0000000000..7293278f26
--- /dev/null
+++ b/applications/luci-app-bcp38/po/sv/bcp38.po
@@ -0,0 +1,45 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8\n"
+
+msgid "Allowed IP ranges"
+msgstr ""
+
+msgid ""
+"Attempt to automatically detect if the upstream IP will be blocked by the "
+"configuration, and add an exception if it will. If this does not work "
+"correctly, you can add exceptions manually below."
+msgstr ""
+
+msgid "Auto-detect upstream IP"
+msgstr "Upptäck automatiskt IP från uppströms"
+
+msgid "BCP38"
+msgstr "BCP38"
+
+msgid "BCP38 config"
+msgstr ""
+
+msgid "Blocked IP ranges"
+msgstr ""
+
+msgid "Enable"
+msgstr "Aktivera"
+
+msgid "Interface name"
+msgstr "Namn på gränssnittet"
+
+msgid ""
+"Interface to apply the blocking to (should be the upstream WAN interface)."
+msgstr ""
+
+msgid ""
+"Takes precedence over blocked ranges. Use to whitelist your upstream network "
+"if you're behind a double NAT and the auto-detection doesn't work."
+msgstr ""
+
+msgid ""
+"This function blocks packets with private address destinations from going "
+"out onto the internet as per <a href=\"http://tools.ietf.org/html/"
+"bcp38\">BCP 38</a>. For IPv6, only source specific default routes are "
+"installed, so no BCP38 firewall routes are needed."
+msgstr ""
diff --git a/applications/luci-app-clamav/po/sv/clamav.po b/applications/luci-app-clamav/po/sv/clamav.po
index 37de249e54..a6c98377df 100644
--- a/applications/luci-app-clamav/po/sv/clamav.po
+++ b/applications/luci-app-clamav/po/sv/clamav.po
@@ -41,10 +41,10 @@ msgid "ClamAV"
msgstr "ClamAV"
msgid "Database check every N sec"
-msgstr ""
+msgstr "Kontrollera databasen var N sek"
msgid "Detect broken executables"
-msgstr ""
+msgstr "Upptäck trasiga exekverbara filer"
msgid "Detect possibly unwanted apps"
msgstr "Upptäck möjliga oönskade appar"
@@ -53,19 +53,19 @@ msgid "Enable verbose logging"
msgstr "Aktivera utförlig loggning"
msgid "Follow directory symlinks"
-msgstr ""
+msgstr "Följ mappens symbollänkar"
msgid "Follow file symlinks"
-msgstr ""
+msgstr "Följ symbollänkar för fil"
msgid "Log"
msgstr "Logg"
msgid "Log additional infection info"
-msgstr ""
+msgstr "Logga ytterligare information om infektionen"
msgid "Log time with each message"
-msgstr ""
+msgstr "Loggtid med varje meddelande"
msgid "Max directory scan depth"
msgstr ""
@@ -74,19 +74,19 @@ msgid "Max number of threads"
msgstr "Maximalt antalet trådar"
msgid "Max size of log file"
-msgstr ""
+msgstr "Högsta storlek av loggfilen"
msgid "Max size of scanned file"
-msgstr ""
+msgstr "Högsta storlek av skannad fil"
msgid "No"
msgstr "Nej"
msgid "Port range, highest port"
-msgstr ""
+msgstr "Räckvidd för port, högsta port"
msgid "Port range, lowest port"
-msgstr ""
+msgstr "Räckvidd för port, lägsta port"
msgid "Scan ELF files"
msgstr "Sök igenom ELF-filer"
@@ -107,7 +107,7 @@ msgid "Scan pdf files"
msgstr "Sök igenom pdf-filer"
msgid "Scan portable executables"
-msgstr ""
+msgstr "Sök igenom bärbara exekverbara filer"
msgid "Scan swf files"
msgstr "Sök igenom swf-filer"
diff --git a/applications/luci-app-coovachilli/po/sv/coovachilli.po b/applications/luci-app-coovachilli/po/sv/coovachilli.po
index 8695ce5a75..751b9211bf 100644
--- a/applications/luci-app-coovachilli/po/sv/coovachilli.po
+++ b/applications/luci-app-coovachilli/po/sv/coovachilli.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"PO-Revision-Date: 2014-04-28 06:16+0200\n"
-"Last-Translator: Umeaboy <kristoffer.grundstrom1983@gmail.com>\n"
+"Last-Translator: Kristoffer Grundström <hamnisdude@gmail.com>\n"
"Language-Team: none\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
diff --git a/applications/luci-app-ddns/po/it/ddns.po b/applications/luci-app-ddns/po/it/ddns.po
index f59d053e71..3b9d5f48de 100644
--- a/applications/luci-app-ddns/po/it/ddns.po
+++ b/applications/luci-app-ddns/po/it/ddns.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: luci-app-ddns 2.4.0-1\n"
"POT-Creation-Date: 2016-01-30 11:07+0100\n"
-"PO-Revision-Date: 2013-02-03 13:53+0200\n"
-"Last-Translator: Francesco <3gasas@gmail.com>\n"
+"PO-Revision-Date: 2017-09-06 01:53+0200\n"
+"Last-Translator: Bubu83 <bubu83@gmail.com>\n"
"Language-Team: \n"
"Language: it\n"
"MIME-Version: 1.0\n"
@@ -22,160 +22,182 @@ msgid "-- default --"
msgstr ""
msgid "Advanced Settings"
-msgstr ""
+msgstr "Opzioni Avanzate"
msgid "Allow non-public IP's"
-msgstr ""
+msgstr "Consenti IP non pubblici"
msgid "Applying changes"
-msgstr ""
+msgstr "Applico i cambiamenti"
msgid "Basic Settings"
-msgstr ""
+msgstr "Opzioni di Base"
msgid ""
"Below a list of configuration tips for your system to run Dynamic DNS "
"updates without limitations"
msgstr ""
+"Sotto c'è una lista di consigli di configurazione per il tuo sistema per eseguire "
+"aggiornamenti di Dynamic DNS senza limitazioni"
msgid ""
"Below is a list of configured DDNS configurations and their current state."
msgstr ""
+"Sotto c'è una lista delle configurazioni DDNS configurate e il loro stato attuale."
msgid "Bind Network"
-msgstr ""
+msgstr "Collega Rete"
msgid "Binding to a specific network not supported"
-msgstr ""
+msgstr "Collegamento a una specifica rete non supportato"
msgid ""
"BusyBox's nslookup and Wget do not support to specify the IP version to use "
"for communication with DDNS Provider!"
msgstr ""
+"Nslookup di BusyBox e Wget non supportano lo specificare la versione IP da usare "
+"per la comunicazione con il Provider DDNS!"
msgid ""
"BusyBox's nslookup and hostip do not support to specify to use TCP instead "
"of default UDP when requesting DNS server!"
msgstr ""
+"Nslookup di BusyBox e hostip non supportano lo specificare l'uso di TCP invece "
+"di UDP di default quando richiedono il server DNS!"
msgid ""
"BusyBox's nslookup in the current compiled version does not handle given DNS "
"Servers correctly!"
msgstr ""
+"Nslookup di BusyBox nella versione compilata corrente non gestisce i dati Server "
+"DNS correttamente!"
msgid "Casual users should not change this setting"
-msgstr ""
+msgstr "Gli utenti casuali non dovrebbero cambiare questa opzione"
msgid "Change provider"
-msgstr ""
+msgstr "Cambia provider"
msgid "Check Interval"
-msgstr ""
+msgstr "Controlla Intervallo"
msgid "Collecting data..."
-msgstr ""
+msgstr "Raccogliendo dati..."
msgid "Config error"
-msgstr ""
+msgstr "Errore di configurazione"
msgid "Configuration"
-msgstr ""
+msgstr "Configurazione"
msgid ""
"Configure here the details for all Dynamic DNS services including this LuCI "
"application."
msgstr ""
+"Configura qui i dettagli per tutti i servizi Dynamic DNS inclusa questa "
+"applicazione LuCI."
msgid "Configure here the details for selected Dynamic DNS service."
-msgstr ""
+msgstr "Configura qui i dettagli per il servizio Dynamic DNS selezionato."
msgid "Current setting"
-msgstr ""
+msgstr "Impostazione corrente"
msgid ""
"Currently DDNS updates are not started at boot or on interface events.<br /"
">This is the default if you run DDNS scripts by yourself (i.e. via cron with "
"force_interval set to '0')"
msgstr ""
+"Attualmente gli aggiornamenti DDNS non si avviano al boot o per eventi "
+"dell'interfaccia. <br />Questo è di default se esegui gli script DDNS per conto tuo "
+" (es. usando cron con force_interval impostato a '0')"
msgid ""
"Currently DDNS updates are not started at boot or on interface events.<br /"
">You can start/stop each configuration here. It will run until next reboot."
msgstr ""
+"Attualmente gli aggiornamenti DDNS non si avviano al boot o per eventi "
+"dell'interfaccia. <br />Puoi avviare/fermare ogni configurazione qui. Verrà eseguita "
+"fino al prossimo riavvio."
msgid "Custom update script to be used for updating your DDNS Provider."
-msgstr ""
+msgstr "Script aggiornamento personalizzato da usare per aggiornare il tuo DDNS Provider."
msgid "Custom update-URL"
msgstr "URL di aggiornamento personalizzato"
msgid "Custom update-script"
-msgstr ""
+msgstr "Script di aggiornamento personalizzato"
msgid "DDNS Autostart disabled"
-msgstr ""
+msgstr "Autoavvio DDNS disabilitato"
msgid "DDNS Client Configuration"
-msgstr ""
+msgstr "Configurazione Cliente DDNS"
msgid "DDNS Client Documentation"
-msgstr ""
+msgstr "Documentazione Cliente DDNS"
msgid "DDNS Service provider"
-msgstr ""
+msgstr "Provider del Servizio DDNS"
msgid "DNS requests via TCP not supported"
-msgstr ""
+msgstr "Richieste DNS via TCP non supportate"
msgid "DNS-Server"
-msgstr ""
+msgstr "Server DNS"
msgid "Date format"
-msgstr ""
+msgstr "Formato Data"
msgid "Defines the Web page to read systems IPv4-Address from"
-msgstr ""
+msgstr "Definisce la pagina WEB che legge l'indirizzo IPv4 dei sistemi"
msgid "Defines the Web page to read systems IPv6-Address from"
-msgstr ""
+msgstr "Definisce la pagina WEB che legge l'indirizzo IPv6 dei sistemi"
msgid "Defines the interface to read systems IP-Address from"
-msgstr ""
+msgstr "Definisce l'interfaccia che legge l'indirizzo IP dei sistemi"
msgid "Defines the network to read systems IPv4-Address from"
-msgstr ""
+msgstr "Definisce la rete che legge l'indirizzo IPv4 dei sistemi"
msgid "Defines the network to read systems IPv6-Address from"
-msgstr ""
+msgstr "Definisce la rete che legge l'indirizzo IPv6 dei sistemi"
msgid ""
"Defines the source to read systems IPv4-Address from, that will be send to "
"the DDNS provider"
msgstr ""
+"Definisce la sorgente che legge l'indirizzo IPv4 dei sistemi, che sarà mandata "
+"al provider DDNS"
msgid ""
"Defines the source to read systems IPv6-Address from, that will be send to "
"the DDNS provider"
msgstr ""
+"Definisce la sorgente che legge l'indirizzo IPv6 dei sistemi, che sarà mandata "
+"al provider DDNS"
msgid "Defines which IP address 'IPv4/IPv6' is send to the DDNS provider"
-msgstr ""
+msgstr "Definisce quale indirizzo IP 'IPv4/IPv6' è mandato al provider DDNS"
msgid "Details for"
-msgstr ""
+msgstr "Dettagli per"
msgid "Directory contains Log files for each running section"
-msgstr ""
+msgstr "Directory che contiene i file di registro per ogni sezione avviata"
msgid ""
"Directory contains PID and other status information for each running section"
msgstr ""
+"Directory che contiene il PID e altre informazioni di stato per ogni seziona avviata"
msgid "Disabled"
-msgstr ""
+msgstr "Disabilitato"
msgid "Domain"
-msgstr ""
+msgstr "Dominio"
msgid "Dynamic DNS"
msgstr "DNS Dinamico"
@@ -188,124 +210,136 @@ msgstr ""
"statico anche nel caso in cui tu disponga di un indirizzo IP dinamico."
msgid "Enable secure communication with DDNS provider"
-msgstr ""
+msgstr "Abilita la comunicazione sicura con il provider DDNS"
msgid "Enabled"
-msgstr ""
+msgstr "Abilitato"
msgid "Error"
-msgstr ""
+msgstr "Errore"
msgid "Error Retry Counter"
-msgstr ""
+msgstr "Conteggio errore di riprova"
msgid "Error Retry Interval"
-msgstr ""
+msgstr "Intervallo errore di riprova"
msgid "Event Network"
-msgstr ""
+msgstr "Network Evento"
msgid "File"
msgstr ""
msgid "File not found"
-msgstr ""
+msgstr "File non trovato"
msgid "File not found or empty"
-msgstr ""
+msgstr "File non trovato o vuoto"
msgid ""
"Follow this link<br />You will find more hints to optimize your system to "
"run DDNS scripts with all options"
msgstr ""
+"Segui questo collegamento<br />Troverai più aiuti per ottimizzare il tuo sistema "
+"a eseguire script DDNS con tutte le opzioni"
msgid "For detailed information about parameter settings look here."
-msgstr ""
+msgstr "Per informazioni dettagliate sui parametri opzionali guarda qui."
msgid "For supported codes look here"
-msgstr ""
+msgstr "Per i codici supportati guarda qui"
msgid "Force IP Version"
-msgstr ""
+msgstr "Forza Versione IP"
msgid "Force IP Version not supported"
-msgstr ""
+msgstr "Forza Versione IP non supportato"
msgid "Force Interval"
-msgstr ""
+msgstr "Forza Intervallo"
msgid "Force TCP on DNS"
-msgstr ""
+msgstr "Forza TCP su DNS"
msgid "Forced IP Version don't matched"
-msgstr ""
+msgstr "La Versione IP forzata non corrisponde"
msgid "Format"
-msgstr ""
+msgstr "Formato"
msgid "Format: IP or FQDN"
-msgstr ""
+msgstr "Formato: IP o FQDN"
msgid ""
"GNU Wget will use the IP of given network, cURL will use the physical "
"interface."
msgstr ""
+"GNU Wget userà l'IP della rete data, cURL userà l'interfaccia "
+"fisica."
msgid "Global Settings"
-msgstr ""
+msgstr "Opzioni Globali"
msgid "HTTPS not supported"
-msgstr ""
+msgstr "HTTPS non supportato"
msgid "Hints"
-msgstr ""
+msgstr "Suggerimenti"
msgid "Hostname/FQDN to validate, if IP update happen or necessary"
-msgstr ""
+msgstr "Indirizzo/FQDN da validare, se l'aggiornamento IP avviene o è necessario"
msgid "IP address source"
-msgstr ""
+msgstr "Sorgente indirizzo IP"
msgid "IP address version"
-msgstr ""
+msgstr "Versione indirizzo IP"
msgid "IPv4-Address"
-msgstr ""
+msgstr "Indirizzo IPv4"
msgid "IPv6 address must be given in square brackets"
-msgstr ""
+msgstr "Indirizzo IPv6 deve essere dato con le parentesi quadre"
msgid ""
"IPv6 is currently not (fully) supported by this system<br />Please follow "
"the instructions on OpenWrt's homepage to enable IPv6 support<br />or update "
"your system to the latest OpenWrt Release"
msgstr ""
+"IPv6 non è (pienamente) supportato da questo sistema<br />Per favore segui "
+"le istruzioni sul sito di OpenWrt per abilitare il supporto a IPv6<br />o aggiorna "
+"il tuo sistema all'ultima Release di OpenWrt"
msgid "IPv6 not supported"
-msgstr ""
+msgstr "IPv6 non supportato"
msgid "IPv6-Address"
-msgstr ""
+msgstr "Indirizzo IPv6"
msgid "If both cURL and GNU Wget are installed, Wget is used by default."
-msgstr ""
+msgstr "Se sia cURL e sia GNU Wget sono installati, Wget è usato di default."
msgid ""
"If this service section is disabled it could not be started.<br />Neither "
"from LuCI interface nor from console"
msgstr ""
+"Se questa sezione del servizio è disabilitata, non può essere avviata<br />Nè "
+"da interfaccia LuCI nè da console"
msgid "If using secure communication you should verify server certificates!"
-msgstr ""
+msgstr "Se usi la comunicazione sicura dovresti verificare i certificati del server!"
msgid ""
"If you want to send updates for IPv4 and IPv6 you need to define two "
"separate Configurations i.e. 'myddns_ipv4' and 'myddns_ipv6'"
msgstr ""
+"Se vuoi mandare aggiornamenti per IPv4 e IPv6, devi definire due "
+"Configurazioni separate es. 'myddns_ipv4' e 'myddns_ipv6'"
msgid ""
"In some versions cURL/libcurl in OpenWrt is compiled without proxy support."
msgstr ""
+"In alcune versioni cURL/libcurl in OpenWrt è compilato senza supporto proxy."
msgid "Info"
msgstr ""
@@ -314,6 +348,8 @@ msgid ""
"Install 'ca-certificates' package or needed certificates by hand into /etc/"
"ssl/certs default directory"
msgstr ""
+"Installa il pacchetto 'ca-certificates' o i certificati necessari "
+"a mano nella directory di default /etc/ssl/certs"
msgid "Interface"
msgstr "Interfaccia"
@@ -322,408 +358,431 @@ msgid ""
"Interval to check for changed IP<br />Values below 5 minutes == 300 seconds "
"are not supported"
msgstr ""
+"Intervallo per controllare i cambiamenti dell'IP<br />I valori sotto i 5 minuti == "
+"300 secondi non sono supportati"
msgid ""
"Interval to force updates send to DDNS Provider<br />Setting this parameter "
"to 0 will force the script to only run once<br />Values lower 'Check "
"Interval' except '0' are not supported"
msgstr ""
+"Intervallo per forzare gli aggiornamenti da mandare al provider DDNS<br />Impostanto questo "
+"parametro a 0 forzerà lo script ad eseguirsi una sola volta<br />Valori sotto 'Controllo "
+"Intervallo' eccetto '0' non sono supportati"
msgid "It is NOT recommended for casual users to change settings on this page."
-msgstr ""
+msgstr "Non è raccomandato agli utenti casuali di cambiare le opzioni in questa pagina."
msgid "Last Update"
-msgstr ""
+msgstr "Ultimo Aggiornamento"
msgid "Loading"
-msgstr ""
+msgstr "Caricando"
msgid "Log File Viewer"
-msgstr ""
+msgstr "Visualizzatore Registro"
msgid "Log directory"
-msgstr ""
+msgstr "Directory registro"
msgid "Log length"
-msgstr ""
+msgstr "Lunghezza registro"
msgid "Log to file"
-msgstr ""
+msgstr "Registra su file"
msgid "Log to syslog"
-msgstr ""
+msgstr "Registra su syslog"
msgid "Lookup Hostname"
-msgstr ""
+msgstr "Indirizzo da consultare"
msgid "NOT installed"
-msgstr ""
+msgstr "NON installato"
msgid ""
"Neither GNU Wget with SSL nor cURL installed to select a network to use for "
"communication."
msgstr ""
+"Nè GNU Wget con SSL nè cURL installati per selezionare una rete da usare per "
+"comunicazione."
msgid ""
"Neither GNU Wget with SSL nor cURL installed to support secure updates via "
"HTTPS protocol."
msgstr ""
+"Nè GNU Wget con SSL nè cURL installati per supportare aggiornamenti sicuri via "
+"protocollo HTTPS."
msgid "Network"
msgstr "Rete"
msgid "Network on which the ddns-updater scripts will be started"
-msgstr ""
+msgstr "Rete su cui lo script di aggiornamento DDNS sara avviato"
msgid "Never"
-msgstr ""
+msgstr "Mai"
msgid "Next Update"
-msgstr ""
+msgstr "Prossimo Aggiornamento"
msgid "No certificates found"
-msgstr ""
+msgstr "Nessun certificato trovato"
msgid "No data"
-msgstr ""
+msgstr "Nessuno dato"
msgid "No logging"
-msgstr ""
+msgstr "Nessun registro"
msgid "Non-public and by default blocked IP's"
-msgstr ""
+msgstr "Ip non pubblici e bloccati di default"
msgid "Notice"
-msgstr ""
+msgstr "Avviso"
msgid "Number of last lines stored in log files"
-msgstr ""
+msgstr "Numero di ultime linee memorizzato nei file registro"
msgid "OPTIONAL: Force the usage of pure IPv4/IPv6 only communication."
-msgstr ""
+msgstr "OPZIONALE: Forza l'uso di puro IPv4/IPv6 solo comunicazione."
msgid "OPTIONAL: Force the use of TCP instead of default UDP on DNS requests."
-msgstr ""
+msgstr "OPZIONALE: Forza l'uso del TCP invece del UDP di default per richieste DNS."
msgid "OPTIONAL: Network to use for communication"
-msgstr ""
+msgstr "OPZIONALE: Rete da usare per comunicazione"
msgid "OPTIONAL: Proxy-Server for detection and updates."
-msgstr ""
+msgstr "OPZIONALE: Server Proxy per rivelazioni e aggiornamenti."
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
-msgstr ""
+msgstr "OPZIONALE: Usa Server DNS non di default per individuare 'IP Registrati'."
msgid "On Error the script will retry the failed action after given time"
-msgstr ""
+msgstr "Ad Errore lo script riproverà l'azione fallita dopo il tempo dato"
msgid "On Error the script will stop execution after given number of retrys"
-msgstr ""
+msgstr "Ad Errore lo script fermerà l'esecuzione dopo il numero di tentativi dati"
msgid "OpenWrt Wiki"
msgstr ""
msgid "Optional Encoded Parameter"
-msgstr ""
+msgstr "Parametro Codificato Opzionale"
msgid "Optional Parameter"
-msgstr ""
+msgstr "Parametro Opzionale"
msgid "Optional: Replaces [PARAMENC] in Update-URL (URL-encoded)"
-msgstr ""
+msgstr "Opzionale: Sostituisci [PARAMENC] nell'URL di aggiornamento (URL codificato)"
msgid "Optional: Replaces [PARAMOPT] in Update-URL (NOT URL-encoded)"
-msgstr ""
+msgstr "Opzionale: Sostituisci [PARAMOPT] nell'URL di aggiornamento (URL NON codificato)"
msgid "Overview"
-msgstr ""
+msgstr "Riassunto"
msgid "PROXY-Server"
-msgstr ""
+msgstr "Server PROXY"
msgid "PROXY-Server not supported"
-msgstr ""
+msgstr "SERVER PROXY non supportato"
msgid "Password"
msgstr "Password"
msgid "Path to CA-Certificate"
-msgstr ""
+msgstr "Percorso per Certificato CA"
msgid "Please [Save & Apply] your changes first"
-msgstr ""
+msgstr "Per favore [Salva & Applica] prima i cambiamenti"
msgid "Please press [Read] button"
-msgstr ""
+msgstr "Per favore premi il pulsante [Leggi]"
msgid "Please update to the current version!"
-msgstr ""
+msgstr "Per favore aggiorna alla versione corrente!"
msgid "Process ID"
-msgstr ""
+msgstr "ID del Processo"
msgid "Read / Reread log file"
-msgstr ""
+msgstr "Leggi / Rileggi registro"
msgid "Really change DDNS provider?"
-msgstr ""
+msgstr "Cambiare provider DDNS veramente?"
msgid "Registered IP"
-msgstr ""
+msgstr "IP Registrato"
msgid "Replaces [DOMAIN] in Update-URL"
-msgstr ""
+msgstr "Sostituisci [DOMAIN] nell'URL di aggiornamento"
msgid "Replaces [PASSWORD] in Update-URL (URL-encoded)"
-msgstr ""
+msgstr "Sostituisci [PASSWORD] nell'URL di aggiornamento (URL codificato)"
msgid "Replaces [USERNAME] in Update-URL (URL-encoded)"
-msgstr ""
+msgstr "Sostituisci [NOME UTENTE] nell'URL di aggiornamento (URL codificato)"
msgid "Run once"
-msgstr ""
+msgstr "Esegui una volta"
msgid "Script"
msgstr ""
msgid "Show more"
-msgstr ""
+msgstr "Mostra di più"
msgid "Software update required"
-msgstr ""
+msgstr "Richiesto aggiornamento Software"
msgid "Specifying a DNS-Server is not supported"
-msgstr ""
+msgstr "Specificare un server DNS non è supportato"
msgid "Start"
-msgstr ""
+msgstr "Inizio"
msgid "Start / Stop"
-msgstr ""
+msgstr "Inizio / Stop"
msgid "Status directory"
msgstr ""
msgid "Stopped"
-msgstr ""
+msgstr "Fermato"
msgid ""
"The currently installed 'ddns-scripts' package did not support all available "
"settings."
msgstr ""
+"Il pacchetto 'ddns-scripts' attualmente installato non supporta tutte le opzioni "
+"disponibili."
msgid "The default setting of '0' will retry infinite."
-msgstr ""
+msgstr "L'opzione di default '0' riproverà all'infinito."
msgid "There is no service configured."
-msgstr ""
+msgstr "Non c'è un servizio configurato."
msgid "Timer Settings"
-msgstr ""
+msgstr "Impostazioni del Timer"
msgid "To change global settings click here"
-msgstr ""
+msgstr "Per cambiare le opzioni globali clicca qui"
msgid "To use cURL activate this option."
-msgstr ""
+msgstr "Per usare cURL attiva questa opzione."
msgid "URL"
msgstr "URL"
msgid "URL to detect"
-msgstr ""
+msgstr "URL da individuare"
msgid "Unknown error"
-msgstr ""
+msgstr "Errore sconosciuto"
msgid ""
"Update URL to be used for updating your DDNS Provider.<br />Follow "
"instructions you will find on their WEB page."
msgstr ""
+"L'URL di aggiornamento da usare per aggiornare il tuo Provider DDNS.<br />"
+"Segui le istruzioni che trovi sulla loro pagina WEB."
msgid "Update error"
-msgstr ""
+msgstr "Errore di aggiornamento"
msgid "Use HTTP Secure"
-msgstr ""
+msgstr "Usa HTTP Sicuro"
msgid "Use cURL"
-msgstr ""
+msgstr "Usa cURL"
msgid "User defined script to read systems IP-Address"
-msgstr ""
+msgstr "Script definito dall'utente per leggere l'indirizzo IP dei sistemi"
msgid "Username"
msgstr "Nome Utente"
msgid "Using specific DNS Server not supported"
-msgstr ""
+msgstr "Usare specifici Server DNS non supportato"
msgid "Verify"
-msgstr ""
+msgstr "Verifica"
msgid "Version"
-msgstr ""
+msgstr "Versione"
msgid "Version Information"
-msgstr ""
+msgstr "Informazione Versione"
msgid "Waiting for changes to be applied..."
-msgstr ""
+msgstr "Aspettando l'applicazione dei cambiamenti..."
msgid "Warning"
-msgstr ""
+msgstr "Allarme"
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
msgstr ""
+"Scrivi messaggi dettagliati sul registro. Il file sarà tagliato automaticamente."
msgid ""
"Writes log messages to syslog. Critical Errors will always be written to "
"syslog."
msgstr ""
+"Scrivi i messaggi registro al syslog. Gli Errori Critici saranno sempre scritti "
+"sul syslog."
msgid ""
"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' "
"package, if you need to specify a DNS server to detect your registered IP."
msgstr ""
+"Dovresti installare il pacchetto 'bind-host' o 'knot-host' o 'drill' o 'hostip', "
+"se hai bisogno di specificare un server DNS che identifichi il tuo IP registrato."
msgid ""
"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS "
"requests."
msgstr ""
+"Dovresti installare il pacchetto 'bind-host' o 'knot-host' o 'drill' per le "
+"richieste DNS."
msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package."
-msgstr ""
+msgstr "Dovresti installare il pacchetto 'wget' o 'curl' o 'uclient-fetch'."
msgid ""
"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-"
"*ssl' package."
msgstr ""
+"Dovresti installare il pacchetto 'wget' o 'curl' o 'uclient-fetch' con il "
+"pacchetto 'libustream-*ssl'."
msgid "You should install 'wget' or 'curl' package."
-msgstr ""
+msgstr "Dovresti installare il pacchetto 'wget' o 'curl'."
msgid ""
"You should install 'wget' or 'uclient-fetch' package or replace libcurl."
msgstr ""
+"Dovresti installare il pacchetto 'wget' o 'uclient-fetch' o sostituire libcurl."
msgid "cURL is installed, but libcurl was compiled without proxy support."
-msgstr ""
+msgstr "cURL è installato, ma libcurl è compilato senza supporto proxy."
msgid "cURL without Proxy Support"
-msgstr ""
+msgstr "cURL senza Supporto Proxy"
msgid "can not detect local IP. Please select a different Source combination"
-msgstr ""
+msgstr "non individuo l'IP locale. Per favore seleziona una combinazione Sorgente diversa"
msgid "can not resolve host:"
-msgstr ""
+msgstr "non posso risolvere host:"
msgid "config error"
-msgstr ""
+msgstr "errore configurazione"
msgid "days"
-msgstr ""
+msgstr "giorni"
msgid "directory or path/file"
-msgstr ""
+msgstr "directory o percorso/file"
msgid "either url or script could be set"
-msgstr ""
+msgstr "o l'url o lo script può essere impostato"
msgid "enable here"
-msgstr ""
+msgstr "abilita qui"
msgid "file or directory not found or not 'IGNORE'"
-msgstr ""
+msgstr "file o directory non trovati o non 'IGNORE'"
msgid "help"
-msgstr ""
+msgstr "aiuto"
msgid "hours"
-msgstr ""
+msgstr "ore"
msgid "installed"
-msgstr ""
+msgstr "installato"
msgid "invalid FQDN / required - Sample"
-msgstr ""
+msgstr "FQDN invalido / richiesto - Esempio"
msgid "minimum value '0'"
-msgstr ""
+msgstr "valore minimo '0'"
msgid "minimum value '1'"
-msgstr ""
+msgstr "valore minimo '1'"
msgid "minimum value 5 minutes == 300 seconds"
-msgstr ""
+msgstr "valore minimo 5 minuti == 300 secondi"
msgid "minutes"
-msgstr ""
+msgstr "minuti"
msgid "missing / required"
-msgstr ""
+msgstr "mancante / richiesto"
msgid "must be greater or equal 'Check Interval'"
-msgstr ""
+msgstr "deve essere più grande o uguale "Controlla Intervallo'"
msgid "must start with 'http://'"
-msgstr ""
+msgstr "deve iniziare con 'http://'"
msgid "nc (netcat) can not connect"
-msgstr ""
+msgstr "nc (netcat) non può connettersi"
msgid "never"
-msgstr ""
+msgstr "mai"
msgid "no data"
-msgstr ""
+msgstr "Niente dati"
msgid "not found or not executable - Sample: '/path/to/script.sh'"
-msgstr ""
+msgstr "non trovato o non eseguibile - Esempio: '/path/to/script.sh'"
msgid "nslookup can not resolve host"
-msgstr ""
+msgstr "nslookup non può risolvere l'host"
msgid "or"
-msgstr ""
+msgstr "o"
msgid "or higher"
-msgstr ""
+msgstr "o più alto"
msgid "please disable"
-msgstr ""
+msgstr "per favore disabilita"
msgid "please remove entry"
-msgstr ""
+msgstr "per favore rimuovi la voce"
msgid "please select 'IPv4' address version"
-msgstr ""
+msgstr "per favore seleziona versione indirizzo 'IPv4'"
msgid "please select 'IPv4' address version in"
-msgstr ""
+msgstr "per favore seleziona versione indirizzo 'IPv4' in"
msgid "please set to 'default'"
-msgstr ""
+msgstr "per favore imposta a 'default'"
msgid "proxy port missing"
-msgstr ""
+msgstr "porta proxy mancante"
msgid "required"
-msgstr ""
+msgstr "richiesto"
msgid "seconds"
-msgstr ""
+msgstr "secondi"
msgid "to run HTTPS without verification of server certificates (insecure)"
-msgstr ""
+msgstr "per eseguire HTTPS senza la verifica dei certificati del server (insicuro)"
msgid "unknown error"
-msgstr ""
+msgstr "errore sconosciuto"
msgid "unspecific error"
-msgstr ""
+msgstr "errore non specifico"
msgid "use hostname, FQDN, IPv4- or IPv6-Address"
-msgstr ""
+msgstr "usa nome host, FQDN, indirizzo IPv4 o IPv6"
diff --git a/applications/luci-app-ddns/po/sv/ddns.po b/applications/luci-app-ddns/po/sv/ddns.po
index 9373fea3a4..2e63ee1bde 100644
--- a/applications/luci-app-ddns/po/sv/ddns.po
+++ b/applications/luci-app-ddns/po/sv/ddns.po
@@ -30,12 +30,13 @@ msgstr ""
msgid ""
"Below is a list of configured DDNS configurations and their current state."
msgstr ""
+"Här nedanför finns det en lista över konfigurerade DDNS-konfigurationer och deras nuvarande skick."
msgid "Bind Network"
-msgstr ""
+msgstr "Bind samman nätverk"
msgid "Binding to a specific network not supported"
-msgstr ""
+msgstr "Att binda samman med ett specifikt nätverk stöds inte"
msgid ""
"BusyBox's nslookup and Wget do not support to specify the IP version to use "
diff --git a/applications/luci-app-diag-devinfo/po/sv/diag_devinfo.po b/applications/luci-app-diag-devinfo/po/sv/diag_devinfo.po
index cf74fbc77f..c735323955 100644
--- a/applications/luci-app-diag-devinfo/po/sv/diag_devinfo.po
+++ b/applications/luci-app-diag-devinfo/po/sv/diag_devinfo.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: PACKAGE VERSION\n"
-"Last-Translator: Automatically generated\n"
+"Last-Translator: Kristoffer Grundström <hamnisdude@gmail.com>\n"
"Language-Team: none\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
@@ -10,22 +10,22 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Actions"
-msgstr ""
+msgstr "Åtgärder"
msgid "Add"
-msgstr ""
+msgstr "Lägg till"
msgid "Beginning of MAC address range"
-msgstr ""
+msgstr "Början av räckvidd för MAC-adress"
msgid "Config Phone Scan"
-msgstr ""
+msgstr "Konfigurera skanning av telefon"
msgid "Configure"
-msgstr ""
+msgstr "Konfigurera"
msgid "Configure Scans"
-msgstr ""
+msgstr "Konfigurera skanningar"
msgid ""
"Configure scanning for devices on specified networks. Decreasing 'Timeout', "
@@ -40,46 +40,46 @@ msgid ""
msgstr ""
msgid "Delete"
-msgstr ""
+msgstr "Radera"
msgid "Device Scan Config"
msgstr ""
msgid "Device Type"
-msgstr ""
+msgstr "Enhetstyp"
msgid "Devices discovered for"
msgstr ""
msgid "Devices on Network"
-msgstr ""
+msgstr "Enheter på nätverket"
msgid "Edit"
-msgstr ""
+msgstr "Redigera"
msgid "Enable"
-msgstr ""
+msgstr "Aktivera"
msgid "End of MAC address range"
msgstr ""
msgid "Go to relevant configuration page"
-msgstr ""
+msgstr "Gå till relevant konfigurationssida"
msgid "IP Address"
-msgstr ""
+msgstr "IP-adress"
msgid "Interface"
-msgstr ""
+msgstr "Gränssnitt"
msgid "Invalid"
-msgstr ""
+msgstr "Ogiltig"
msgid "Link to Device"
-msgstr ""
+msgstr "Länka till enhet"
msgid "MAC Address"
-msgstr ""
+msgstr "MAC-adress"
msgid "MAC Device Info Overrides"
msgstr ""
@@ -94,10 +94,10 @@ msgid "Milliseconds to sleep between requests (default 100)"
msgstr ""
msgid "Model"
-msgstr ""
+msgstr "Modell"
msgid "Name"
-msgstr ""
+msgstr "Namn"
msgid "Network Device Scan"
msgstr ""
@@ -106,16 +106,16 @@ msgid "Network Device Scanning Configuration"
msgstr ""
msgid "Networks to scan for devices"
-msgstr ""
+msgstr "Nätverk att skanna efter enheter i"
msgid "Networks to scan for supported devices"
msgstr ""
msgid "No SIP devices"
-msgstr ""
+msgstr "Inga SIP-enheter"
msgid "No devices detected"
-msgstr ""
+msgstr "Upptäckte inga enheter"
msgid "Number of times to send requests (default 1)"
msgstr ""
@@ -132,28 +132,28 @@ msgid "Perform Scans (this can take a few minutes)"
msgstr ""
msgid "Phone Information"
-msgstr ""
+msgstr "Information om telefon"
msgid "Phone Scan"
-msgstr ""
+msgstr "Skanning av telefon"
msgid "Phone Scanning Configuration"
-msgstr ""
+msgstr "Konfiguration av skanning i telefon"
msgid "Phones"
-msgstr ""
+msgstr "Telefoner"
msgid "Ports"
-msgstr ""
+msgstr "Portar"
msgid "Raw"
-msgstr ""
+msgstr "Rå"
msgid "Repeat Count"
msgstr ""
msgid "Repeat Scans (this can take a few minutes)"
-msgstr ""
+msgstr "Repetera skanningar (det här kan ta några minuter)"
msgid "SIP Device Information"
msgstr ""
@@ -162,46 +162,46 @@ msgid "SIP Device Scan"
msgstr ""
msgid "SIP Device Scanning Configuration"
-msgstr ""
+msgstr "Skanningskonfiguration för SIP-enhet"
msgid "SIP Devices on Network"
-msgstr ""
+msgstr "SIP-enheter på nätverk"
msgid "SIP devices discovered for"
-msgstr ""
+msgstr "Upptäckta SIP-enheter för"
msgid "Scan for devices on specified networks."
-msgstr ""
+msgstr "Skanna efter enheter i angivna nätverk."
msgid "Scan for supported SIP devices on specified networks."
-msgstr ""
+msgstr "Skannar efter SIP-enheter som stöds i angivna nätverk."
msgid "Scanning Configuration"
-msgstr ""
+msgstr "Skannar konfiguration"
msgid "Scans for devices on specified networks."
-msgstr ""
+msgstr "Skannar efter enheter i angivna nätverk."
msgid "Sleep Between Requests"
-msgstr ""
+msgstr "Sov mellan förfrågningar"
msgid "Subnet"
-msgstr ""
+msgstr "Subnät"
msgid "This section contains no values yet"
-msgstr ""
+msgstr "Den här sektionen innehåller inga värden än"
msgid "Time to wait for responses in seconds (default 10)"
-msgstr ""
+msgstr "Tid att vänta på svar i sekunder (standard 10)"
msgid "Timeout"
msgstr ""
msgid "Use Configuration"
-msgstr ""
+msgstr "Använd konfiguration"
msgid "Vendor"
-msgstr ""
+msgstr "Tillverkare"
msgid "check other networks"
-msgstr ""
+msgstr "kolla andra nätverk"
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua b/applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua
index 6d6790a839..9f6472e7de 100644
--- a/applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua
+++ b/applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua
@@ -17,8 +17,8 @@ function index()
entry({"admin", "services", "dnscrypt-proxy", "advanced"}, firstchild(), _("Advanced"), 100)
entry({"admin", "services", "dnscrypt-proxy", "advanced", "configuration"}, cbi("dnscrypt-proxy/configuration_tab"), _("Edit DNSCrypt-Proxy Configuration"), 110).leaf = true
entry({"admin", "services", "dnscrypt-proxy", "advanced", "cfg_dnsmasq"}, cbi("dnscrypt-proxy/cfg_dnsmasq_tab"), _("Edit Dnsmasq Configuration"), 120).leaf = true
- entry({"admin", "services", "dnscrypt-proxy", "advanced", "view_reslist"}, call("view_reslist"), _("View Resolver List"), 130).leaf = true
-
+ entry({"admin", "services", "dnscrypt-proxy", "advanced", "cfg_resolvcrypt"}, cbi("dnscrypt-proxy/cfg_resolvcrypt_tab"), _("Edit Resolvcrypt Configuration"), 130).leaf = true
+ entry({"admin", "services", "dnscrypt-proxy", "advanced", "view_reslist"}, call("view_reslist"), _("View Resolver List"), 140).leaf = true
end
function view_reslist()
@@ -27,6 +27,12 @@ function view_reslist()
end
function logread()
- local logfile = util.trim(util.exec("logread -e 'dnscrypt-proxy'"))
+ local logfile
+
+ if nixio.fs.access("/var/log/messages") then
+ logfile = util.trim(util.exec("cat /var/log/messages | grep 'dnscrypt-proxy'"))
+ else
+ logfile = util.trim(util.exec("logread -e 'dnscrypt-proxy'"))
+ end
templ.render("dnscrypt-proxy/logread", {title = i18n.translate("DNSCrypt-Proxy Logfile"), content = logfile})
end
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua
index d22abbfd39..6e75ac9f97 100644
--- a/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua
+++ b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua
@@ -7,6 +7,8 @@ local uci_input = "/etc/config/dhcp"
if not nxfs.access(uci_input) then
m = SimpleForm("error", nil, translate("Input file not found, please check your configuration."))
+ m.reset = false
+ m.submit = false
return m
end
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua
new file mode 100644
index 0000000000..f172b15f81
--- /dev/null
+++ b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua
@@ -0,0 +1,39 @@
+-- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- This is free software, licensed under the Apache License, Version 2.0
+
+local nxfs = require("nixio.fs")
+local util = require("luci.util")
+local res_input = "/etc/resolv-crypt.conf"
+
+if not nxfs.access(res_input) 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("dnscrypt-proxy/config_css"))
+m.submit = translate("Save")
+m.reset = false
+
+s = m:section(SimpleSection, nil,
+ translate("This form allows you to modify the content of the resolv-crypt configuration file (/etc/resolv-crypt.conf)."))
+
+f = s:option(TextValue, "data")
+f.rows = 20
+f.rmempty = true
+
+function f.cfgvalue()
+ return nxfs.readfile(res_input) or ""
+end
+
+function f.write(self, section, data)
+ return nxfs.writefile(res_input, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
+end
+
+function s.handle(self, state, data)
+ return true
+end
+
+return m
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua
index 7ab84ab7fa..368c6673ad 100644
--- a/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua
+++ b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua
@@ -11,15 +11,16 @@ local plug_cnt = tonumber(luci.sys.exec("env -i /usr/sbin/dnscrypt-proxy --vers
local res_list = {}
local url = "https://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-resolvers.csv"
-if not fs.access("/lib/libustream-ssl.so") then
- m = SimpleForm("error", nil, translate("SSL support not available, please install an libustream-ssl variant to use this package."))
- m.submit = false
- m.reset = false
- return m
-end
-
if not fs.access(res_input) then
- luci.sys.call("env -i /bin/uclient-fetch --no-check-certificate -O " .. res_input .. " " .. url .. " >/dev/null 2>&1")
+ if not fs.access("/lib/libustream-ssl.so") then
+ m = SimpleForm("error", nil, translate("No default resolver list and no SSL support available.<br />")
+ .. translate("Please install a resolver list to '/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv' to use this package."))
+ m.submit = false
+ m.reset = false
+ return m
+ else
+ luci.sys.call("env -i /bin/uclient-fetch --no-check-certificate -O " .. res_input .. " " .. url .. " >/dev/null 2>&1")
+ end
end
if not uci:get_first("dnscrypt-proxy", "global") then
@@ -29,23 +30,64 @@ if not uci:get_first("dnscrypt-proxy", "global") then
end
for line in io.lines(res_input) do
- local name = line:match("^[%w_.-]*")
- res_list[#res_list + 1] = { name = name }
+ local name,
+ location,
+ dnssec,
+ nolog = line:match("^([^,]+),.-,\".-\",\"*(.-)\"*,.-,[0-9],\"*([yesno]+)\"*,\"*([yesno]+)\"*,.*")
+ if name ~= "" and name ~= "Name" then
+ if location == "" then
+ location = "-"
+ end
+ if dnssec == "" then
+ dnssec = "-"
+ end
+ if nolog == "" then
+ nolog = "-"
+ end
+ res_list[#res_list + 1] = { name = name, location = location, dnssec = dnssec, nolog = nolog }
+ end
end
m = Map("dnscrypt-proxy", translate("DNSCrypt-Proxy"),
translate("Configuration of the DNSCrypt-Proxy package. ")
- .. translate("Keep in mind to configure Dnsmasq as well. ")
.. translatef("For further information "
.. "<a href=\"%s\" target=\"_blank\">"
.. "see the wiki online</a>", "https://wiki.openwrt.org/inbox/dnscrypt"))
+m:chain("dhcp")
function m.on_after_commit(self)
- luci.sys.call("env -i /etc/init.d/dnsmasq restart >/dev/null 2>&1")
+ function d1.validate(self, value, s1)
+ if value == "1" then
+ uci:commit("dnscrypt-proxy")
+ uci:set("dhcp", s1, "noresolv", 1)
+ if not fs.access("/etc/resolv-crypt.conf") or nixio.fs.stat("/etc/resolv-crypt.conf").size == 0 then
+ uci:set("dhcp", s1, "resolvfile", "/tmp/resolv.conf.auto")
+ else
+ uci:set("dhcp", s1, "resolvfile", "/etc/resolv-crypt.conf")
+ end
+ local server_list = {}
+ local cnt = 1
+ uci:foreach("dnscrypt-proxy", "dnscrypt-proxy", function(s)
+ server_list[cnt] = s['address'] .. "#" .. s['port']
+ cnt = cnt + 1
+ end)
+ server_list[cnt] = "/pool.ntp.org/8.8.8.8"
+ uci:set_list("dhcp", s1, "server", server_list)
+ if cnt > 2 then
+ uci:set("dhcp", s1, "allservers", 1)
+ else
+ uci:set("dhcp", s1, "allservers", 0)
+ end
+ uci:save("dhcp")
+ uci:commit("dhcp")
+ end
+ return value
+ end
luci.sys.call("env -i /etc/init.d/dnscrypt-proxy restart >/dev/null 2>&1")
+ luci.sys.call("env -i /etc/init.d/dnsmasq restart >/dev/null 2>&1")
end
-s = m:section(TypedSection, "global", translate("General options"))
+s = m:section(TypedSection, "global", translate("General Options"))
s.anonymous = true
-- Main dnscrypt-proxy resource list
@@ -62,21 +104,53 @@ o3 = s:option(DummyValue, "", translate("File Checksum"))
o3.template = "dnscrypt-proxy/res_options"
o3.value = luci.sys.exec("sha256sum " .. res_input .. " | awk '{print $1}'")
-btn = s:option(Button, "", translate("Refresh Resolver List"))
-btn.inputtitle = translate("Refresh List")
-btn.inputstyle = "apply"
-btn.disabled = false
-function btn.write(self, section, value)
- luci.sys.call("env -i /bin/uclient-fetch --no-check-certificate -O " .. res_input .. " " .. url .. " >/dev/null 2>&1")
- luci.http.redirect(luci.dispatcher.build_url("admin", "services", "dnscrypt-proxy"))
+if fs.access("/lib/libustream-ssl.so") then
+ btn1 = s:option(Button, "", translate("Refresh Resolver List"),
+ translate("Download the current resolver list from 'download.dnscrypt.org'."))
+ btn1.inputtitle = translate("Refresh List")
+ btn1.inputstyle = "apply"
+ btn1.disabled = false
+ function btn1.write()
+ luci.sys.call("env -i /bin/uclient-fetch --no-check-certificate -O " .. res_input .. " " .. url .. " >/dev/null 2>&1")
+ luci.http.redirect(luci.dispatcher.build_url("admin", "services", "dnscrypt-proxy"))
+ end
+else
+ btn1 = s:option(Button, "", translate("Refresh Resolver List"),
+ translate("No SSL support available.<br />")
+ .. translate("Please install a 'libustream-ssl' library to download the current resolver list from 'download.dnscrypt.org'."))
+ btn1.inputtitle = translate("-------")
+ btn1.inputstyle = "button"
+ btn1.disabled = true
+end
+
+if not fs.access("/etc/resolv-crypt.conf") or nixio.fs.stat("/etc/resolv-crypt.conf").size == 0 then
+ btn2 = s:option(Button, "", translate("Create Custom Config File"),
+ translate("Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS upstream timeouts with multiple DNSCrypt instances.<br />")
+ .. translatef("For further information "
+ .. "<a href=\"%s\" target=\"_blank\">"
+ .. "see the wiki online</a>", "https://wiki.openwrt.org/inbox/dnscrypt"))
+ btn2.inputtitle = translate("Create Config File")
+ btn2.inputstyle = "apply"
+ btn2.disabled = false
+ function btn2.write()
+ luci.sys.call("env -i echo 'options timeout:1' > '/etc/resolv-crypt.conf'")
+ luci.http.redirect(luci.dispatcher.build_url("admin", "services", "dnscrypt-proxy"))
+ end
+else
+ btn2 = s:option(Button, "", translate("Create Custom Config File"),
+ translate("The config file '/etc/resolv-crypt.conf' already exist.<br />")
+ .. translate("Please edit the file manually in the 'Advanced' section."))
+ btn2.inputtitle = translate("-------")
+ btn2.inputstyle = "button"
+ btn2.disabled = true
end
-- Trigger settings
-t = s:option(DynamicList, "procd_trigger", translate("Startup Trigger"),
- translate("By default the DNSCrypt-Proxy startup will be triggered by ifup events of multiple network interfaces. ")
- .. translate("To restrict the trigger, add only the relevant network interface(s). ")
- .. translate("Usually the 'wan' interface should work for most users."))
+t = s:option(ListValue, "procd_trigger", translate("Startup Trigger"),
+ translate("By default the DNSCrypt-Proxy startup will be triggered by ifup events of 'All' available network interfaces.<br />")
+ .. translate("To restrict the trigger, select only the relevant network interface. Usually the 'wan' interface should work for most users."))
+t:value("", "All")
if dump then
local i, v
for i, v in ipairs(dump.interface) do
@@ -85,57 +159,38 @@ if dump then
end
end
end
+t.default = procd_trigger or "All"
t.rmempty = true
--- Extra options
-
-ds = s:option(DummyValue, "_dummy", translate("Extra options"),
- translate("Options for further tweaking in case the defaults are not suitable for you."))
-ds.template = "cbi/nullsection"
-
-btn = s:option(Button, "", translate("Create custom config file"),
- translate("Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS upstream timeouts with multiple DNSCrypt instances. ")
- .. translatef("For further information "
- .. "<a href=\"%s\" target=\"_blank\">"
- .. "see the wiki online</a>", "https://wiki.openwrt.org/inbox/dnscrypt"))
-btn.inputtitle = translate("Create Config File")
-btn.inputstyle = "apply"
-btn.disabled = false
-function btn.write(self, section, value)
- if not fs.access("/etc/resolv-crypt.conf") then
- luci.sys.call("env -i echo 'options timeout:1' > '/etc/resolv-crypt.conf'")
- end
-end
-
-- Mandatory options per instance
-s = m:section(TypedSection, "dnscrypt-proxy", translate("Instance options"))
+s = m:section(TypedSection, "dnscrypt-proxy", translate("Instance Options"))
s.anonymous = true
s.addremove = true
-o1 = s:option(Value, "address", translate("IP Address"),
+i1 = s:option(Value, "address", translate("IP Address"),
translate("The local IPv4 or IPv6 address. The latter one should be specified within brackets, e.g. '[::1]'."))
-o1.default = address or "127.0.0.1"
-o1.rmempty = false
+i1.default = address or "127.0.0.1"
+i1.rmempty = false
-o2 = s:option(Value, "port", translate("Port"),
+i2 = s:option(Value, "port", translate("Port"),
translate("The listening port for DNS queries."))
-o2.datatype = "port"
-o2.default = port
-o2.rmempty = false
-
-o3 = s:option(ListValue, "resolver", translate("Resolver"),
- translate("Name of the remote DNS service for resolving queries."))
-o3.datatype = "hostname"
-o3.widget = "select"
+i2.datatype = "port"
+i2.default = port
+i2.rmempty = false
+
+i3 = s:option(ListValue, "resolver", translate("Resolver (LOC/SEC/NOLOG)"),
+ translate("Name of the remote DNS service for resolving queries incl. Location, DNSSEC- and NOLOG-Flag."))
+i3.datatype = "hostname"
+i3.widget = "select"
local i, v
for i, v in ipairs(res_list) do
- if v.name ~= "Name" then
- o3:value(v.name)
+ if v.name then
+ i3:value(v.name, v.name .. " (" .. v.location .. "/" .. v.dnssec .. "/" .. v.nolog .. ")")
end
end
-o3.default = resolver
-o3.rmempty = false
+i3.default = resolver
+i3.rmempty = false
-- Extra options per instance
@@ -174,4 +229,17 @@ if plug_cnt > 0 then
e6.optional = true
end
-return m
+-- Dnsmasq options
+
+m1 = Map("dhcp")
+
+s1 = m1:section(TypedSection, "dnsmasq", translate("Dnsmasq Options"))
+s1.anonymous = true
+
+d1 = s1:option(Flag, "", translate("Transfer Options To Dnsmasq"),
+ translate("Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.<br />")
+ .. translate("Please note: This may change the values for 'noresolv', 'resolvfile', 'allservers' and the list 'server' settings."))
+d1.default = d1.enabled
+d1.rmempty = false
+
+return m, m1
diff --git a/applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po b/applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po
index 0328df2279..2cd01c019e 100644
--- a/applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po
+++ b/applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po
@@ -7,17 +7,24 @@ msgstr ""
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 2.0.3\n"
+"X-Generator: Poedit 2.0.4\n"
"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Language: ja\n"
+msgid "-------"
+msgstr "(利用不可)"
+
msgid "Advanced"
msgstr "詳細"
msgid "Alternate Resolver List"
msgstr "代替 リゾルバ リスト"
+msgid ""
+"Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.<br />"
+msgstr "Dnsmasq の構成に、DNSCrypt-Proxy を指定する設定を適用します。<br />"
+
msgid "Blacklist"
msgstr "ブラックリスト"
@@ -26,26 +33,26 @@ msgstr "IPv6 のブロック"
msgid ""
"By default the DNSCrypt-Proxy startup will be triggered by ifup events of "
-"multiple network interfaces."
+"'All' available network interfaces.<br />"
msgstr ""
-"デフォルトでは、 DNSCrypt-Proxy は全ネットワーク インターフェースの ifup イベ"
-"ントによりトリガされ起動します。"
+"デフォルトでは、 DNSCrypt-Proxy は利用可能な全ネットワーク インターフェース"
+"の ifup イベントによりトリガされ起動します。<br />"
msgid "Configuration of the DNSCrypt-Proxy package."
msgstr "DNSCrypt-Proxy パッケージの設定です。"
msgid ""
"Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS "
-"upstream timeouts with multiple DNSCrypt instances."
+"upstream timeouts with multiple DNSCrypt instances.<br />"
msgstr ""
"複数の DNSCrypt インスタンスで DNS アップストリーム タイムアウトの設定値を共"
"用するため、 'options timeout:1' を含めた '/etc/resolv-crypt.conf' を作成しま"
-"す。"
+"す。<br />"
msgid "Create Config File"
msgstr "設定ファイルの作成"
-msgid "Create custom config file"
+msgid "Create Custom Config File"
msgstr "カスタム設定ファイルの作成"
msgid "DNS Query Logfile"
@@ -66,21 +73,28 @@ msgstr "デフォルト リゾルバ リスト"
msgid "Disable IPv6 to speed up DNSCrypt-Proxy."
msgstr "DNSCrypt-Proxy の高速化のため、IPv6 を無効化します。"
+msgid "Dnsmasq Options"
+msgstr "Dnsmasq オプション"
+
+msgid "Download the current resolver list from 'download.dnscrypt.org'."
+msgstr ""
+"現在のリゾルバ リストを 'download.dnscrypt.org' からダウンロードします。"
+
msgid "Edit DNSCrypt-Proxy Configuration"
msgstr "DNSCrypt-Proxy 設定の編集"
msgid "Edit Dnsmasq Configuration"
msgstr "Dnsmasq 設定の編集"
+msgid "Edit Resolvcrypt Configuration"
+msgstr "Resolvcrypt 設定の編集"
+
msgid "Enable Caching to speed up DNSCcrypt-Proxy."
msgstr "DNSCrypt-Proxy の高速化のため、キャッシュ機能を有効化します。"
msgid "Ephemeral Keys"
msgstr "一時的なキー"
-msgid "Extra options"
-msgstr "拡張オプション"
-
msgid "File Checksum"
msgstr "ファイル チェックサム"
@@ -94,8 +108,8 @@ msgstr ""
"詳細な情報は <a href=\"%s\" target=\"_blank\">オンライン Wiki</a> を確認して"
"ください。"
-msgid "General options"
-msgstr "全般設定"
+msgid "General Options"
+msgstr "全般オプション"
msgid "IP Address"
msgstr "IP アドレス"
@@ -107,12 +121,9 @@ msgstr ""
msgid "Input file not found, please check your configuration."
msgstr "入力ファイルが見つかりません。設定を確認してください。"
-msgid "Instance options"
+msgid "Instance Options"
msgstr "インスタンス オプション"
-msgid "Keep in mind to configure Dnsmasq as well."
-msgstr "Dnsmasq を適切に設定する必要があることに留意してください。"
-
msgid "Local Cache"
msgstr "ローカル キャッシュ"
@@ -129,16 +140,47 @@ msgstr ""
"受信した DNS クエリをファイルに記録します。これにより、ネットワークで何が起き"
"ているかをリアルタイムに把握することが可能です。"
-msgid "Name of the remote DNS service for resolving queries."
-msgstr "クエリの名前解決を行う、リモートの DNS サービス名です。"
-
msgid ""
-"Options for further tweaking in case the defaults are not suitable for you."
-msgstr "デフォルト設定が適切でない場合、追加で設定するためのオプションです。"
+"Name of the remote DNS service for resolving queries incl. Location, DNSSEC- "
+"and NOLOG-Flag."
+msgstr ""
+"クエリの名前解決を行う、ロケーション, DNSSECの有無, NOLOG フラグを含めたリ"
+"モート DNS サービスの名前です。"
+
+msgid "No SSL support available.<br />"
+msgstr "利用可能な SSL サポートがありません。<br />"
+
+msgid "No default resolver list and no SSL support available.<br />"
+msgstr ""
+"デフォルトのリゾルバ リストと、利用可能な SSL サポートがありません。<br />"
msgid "Overview"
msgstr "概要"
+msgid "Please edit the file manually in the 'Advanced' section."
+msgstr "'詳細' タブで手動でファイルを編集してください。"
+
+msgid ""
+"Please install a 'libustream-ssl' library to download the current resolver "
+"list from 'download.dnscrypt.org'."
+msgstr ""
+"現在のリゾルバ リストを 'download.dnscrypt.org' からダウンロードするために、 "
+"'libustream-ssl' ライブラリをインストールしてください。"
+
+msgid ""
+"Please install a resolver list to '/usr/share/dnscrypt-proxy/dnscrypt-"
+"resolvers.csv' to use this package."
+msgstr ""
+"このパッケージを利用するには、リゾルバ リストを '/usr/share/dnscrypt-proxy/"
+"dnscrypt-resolvers.csv' にインストールしてください。"
+
+msgid ""
+"Please note: This may change the values for 'noresolv', 'resolvfile', "
+"'allservers' and the list 'server' settings."
+msgstr ""
+"注: これは、 'noresolv' および 'resolvfile', 'allservers', 'list server' の設"
+"定値を変更する場合があります。"
+
msgid "Port"
msgstr "ポート"
@@ -148,15 +190,8 @@ msgstr "リストのリフレッシュ"
msgid "Refresh Resolver List"
msgstr "リゾルバ リストのリフレッシュ"
-msgid "Resolver"
-msgstr "リゾルバ"
-
-msgid ""
-"SSL support not available, please install an libustream-ssl variant to use "
-"this package."
-msgstr ""
-"SSL サポートが利用できません。このパッケージを使用するには libustream-ssl 等"
-"をインストールし、 SSL サポートを有効にしてください。"
+msgid "Resolver (LOC/SEC/NOLOG)"
+msgstr "リゾルバ(LOC/SEC/NOLOG)"
msgid "Save"
msgstr "保存"
@@ -167,6 +202,9 @@ msgstr "デフォルトとは異なるリゾルバ リストを設定します
msgid "Startup Trigger"
msgstr "スタートアップ トリガ"
+msgid "The config file '/etc/resolv-crypt.conf' already exist.<br />"
+msgstr "設定ファイル '/etc/resolv-crypt.conf' は既に存在しています。<br />"
+
msgid "The listening port for DNS queries."
msgstr "DNS クエリを待ち受けるポートです。"
@@ -199,6 +237,13 @@ msgstr ""
"このフォームでは、メインの Dnsmasq 設定ファイル (/etc/config/dhcp) の内容を変"
"更することができます。"
+msgid ""
+"This form allows you to modify the content of the resolv-crypt configuration "
+"file (/etc/resolv-crypt.conf)."
+msgstr ""
+"このフォームでは、 resolv-crypt 設定ファイル(/etc/resolv-crypt.conf)の内容"
+"を変更することができます。"
+
msgid "This form shows the content of the current DNSCrypt Resolver List."
msgstr ""
"このフォームには、現在の DNSCrypt リゾルバ リストの内容が表示されます。"
@@ -217,13 +262,15 @@ msgstr ""
"このオプションは、通常よりも CPU リソースを多く使用するほか、ほとんどの "
"DNSCrypt サーバーでは不要なものです。"
-msgid "To restrict the trigger, add only the relevant network interface(s)."
+msgid ""
+"To restrict the trigger, select only the relevant network interface. Usually "
+"the 'wan' interface should work for most users."
msgstr ""
-"トリガを限定するには、適切なネットワーク インターフェースのみを追加してくださ"
-"い。"
+"トリガを限定するには、適切なインターフェースを選択してください。通常、 'wan' "
+"インターフェースがほとんどのユーザーに適しています。"
-msgid "Usually the 'wan' interface should work for most users."
-msgstr "通常、 'wan' インターフェースがほとんどのユーザーに適しています。"
+msgid "Transfer Options To Dnsmasq"
+msgstr "Dnsmasq の転送オプション"
msgid "View Logfile"
msgstr "ログファイルの確認"
diff --git a/applications/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot b/applications/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot
index ea83e7a184..59bded87b8 100644
--- a/applications/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot
+++ b/applications/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot
@@ -1,12 +1,19 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
+msgid "-------"
+msgstr ""
+
msgid "Advanced"
msgstr ""
msgid "Alternate Resolver List"
msgstr ""
+msgid ""
+"Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.<br />"
+msgstr ""
+
msgid "Blacklist"
msgstr ""
@@ -15,7 +22,7 @@ msgstr ""
msgid ""
"By default the DNSCrypt-Proxy startup will be triggered by ifup events of "
-"multiple network interfaces."
+"'All' available network interfaces.<br />"
msgstr ""
msgid "Configuration of the DNSCrypt-Proxy package."
@@ -23,13 +30,13 @@ msgstr ""
msgid ""
"Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS "
-"upstream timeouts with multiple DNSCrypt instances."
+"upstream timeouts with multiple DNSCrypt instances.<br />"
msgstr ""
msgid "Create Config File"
msgstr ""
-msgid "Create custom config file"
+msgid "Create Custom Config File"
msgstr ""
msgid "DNS Query Logfile"
@@ -50,19 +57,25 @@ msgstr ""
msgid "Disable IPv6 to speed up DNSCrypt-Proxy."
msgstr ""
+msgid "Dnsmasq Options"
+msgstr ""
+
+msgid "Download the current resolver list from 'download.dnscrypt.org'."
+msgstr ""
+
msgid "Edit DNSCrypt-Proxy Configuration"
msgstr ""
msgid "Edit Dnsmasq Configuration"
msgstr ""
-msgid "Enable Caching to speed up DNSCcrypt-Proxy."
+msgid "Edit Resolvcrypt Configuration"
msgstr ""
-msgid "Ephemeral Keys"
+msgid "Enable Caching to speed up DNSCcrypt-Proxy."
msgstr ""
-msgid "Extra options"
+msgid "Ephemeral Keys"
msgstr ""
msgid "File Checksum"
@@ -76,7 +89,7 @@ msgid ""
"online</a>"
msgstr ""
-msgid "General options"
+msgid "General Options"
msgstr ""
msgid "IP Address"
@@ -88,10 +101,7 @@ msgstr ""
msgid "Input file not found, please check your configuration."
msgstr ""
-msgid "Instance options"
-msgstr ""
-
-msgid "Keep in mind to configure Dnsmasq as well."
+msgid "Instance Options"
msgstr ""
msgid "Local Cache"
@@ -106,16 +116,38 @@ msgid ""
"is happening on the network."
msgstr ""
-msgid "Name of the remote DNS service for resolving queries."
+msgid ""
+"Name of the remote DNS service for resolving queries incl. Location, DNSSEC- "
+"and NOLOG-Flag."
msgstr ""
-msgid ""
-"Options for further tweaking in case the defaults are not suitable for you."
+msgid "No SSL support available.<br />"
+msgstr ""
+
+msgid "No default resolver list and no SSL support available.<br />"
msgstr ""
msgid "Overview"
msgstr ""
+msgid "Please edit the file manually in the 'Advanced' section."
+msgstr ""
+
+msgid ""
+"Please install a 'libustream-ssl' library to download the current resolver "
+"list from 'download.dnscrypt.org'."
+msgstr ""
+
+msgid ""
+"Please install a resolver list to '/usr/share/dnscrypt-proxy/dnscrypt-"
+"resolvers.csv' to use this package."
+msgstr ""
+
+msgid ""
+"Please note: This may change the values for 'noresolv', 'resolvfile', "
+"'allservers' and the list 'server' settings."
+msgstr ""
+
msgid "Port"
msgstr ""
@@ -125,12 +157,7 @@ msgstr ""
msgid "Refresh Resolver List"
msgstr ""
-msgid "Resolver"
-msgstr ""
-
-msgid ""
-"SSL support not available, please install an libustream-ssl variant to use "
-"this package."
+msgid "Resolver (LOC/SEC/NOLOG)"
msgstr ""
msgid "Save"
@@ -142,6 +169,9 @@ msgstr ""
msgid "Startup Trigger"
msgstr ""
+msgid "The config file '/etc/resolv-crypt.conf' already exist.<br />"
+msgstr ""
+
msgid "The listening port for DNS queries."
msgstr ""
@@ -165,6 +195,11 @@ msgid ""
"file (/etc/config/dhcp)."
msgstr ""
+msgid ""
+"This form allows you to modify the content of the resolv-crypt configuration "
+"file (/etc/resolv-crypt.conf)."
+msgstr ""
+
msgid "This form shows the content of the current DNSCrypt Resolver List."
msgstr ""
@@ -178,10 +213,12 @@ msgid ""
"server."
msgstr ""
-msgid "To restrict the trigger, add only the relevant network interface(s)."
+msgid ""
+"To restrict the trigger, select only the relevant network interface. Usually "
+"the 'wan' interface should work for most users."
msgstr ""
-msgid "Usually the 'wan' interface should work for most users."
+msgid "Transfer Options To Dnsmasq"
msgstr ""
msgid "View Logfile"
diff --git a/applications/luci-app-firewall/po/it/firewall.po b/applications/luci-app-firewall/po/it/firewall.po
index 33e835183a..a5c4a1ee08 100644
--- a/applications/luci-app-firewall/po/it/firewall.po
+++ b/applications/luci-app-firewall/po/it/firewall.po
@@ -3,8 +3,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-03-30 17:00+0200\n"
-"PO-Revision-Date: 2012-04-19 23:05+0200\n"
-"Last-Translator: claudyus <claudyus84@gmail.com>\n"
+"PO-Revision-Date: 2017-09-02 23:05+0200\n"
+"Last-Translator: bubu83 <bubu83@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
@@ -47,22 +47,22 @@ msgid "Add"
msgstr "Aggiungi"
msgid "Add and edit..."
-msgstr "Aggiungi e edita..."
+msgstr "Aggiungi e modifica..."
msgid "Advanced Settings"
msgstr "Opzioni Avanzate"
msgid "Allow forward from <em>source zones</em>:"
-msgstr "Permetti routing da <em>zone di origini</em>:"
+msgstr "Permetti routing da <em>zone di origine</em>:"
msgid "Allow forward to <em>destination zones</em>:"
-msgstr "Permetti rountin a <em>zone di destinazione</em>:"
+msgstr "Permetti rounting a <em>zone di destinazione</em>:"
msgid "Any"
msgstr "Qualsiasi"
msgid "Covered networks"
-msgstr ""
+msgstr "Reti coperte"
msgid "Custom Rules"
msgstr "Regole Personalizzate"
@@ -73,9 +73,9 @@ msgid ""
"each firewall restart, right after the default ruleset has been loaded."
msgstr ""
"Le regole personalizzate ti permettorno di eseguire comandi iptables "
-"arbitrari che non solo altrimenti coperti dall'applicazione firewall. I "
+"arbitrari che non sono altrimenti coperti dall'applicazione firewall. I "
"comandi sono eseguiti dopo ogni riavvio del firewall, giusto dopo le altre "
-"regole che son state caricate."
+"regole che sono state caricate."
msgid "Destination IP address"
msgstr "Indirizzo IP destinazione"
@@ -90,22 +90,22 @@ msgid "Destination zone"
msgstr "Zona di destinazione"
msgid "Do not rewrite"
-msgstr ""
+msgstr "Non riscrivere"
msgid "Drop invalid packets"
-msgstr "Attiva"
+msgstr "Scarta pacchetti invalidi"
msgid "Enable"
-msgstr ""
+msgstr "Attiva"
msgid "Enable NAT Loopback"
-msgstr ""
+msgstr "Attiva NAT Loopback"
msgid "Enable SYN-flood protection"
-msgstr ""
+msgstr "Attiva protezione SYN-flood"
msgid "Enable logging on this zone"
-msgstr ""
+msgstr "Attiva registro su questa zona"
msgid "External IP address"
msgstr "Indirizzo IP Esterno"
@@ -135,25 +135,25 @@ msgid "Firewall - Zone Settings"
msgstr "Firewall - Opzioni delle Zone"
msgid "Force connection tracking"
-msgstr ""
+msgstr "Forza tracciamento connessione"
msgid "Forward"
msgstr "Inoltra"
msgid "Forward to"
-msgstr "Inoltro a"
+msgstr "Inoltra a"
msgid "Friday"
-msgstr ""
+msgstr "Venerdì"
msgid "From %s in %s"
-msgstr ""
+msgstr "Da %s a %s"
msgid "From %s in %s with source %s"
-msgstr ""
+msgstr "Da %s a %s con sorgente %s"
msgid "From %s in %s with source %s and %s"
-msgstr ""
+msgstr "Da %s a %s con sorgente %s e %s"
msgid "General Settings"
msgstr "Opzioni Generali"
@@ -177,10 +177,10 @@ msgid "Input"
msgstr "Ingresso"
msgid "Inter-Zone Forwarding"
-msgstr ""
+msgstr "Inoltro tra le zone"
msgid "Internal IP address"
-msgstr "Indirizzo IP Interno"
+msgstr "Indirizzo IP interno"
msgid "Internal port"
msgstr "Porta interna"
@@ -189,92 +189,98 @@ msgid "Internal zone"
msgstr "Zona Interna"
msgid "Limit log messages"
-msgstr ""
+msgstr "Limita messaggi del registro"
msgid "MSS clamping"
msgstr ""
msgid "Masquerading"
-msgstr "Dettagli"
+msgstr ""
msgid "Match"
-msgstr ""
+msgstr "Corrispondenza"
msgid "Match ICMP type"
-msgstr ""
+msgstr "Corrispondenza tipo ICMP"
msgid "Match forwarded traffic to the given destination port or port range."
-msgstr ""
+msgstr "Corrispondi traffico inoltrato alla porta o intervallo di porte dato."
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr ""
+"Corrispondi traffico in entrata diretto alla porta o intervallo di porte dato "
+"su questo host"
msgid ""
"Match incoming traffic originating from the given source port or port range "
"on the client host."
msgstr ""
+"Corrispondi traffico in entrata originato dalla porta o intervallo di porte dato "
+"su host cliente"
msgid "Monday"
-msgstr ""
+msgstr "Lunedì"
msgid "Month Days"
-msgstr ""
+msgstr "Giorni del Mese"
msgid "Name"
msgstr "Nome"
msgid "New SNAT rule"
-msgstr ""
+msgstr "Nuova regola SNAT"
msgid "New forward rule"
-msgstr ""
+msgstr "Nuova regola di inoltro"
msgid "New input rule"
-msgstr "Nuova regola di inoltro porta"
+msgstr "Nuova regola di ingresso"
msgid "New port forward"
-msgstr ""
+msgstr "Nuova porta di inoltro"
msgid "New source NAT"
-msgstr ""
+msgstr "Nuova sorgente NAT"
msgid "Only match incoming traffic directed at the given IP address."
-msgstr ""
+msgstr "Corrispondi solo traffico in entrata diretto al dato indirizzo IP."
msgid "Only match incoming traffic from these MACs."
-msgstr ""
+msgstr "Corrispondi solo traffico in entrata da questi MAC."
msgid "Only match incoming traffic from this IP or range."
-msgstr ""
+msgstr "Corrispondi solo traffico in entrata da questo IP o intervallo."
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
+"Corrispondi solo traffico in entrata originato dalla porta o intervallo di "
+"porte sorgenti su host cliente"
msgid "Open ports on router"
-msgstr ""
+msgstr "Porte aperte sul router"
msgid "Other..."
-msgstr ""
+msgstr "Altri..."
msgid "Output"
msgstr ""
msgid "Passes additional arguments to iptables. Use with care!"
-msgstr ""
+msgstr "Passa comandi addizionali a iptables. Usare con cura!"
msgid "Port Forwards"
-msgstr ""
+msgstr "Inoltri Porta"
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr ""
-"L'inoltro delle porte permette ai computer in remoto su Internet "
-"diconnettersi a uno specifico computer o servizio presente nella tua LAN "
+"L'inoltro delle porte permette ai computer in remoto su Internet di "
+"connettersi a uno specifico computer o servizio presente nella LAN "
"privata"
msgid "Protocol"
@@ -283,44 +289,47 @@ msgstr "Protocollo"
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
+"Reindirizza il traffico in entrata alla porta data su host interno"
msgid "Redirect matched incoming traffic to the specified internal host"
-msgstr ""
+msgstr "Reindirizza il traffico in entrata allo specifico host interno"
msgid "Restart Firewall"
-msgstr ""
+msgstr "Riavvia Firewall"
msgid "Restrict Masquerading to given destination subnets"
-msgstr ""
+msgstr "Limita il Masquerading alle subnet di destinazione date"
msgid "Restrict Masquerading to given source subnets"
-msgstr ""
+msgstr "Limita il Masquerading alle subnet sorgente date"
msgid "Restrict to address family"
-msgstr ""
+msgstr "Limita agli indirizzi famiglia"
msgid "Rewrite matched traffic to the given address."
-msgstr ""
+msgstr "Riscrivi il traffico verso l'indirizzo dato."
msgid ""
"Rewrite matched traffic to the given source port. May be left empty to only "
"rewrite the IP address."
msgstr ""
+"Riscrivi il traffico corrispondente alla porta sorgente data. Può essere "
+"lasciato vuoto per riscrivere solo l'indirizzo IP."
msgid "Rewrite to source %s"
-msgstr ""
+msgstr "Riscrivi alla sorgente %s"
msgid "Rewrite to source %s, %s"
-msgstr ""
+msgstr "Riscrivi alla sorgente %s, %s"
msgid "SNAT IP address"
-msgstr ""
+msgstr "Indirizzo IP SNAT"
msgid "SNAT port"
-msgstr ""
+msgstr "Porta SNAT"
msgid "Saturday"
-msgstr ""
+msgstr "Sabato"
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/rrule.lua #
@@ -350,13 +359,17 @@ msgid "Source MAC address"
msgstr "Indirizzo MAC di origine"
msgid "Source NAT"
-msgstr ""
+msgstr "NAT di origine"
msgid ""
"Source NAT is a specific form of masquerading which allows fine grained "
"control over the source IP used for outgoing traffic, for example to map "
"multiple WAN addresses to internal subnets."
msgstr ""
+"La sorgente NAT è una forma specifica di masquerading che consente un controllo "
+"preciso sull'IP sorgente usato per il traffico in uscita, per esempio per "
+"mappare indirizzi WAN multipli verso le subnet interne."
+
msgid "Source address"
msgstr "Indirizzo di origine"
@@ -368,25 +381,25 @@ msgid "Source zone"
msgstr "Zona di origine"
msgid "Start Date (yyyy-mm-dd)"
-msgstr ""
+msgstr "Data di Inizio (yyyy-mm-dd)"
msgid "Start Time (hh:mm:ss)"
-msgstr ""
+msgstr "Ora di Inizio (hh:mm:ss)"
msgid "Stop Date (yyyy-mm-dd)"
-msgstr ""
+msgstr "Data di Stop (yyyy-mm-dd)"
msgid "Stop Time (hh:mm:ss)"
-msgstr ""
+msgstr "Ora di Stop (hh:mm:ss)"
msgid "Sunday"
-msgstr ""
+msgstr "Domenica"
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
msgstr ""
-"Il firewall crea delle zone nelle tue interfacce di rete per controllareil "
+"Il firewall crea delle zone nelle tue interfacce di rete per controllare il "
"flusso del traffico."
msgid ""
@@ -397,16 +410,26 @@ msgid ""
"rule is <em>unidirectional</em>, e.g. a forward from lan to wan does "
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
+"Queste opzioni controllano le regole di inoltro tra questa zona (%s) e "
+"altre zone. Le <em>zone di destinazione</em> coprono il traffico inoltrato "
+"<strong>originato da %q</strong>. Le <em>zone di origine</em> corrispondono il "
+"traffico inoltrato da altre zone <strong>che puntano a %q</strong>. La regola di "
+"inoltro è <em>unidirezionale</em>, esempio: un inoltro dalla lan alla wan "
+"<em>non</em> implica anche un permesso da inoltrare dalla wan alla lan."
msgid ""
"This page allows you to change advanced properties of the port forwarding "
"entry. In most cases there is no need to modify those settings."
msgstr ""
+"Questa pagina ti consente di cambiare le opzioni avanzate della voce porta di "
+"inoltro. Nella maggioranza dei casi non serve modificare queste impostazioni."
msgid ""
"This page allows you to change advanced properties of the traffic rule "
"entry, such as matched source and destination hosts."
msgstr ""
+"Questa pagina ti consente di cambiare le opzioni avanzate della voce regola del "
+"traffico, come la sorgente corrispondente e gli host di destinazione."
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
@@ -415,68 +438,78 @@ msgid ""
"forwarded traffic between different networks within the zone. <em>Covered "
"networks</em> specifies which available networks are members of this zone."
msgstr ""
+"Questa sezione definisce le proprietà comuni di %q. Le opzioni di<em>ingresso</em> "
+"e <em>uscita</em> definiscono le regole di default per il traffico in entrata e "
+"uscita di questa zona mentre l'opzione di <em>inoltro</em> descrive il metodo per il "
+"traffico inoltrato tra reti differenti nella zona. Le <em>reti coperte</em> "
+"specificano quali reti disponibili sono membri di questa zona."
msgid "Thursday"
-msgstr ""
+msgstr "Giovedì"
msgid "Time in UTC"
-msgstr ""
+msgstr "Orario in UTC"
msgid "To %s at %s on <var>this device</var>"
-msgstr ""
+msgstr "Verso %s a %s su <var>questo dispositivo</var>"
msgid "To %s in %s"
-msgstr ""
+msgstr "Verso %s in %s"
msgid "To %s on <var>this device</var>"
-msgstr ""
+msgstr "Verso %s su <var>questo dispositivo</var>"
msgid "To %s, %s in %s"
-msgstr ""
+msgstr "Verso %s, %s in %s"
msgid "To source IP"
-msgstr ""
+msgstr "Verso IP sorgente"
msgid "To source port"
-msgstr ""
+msgstr "Verso la porta sorgente"
msgid "Traffic Rules"
-msgstr ""
+msgstr "Regole di Traffico"
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
"the router."
msgstr ""
+"Le regole del traffico definiscono il metodo per il viaggio dei pacchetti tra "
+"zone differenti, per esempio per rifiutare il traffico tra certi host o per "
+"aprire porte WAN sul router."
msgid "Tuesday"
-msgstr ""
+msgstr "Martedì"
msgid "Via %s"
msgstr ""
msgid "Via %s at %s"
-msgstr ""
+msgstr "Via %s a %s"
msgid "Wednesday"
-msgstr ""
+msgstr "Mercoledì"
msgid "Week Days"
-msgstr ""
+msgstr "Giorni della Settimana"
msgid ""
"You may specify multiple by selecting \"-- custom --\" and then entering "
"protocols separated by space."
msgstr ""
+"Puoi specificare multipli selezionando \"-- custom --\" e poi inserendo "
+"i protocolli separati da uno spazio."
msgid "Zone %q"
-msgstr ""
+msgstr "Zona %q"
msgid "Zone ⇒ Forwardings"
-msgstr ""
+msgstr "Zona ⇒ Inoltri"
msgid "Zones"
-msgstr ""
+msgstr "Zone"
msgid "accept"
msgstr "accetta"
@@ -485,22 +518,22 @@ msgid "any"
msgstr "qualsiasi"
msgid "any host"
-msgstr ""
+msgstr "qualsiasi host"
msgid "any router IP"
-msgstr ""
+msgstr "qualsiasi router IP"
msgid "any zone"
-msgstr ""
+msgstr "qualsiasi zona"
msgid "don't track"
-msgstr ""
+msgstr "non tracciare"
msgid "drop"
-msgstr ""
+msgstr "scarta"
msgid "reject"
msgstr "rifiuta"
msgid "traffic"
-msgstr ""
+msgstr "traffico"
diff --git a/applications/luci-app-firewall/po/sv/firewall.po b/applications/luci-app-firewall/po/sv/firewall.po
index 8e310c0f94..f9fd920727 100644
--- a/applications/luci-app-firewall/po/sv/firewall.po
+++ b/applications/luci-app-firewall/po/sv/firewall.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: PACKAGE VERSION\n"
-"Last-Translator: Automatically generated\n"
+"Last-Translator: Kristoffer Grundström <hamnisdude@gmail.com>\n"
"Language-Team: none\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
@@ -49,10 +49,10 @@ msgid "Advanced Settings"
msgstr "Avancerade inställningar"
msgid "Allow forward from <em>source zones</em>:"
-msgstr ""
+msgstr "Tillåt vidarebefordring från <em>källzonerna</em>:"
msgid "Allow forward to <em>destination zones</em>:"
-msgstr ""
+msgstr "Till vidarebefordring till <em>destinationszonerna:</em>:"
msgid "Any"
msgstr "Alla"
@@ -70,16 +70,16 @@ msgid ""
msgstr ""
msgid "Destination IP address"
-msgstr ""
+msgstr "Destinationens IP-adress"
msgid "Destination address"
-msgstr "Destinationsadress"
+msgstr "Destinationens adress"
msgid "Destination port"
msgstr "Destinationsport"
msgid "Destination zone"
-msgstr ""
+msgstr "Destinationens zon"
msgid "Do not rewrite"
msgstr "Skriv inte om igen"
@@ -97,7 +97,7 @@ msgid "Enable SYN-flood protection"
msgstr ""
msgid "Enable logging on this zone"
-msgstr ""
+msgstr "Aktivera loggning i den här zonen"
msgid "External IP address"
msgstr "Extern IP-adress"
@@ -118,13 +118,13 @@ msgid "Firewall - Custom Rules"
msgstr "Brandvägg - Anpassade regler"
msgid "Firewall - Port Forwards"
-msgstr ""
+msgstr "Brandvägg - Vidarebefordring av port"
msgid "Firewall - Traffic Rules"
-msgstr ""
+msgstr "Brandvägg - Trafikregler"
msgid "Firewall - Zone Settings"
-msgstr ""
+msgstr "Brandvägg - Zoninställningar"
msgid "Force connection tracking"
msgstr ""
@@ -142,10 +142,10 @@ msgid "From %s in %s"
msgstr "Från %s i %s"
msgid "From %s in %s with source %s"
-msgstr ""
+msgstr "Från %s i %s med källa %s"
msgid "From %s in %s with source %s and %s"
-msgstr ""
+msgstr "Från %s i %s med källa %s och %s"
msgid "General Settings"
msgstr "Generella inställningar"
@@ -187,21 +187,25 @@ msgid "MSS clamping"
msgstr ""
msgid "Masquerading"
-msgstr ""
+msgstr "Maskering"
msgid "Match"
msgstr "Matcha"
msgid "Match ICMP type"
-msgstr ""
+msgstr "Matchar ICMP-typ"
msgid "Match forwarded traffic to the given destination port or port range."
msgstr ""
+"Matcha vidarebefordrad trafik till den angivna destinationsporten eller "
+"portens räckvidd."
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr ""
+"Matcha inkommande trafik dirigerad till den angivna destinationsporten eller "
+"portens räckvidd på den här värden"
msgid ""
"Match incoming traffic originating from the given source port or port range "
@@ -212,7 +216,7 @@ msgid "Monday"
msgstr "Måndag"
msgid "Month Days"
-msgstr ""
+msgstr "Dagar i månaden"
msgid "Name"
msgstr "Namn"
@@ -221,16 +225,16 @@ msgid "New SNAT rule"
msgstr "Ny SNAT-regel"
msgid "New forward rule"
-msgstr "Ny vidarebefordningsregel"
+msgstr "Ny regel för vidarebefordring"
msgid "New input rule"
msgstr "Ny inmatningsregel"
msgid "New port forward"
-msgstr ""
+msgstr "Ny vidarebefordring av port"
msgid "New source NAT"
-msgstr ""
+msgstr "Ny käll-NAT"
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
@@ -240,6 +244,7 @@ msgstr ""
msgid "Only match incoming traffic from this IP or range."
msgstr ""
+"Matcha endast inkommande trafik från den här IP-adressen eller räckvidden."
msgid ""
"Only match incoming traffic originating from the given source port or port "
@@ -259,7 +264,7 @@ msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
msgid "Port Forwards"
-msgstr ""
+msgstr "Vidarebefordringar av port"
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
diff --git a/applications/luci-app-mwan3/root/etc/uci-defaults/60_luci-mwan3 b/applications/luci-app-mwan3/root/etc/uci-defaults/60_luci-mwan3
index 509a694364..50c65ad678 100755
--- a/applications/luci-app-mwan3/root/etc/uci-defaults/60_luci-mwan3
+++ b/applications/luci-app-mwan3/root/etc/uci-defaults/60_luci-mwan3
@@ -11,7 +11,7 @@ EOF
uci -q get mwan3.globals >/dev/null || {
uci -q add mwan3 globals >/dev/null
uci -q rename mwan3.@globals[-1]="globals" >/dev/null
- uci -q set mwan3.globals.initial_source="none" >/dev/null
+ uci -q set mwan3.globals.local_source="none" >/dev/null
uci commit mwan3
}
diff --git a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua
index 7865881cb6..dc7718217c 100644
--- a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua
+++ b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua
@@ -685,6 +685,10 @@ local knownParams = {
"tls_auth",
"/etc/openvpn/tlsauth.key",
translate("Additional authentication over TLS") },
+ { Value,
+ "tls_crypt",
+ "/etc/openvpn/tlscrypt.key",
+ translate("Encrypt and authenticate all control channel packets with the key") },
-- { Value,
-- "askpass",
-- "[file]",
diff --git a/applications/luci-app-openvpn/po/en/openvpn.po b/applications/luci-app-openvpn/po/en/openvpn.po
index a5994dc292..f22f0f2379 100644
--- a/applications/luci-app-openvpn/po/en/openvpn.po
+++ b/applications/luci-app-openvpn/po/en/openvpn.po
@@ -31,6 +31,9 @@ msgstr "Add route after establishing connection"
msgid "Additional authentication over TLS"
msgstr "Additional authentication over TLS"
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr "Encrypt and authenticate all control channel packets with the key"
+
msgid "Allow client-to-client traffic"
msgstr "Allow client-to-client traffic"
diff --git a/applications/luci-app-openvpn/po/ru/openvpn.po b/applications/luci-app-openvpn/po/ru/openvpn.po
index 00e585c374..8c15b826ba 100644
--- a/applications/luci-app-openvpn/po/ru/openvpn.po
+++ b/applications/luci-app-openvpn/po/ru/openvpn.po
@@ -33,6 +33,9 @@ msgstr "Добавить маршрут после установки соеди
msgid "Additional authentication over TLS"
msgstr "Дополнительная аутентификация через TLS"
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr "Шифровать и аутентифициоровать ключом все пакеты канала управления"
+
msgid "Allow client-to-client traffic"
msgstr "Разрешить общение клиентов друг с другом"
diff --git a/applications/luci-app-openvpn/po/sv/openvpn.po b/applications/luci-app-openvpn/po/sv/openvpn.po
index 6b8f92f4c4..c03e1495cb 100644
--- a/applications/luci-app-openvpn/po/sv/openvpn.po
+++ b/applications/luci-app-openvpn/po/sv/openvpn.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: PACKAGE VERSION\n"
-"Last-Translator: Automatically generated\n"
+"Last-Translator: Kristoffer Grundström <hamnisdude@gmail.com>\n"
"Language-Team: none\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
@@ -10,25 +10,25 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "%s"
-msgstr ""
+msgstr "%s"
msgid "'net30', 'p2p', or 'subnet'"
-msgstr ""
+msgstr "'net30', 'p2p', eller 'subnät'"
msgid "Accept options pushed from server"
msgstr ""
msgid "Add"
-msgstr ""
+msgstr "Lägg till"
msgid "Add route after establishing connection"
msgstr ""
msgid "Additional authentication over TLS"
-msgstr ""
+msgstr "Ytterligare autentisering via TLS"
msgid "Allow client-to-client traffic"
-msgstr ""
+msgstr "Tillåt klient-till-klienttraffik"
msgid "Allow multiple clients with same certificate"
msgstr ""
diff --git a/applications/luci-app-openvpn/po/templates/openvpn.pot b/applications/luci-app-openvpn/po/templates/openvpn.pot
index f2e4011662..1b6b4b1bd7 100644
--- a/applications/luci-app-openvpn/po/templates/openvpn.pot
+++ b/applications/luci-app-openvpn/po/templates/openvpn.pot
@@ -19,6 +19,9 @@ msgstr ""
msgid "Additional authentication over TLS"
msgstr ""
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
msgid "Allow client-to-client traffic"
msgstr ""
diff --git a/applications/luci-app-samba/po/it/samba.po b/applications/luci-app-samba/po/it/samba.po
index 8e5b062a08..8725902031 100644
--- a/applications/luci-app-samba/po/it/samba.po
+++ b/applications/luci-app-samba/po/it/samba.po
@@ -3,8 +3,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-19 19:36+0200\n"
-"PO-Revision-Date: 2012-04-19 22:28+0200\n"
-"Last-Translator: claudyus <claudyus84@gmail.com>\n"
+"PO-Revision-Date: 2017-09-06 01:28+0200\n"
+"Last-Translator: bubu83 <bubu83@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
@@ -25,10 +25,10 @@ msgid "Allowed users"
msgstr "Utenti ammessi"
msgid "Browseable"
-msgstr ""
+msgstr "Sfogliabile"
msgid "Create mask"
-msgstr "Mask di creazione dei file"
+msgstr "Crea maschera"
msgid "Description"
msgstr "Descrizione"
@@ -68,6 +68,8 @@ msgid ""
"Please add directories to share. Each directory refers to a folder on a "
"mounted device."
msgstr ""
+"Per favore aggiungi le directory da condividere. Ogni directory si riferisce a una "
+"cartella su un dispositivo montato."
msgid "Read-only"
msgstr "Solo lettura"
diff --git a/applications/luci-app-unbound/luasrc/controller/unbound.lua b/applications/luci-app-unbound/luasrc/controller/unbound.lua
index 0a5abc5a5e..b44bf038eb 100644
--- a/applications/luci-app-unbound/luasrc/controller/unbound.lua
+++ b/applications/luci-app-unbound/luasrc/controller/unbound.lua
@@ -1,17 +1,151 @@
-- Copyright 2008 Steven Barth <steven@midlink.org>
-- Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
+-- Copyright 2017 Eric Luehrsen <ericluehrsen@hotmail.com>
-- Licensed to the public under the Apache License 2.0.
module("luci.controller.unbound", package.seeall)
+
function index()
- if not nixio.fs.access("/etc/config/unbound") then
- return
- end
+ local ucl = luci.model.uci.cursor()
+ local valexp = ucl:get_first("unbound", "unbound", "extended_luci")
+ local valman = ucl:get_first("unbound", "unbound", "manual_conf")
+
+
+ if not nixio.fs.access("/etc/config/unbound") then
+ return
+ end
+
+
+ if valexp == "1" then
+ -- Expanded View
+ entry({"admin", "services", "unbound"}, firstchild(), _("Recursive DNS")).dependent = false
+
+ -- UCI Tab(s)
+ entry({"admin", "services", "unbound", "configure"}, cbi("unbound/configure"), _("Settings"), 10)
+
+ -- Status Tab(s)
+ entry({"admin", "services", "unbound", "status"}, firstchild(), _("Status"), 20)
+ entry({"admin", "services", "unbound", "status", "syslog"}, call("QuerySysLog"), _("Log"), 50).leaf = true
+
+
+ if nixio.fs.access("/usr/sbin/unbound-control") then
+ -- Require unbound-control to execute
+ entry({"admin", "services", "unbound", "status", "statistics"}, call("QueryStatistics"), _("Statistics"), 10).leaf = true
+ entry({"admin", "services", "unbound", "status", "localdata"}, call("QueryLocalData"), _("Local Data"), 20).leaf = true
+ entry({"admin", "services", "unbound", "status", "localzone"}, call("QueryLocalZone"), _("Local Zones"), 30).leaf = true
+
+ else
+ entry({"admin", "services", "unbound", "status", "statistics"}, call("ShowEmpty"), _("Statistics"), 10).leaf = true
+ end
+
+
+ -- Raw File Tab(s)
+ entry({"admin", "services", "unbound", "files"}, firstchild(), _("Files"), 30)
+
+
+ if valman ~= "1" then
+ entry({"admin", "services", "unbound", "files", "base"}, call("ShowUnboundConf"), _("UCI: Unbound"), 10).leaf = true
+ else
+ entry({"admin", "services", "unbound", "files", "base"}, cbi("unbound/manual"), _("Edit: Unbound"), 10).leaf = true
+ end
+
+
+ entry({"admin", "services", "unbound", "files", "server"}, cbi("unbound/server"), _("Edit: Server"), 20).leaf = true
+ entry({"admin", "services", "unbound", "files", "extended"}, cbi("unbound/extended"), _("Edit: Extended"), 30).leaf = true
+
+
+ if nixio.fs.access("/var/lib/unbound/unbound_dhcp.conf") then
+ entry({"admin", "services", "unbound", "files", "dhcp"}, call("ShowDHCPConf"), _("Include: DHCP"), 40).leaf = true
+ end
+
+
+ if nixio.fs.access("/var/lib/unbound/adb_list.overall") then
+ entry({"admin", "services", "unbound", "files", "adblock"}, call("ShowAdblock"), _("Include: Adblock"), 50).leaf = true
+ end
+
+ else
+ -- Simple View to UCI only
+ entry({"admin", "services", "unbound"}, cbi("unbound/configure"), _("Recursive DNS")).dependent = false
+ end
+end
+
+
+function ShowEmpty()
+ local lclhead = "Unbound Control"
+ local lcldesc = luci.i18n.translate("This could display more statistics with the unbound-control package.")
+ luci.template.render("unbound/show-empty", {heading = lclhead, description = lcldesc})
+end
+
+
+function QuerySysLog()
+ local lclhead = "System Log"
+ local lcldata = luci.util.exec("logread | grep -i unbound")
+ local lcldesc = luci.i18n.translate("This shows syslog filtered for events involving Unbound.")
+ luci.template.render("unbound/show-textbox", {heading = lclhead, description = lcldesc, content = lcldata})
+end
+
+
+function QueryStatistics()
+ local lclhead = "Unbound Control Stats"
+ local lcldata = luci.util.exec("unbound-control -c /var/lib/unbound/unbound.conf stats_noreset")
+ local lcldesc = luci.i18n.translate("This shows some performance statistics tracked by Unbound.")
+ luci.template.render("unbound/show-textbox", {heading = lclhead, description = lcldesc, content = lcldata})
+end
+
+
+function QueryLocalData()
+ local lclhead = "Unbound Control Local Data"
+ local lcldata = luci.util.exec("unbound-control -c /var/lib/unbound/unbound.conf list_local_data")
+ local lcldesc = luci.i18n.translate("This shows local host records that shortcut recursion.")
+ luci.template.render("unbound/show-textbox", {heading = lclhead, description = lcldesc, content = lcldata})
+end
+
+
+function QueryLocalZone()
+ local lclhead = "Unbound Control Local Zones"
+ local lcldata = luci.util.exec("unbound-control -c /var/lib/unbound/unbound.conf list_local_zones")
+ local lcldesc = luci.i18n.translate("This shows local zone definitions that affect recursion routing or processing. ")
+ luci.template.render("unbound/show-textbox", {heading = lclhead, description = lcldesc, content = lcldata})
+end
+
+
+function ShowUnboundConf()
+ local unboundfile = "/var/lib/unbound/unbound.conf"
+ local lclhead = "Unbound Conf"
+ local lcldata = nixio.fs.readfile(unboundfile)
+ local lcldesc = luci.i18n.translate("This shows configuration generated by UCI:")
+ lcldesc = lcldesc .. " (" .. unboundfile .. ")"
+ luci.template.render("unbound/show-textbox", {heading = lclhead, description = lcldesc, content = lcldata})
+end
+
+
+function ShowDHCPConf()
+ local dhcpfile = "/var/lib/unbound/unbound_dhcp.conf"
+ local lclhead = "DHCP Conf"
+ local lcldata = nixio.fs.readfile(dhcpfile)
+ local lcldesc = luci.i18n.translate("This shows LAN hosts added by DHCP hook scripts:")
+ lcldesc = lcldesc .. " (" .. dhcpfile .. ")"
+ luci.template.render("unbound/show-textbox", {heading = lclhead, description = lcldesc, content = lcldata})
+end
+
+
+function ShowAdblock()
+ local adblockfile = "/var/lib/unbound/adb_list.overall"
+ local lclhead = "Adblock Conf"
+ local lcldata, lcldesc
+
- local page
+ if nixio.fs.stat(adblockfile).size > 262144 then
+ lcldesc = luci.i18n.translate("Adblock domain list is too large for LuCI:")
+ lcldesc = lcldesc .. " (" .. adblockfile .. ")"
+ luci.template.render("unbound/show-empty", {heading = lclhead, description = lcldesc})
- page = entry({"admin", "services", "unbound"}, cbi("unbound"), _("Recursive DNS"))
- page.dependent = true
+ else
+ lcldata = nixio.fs.readfile(adblockfile)
+ lcldesc = luci.i18n.translate("This shows blocked domains provided by Adblock scripts:")
+ lcldesc = lcldesc .. " (" .. adblockfile .. ")"
+ luci.template.render("unbound/show-textbox", {heading = lclhead, description = lcldesc, content = lcldata})
+ end
end
diff --git a/applications/luci-app-unbound/luasrc/model/cbi/unbound.lua b/applications/luci-app-unbound/luasrc/model/cbi/unbound.lua
deleted file mode 100644
index bfaacb40bc..0000000000
--- a/applications/luci-app-unbound/luasrc/model/cbi/unbound.lua
+++ /dev/null
@@ -1,216 +0,0 @@
--- Copyright 2008 Steven Barth <steven@midlink.org>
--- Copyright 2016 Eric Luehrsen <ericluehrsen@hotmail.com>
--- Copyright 2016 Dan Luedtke <mail@danrl.com>
--- Licensed to the public under the Apache License 2.0.
-
-local m
-local s1
-local ena, mcf, lsv, rlh, rpv, vld, nvd, eds, prt, tlm
-local ctl, dlk, dom, dty, lfq, wfq, exa, ctl, d64, pfx, qry, qrs
-local pro, tgr, rsc, rsn, ag2
-
-m = Map("unbound", translate("Recursive DNS"),
- translatef("<a href=\"%s\" target=\"_blank\">Unbound</a>"
- .. " is a validating, recursive, and caching DNS resolver. "
- .. "UCI help can be found on "
- .. "<a href=\"%s\" target=\"_blank\">github</a>.",
- "https://www.unbound.net/",
- "https://github.com/openwrt/packages/blob/master/net/unbound/files/README.md"))
-
-
-s1 = m:section(TypedSection, "unbound")
-s1.addremove = false
-s1.anonymous = true
-s1:tab("service", translate("Basic Settings"))
-s1:tab("advanced", translate("Advanced Settings"))
-s1:tab("resource", translate("Resource Settings"))
-
---LuCI or Not
-
-ena = s1:taboption("service", Flag, "enabled", translate("Enable Unbound:"),
- translate("Enable the initialization scripts for Unbound"))
-ena.rmempty = false
-
-mcf = s1:taboption("service", Flag, "manual_conf", translate("Manual Conf:"),
- translate("Skip UCI and use /etc/unbound/unbound.conf"))
-mcf.rmempty = false
-
-function ena.cfgvalue(self, section)
- return luci.sys.init.enabled("unbound") and self.enabled or self.disabled
-end
-
-function ena.write(self, section, value)
- if value == "1" then
- luci.sys.init.enable("unbound")
- luci.sys.call("/etc/init.d/unbound start >/dev/null")
- else
- luci.sys.call("/etc/init.d/unbound stop >/dev/null")
- luci.sys.init.disable("unbound")
- end
-
- return Flag.write(self, section, value)
-end
-
---Basic Tab
-
-lsv = s1:taboption("service", Flag, "localservice", translate("Local Service:"),
- translate("Accept queries only from local subnets"))
-lsv.rmempty = false
-
-rlh = s1:taboption("service", Flag, "rebind_localhost", translate("Block Localhost Rebind:"),
- translate("Prevent upstream response of 127.0.0.0/8"))
-rlh.rmempty = false
-
-rpv = s1:taboption("service", Flag, "rebind_protection", translate("Block Private Rebind:"),
- translate("Prevent upstream response of RFC1918 ranges"))
-rpv.rmempty = false
-
-vld = s1:taboption("service", Flag, "validator", translate("Enable DNSSEC:"),
- translate("Enable the DNSSEC validator module"))
-vld.rmempty = false
-
-nvd = s1:taboption("service", Flag, "validator_ntp", translate("DNSSEC NTP Fix:"),
- translate("Break the loop where DNSSEC needs NTP and NTP needs DNS"))
-nvd.rmempty = false
-nvd:depends({ validator = true })
-
-eds = s1:taboption("service", Value, "edns_size", translate("EDNS Size:"),
- translate("Limit extended DNS packet size"))
-eds.datatype = "and(uinteger,min(512),max(4096))"
-eds.rmempty = false
-
-prt = s1:taboption("service", Value, "listen_port", translate("Listening Port:"),
- translate("Choose Unbounds listening port"))
-prt.datatype = "port"
-prt.rmempty = false
-
-tlm = s1:taboption("service", Value, "ttl_min", translate("TTL Minimum:"),
- translate("Prevent excessively short cache periods"))
-tlm.datatype = "and(uinteger,min(0),max(600))"
-tlm.rmempty = false
-
---Advanced Tab
-
-ctl = s1:taboption("advanced", Flag, "unbound_control", translate("Unbound Control App:"),
- translate("Enable unecrypted localhost access for unbound-control"))
-ctl.rmempty = false
-
-dlk = s1:taboption("advanced", ListValue, "dhcp_link", translate("DHCP Link:"),
- translate("Link to supported programs to load DHCP into DNS"))
-dlk:value("none", translate("No Link"))
-dlk:value("dnsmasq", "dnsmasq")
-dlk:value("odhcpd", "odhcpd")
-dlk.rmempty = false
-
-dom = s1:taboption("advanced", Value, "domain", translate("Local Domain:"),
- translate("Domain suffix for this router and DHCP clients"))
-dom.placeholder = "lan"
-dom:depends({ dhcp_link = "none" })
-dom:depends({ dhcp_link = "odhcpd" })
-
-dty = s1:taboption("advanced", ListValue, "domain_type", translate("Local Domain Type:"),
- translate("How to treat queries of this local domain"))
-dty:value("deny", translate("Ignored"))
-dty:value("refuse", translate("Refused"))
-dty:value("static", translate("Only Local"))
-dty:value("transparent", translate("Also Forwarded"))
-dty:depends({ dhcp_link = "none" })
-dty:depends({ dhcp_link = "odhcpd" })
-
-lfq = s1:taboption("advanced", ListValue, "add_local_fqdn", translate("LAN DNS:"),
- translate("How to enter the LAN or local network router in DNS"))
-lfq:value("0", translate("No DNS"))
-lfq:value("1", translate("Hostname, Primary Address"))
-lfq:value("2", translate("Hostname, All Addresses"))
-lfq:value("3", translate("Host FQDN, All Addresses"))
-lfq:value("4", translate("Interface FQDN, All Addresses"))
-lfq:depends({ dhcp_link = "none" })
-lfq:depends({ dhcp_link = "odhcpd" })
-
-wfq = s1:taboption("advanced", ListValue, "add_wan_fqdn", translate("WAN DNS:"),
- translate("Override the WAN side router entry in DNS"))
-wfq:value("0", translate("Upstream"))
-wfq:value("1", translate("Hostname, Primary Address"))
-wfq:value("2", translate("Hostname, All Addresses"))
-wfq:value("3", translate("Host FQDN, All Addresses"))
-wfq:value("4", translate("Interface FQDN, All Addresses"))
-wfq:depends({ dhcp_link = "none" })
-wfq:depends({ dhcp_link = "odhcpd" })
-
-exa = s1:taboption("advanced", ListValue, "add_extra_dns", translate("Extra DNS:"),
- translate("Use extra DNS entries found in /etc/config/dhcp"))
-exa:value("0", translate("Ignore"))
-exa:value("1", translate("Include Network/Hostnames"))
-exa:value("2", translate("Advanced MX/SRV RR"))
-exa:value("3", translate("Advanced CNAME RR"))
-exa:depends({ dhcp_link = "none" })
-exa:depends({ dhcp_link = "odhcpd" })
-
-ctl = s1:taboption("advanced", Flag, "dhcp4_slaac6", translate("DHCPv4 to SLAAC:"),
- translate("Use DHCPv4 MAC to discover IP6 hosts SLAAC (EUI64)"))
-ctl.rmempty = false
-
-d64 = s1:taboption("advanced", Flag, "dns64", translate("Enable DNS64:"),
- translate("Enable the DNS64 module"))
-d64.rmempty = false
-
-pfx = s1:taboption("advanced", Value, "dns64_prefix", translate("DNS64 Prefix:"),
- translate("Prefix for generated DNS64 addresses"))
-pfx.datatype = "ip6addr"
-pfx.placeholder = "64:ff9b::/96"
-pfx.optional = true
-pfx:depends({ dns64 = true })
-
-qry = s1:taboption("advanced", Flag, "query_minimize", translate("Query Minimize:"),
- translate("Break down query components for limited added privacy"))
-qry.rmempty = false
-
-qrs = s1:taboption("advanced", Flag, "query_min_strict", translate("Strict Minimize:"),
- translate("Strict version of 'query minimize' but it can break DNS"))
-qrs.rmempty = false
-qrs:depends({ query_minimize = true })
-
---TODO: dnsmasq needs to not reference resolve-file and get off port 53.
-
---Resource Tuning Tab
-
-pro = s1:taboption("resource", ListValue, "protocol", translate("Recursion Protocol:"),
- translate("Chose the protocol recursion queries leave on"))
-pro:value("mixed", translate("IP4 and IP6"))
-pro:value("ip6_prefer", translate("IP6 Preferred"))
-pro:value("ip4_only", translate("IP4 Only"))
-pro:value("ip6_only", translate("IP6 Only"))
-pro.rmempty = false
-
-rsn = s1:taboption("resource", ListValue, "recursion", translate("Recursion Strength:"),
- translate("Recursion activity affects memory growth and CPU load"))
-rsn:value("aggressive", translate("Aggressive"))
-rsn:value("default", translate("Default"))
-rsn:value("passive", translate("Passive"))
-rsn.rmempty = false
-
-rsc = s1:taboption("resource", ListValue, "resource", translate("Memory Resource:"),
- translate("Use menu System/Processes to observe any memory growth"))
-rsc:value("large", translate("Large"))
-rsc:value("medium", translate("Medium"))
-rsc:value("small", translate("Small"))
-rsc:value("tiny", translate("Tiny"))
-rsc.rmempty = false
-
-ag2 = s1:taboption("resource", Value, "root_age", translate("Root DSKEY Age:"),
- translate("Limit days between RFC5011 to reduce flash writes"))
-ag2.datatype = "and(uinteger,min(1),max(99))"
-ag2:value("3", "3")
-ag2:value("9", "9 ("..translate("default")..")")
-ag2:value("12", "12")
-ag2:value("24", "24")
-ag2:value("99", "99 ("..translate("never")..")")
-
-tgr = s1:taboption("resource", Value, "trigger", translate("Trigger Networks:"),
- translate("Networks that may trigger Unbound to reload (avoid wan6)"))
-tgr.template = "cbi/network_netlist"
-tgr.widget = "checkbox"
-tgr.cast = "string"
-
-return m
-
diff --git a/applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua b/applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua
new file mode 100644
index 0000000000..cdf7757e3a
--- /dev/null
+++ b/applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua
@@ -0,0 +1,273 @@
+-- Copyright 2008 Steven Barth <steven@midlink.org>
+-- Copyright 2016 Eric Luehrsen <ericluehrsen@hotmail.com>
+-- Copyright 2016 Dan Luedtke <mail@danrl.com>
+-- Licensed to the public under the Apache License 2.0.
+
+local m1, s1
+local ena, mcf, lci, lsv, rlh, rpv, vld, nvd, eds, prt, tlm
+local ctl, dlk, dom, dty, lfq, wfq, exa, dp6, d64, pfx, qry, qrs
+local pro, tgr, rsc, rsn, ag2, stt
+local ucl = luci.model.uci.cursor()
+local valman = ucl:get_first("unbound", "unbound", "manual_conf")
+
+m1 = Map("unbound")
+
+s1 = m1:section(TypedSection, "unbound")
+s1.addremove = false
+s1.anonymous = true
+
+--LuCI, Unbound, or Not
+s1:tab("basic", translate("Basic"),
+ translatef("<h3>Unbound Basic Settings</h3>\n"
+ .. "<a href=\"%s\" target=\"_blank\">Unbound</a>"
+ .. " is a validating, recursive, and caching DNS resolver. "
+ .. "UCI help can be found on "
+ .. "<a href=\"%s\" target=\"_blank\">github</a>.",
+ "https://www.unbound.net/",
+ "https://github.com/openwrt/packages/blob/master/net/unbound/files/README.md"))
+
+ena = s1:taboption("basic", Flag, "enabled", translate("Enable Unbound:"),
+ translate("Enable the initialization scripts for Unbound"))
+ena.rmempty = false
+
+mcf = s1:taboption("basic", Flag, "manual_conf", translate("Manual Conf:"),
+ translate("Skip UCI and use /etc/unbound/unbound.conf"))
+mcf.rmempty = false
+
+lci = s1:taboption("basic", Flag, "extended_luci", translate("Advanced LuCI:"),
+ translate("See detailed tabs for debug and advanced manual configuration"))
+lci.rmempty = false
+
+
+function ena.cfgvalue(self, section)
+ return luci.sys.init.enabled("unbound") and self.enabled or self.disabled
+end
+
+
+function ena.write(self, section, value)
+ if value == "1" then
+ luci.sys.init.enable("unbound")
+ luci.sys.call("/etc/init.d/unbound start >/dev/null")
+ else
+ luci.sys.call("/etc/init.d/unbound stop >/dev/null")
+ luci.sys.init.disable("unbound")
+ end
+
+ return Flag.write(self, section, value)
+end
+
+
+if valman ~= "1" then
+ -- Not in manual configuration mode; show UCI
+ s1:tab("advanced", translate("Advanced"),
+ translatef("<h3>Unbound Advanced Settings</h3>\n"
+ .. "Advanced setttings and plugin modules for "
+ .. "<a href=\"%s\" target=\"_blank\">Unbound</a>"
+ .. " DNS resolver.", "https://www.unbound.net/"))
+
+ s1:tab("resource", translate("Resource"),
+ translatef("<h3>Unbound Resource Settings</h3>\n"
+ .. "Memory and protocol setttings for "
+ .. "<a href=\"%s\" target=\"_blank\">Unbound</a>"
+ .. " DNS resolver.", "https://www.unbound.net/"))
+
+ --Basic Tab
+ lsv = s1:taboption("basic", Flag, "localservice", translate("Local Service:"),
+ translate("Accept queries only from local subnets"))
+ lsv.rmempty = false
+
+ rlh = s1:taboption("basic", Flag, "rebind_localhost", translate("Block Localhost Rebind:"),
+ translate("Prevent upstream response of 127.0.0.0/8"))
+ rlh.rmempty = false
+
+ rpv = s1:taboption("basic", Flag, "rebind_protection", translate("Block Private Rebind:"),
+ translate("Prevent upstream response of RFC1918 ranges"))
+ rpv.rmempty = false
+
+ vld = s1:taboption("basic", Flag, "validator", translate("Enable DNSSEC:"),
+ translate("Enable the DNSSEC validator module"))
+ vld.rmempty = false
+
+ nvd = s1:taboption("basic", Flag, "validator_ntp", translate("DNSSEC NTP Fix:"),
+ translate("Break the loop where DNSSEC needs NTP and NTP needs DNS"))
+ nvd.rmempty = false
+ nvd:depends({ validator = true })
+
+ eds = s1:taboption("basic", Value, "edns_size", translate("EDNS Size:"),
+ translate("Limit extended DNS packet size"))
+ eds.datatype = "and(uinteger,min(512),max(4096))"
+ eds.rmempty = false
+
+ prt = s1:taboption("basic", Value, "listen_port", translate("Listening Port:"),
+ translate("Choose Unbounds listening port"))
+ prt.datatype = "port"
+ prt.rmempty = false
+
+ tlm = s1:taboption("basic", Value, "ttl_min", translate("TTL Minimum:"),
+ translate("Prevent excessively short cache periods"))
+ tlm.datatype = "and(uinteger,min(0),max(600))"
+ tlm.rmempty = false
+
+ --Advanced Tab
+ ctl = s1:taboption("advanced", ListValue, "unbound_control", translate("Unbound Control App:"),
+ translate("Enable access for unbound-control"))
+ ctl.rmempty = false
+ ctl:value("0", translate("No Remote Control"))
+ ctl:value("1", translate("Local Host, No Encryption"))
+ ctl:value("2", translate("Local Host, Encrypted"))
+ ctl:value("3", translate("Local Subnet, Encrypted"))
+ ctl:value("4", translate("Local Subnet, Static Encryption"))
+
+ dlk = s1:taboption("advanced", ListValue, "dhcp_link", translate("DHCP Link:"),
+ translate("Link to supported programs to load DHCP into DNS"))
+ dlk:value("none", translate("No Link"))
+ dlk:value("dnsmasq", "dnsmasq")
+ dlk:value("odhcpd", "odhcpd")
+ dlk.rmempty = false
+
+ dom = s1:taboption("advanced", Value, "domain", translate("Local Domain:"),
+ translate("Domain suffix for this router and DHCP clients"))
+ dom.placeholder = "lan"
+ dom:depends({ dhcp_link = "none" })
+ dom:depends({ dhcp_link = "odhcpd" })
+
+ dty = s1:taboption("advanced", ListValue, "domain_type", translate("Local Domain Type:"),
+ translate("How to treat queries of this local domain"))
+ dty:value("deny", translate("Ignored"))
+ dty:value("refuse", translate("Refused"))
+ dty:value("static", translate("Only Local"))
+ dty:value("transparent", translate("Also Forwarded"))
+ dty:depends({ dhcp_link = "none" })
+ dty:depends({ dhcp_link = "odhcpd" })
+
+ lfq = s1:taboption("advanced", ListValue, "add_local_fqdn", translate("LAN DNS:"),
+ translate("How to enter the LAN or local network router in DNS"))
+ lfq:value("0", translate("No DNS"))
+ lfq:value("1", translate("Hostname, Primary Address"))
+ lfq:value("2", translate("Hostname, All Addresses"))
+ lfq:value("3", translate("Host FQDN, All Addresses"))
+ lfq:value("4", translate("Interface FQDN, All Addresses"))
+ lfq:depends({ dhcp_link = "none" })
+ lfq:depends({ dhcp_link = "odhcpd" })
+
+ wfq = s1:taboption("advanced", ListValue, "add_wan_fqdn", translate("WAN DNS:"),
+ translate("Override the WAN side router entry in DNS"))
+ wfq:value("0", translate("Upstream"))
+ wfq:value("1", translate("Hostname, Primary Address"))
+ wfq:value("2", translate("Hostname, All Addresses"))
+ wfq:value("3", translate("Host FQDN, All Addresses"))
+ wfq:value("4", translate("Interface FQDN, All Addresses"))
+ wfq:depends({ dhcp_link = "none" })
+ wfq:depends({ dhcp_link = "odhcpd" })
+
+ exa = s1:taboption("advanced", ListValue, "add_extra_dns", translate("Extra DNS:"),
+ translate("Use extra DNS entries found in /etc/config/dhcp"))
+ exa:value("0", translate("Ignore"))
+ exa:value("1", translate("Include Network/Hostnames"))
+ exa:value("2", translate("Advanced MX/SRV RR"))
+ exa:value("3", translate("Advanced CNAME RR"))
+ exa:depends({ dhcp_link = "none" })
+ exa:depends({ dhcp_link = "odhcpd" })
+
+ dp6 = s1:taboption("advanced", Flag, "dhcp4_slaac6", translate("DHCPv4 to SLAAC:"),
+ translate("Use DHCPv4 MAC to discover IP6 hosts SLAAC (EUI64)"))
+ dp6.rmempty = false
+
+ d64 = s1:taboption("advanced", Flag, "dns64", translate("Enable DNS64:"),
+ translate("Enable the DNS64 module"))
+ d64.rmempty = false
+
+ pfx = s1:taboption("advanced", Value, "dns64_prefix", translate("DNS64 Prefix:"),
+ translate("Prefix for generated DNS64 addresses"))
+ pfx.datatype = "ip6addr"
+ pfx.placeholder = "64:ff9b::/96"
+ pfx.optional = true
+ pfx:depends({ dns64 = true })
+
+ qry = s1:taboption("advanced", Flag, "query_minimize", translate("Query Minimize:"),
+ translate("Break down query components for limited added privacy"))
+ qry.rmempty = false
+
+ qrs = s1:taboption("advanced", Flag, "query_min_strict", translate("Strict Minimize:"),
+ translate("Strict version of 'query minimize' but it can break DNS"))
+ qrs.rmempty = false
+ qrs:depends({ query_minimize = true })
+
+ --TODO: dnsmasq needs to not reference resolve-file and get off port 53.
+
+ --Resource Tuning Tab
+ pro = s1:taboption("resource", ListValue, "protocol", translate("Recursion Protocol:"),
+ translate("Chose the protocol recursion queries leave on"))
+ pro:value("mixed", translate("IP4 and IP6"))
+ pro:value("ip6_prefer", translate("IP6 Preferred"))
+ pro:value("ip4_only", translate("IP4 Only"))
+ pro:value("ip6_only", translate("IP6 Only"))
+ pro.rmempty = false
+
+ rsn = s1:taboption("resource", ListValue, "recursion", translate("Recursion Strength:"),
+ translate("Recursion activity affects memory growth and CPU load"))
+ rsn:value("aggressive", translate("Aggressive"))
+ rsn:value("default", translate("Default"))
+ rsn:value("passive", translate("Passive"))
+ rsn.rmempty = false
+
+ rsc = s1:taboption("resource", ListValue, "resource", translate("Memory Resource:"),
+ translate("Use menu System/Processes to observe any memory growth"))
+ rsc:value("large", translate("Large"))
+ rsc:value("medium", translate("Medium"))
+ rsc:value("small", translate("Small"))
+ rsc:value("tiny", translate("Tiny"))
+ rsc.rmempty = false
+
+ ag2 = s1:taboption("resource", Value, "root_age", translate("Root DSKEY Age:"),
+ translate("Limit days between RFC5011 to reduce flash writes"))
+ ag2.datatype = "and(uinteger,min(1),max(99))"
+ ag2:value("3", "3")
+ ag2:value("9", "9 ("..translate("default")..")")
+ ag2:value("12", "12")
+ ag2:value("24", "24")
+ ag2:value("99", "99 ("..translate("never")..")")
+
+ stt = s1:taboption("resource", Flag, "extended_stats", translate("Extended Statistics:"),
+ translate("Extended statistics are printed from unbound-control"))
+ stt.rmempty = false
+
+ tgr = s1:taboption("resource", Value, "trigger", translate("Trigger Networks:"),
+ translate("Networks that may trigger Unbound to reload (avoid wan6)"))
+ tgr.template = "cbi/network_netlist"
+ tgr.widget = "checkbox"
+ tgr.cast = "string"
+
+else
+ s1:tab("rfc5011", translate("RFC5011"),
+ translatef("<h3>Unbound RFC5011 Settings</h3>\n"
+ .. "RFC5011 copy scripts protect flash ROM even with UCI disabled."))
+
+ ag2 = s1:taboption("rfc5011", Value, "root_age", translate("Root DSKEY Age:"),
+ translate("Limit days to copy /var/->/etc/ to reduce flash writes"))
+ ag2.datatype = "and(uinteger,min(1),max(99))"
+ ag2:value("3", "3")
+ ag2:value("9", "9 ("..translate("default")..")")
+ ag2:value("12", "12")
+ ag2:value("24", "24")
+ ag2:value("99", "99 ("..translate("never")..")")
+end
+
+
+function m1.on_after_commit(self)
+ function ena.validate(self, value)
+ if value ~= "0" then
+ luci.sys.call("/etc/init.d/unbound restart >/dev/null 2>&1")
+ else
+ luci.sys.call("/etc/init.d/unbound stop >/dev/null 2>&1")
+ end
+ end
+
+
+ -- Restart Unbound with configuration and reload the page (some options hide)
+ luci.http.redirect(luci.dispatcher.build_url("admin", "services", "unbound"))
+end
+
+
+return m1
+
diff --git a/applications/luci-app-unbound/luasrc/model/cbi/unbound/extended.lua b/applications/luci-app-unbound/luasrc/model/cbi/unbound/extended.lua
new file mode 100644
index 0000000000..67d2ec6c6b
--- /dev/null
+++ b/applications/luci-app-unbound/luasrc/model/cbi/unbound/extended.lua
@@ -0,0 +1,30 @@
+-- Copyright 2016 Eric Luehrsen <ericluehrsen@hotmail.com>
+-- Licensed to the public under the Apache License 2.0.
+
+local m4, s4, frm
+local filename = "/etc/unbound/unbound_ext.conf"
+local description = translatef("Here you may edit 'forward:' and 'remote-control:' in an extended 'include:'")
+description = description .. " (" .. filename .. ")"
+
+m4 = SimpleForm("editing", nil)
+m4:append(Template("unbound/css-editing"))
+m4.submit = translate("Save")
+m4.reset = false
+s4 = m4:section(SimpleSection, "Unbound Extended Conf", description)
+frm = s4:option(TextValue, "data")
+frm.datatype = "string"
+frm.rows = 20
+
+
+function frm.cfgvalue()
+ return nixio.fs.readfile(filename) or ""
+end
+
+
+function frm.write(self, section, data)
+ return nixio.fs.writefile(filename, luci.util.trim(data:gsub("\r\n", "\n")))
+end
+
+
+return m4
+
diff --git a/applications/luci-app-unbound/luasrc/model/cbi/unbound/manual.lua b/applications/luci-app-unbound/luasrc/model/cbi/unbound/manual.lua
new file mode 100644
index 0000000000..5cfb9c32c1
--- /dev/null
+++ b/applications/luci-app-unbound/luasrc/model/cbi/unbound/manual.lua
@@ -0,0 +1,30 @@
+-- Copyright 2016 Eric Luehrsen <ericluehrsen@hotmail.com>
+-- Licensed to the public under the Apache License 2.0.
+
+local m2, s2, frm
+local filename = "/etc/unbound/unbound.conf"
+local description = translatef("Here you may edit raw 'unbound.conf' when you don't use UCI:")
+description = description .. " (" .. filename .. ")"
+
+m2 = SimpleForm("editing", nil)
+m2:append(Template("unbound/css-editing"))
+m2.submit = translate("Save")
+m2.reset = false
+s2 = m2:section(SimpleSection, "Unbound Conf", description)
+frm = s2:option(TextValue, "data")
+frm.datatype = "string"
+frm.rows = 20
+
+
+function frm.cfgvalue()
+ return nixio.fs.readfile(filename) or ""
+end
+
+
+function frm.write(self, section, data)
+ return nixio.fs.writefile(filename, luci.util.trim(data:gsub("\r\n", "\n")))
+end
+
+
+return m2
+
diff --git a/applications/luci-app-unbound/luasrc/model/cbi/unbound/server.lua b/applications/luci-app-unbound/luasrc/model/cbi/unbound/server.lua
new file mode 100644
index 0000000000..d0ac407847
--- /dev/null
+++ b/applications/luci-app-unbound/luasrc/model/cbi/unbound/server.lua
@@ -0,0 +1,30 @@
+-- Copyright 2016 Eric Luehrsen <ericluehrsen@hotmail.com>
+-- Licensed to the public under the Apache License 2.0.
+
+local m3, s3, frm
+local filename = "/etc/unbound/unbound_srv.conf"
+local description = translatef("Here you may edit the 'server:' clause in an internal 'include:'")
+description = description .. " (" .. filename .. ")"
+
+m3 = SimpleForm("editing", nil)
+m3:append(Template("unbound/css-editing"))
+m3.submit = translate("Save")
+m3.reset = false
+s3 = m3:section(SimpleSection, "Unbound Server Conf", description)
+frm = s3:option(TextValue, "data")
+frm.datatype = "string"
+frm.rows = 20
+
+
+function frm.cfgvalue()
+ return nixio.fs.readfile(filename) or ""
+end
+
+
+function frm.write(self, section, data)
+ return nixio.fs.writefile(filename, luci.util.trim(data:gsub("\r\n", "\n")))
+end
+
+
+return m3
+
diff --git a/applications/luci-app-unbound/luasrc/view/unbound/css-editing.htm b/applications/luci-app-unbound/luasrc/view/unbound/css-editing.htm
new file mode 100644
index 0000000000..44d09378c3
--- /dev/null
+++ b/applications/luci-app-unbound/luasrc/view/unbound/css-editing.htm
@@ -0,0 +1,8 @@
+<style type="text/css">
+ textarea
+ {
+ background-color: #fffff0;
+ font-family: monospace;
+ }
+</style>
+
diff --git a/applications/luci-app-unbound/luasrc/view/unbound/show-empty.htm b/applications/luci-app-unbound/luasrc/view/unbound/show-empty.htm
new file mode 100644
index 0000000000..87d6cc68cb
--- /dev/null
+++ b/applications/luci-app-unbound/luasrc/view/unbound/show-empty.htm
@@ -0,0 +1,5 @@
+<%+header%>
+<h3><%=heading:pcdata()%></h3>
+<p><%=description:pcdata()%></p>
+<%+footer%>
+
diff --git a/applications/luci-app-unbound/luasrc/view/unbound/show-textbox.htm b/applications/luci-app-unbound/luasrc/view/unbound/show-textbox.htm
new file mode 100644
index 0000000000..c0a7d133dc
--- /dev/null
+++ b/applications/luci-app-unbound/luasrc/view/unbound/show-textbox.htm
@@ -0,0 +1,8 @@
+<%+header%>
+<h3><%=heading:pcdata()%></h3>
+<p><%=description:pcdata()%></p>
+<div>
+<textarea style="width: 100%; height: 480px; font-family: monospace;" readonly="readonly" wrap="off" rows="<%=content:cmatch("\n")+2%>"><%=content:pcdata()%></textarea>
+</div>
+<%+footer%>
+
diff --git a/applications/luci-app-unbound/root/etc/uci-defaults/60_luci-unbound b/applications/luci-app-unbound/root/etc/uci-defaults/60_luci-unbound
index cc714ac53e..c2ac8c93b6 100644
--- a/applications/luci-app-unbound/root/etc/uci-defaults/60_luci-unbound
+++ b/applications/luci-app-unbound/root/etc/uci-defaults/60_luci-unbound
@@ -8,18 +8,5 @@ uci -q batch <<-EOF >/dev/null
EOF
rm -f /tmp/luci-indexcache
-[ ! -x /usr/sbin/unbound-control ] && exit 0
-
-uci -q batch <<-EOF >/dev/null
- set luci.unboundhosts=command
- set luci.unboundhosts.name='Unbound Local Hosts'
- set luci.unboundhosts.command='unbound-control -c /var/lib/unbound/unbound.conf list_local_data'
- set luci.unboundzones=command
- set luci.unboundzones.name='Unbound Local Zones'
- set luci.unboundzones.command='unbound-control -c /var/lib/unbound/unbound.conf list_local_zones'
- commit luci
-EOF
-
-rm -f /tmp/luci-indexcache
exit 0
diff --git a/applications/luci-app-wifischedule/po/it/wifischedule.po b/applications/luci-app-wifischedule/po/it/wifischedule.po
new file mode 100644
index 0000000000..18a9dce23a
--- /dev/null
+++ b/applications/luci-app-wifischedule/po/it/wifischedule.po
@@ -0,0 +1,101 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8\n"
+
+msgid "Activate wifi"
+msgstr "Attiva wifi"
+
+msgid "Could not find required /usr/bin/wifi_schedule.sh or /sbin/wifi"
+msgstr "Impossibile trovare /usr/bin/wifi_schedule.sh o /sbin/wifi"
+
+msgid "Could not find required programm /usr/bin/iwinfo"
+msgstr "Impossibile trovare il programma /usr/bin/iwinfo"
+
+msgid "Cron Jobs"
+msgstr "Operazioni Programmate"
+
+msgid "Day(s) of Week"
+msgstr "Giorno(i) della Settimana"
+
+msgid "Defines a schedule when to turn on and off wifi."
+msgstr "Definisce un piano di accensione o spegnimento del wifi"
+
+msgid "Determine Modules Automatically"
+msgstr "Determina i Moduli Automaticamente"
+
+msgid "Disable wifi gracefully"
+msgstr "Disabilita wifi con grazia"
+
+msgid "Disabled wifi forced"
+msgstr "Disabilita wifi con forza"
+
+msgid "Enable"
+msgstr "Abilita"
+
+msgid "Enable Wifi Schedule"
+msgstr "Abilita il Piano Wifi"
+
+msgid "Enable logging"
+msgstr "Abilita il registro"
+
+msgid "Force disabling wifi even if stations associated"
+msgstr "Forza disattivazione wifi anche con stazioni associate"
+
+msgid "Friday"
+msgstr "Venerdì"
+
+msgid "Global Settings"
+msgstr "Impostazioni Globali"
+
+msgid "Monday"
+msgstr "Lunedì"
+
+msgid "Saturday"
+msgstr "Sabato"
+
+msgid "Schedule"
+msgstr "Piano"
+
+msgid "Schedule events"
+msgstr "Piano eventi"
+
+msgid "Start Time"
+msgstr "Orario di Inizio"
+
+msgid "Start WiFi"
+msgstr ""
+
+msgid "Stop Time"
+msgstr "Orario di Stop"
+
+msgid "Stop WiFi"
+msgstr ""
+
+msgid "Sunday"
+msgstr "Domenica"
+
+msgid "The value %s is invalid"
+msgstr "Il valore %s è invalido"
+
+msgid "Thursday"
+msgstr "Giovedì"
+
+msgid "Tuesday"
+msgstr "Martedì"
+
+msgid "Unload Modules (experimental; saves more power)"
+msgstr "Scarica Moduli (sperimentale; risparmia più energia)"
+
+msgid "View Cron Jobs"
+msgstr "Vedi Operazioni Programmate"
+
+msgid "View Logfile"
+msgstr "Vedi il Registro"
+
+msgid "Wednesday"
+msgstr "Mercoledì"
+
+msgid "Wifi Schedule"
+msgstr "Piano Wifi"
+
+msgid "Wifi Schedule Logfile"
+msgstr "Registro Piano Wifi"
diff --git a/applications/luci-app-wireguard/po/sv/wireguard.po b/applications/luci-app-wireguard/po/sv/wireguard.po
index 1aa68e251e..3422ae91e9 100644
--- a/applications/luci-app-wireguard/po/sv/wireguard.po
+++ b/applications/luci-app-wireguard/po/sv/wireguard.po
@@ -20,7 +20,7 @@ msgid "Endpoint"
msgstr "Slutpunkt"
msgid "Firewall Mark"
-msgstr ""
+msgstr "Brandväggsmarkering"
msgid "Interface"
msgstr "Gränssnitt"
@@ -38,10 +38,10 @@ msgid "Never"
msgstr "Aldrig"
msgid "Peer"
-msgstr ""
+msgstr "Jämlike"
msgid "Persistent Keepalive"
-msgstr ""
+msgstr "Hålla vid liv ständigt"
msgid "Public Key"
msgstr "Publik nyckel"
diff --git a/applications/luci-app-wol/po/it/wol.po b/applications/luci-app-wol/po/it/wol.po
index bf23eb8ce0..d0c35f497b 100644
--- a/applications/luci-app-wol/po/it/wol.po
+++ b/applications/luci-app-wol/po/it/wol.po
@@ -16,7 +16,7 @@ msgstr ""
"X-Generator: Pootle 2.0.6\n"
msgid "Broadcast on all interfaces"
-msgstr "Broadcast su tutte le interfaccie"
+msgstr "Broadcast su tutte le interfacce"
msgid "Choose the host to wake up or enter a custom MAC address to use"
msgstr "Scegli l'host da \"svegliare\" o inserisci il MAC address da usare"
@@ -25,20 +25,20 @@ msgid "Host to wake up"
msgstr "Host da \"svegliare\""
msgid "Network interface to use"
-msgstr "Interfacci di rete da usare"
+msgstr "Interfaccia di rete da usare"
msgid "Send to broadcast address"
-msgstr ""
+msgstr "Manda a indirizzo di broadcast"
#, fuzzy
msgid ""
"Sometimes only one of the two tools works. If one fails, try the other one"
msgstr ""
-"Avvolte solo uno dei due tools funziona. Se uno fallisce, tenta di usare il "
+"A volte solo uno dei due tools funziona. Se uno fallisce, tenta di usare il "
"secondo"
msgid "Specifies the interface the WoL packet is sent on"
-msgstr "Secifica l'interfaccia su cui il pacchetto \"magico\" WoL è inviato"
+msgstr "Specifica l'interfaccia su cui il pacchetto \"magico\" WoL è inviato"
msgid "Starting WoL utility:"
msgstr "Avvia l'utility WoL:"
@@ -49,8 +49,8 @@ msgstr "Wake on LAN"
msgid ""
"Wake on LAN is a mechanism to remotely boot computers in the local network."
msgstr ""
-"Wake on LAN è un meccanismo che ti permette di avviare da remoto un computer "
-"collegato alla LAN."
+"Wake on LAN è un meccanismo che permette di avviare da remoto i computer "
+"nella rete locale"
msgid "Wake up host"
msgstr "Sveglia Host"