diff options
Diffstat (limited to 'applications')
49 files changed, 2702 insertions, 1065 deletions
diff --git a/applications/luci-app-adblock/luasrc/controller/adblock.lua b/applications/luci-app-adblock/luasrc/controller/adblock.lua index efa99b5b8..b74858400 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 aa5701487..e2ef1ef21 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 (< 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 (< 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 ee3a4553a..0221a75ed 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 000000000..190122863 --- /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 " +"(< 64 MB RAM)" +msgstr "" +"Attiva l'ordinamento globale / rimozione duplicati stressante per la memoria " +"su dispositivi con poca memoria (< 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 (> 512 KB)." +msgstr "" +"La grandezza del file è troppo grande per modificarla online in LuCI (> " +"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 b3e139e12..86ff36379 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 (> 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 586c31801..b4c8675f0 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 " "(< 64 MB RAM)" msgstr "" +"Ativar tipo geral intenso de memória / duplicar remoção em dispositivos com " +"pouca memória (< 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 (> 512 KB)." msgstr "" +"O tamanho do arquivo é muito grande para edição online no LuCI (> 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 a70a1a1d6..4cb932c60 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 "" "(< 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 (> 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 (> 512 KB)." +msgstr "Filstorleken är för stor för online-redigering i LuCi (> 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 3b61036e0..c6ad66baa 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 "" "(< 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 (> 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 534e8f5cc..d5f5104a0 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 "" "(< 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 (> 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 000000000..cac09d76a --- /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 a7c7a38f7..db1cc35ec 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 3a129364c..33613faca 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 & multi-source download utility, here you can " "configure the settings." -msgstr "Aria2 är ett verktyg för multiprotokoll & 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-attendedsysupgrade/luasrc/view/attendedsysupgrade.htm b/applications/luci-app-attendedsysupgrade/luasrc/view/attendedsysupgrade.htm index 1edafa7c7..1e423b49f 100644 --- a/applications/luci-app-attendedsysupgrade/luasrc/view/attendedsysupgrade.htm +++ b/applications/luci-app-attendedsysupgrade/luasrc/view/attendedsysupgrade.htm @@ -1,3 +1,78 @@ +<% +-- all lua code provided by https://github.com/jow-/ +-- thank you very much! + + function apply_acls(filename, session) + local json = require "luci.jsonc" + local util = require "luci.util" + local fs = require "nixio.fs" + + local grants = { } + + local acl = json.parse(fs.readfile(filename)) + if type(acl) ~= "table" then + return + end + + local group, perms + for group, perms in pairs(acl) do + local perm, scopes + for perm, scopes in pairs(perms) do + if type(scopes) == "table" then + local scope, objects + for scope, objects in pairs(scopes) do + if type(objects) == "table" then + if not grants[scope] then + grants[scope] = { } + end + + if next(objects) == 1 then + local _, object + for _, object in ipairs(objects) do + if not grants[scope][object] then + grants[scope][object] = { } + end + table.insert(grants[scope][object], perm) + end + else + local object, funcs + for object, funcs in pairs(objects) do + if type(funcs) == "table" then + local _, func + for _, func in ipairs(funcs) do + if not grants[scope][object] then + grants[scope][object] = { } + end + table.insert(grants[scope][object], func) + end + end + end + end + end + end + end + end + end + + local _, scope, object, func + for scope, _ in pairs(grants) do + local objects = { } + for object, _ in pairs(_) do + for _, func in ipairs(_) do + table.insert(objects, { object, func }) + end + end + + util.ubus("session", "grant", { + ubus_rpc_session = session, + scope = scope, objects = objects + }) + end + end + + apply_acls("/usr/share/rpcd/acl.d/attendedsysupgrade.json", luci.dispatcher.context.authsession) + apply_acls("/usr/share/rpcd/acl.d/packagelist.json", luci.dispatcher.context.authsession) +%> <%+header%> <h2 name="content"><%:Attended Sysupgrade%></h2> <div class="container"> @@ -6,6 +81,12 @@ </div> <input class="cbi-button" value="search for updates" onclick="update_request()" type="button" id="update_button"> <div style="display: none" id="packages" class="alert-message success"></div> +<div class="cbi-value" id="update_packages_container" style="display: block"> + <label class="cbi-value-title" for="keep">search for package updates:</label> + <div class="cbi-value-field"> + <input type="checkbox" name="update_packages" id="update_packages" /> + </div> +</div> <div class="cbi-value" id="keep_container" style="display: none"> <label class="cbi-value-title" for="keep">keep settings:</label> <div class="cbi-value-field"> @@ -15,7 +96,7 @@ <script type="text/javascript"> -latest_release = ""; +latest_version = ""; data = {}; ubus_counter = 1 origin = document.location.href.replace(location.pathname, "") @@ -69,6 +150,9 @@ function ubus_request_callback(response_object, callback) { console.log(callback) if(typeof callback === "string") { response_json = JSON.parse(response_object.responseText).result[1] + if (callback == "release") { + latest_version = response_json.release.version + } data[callback] = response_json[callback] } else { callback(response_object) @@ -83,6 +167,8 @@ function ubus_request_callback_uci(response_object, callback) { console.log(callback) response_json = JSON.parse(response_object.responseText).result[1].value data[callback] = response_json + + document.getElementById("update_packages").checked = data.update_packages; } else { console.log(respons_object.responseText) } @@ -96,6 +182,7 @@ function setup() { ubus_request("system", "board", {}, "board_name"); ubus_request("system", "board", {}, "model"); ubus_request("uci", "get", { "config": "attendedsysupgrade", "section": "updateserver", "option": "url" }, "update_server") + ubus_request("uci", "get", { "config": "attendedsysupgrade", "section": "updateclient", "option": "update_packages" }, "update_packages") } // shows notification if update is available @@ -107,7 +194,7 @@ function update_info(info_output) { function update_error(error_output) { document.getElementById("update_error").style.display = "block"; document.getElementById("update_error").innerHTML = error_output; - document.getElementById("update_info").style.display = "None"; + document.getElementById("update_info").style.display = "none"; } // asks server for news updates, actually only based on relesae not packages @@ -116,6 +203,9 @@ function update_request() { request_dict = {} request_dict.version = data.release.version; request_dict.packages = data.packagelist; + if (document.getElementById("update_packages").checked == 1) { + request_dict.update_packages = 1 + } server_request(request_dict, "update-request", update_request_callback) } @@ -144,7 +234,7 @@ function update_request_callback(response_object) { // bad request console.log(response_object.responseText) response_object_content = JSON.parse(response_object.responseText) - update_error(response_object_content) + update_error(response_object_content.error) } else if (response_object.status === 200) { // new release/updates response_object_content = JSON.parse(response_object.responseText) @@ -179,16 +269,18 @@ function update_request_200(response_content) { for (update in response_content.updates) { info_output += "<b>" + update + "</b>: " + response_content.updates[update][1] + " to " + response_content.updates[update][0] + "</br>" } - data.packages = response_content.packages } + data.packages = response_content.packages update_info(info_output) document.getElementById("update_button").value = "request image"; + document.getElementById("update_packages_container").style.display = "none"; document.getElementById("update_button").onclick = image_request; } // request the image, need merge with update_request function image_request() { console.log("image_request") + document.getElementById("update_packages_container").style.display = "none"; request_dict = {} request_dict.version = latest_version; request_dict.board = data.board_name 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 000000000..7293278f2 --- /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 37de249e5..a6c98377d 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 8695ce5a7..751b9211b 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 f59d053e7..3b9d5f48d 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 9373fea3a..2e63ee1bd 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 cf74fbc77..c73532395 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/po/ja/dnscrypt-proxy.po b/applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po index 9008d8954..0328df227 100644 --- a/applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po +++ b/applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po @@ -34,6 +34,20 @@ msgstr "" 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." +msgstr "" +"複数の DNSCrypt インスタンスで DNS アップストリーム タイムアウトの設定値を共" +"用するため、 'options timeout:1' を含めた '/etc/resolv-crypt.conf' を作成しま" +"す。" + +msgid "Create Config File" +msgstr "設定ファイルの作成" + +msgid "Create custom config file" +msgstr "カスタム設定ファイルの作成" + msgid "DNS Query Logfile" msgstr "DNS クエリ ログファイル" @@ -64,6 +78,9 @@ msgstr "DNSCrypt-Proxy の高速化のため、キャッシュ機能を有効化 msgid "Ephemeral Keys" msgstr "一時的なキー" +msgid "Extra options" +msgstr "拡張オプション" + msgid "File Checksum" msgstr "ファイル チェックサム" @@ -115,6 +132,10 @@ msgstr "" 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 "デフォルト設定が適切でない場合、追加で設定するためのオプションです。" + msgid "Overview" msgstr "概要" @@ -149,8 +170,12 @@ msgstr "スタートアップ トリガ" msgid "The listening port for DNS queries." msgstr "DNS クエリを待ち受けるポートです。" -msgid "The local IP address." -msgstr "ローカル IP アドレスです。" +msgid "" +"The local IPv4 or IPv6 address. The latter one should be specified within " +"brackets, e.g. '[::1]'." +msgstr "" +"ローカルの IPv4 または IPv6 アドレスです。 IPv6 アドレスの場合、ブラケット " +"\"[ ]\" を含めて記述される必要があります(例: '[::1]')。" msgid "" "The value for this property is the blocklist type and path to the file, e." 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 98e6526b4..ea83e7a18 100644 --- a/applications/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot +++ b/applications/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot @@ -21,6 +21,17 @@ msgstr "" msgid "Configuration of the DNSCrypt-Proxy package." msgstr "" +msgid "" +"Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS " +"upstream timeouts with multiple DNSCrypt instances." +msgstr "" + +msgid "Create Config File" +msgstr "" + +msgid "Create custom config file" +msgstr "" + msgid "DNS Query Logfile" msgstr "" @@ -51,6 +62,9 @@ msgstr "" msgid "Ephemeral Keys" msgstr "" +msgid "Extra options" +msgstr "" + msgid "File Checksum" msgstr "" @@ -95,6 +109,10 @@ msgstr "" msgid "Name of the remote DNS service for resolving queries." msgstr "" +msgid "" +"Options for further tweaking in case the defaults are not suitable for you." +msgstr "" + msgid "Overview" msgstr "" @@ -127,7 +145,9 @@ msgstr "" msgid "The listening port for DNS queries." msgstr "" -msgid "The local IP address." +msgid "" +"The local IPv4 or IPv6 address. The latter one should be specified within " +"brackets, e.g. '[::1]'." msgstr "" msgid "" diff --git a/applications/luci-app-firewall/po/it/firewall.po b/applications/luci-app-firewall/po/it/firewall.po index 33e835183..a5c4a1ee0 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 8e310c0f9..f9fd92072 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/po/ja/mwan3.po b/applications/luci-app-mwan3/po/ja/mwan3.po index 89fa5ea02..72c5dddab 100644 --- a/applications/luci-app-mwan3/po/ja/mwan3.po +++ b/applications/luci-app-mwan3/po/ja/mwan3.po @@ -88,6 +88,9 @@ msgstr "" msgid "Enabled" msgstr "有効" +msgid "Enter value in hex, starting with <code>0x</code>" +msgstr "<code>0x</code> で始まる16進数の値を入力してください。" + msgid "Error collecting troubleshooting information" msgstr "トラブルシューティング情報の収集エラー" @@ -95,11 +98,14 @@ msgid "Errors" msgstr "エラー" msgid "Expect interface state on up event" -msgstr "" +msgstr "Up イベント時に予想されるインターフェースの状態です。" msgid "Failure interval" msgstr "障害検出 インターバル" +msgid "Firewall mask" +msgstr "ファイアウォール マスク" + msgid "Flush conntrack table" msgstr "" @@ -107,10 +113,10 @@ msgid "Flush global firewall conntrack table on interface events" msgstr "" msgid "Globals" -msgstr "" +msgstr "全般" msgid "Globals mwan3 options" -msgstr "" +msgstr "MWAN3 全般オプション" msgid "Hotplug Script" msgstr "ホットプラグ スクリプト" @@ -131,7 +137,7 @@ msgid "IPv6" msgstr "IPv6" msgid "Initial state" -msgstr "" +msgstr "初期状態" msgid "Interface" msgstr "インターフェース" @@ -299,7 +305,7 @@ msgid "Offline" msgstr "オフライン" msgid "Online" -msgstr "" +msgstr "オンライン" msgid "Online (tracking active)" msgstr "オンライン(追跡実行中)" @@ -320,7 +326,7 @@ msgid "Ping interval" msgstr "Ping インターバル" msgid "Ping interval during failure detection" -msgstr "障害検出動作中の Ping 実行間隔です。" +msgstr "障害検出中の Ping 実行間隔です。" msgid "Ping interval during failure recovering" msgstr "障害復旧中の Ping 実行間隔です。" @@ -370,12 +376,6 @@ msgstr "障害復旧 インターバル" msgid "Restart MWAN" msgstr "MWAN の再起動" -msgid "Restore default hotplug script" -msgstr "デフォルトのホットプラグ スクリプトの復元" - -msgid "Restore..." -msgstr "復元..." - msgid "Rule" msgstr "ルール" @@ -443,6 +443,31 @@ msgstr "" "に対して Ping の送信が行われます。常にオンラインとする場合、空欄のままにしま" "す。" +msgid "" +"This section allows you to modify the content of \"/etc/mwan3.user\".<br /" +">The file is also preserved during sysupgrade.<br /><br />Notes:<br />This " +"file is interpreted as a shell script.<br />The first line of the script " +"must be "#!/bin/sh" without quotes.<br />Lines beginning with # are " +"comments and are not executed.<br />Put your custom mwan3 action here, they " +"will<br />be executed with each netifd hotplug interface event<br />on " +"interfaces for which mwan3 is enabled.<br /><br />There are three main " +"environment variables that are passed to this script.<br /><br />$ACTION " +"Either \"ifup\" or \"ifdown\"<br />$INTERFACE Name of the interface which " +"went up or down (e.g. \"wan\" or \"wwan\")<br />$DEVICE Physical device name " +"which interface went up or down (e.g. \"eth0\" or \"wwan0\")<br /><br />" +msgstr "" +"このセクションでは、 \"/etc/mwan3.user\" の内容を変更することができます。" +"<br />このファイルは、 sysupgrade 時に保持されます。<br /><br />注意: <br />" +"このファイルは、シェルスクリプトとして解釈されます。<br />スクリプトの1行目" +"は、"#!bin/sh" である必要があります(クォーテーション不要)。<br /># " +"で始まる行はコメントであり、実行されません。<br />mwan3 のカスタム動作をここ" +"に入力してください。これらは、 mwan3 が有効なインターフェースの<br />netifd " +"ホットプラグ インターフェース イベント毎に実行されます。<br /><br />主に3つの" +"環境変数が利用可能です。<br /><br />$ACTION - \"ifup\" および \"ifdown\"<br /" +">$INTERFACE - Up または Down が行われたインターフェース名(例: \"wan\" や " +"\"wwan\")<br />$DEVICE - Up または Down が行われた物理デバイス名(例: " +"\"eth0\" や \"wwan0\")<br /><br />" + msgid "This section allows you to modify the contents of /etc/config/mwan3" msgstr "" "このセクションでは、 /etc/config/mwan3 の内容を変更することができます。" @@ -455,32 +480,15 @@ msgid "This section allows you to modify the contents of /etc/config/wireless" msgstr "" "このセクションでは、 /etc/config/wireless の内容を変更することができます。" -msgid "" -"This section allows you to modify the contents of /etc/hotplug.d/iface/16-" -"mwancustom<br />This is useful for running system commands and/or scripts " -"based on interface ifup or ifdown hotplug events<br /><br />Notes:<br />The " -"first line of the script must be "#!/bin/sh" without quotes<br /" -">Lines beginning with # are comments and are not executed<br /><br /" -">Available variables:<br />$ACTION is the hotplug event (ifup, ifdown)<br />" -"$INTERFACE is the interface name (wan1, wan2, etc.)<br />$DEVICE is the " -"device name attached to the interface (eth0.1, eth1, etc.)" -msgstr "" -"このセクションでは、 /etc/hotplug.d/iface/16-mwancustom の内容を変更すること" -"ができます。<br />これは、インターフェースの ifup または ifdown ホットプラグ " -"イベント時にシステムコマンドまたはスクリプト、もしくはその両方を実行すること" -"に役立ちます。<br /><br />注意:<br />スクリプトの1行目は、"#!bin/sh" " -"である必要があります(クオーテーション不要)。<br /># で始まる行はコメントと" -"して認識され、実行されません。<br /><br />利用可能な変数:<br />$ACTION - ホッ" -"トプラグ イベント (ifup, ifdown)<br />$INTERFACE - インターフェース名(wan1, " -"wan2, その他)<br />$DEVICE - インターフェースにアタッチされたデバイスの名前" -"(eth0.1, eth1, その他)" - msgid "Tracking IP" msgstr "追跡 IP" msgid "Tracking hostname or IP address" msgstr "追跡ホスト名または IP アドレス" +msgid "Tracking method" +msgstr "追跡方式" + msgid "Tracking reliability" msgstr "追跡の信頼性" @@ -505,6 +513,8 @@ msgid "" "Use the IP address of this interface as source IP address for traffic " "initiated by the router itself" msgstr "" +"ルーター自身によって発生するトラフィックのアクセス元 IP アドレスとして、この" +"インターフェースの IP アドレスが使用されます。" msgid "View the contents of /etc/protocols for protocol descriptions" msgstr "プロトコルの説明については、 /etc/protocols の内容を確認してください。" @@ -653,10 +663,3 @@ msgstr "停止" msgid "unreachable (reject)" msgstr "unreachable (reject)" - -#~ msgid "" -#~ "This IP address will be pinged to dermine if the link is up or down. " -#~ "Leave blank to assume interface is always online" -#~ msgstr "" -#~ "これらは、リンクの Up または Down を判定するために Ping が送信されるIP ア" -#~ "ドレスです。常にオンラインとする場合、空欄のままにします。" diff --git a/applications/luci-app-mwan3/po/templates/mwan3.pot b/applications/luci-app-mwan3/po/templates/mwan3.pot index 9e17c3d04..e63d8adc2 100644 --- a/applications/luci-app-mwan3/po/templates/mwan3.pot +++ b/applications/luci-app-mwan3/po/templates/mwan3.pot @@ -73,6 +73,9 @@ msgstr "" msgid "Enabled" msgstr "" +msgid "Enter value in hex, starting with <code>0x</code>" +msgstr "" + msgid "Error collecting troubleshooting information" msgstr "" @@ -85,6 +88,9 @@ msgstr "" msgid "Failure interval" msgstr "" +msgid "Firewall mask" +msgstr "" + msgid "Flush conntrack table" msgstr "" @@ -330,12 +336,6 @@ msgstr "" msgid "Restart MWAN" msgstr "" -msgid "Restore default hotplug script" -msgstr "" - -msgid "Restore..." -msgstr "" - msgid "Rule" msgstr "" @@ -389,6 +389,20 @@ msgid "" "down. Leave blank to assume interface is always online" msgstr "" +msgid "" +"This section allows you to modify the content of \"/etc/mwan3.user\".<br /" +">The file is also preserved during sysupgrade.<br /><br />Notes:<br />This " +"file is interpreted as a shell script.<br />The first line of the script " +"must be "#!/bin/sh" without quotes.<br />Lines beginning with # are " +"comments and are not executed.<br />Put your custom mwan3 action here, they " +"will<br />be executed with each netifd hotplug interface event<br />on " +"interfaces for which mwan3 is enabled.<br /><br />There are three main " +"environment variables that are passed to this script.<br /><br />$ACTION " +"Either \"ifup\" or \"ifdown\"<br />$INTERFACE Name of the interface which " +"went up or down (e.g. \"wan\" or \"wwan\")<br />$DEVICE Physical device name " +"which interface went up or down (e.g. \"eth0\" or \"wwan0\")<br /><br />" +msgstr "" + msgid "This section allows you to modify the contents of /etc/config/mwan3" msgstr "" @@ -398,17 +412,6 @@ msgstr "" msgid "This section allows you to modify the contents of /etc/config/wireless" msgstr "" -msgid "" -"This section allows you to modify the contents of /etc/hotplug.d/iface/16-" -"mwancustom<br />This is useful for running system commands and/or scripts " -"based on interface ifup or ifdown hotplug events<br /><br />Notes:<br />The " -"first line of the script must be "#!/bin/sh" without quotes<br /" -">Lines beginning with # are comments and are not executed<br /><br /" -">Available variables:<br />$ACTION is the hotplug event (ifup, ifdown)<br />" -"$INTERFACE is the interface name (wan1, wan2, etc.)<br />$DEVICE is the " -"device name attached to the interface (eth0.1, eth1, etc.)" -msgstr "" - msgid "Tracking IP" msgstr "" diff --git a/applications/luci-app-mwan3/po/zh-cn/mwan3.po b/applications/luci-app-mwan3/po/zh-cn/mwan3.po index 3c505d847..b133e8b1d 100644 --- a/applications/luci-app-mwan3/po/zh-cn/mwan3.po +++ b/applications/luci-app-mwan3/po/zh-cn/mwan3.po @@ -76,6 +76,9 @@ msgstr "当 Ping 成功次数达到这个数值后,已经被认为离线的接 msgid "Enabled" msgstr "启用" +msgid "Enter value in hex, starting with <code>0x</code>" +msgstr "" + msgid "Error collecting troubleshooting information" msgstr "收集故障排除信息时出错" @@ -88,6 +91,9 @@ msgstr "" msgid "Failure interval" msgstr "故障检测间隔" +msgid "Firewall mask" +msgstr "" + msgid "Flush conntrack table" msgstr "刷新连接跟踪表" @@ -350,12 +356,6 @@ msgstr "故障恢复间隔" msgid "Restart MWAN" msgstr "重启 MWAN" -msgid "Restore default hotplug script" -msgstr "恢复默认的 hotplug 脚本" - -msgid "Restore..." -msgstr "恢复..." - msgid "Rule" msgstr "规则" @@ -416,6 +416,20 @@ msgid "" "down. Leave blank to assume interface is always online" msgstr "通过 ping 此主机或 IP 地址来确定链路是否在线。留空则认为接口始终在线" +msgid "" +"This section allows you to modify the content of \"/etc/mwan3.user\".<br /" +">The file is also preserved during sysupgrade.<br /><br />Notes:<br />This " +"file is interpreted as a shell script.<br />The first line of the script " +"must be "#!/bin/sh" without quotes.<br />Lines beginning with # are " +"comments and are not executed.<br />Put your custom mwan3 action here, they " +"will<br />be executed with each netifd hotplug interface event<br />on " +"interfaces for which mwan3 is enabled.<br /><br />There are three main " +"environment variables that are passed to this script.<br /><br />$ACTION " +"Either \"ifup\" or \"ifdown\"<br />$INTERFACE Name of the interface which " +"went up or down (e.g. \"wan\" or \"wwan\")<br />$DEVICE Physical device name " +"which interface went up or down (e.g. \"eth0\" or \"wwan0\")<br /><br />" +msgstr "" + msgid "This section allows you to modify the contents of /etc/config/mwan3" msgstr "这里允许你修改 /etc/config/mwan3 的内容" @@ -425,29 +439,15 @@ msgstr "这里允许你修改 /etc/config/network 的内容" msgid "This section allows you to modify the contents of /etc/config/wireless" msgstr "这里允许你修改 /etc/config/wireless 的内容" -msgid "" -"This section allows you to modify the contents of /etc/hotplug.d/iface/16-" -"mwancustom<br />This is useful for running system commands and/or scripts " -"based on interface ifup or ifdown hotplug events<br /><br />Notes:<br />The " -"first line of the script must be "#!/bin/sh" without quotes<br /" -">Lines beginning with # are comments and are not executed<br /><br /" -">Available variables:<br />$ACTION is the hotplug event (ifup, ifdown)<br />" -"$INTERFACE is the interface name (wan1, wan2, etc.)<br />$DEVICE is the " -"device name attached to the interface (eth0.1, eth1, etc.)" -msgstr "" -"这里允许你修改 /etc/hotplug.d/iface/16-mwancustom 的内容<br />这可以在接口 " -"ifup 或 ifdown Hotplug 事件时运行系统命令或脚本<br /><br />注意:<br />脚本的" -"第一行必须是 "#!/bin/sh" 不含引号<br />以#开头的行是注释,不会执行" -"<br /><br />可用变量:<br />$ACTION 是 Hotplug 事件(ifup, ifdown)<br />" -"$INTERFACE 是接口名称(wan1、wan2 等)<br />$DEVICE 是连接到接口的设备名称 " -"(eth0.1、eth1 等)" - msgid "Tracking IP" msgstr "追踪的 IP" msgid "Tracking hostname or IP address" msgstr "追踪的主机或 IP 地址" +msgid "Tracking method" +msgstr "" + msgid "Tracking reliability" msgstr "追踪可靠性" @@ -590,3 +590,26 @@ msgstr "" msgid "unreachable (reject)" msgstr "不可达(拒绝)" + +#~ msgid "Restore default hotplug script" +#~ msgstr "恢复默认的 hotplug 脚本" + +#~ msgid "Restore..." +#~ msgstr "恢复..." + +#~ msgid "" +#~ "This section allows you to modify the contents of /etc/hotplug.d/iface/16-" +#~ "mwancustom<br />This is useful for running system commands and/or scripts " +#~ "based on interface ifup or ifdown hotplug events<br /><br />Notes:<br /" +#~ ">The first line of the script must be "#!/bin/sh" without " +#~ "quotes<br />Lines beginning with # are comments and are not executed<br /" +#~ "><br />Available variables:<br />$ACTION is the hotplug event (ifup, " +#~ "ifdown)<br />$INTERFACE is the interface name (wan1, wan2, etc.)<br />" +#~ "$DEVICE is the device name attached to the interface (eth0.1, eth1, etc.)" +#~ msgstr "" +#~ "这里允许你修改 /etc/hotplug.d/iface/16-mwancustom 的内容<br />这可以在接" +#~ "口 ifup 或 ifdown Hotplug 事件时运行系统命令或脚本<br /><br />注意:<br />" +#~ "脚本的第一行必须是 "#!/bin/sh" 不含引号<br />以#开头的行是注释," +#~ "不会执行<br /><br />可用变量:<br />$ACTION 是 Hotplug 事件(ifup, ifdown)" +#~ "<br />$INTERFACE 是接口名称(wan1、wan2 等)<br />$DEVICE 是连接到接口的设" +#~ "备名称 (eth0.1、eth1 等)" 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 509a69436..50c65ad67 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/po/sv/openvpn.po b/applications/luci-app-openvpn/po/sv/openvpn.po index 6b8f92f4c..c03e1495c 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-samba/po/it/samba.po b/applications/luci-app-samba/po/it/samba.po index 8e5b062a0..872590203 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-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua b/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua index 5df59cb0a..4a01bed24 100644 --- a/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua +++ b/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua @@ -9,23 +9,28 @@ m = Map("shadowsocks-libev", translate("Redir Rules"), translate("On this page you can configure how traffics are to be \ forwarded to ss-redir instances. \ - If enabled, packets will first have their source ip addresses checked \ - against <em>Src ip bypass</em>, <em>Src ip forward</em>, \ - <em>Src ip checkdst</em> and if none matches <em>Src default</em> \ + If enabled, packets will first have their src ip addresses checked \ + against <em>Src ip/net bypass</em>, <em>Src ip/net forward</em>, \ + <em>Src ip/net checkdst</em> and if none matches <em>Src default</em> \ will give the default action to be taken. \ If the prior check results in action <em>checkdst</em>, packets will continue \ - to have their destination addresses checked.")) + to have their dst addresses checked.")) local sdata = m:get('ss_rules') if not sdata then m:set('ss_rules', nil, 'ss_rules') - m:set('ss_rules', 'ss_rules', 'disabled', true) + m:set('ss_rules', 'disabled', "1") +end + +function src_dst_option(s, ...) + local o = s:taboption(...) + o.datatype = "or(ip4addr,cidr4)" end s = m:section(NamedSection, "ss_rules", "ss_rules") s:tab("general", translate("General Settings")) -s:tab("srcip", translate("Source Settings")) -s:tab("dstip", translate("Destination Settings")) +s:tab("src", translate("Source Settings")) +s:tab("dst", translate("Destination Settings")) s:taboption('general', Flag, "disabled", translate("Disable")) ss.option_install_package(s, 'general') @@ -39,40 +44,66 @@ ss.values_redir(o, 'udp') o = s:taboption('general', ListValue, "local_default", translate("Local-out default"), - translate("Default action for locally generated packets")) + translate("Default action for locally generated TCP packets")) ss.values_actions(o) +o = s:taboption('general', DynamicList, "ifnames", + translate("Ingress interfaces"), + translate("Only apply rules on packets from these network interfaces")) +ss.values_ifnames(o) s:taboption('general', Value, "ipt_args", translate("Extra arguments"), translate("Passes additional arguments to iptables. Use with care!")) -s:taboption('srcip', DynamicList, "src_ips_bypass", - translate("Src ip bypass"), - translate("Bypass redir action for packets with source addresses in this list")) -s:taboption('srcip', DynamicList, "src_ips_forward", - translate("Src ip forward"), - translate("Go through redir action for packets with source addresses in this list")) -s:taboption('srcip', DynamicList, "src_ips_checkdst", - translate("Src ip checkdst"), - translate("Continue to have dst address checked for packets with source addresses in this list")) -o = s:taboption('srcip', ListValue, "src_default", +src_dst_option(s, 'src', DynamicList, "src_ips_bypass", + translate("Src ip/net bypass"), + translate("Bypass ss-redir for packets with src address in this list")) +src_dst_option(s, 'src', DynamicList, "src_ips_forward", + translate("Src ip/net forward"), + translate("Forward through ss-redir for packets with src address in this list")) +src_dst_option(s, 'src', DynamicList, "src_ips_checkdst", + translate("Src ip/net checkdst"), + translate("Continue to have dst address checked for packets with src address in this list")) +o = s:taboption('src', ListValue, "src_default", translate("Src default"), - translate("Default action for packets whose source addresses do not match any of the source ip list")) + translate("Default action for packets whose src address do not match any of the src ip/net list")) ss.values_actions(o) -s:taboption('dstip', DynamicList, "dst_ips_bypass", - translate("Dst ip bypass"), - translate("Bypass redir action for packets with destination addresses in this list")) -s:taboption('dstip', DynamicList, "dst_ips_forward", - translate("Dst ip forward"), - translate("Go through redir action for packets with destination addresses in this list")) +src_dst_option(s, 'dst', DynamicList, "dst_ips_bypass", + translate("Dst ip/net bypass"), + translate("Bypass ss-redir for packets with dst address in this list")) +src_dst_option(s, 'dst', DynamicList, "dst_ips_forward", + translate("Dst ip/net forward"), + translate("Forward through ss-redir for packets with dst address in this list")) -o = s:taboption('dstip', FileBrowser, "dst_ips_bypass_file", - translate("Dst ip bypass file"), - translate("File containing ip addresses for the purposes as with <em>Dst ip bypass</em>")) +o = s:taboption('dst', FileBrowser, "dst_ips_bypass_file", + translate("Dst ip/net bypass file"), + translate("File containing ip/net for the purposes as with <em>Dst ip/net bypass</em>")) o.datatype = "file" -s:taboption('dstip', FileBrowser, "dst_ips_forward_file", - translate("Dst ip forward file"), - translate("File containing ip addresses for the purposes as with <em>Dst ip forward</em>")) +s:taboption('dst', FileBrowser, "dst_ips_forward_file", + translate("Dst ip/net forward file"), + translate("File containing ip/net for the purposes as with <em>Dst ip/net forward</em>")) o.datatype = "file" +o = s:taboption('dst', ListValue, "dst_default", + translate("Dst default"), + translate("Default action for packets whose dst address do not match any of the dst ip list")) +ss.values_actions(o) + +local installed = os.execute("iptables -m recent -h &>/dev/null") == 0 +if installed then + o = s:taboption('dst', Flag, "dst_forward_recentrst") +else + m:set('ss_rules', 'dst_forward_recentrst', "0") + o = s:taboption("dst", Button, "_install") + o.inputtitle = translate("Install package iptables-mod-conntrack-extra") + o.inputstyle = "apply" + o.write = function() + return luci.http.redirect( + luci.dispatcher.build_url("admin/system/packages") .. + "?submit=1&install=iptables-mod-conntrack-extra" + ) + end +end +o.title = translate("Forward recentrst") +o.description = translate("Forward those packets whose dst have recently sent to us multiple tcp-rst") return m diff --git a/applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua b/applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua index 6608ee8d3..7ba6b40c5 100644 --- a/applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua +++ b/applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua @@ -3,6 +3,7 @@ local _up = getfenv(3) local ut = require("luci.util") +local sys = require("luci.sys") local ds = require("luci.dispatcher") local nw = require("luci.model.network") nw.init() @@ -14,20 +15,25 @@ module("luci.model.shadowsocks-libev", function(m) end) function values_actions(o) - for _, a in ipairs(actions) do - o:value(a) + o:value("bypass") + o:value("forward") + if o.option ~= "dst_default" then + o:value("checkdst") end end function values_redir(o, xmode) o.map.uci.foreach("shadowsocks-libev", "ss_redir", function(sdata) + local disabled = ucival_to_bool(sdata["disabled"]) local sname = sdata[".name"] local mode = sdata["mode"] or "tcp_only" - if mode and mode:find(xmode) then + if not disabled and mode:find(xmode) then local desc = "%s - %s" % {sname, mode} o:value(sname, desc) end end) + o:value("", "<unset>") + o.default = "" end function values_serverlist(o) @@ -43,7 +49,6 @@ function values_serverlist(o) end function values_ipaddr(o) - local keys, vals = {}, {} for _, v in ipairs(nw:get_interfaces()) do for _, a in ipairs(v:ipaddrs()) do o:value(a:host():string(), '%s (%s)' %{ a:host(), v:shortname() }) @@ -51,6 +56,12 @@ function values_ipaddr(o) end end +function values_ifnames(o) + for _, v in ipairs(sys.net.devices()) do + o:value(v) + end +end + function options_client(s, tab) local o @@ -226,17 +237,13 @@ modes = { "udp_only", } -actions = { - "bypass", - "forward", - "checkdst", -} - methods = { -- aead "aes-128-gcm", "aes-192-gcm", "aes-256-gcm", + "chacha20-ietf-poly1305", + "xchacha20-ietf-poly1305", -- stream "table", "rc4", diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua index add52317b..27971dfda 100644 --- a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua +++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua @@ -163,24 +163,25 @@ e = m:section(NamedSection, "global", "travelmate", translate("Extra options"), translate("Options for further tweaking in case the defaults are not suitable for you.")) e1 = e:option(Value, "trm_radio", translate("Radio selection"), - translate("Restrict travelmate to a dedicated radio, e.g. 'radio0'")) + translate("Restrict travelmate to a dedicated radio, e.g. 'radio0'.")) e1.datatype = "and(uciname,rangelength(6,6))" e1.rmempty = true e2 = e:option(Value, "trm_maxretry", translate("Connection Limit"), - translate("How many times should travelmate try to connect to an Uplink")) + translate("How many times should travelmate try to connect to an Uplink. ") + .. translate("To disable this feature set it to '0' which means unlimited retries.")) e2.default = 3 -e2.datatype = "range(1,10)" +e2.datatype = "range(0,30)" e2.rmempty = false e3 = e:option(Value, "trm_maxwait", translate("Interface Timeout"), - translate("How long should travelmate wait for a successful wlan interface reload")) + translate("How long should travelmate wait for a successful wlan interface reload.")) e3.default = 30 e3.datatype = "range(5,60)" e3.rmempty = false e4 = e:option(Value, "trm_timeout", translate("Overall Timeout"), - translate("Timeout in seconds between retries in 'automatic' mode")) + translate("Timeout in seconds between retries in 'automatic' mode.")) e4.default = 60 e4.datatype = "range(60,300)" e4.rmempty = false diff --git a/applications/luci-app-travelmate/po/ja/travelmate.po b/applications/luci-app-travelmate/po/ja/travelmate.po index 70561533d..febdbd583 100644 --- a/applications/luci-app-travelmate/po/ja/travelmate.po +++ b/applications/luci-app-travelmate/po/ja/travelmate.po @@ -107,12 +107,12 @@ msgstr "" "詳細な情報は <a href=\"%s\" target=\"_blank\">オンライン ドキュメント</a> を" "確認してください。" -msgid "How long should travelmate wait for a successful wlan interface reload" +msgid "How long should travelmate wait for a successful wlan interface reload." msgstr "" "無線LAN インターフェースのリロードが成功するまでの、Travelmate の待機時間で" "す。" -msgid "How many times should travelmate try to connect to an Uplink" +msgid "How many times should travelmate try to connect to an Uplink." msgstr "Travelmate がアップリンクへの接続を試行する回数です。" msgid "Input file not found, please check your configuration." @@ -188,8 +188,8 @@ msgstr "再スキャン" msgid "Rescan" msgstr "再スキャン" -msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'" -msgstr "Travelmate が指定された無線に接続するよう制限します。例: 'radio0'" +msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'." +msgstr "Travelmate が指定された無線に接続するよう制御します。(例: 'radio0')" msgid "Runtime information" msgstr "実行情報" @@ -256,9 +256,13 @@ msgstr "" "このフォームには、システムログ内の Travelmate に関するメッセージのみが表示さ" "れます。" -msgid "Timeout in seconds between retries in 'automatic' mode" +msgid "Timeout in seconds between retries in 'automatic' mode." msgstr "'automatic' モード時に接続を確認または再試行する間隔(秒)です。" +msgid "To disable this feature set it to '0' which means unlimited retries." +msgstr "" +"この機能を無効にして接続の再試行を無制限にする場合、 '0' を設定します。" + msgid "Travelmate" msgstr "Travelmate" diff --git a/applications/luci-app-travelmate/po/pt-br/travelmate.po b/applications/luci-app-travelmate/po/pt-br/travelmate.po index 282dda8da..41fab7014 100644 --- a/applications/luci-app-travelmate/po/pt-br/travelmate.po +++ b/applications/luci-app-travelmate/po/pt-br/travelmate.po @@ -102,10 +102,10 @@ msgid "" "documentation</a>" msgstr "" -msgid "How long should travelmate wait for a successful wlan interface reload" +msgid "How long should travelmate wait for a successful wlan interface reload." msgstr "" -msgid "How many times should travelmate try to connect to an Uplink" +msgid "How many times should travelmate try to connect to an Uplink." msgstr "" msgid "Input file not found, please check your configuration." @@ -173,7 +173,7 @@ msgstr "" msgid "Rescan" msgstr "" -msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'" +msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'." msgstr "" msgid "Runtime information" @@ -231,7 +231,10 @@ msgid "" "messages only." msgstr "" -msgid "Timeout in seconds between retries in 'automatic' mode" +msgid "Timeout in seconds between retries in 'automatic' mode." +msgstr "" + +msgid "To disable this feature set it to '0' which means unlimited retries." msgstr "" msgid "Travelmate" diff --git a/applications/luci-app-travelmate/po/templates/travelmate.pot b/applications/luci-app-travelmate/po/templates/travelmate.pot index 219005568..a9ceafe23 100644 --- a/applications/luci-app-travelmate/po/templates/travelmate.pot +++ b/applications/luci-app-travelmate/po/templates/travelmate.pot @@ -91,10 +91,10 @@ msgid "" "documentation</a>" msgstr "" -msgid "How long should travelmate wait for a successful wlan interface reload" +msgid "How long should travelmate wait for a successful wlan interface reload." msgstr "" -msgid "How many times should travelmate try to connect to an Uplink" +msgid "How many times should travelmate try to connect to an Uplink." msgstr "" msgid "Input file not found, please check your configuration." @@ -162,7 +162,7 @@ msgstr "" msgid "Rescan" msgstr "" -msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'" +msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'." msgstr "" msgid "Runtime information" @@ -220,7 +220,10 @@ msgid "" "messages only." msgstr "" -msgid "Timeout in seconds between retries in 'automatic' mode" +msgid "Timeout in seconds between retries in 'automatic' mode." +msgstr "" + +msgid "To disable this feature set it to '0' which means unlimited retries." msgstr "" msgid "Travelmate" diff --git a/applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua b/applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua index 03821ad9b..883e1bb63 100644 --- a/applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua +++ b/applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua @@ -202,14 +202,17 @@ o = ucs:taboption("advanced", Value, "max_requests", translate("Maximum number o o.optional = true o.datatype = "uinteger" -local s = m:section(NamedSection, "px5g", "cert", translate("uHTTPd Self-signed Certificate Parameters")) +local s = m:section(TypedSection, "cert", translate("uHTTPd Self-signed Certificate Parameters")) + +s.template = "cbi/tsection" +s.anonymous = true o = s:option(Value, "days", translate("Valid for # of Days")) o.default = 730 o.datatype = "uinteger" o = s:option(Value, "bits", translate("Length of key in bits")) -o.default = 1024 +o.default = 2048 o.datatype = "min(1024)" o = s:option(Value, "commonname", translate("Server Hostname"), translate("a.k.a CommonName")) @@ -222,6 +225,6 @@ o = s:option(Value, "state", translate("State")) o.default = "Unknown" o = s:option(Value, "location", translate("Location")) -o.default = "Somewhere" +o.default = "Unknown" return m diff --git a/applications/luci-app-unbound/luasrc/controller/unbound.lua b/applications/luci-app-unbound/luasrc/controller/unbound.lua index 0a5abc5a5..b44bf038e 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 bfaacb40b..000000000 --- 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 000000000..cdf7757e3 --- /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 000000000..67d2ec6c6 --- /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 000000000..5cfb9c32c --- /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 000000000..d0ac40784 --- /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 000000000..44d09378c --- /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 000000000..87d6cc68c --- /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 000000000..c0a7d133d --- /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 cc714ac53..c2ac8c93b 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 000000000..18a9dce23 --- /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 1aa68e251..3422ae91e 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 bf23eb8ce..d0c35f497 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" |