Merge pull request #1365 from psyborg55/master
authorJo-Philipp Wich <jo@mein.io>
Fri, 20 Oct 2017 08:22:52 +0000 (10:22 +0200)
committerGitHub <noreply@github.com>
Fri, 20 Oct 2017 08:22:52 +0000 (10:22 +0200)
luci-mod-admin-full: add fontsize style parameter

97 files changed:
applications/luci-app-adblock/po/it/adblock.po [new file with mode: 0644]
applications/luci-app-adblock/po/pt-br/adblock.po
applications/luci-app-adblock/po/sv/adblock.po
applications/luci-app-adblock/po/zh-cn/adblock.po
applications/luci-app-advanced-reboot/po/sv/luci-app-advanced-reboot.po
applications/luci-app-aria2/po/zh-cn/aria2.po
applications/luci-app-ddns/po/it/ddns.po
applications/luci-app-diag-devinfo/po/sv/diag_devinfo.po
applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua
applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua
applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua [new file with mode: 0644]
applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua
applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po
applications/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot
applications/luci-app-fwknopd/root/etc/uci-defaults/40_luci-fwknopd
applications/luci-app-fwknopd/root/usr/sbin/gen-qr.sh
applications/luci-app-noddos/Makefile [new file with mode: 0644]
applications/luci-app-noddos/htdocs/cgi-bin/clientdetails [new file with mode: 0755]
applications/luci-app-noddos/luasrc/controller/noddos.lua [new file with mode: 0644]
applications/luci-app-noddos/luasrc/model/cbi/noddos.lua [new file with mode: 0644]
applications/luci-app-noddos/luasrc/view/noddos/clients.htm [new file with mode: 0644]
applications/luci-app-noddos/po/ja/noddos.po [new file with mode: 0644]
applications/luci-app-noddos/po/templates/noddos.pot [new file with mode: 0644]
applications/luci-app-noddos/root/etc/uci-defaults/40_luci-noddos [new file with mode: 0644]
applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua
applications/luci-app-openvpn/po/ca/openvpn.po
applications/luci-app-openvpn/po/cs/openvpn.po
applications/luci-app-openvpn/po/de/openvpn.po
applications/luci-app-openvpn/po/el/openvpn.po
applications/luci-app-openvpn/po/en/openvpn.po
applications/luci-app-openvpn/po/es/openvpn.po
applications/luci-app-openvpn/po/fr/openvpn.po
applications/luci-app-openvpn/po/he/openvpn.po
applications/luci-app-openvpn/po/hu/openvpn.po
applications/luci-app-openvpn/po/it/openvpn.po
applications/luci-app-openvpn/po/ja/openvpn.po
applications/luci-app-openvpn/po/ms/openvpn.po
applications/luci-app-openvpn/po/no/openvpn.po
applications/luci-app-openvpn/po/pl/openvpn.po
applications/luci-app-openvpn/po/pt-br/openvpn.po
applications/luci-app-openvpn/po/pt/openvpn.po
applications/luci-app-openvpn/po/ro/openvpn.po
applications/luci-app-openvpn/po/ru/openvpn.po
applications/luci-app-openvpn/po/sk/openvpn.po
applications/luci-app-openvpn/po/sv/openvpn.po
applications/luci-app-openvpn/po/templates/openvpn.pot
applications/luci-app-openvpn/po/tr/openvpn.po
applications/luci-app-openvpn/po/uk/openvpn.po
applications/luci-app-openvpn/po/vi/openvpn.po
applications/luci-app-openvpn/po/zh-cn/openvpn.po
applications/luci-app-openvpn/po/zh-tw/openvpn.po
applications/luci-app-p2pblock/po/pt-br/p2pblock.po
applications/luci-app-radicale/po/pt-br/radicale.po
applications/luci-app-simple-adblock/po/sv/simple-adblock.po [new file with mode: 0644]
applications/luci-app-splash/po/sv/splash.po
applications/luci-app-unbound/luasrc/controller/unbound.lua
applications/luci-app-unbound/luasrc/model/cbi/unbound.lua [deleted file]
applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua [new file with mode: 0644]
applications/luci-app-unbound/luasrc/model/cbi/unbound/extended.lua [new file with mode: 0644]
applications/luci-app-unbound/luasrc/model/cbi/unbound/manual.lua [new file with mode: 0644]
applications/luci-app-unbound/luasrc/model/cbi/unbound/server.lua [new file with mode: 0644]
applications/luci-app-unbound/luasrc/view/unbound/css-editing.htm [new file with mode: 0644]
applications/luci-app-unbound/luasrc/view/unbound/show-empty.htm [new file with mode: 0644]
applications/luci-app-unbound/luasrc/view/unbound/show-textbox.htm [new file with mode: 0644]
applications/luci-app-unbound/root/etc/uci-defaults/60_luci-unbound
modules/luci-base/Makefile
modules/luci-base/luasrc/model/firewall.lua
modules/luci-base/luasrc/view/cbi/firewall_zoneforwards.htm
modules/luci-base/po/ca/base.po
modules/luci-base/po/cs/base.po
modules/luci-base/po/de/base.po
modules/luci-base/po/el/base.po
modules/luci-base/po/en/base.po
modules/luci-base/po/es/base.po
modules/luci-base/po/fr/base.po
modules/luci-base/po/he/base.po
modules/luci-base/po/hu/base.po
modules/luci-base/po/it/base.po
modules/luci-base/po/ja/base.po
modules/luci-base/po/ko/base.po
modules/luci-base/po/ms/base.po
modules/luci-base/po/no/base.po
modules/luci-base/po/pl/base.po
modules/luci-base/po/pt-br/base.po
modules/luci-base/po/pt/base.po
modules/luci-base/po/ro/base.po
modules/luci-base/po/ru/base.po
modules/luci-base/po/sk/base.po
modules/luci-base/po/sv/base.po
modules/luci-base/po/templates/base.pot
modules/luci-base/po/tr/base.po
modules/luci-base/po/uk/base.po
modules/luci-base/po/vi/base.po
modules/luci-base/po/zh-cn/base.po
modules/luci-base/po/zh-tw/base.po
modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua
protocols/luci-proto-vpnc/luasrc/model/cbi/admin_network/proto_vpnc.lua

diff --git a/applications/luci-app-adblock/po/it/adblock.po b/applications/luci-app-adblock/po/it/adblock.po
new file mode 100644 (file)
index 0000000..1901228
--- /dev/null
@@ -0,0 +1,337 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 17/09/2017\n"
+"Last-Translator: Bubu83 <bubu83@gmail.com>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.3\n"
+"Language: it\n"
+
+msgid "-------"
+msgstr ""
+
+msgid "Adblock"
+msgstr "Adblock"
+
+msgid "Adblock Logfile"
+msgstr "Registro Adblock"
+
+msgid "Adblock Status"
+msgstr "Status Adblock"
+
+msgid "Adblock Version"
+msgstr "Versione Adblock"
+
+msgid "Additional trigger delay in seconds before adblock processing begins."
+msgstr "Tempo addizionale in secondi di attesa prima che adblock si avvii."
+
+msgid "Advanced"
+msgstr "Avanzato"
+
+msgid "Available blocklist sources."
+msgstr "Fonti lista di blocco disponibili."
+
+msgid "Backup Directory"
+msgstr "Directory del Backup"
+
+msgid "Blocklist Sources"
+msgstr "Fonti lista di Blocco"
+
+msgid ""
+"Caution: Please don't select big lists or many lists at once on low memory "
+"devices to prevent OOM exceptions!"
+msgstr ""
+"Attenzione: Per favore non selezionare grandi liste o molte liste alla volta "
+"su dispositivi con poca memoria per prevenire errori OOM!"
+
+msgid ""
+"Choose 'none' to disable automatic startups, 'timed' to use a classic "
+"timeout (default 30 sec.) or select another trigger interface."
+msgstr ""
+"Scegli 'none' per disabilitare l'avvio automatico, 'timed' per usare un "
+"classico timeout (default 30 sec.) o seleziona un'altra interfaccia di avvio."
+
+msgid "Collecting data..."
+msgstr "Raccogliendo dati..."
+
+msgid ""
+"Configuration of the adblock package to block ad/abuse domains by using DNS."
+msgstr ""
+"Configurazione del pacchetto adblock per bloccare domini pubblicità/abuso "
+"usando i DNS."
+
+msgid ""
+"Create compressed blocklist backups, they will be used in case of download "
+"errors or during startup in manual mode."
+msgstr ""
+"Crea i backup compressi delle liste di blocco, saranno usati in caso di "
+"errori di download o durante l'avvio in modalità manuale."
+
+msgid "DNS Backend (DNS Directory)"
+msgstr ""
+
+msgid "DNS Directory"
+msgstr "Directory DNS"
+
+msgid "Description"
+msgstr "Descrizione"
+
+msgid ""
+"Do not automatically update blocklists during startup, use blocklist backups "
+"instead."
+msgstr ""
+"Non aggiornare automaticamente le liste durante l'avvio, usa invece i backup "
+"della lista di blocco."
+
+msgid "Download Utility (SSL Library)"
+msgstr ""
+
+msgid "Edit Blacklist"
+msgstr "Modifica Lista Nera"
+
+msgid "Edit Configuration"
+msgstr "Modifica Configurazione"
+
+msgid "Edit Whitelist"
+msgstr "Modifica Lista Bianca"
+
+msgid "Enable Adblock"
+msgstr "Attiva Adblock"
+
+msgid "Enable Blocklist Backup"
+msgstr "Attiva Backup Lista di Blocco"
+
+msgid ""
+"Enable memory intense overall sort / duplicate removal on low memory devices "
+"(&lt; 64 MB RAM)"
+msgstr ""
+"Attiva l'ordinamento globale / rimozione duplicati stressante per la memoria "
+"su dispositivi con poca memoria (&lt; 64 MB RAM)"
+
+msgid "Enable verbose debug logging in case of any processing error."
+msgstr ""
+"Abilita il registro dettagliato in caso di qualsiasi errore di processo."
+
+msgid "Enabled"
+msgstr "Abilitato"
+
+msgid "Extra Options"
+msgstr "Opzioni Extra"
+
+msgid ""
+"For SSL protected blocklist sources you need a suitable SSL library, e.g. "
+"'libustream-ssl' or the wget 'built-in'."
+msgstr ""
+"Per le fonti delle liste protette da SSL hai bisogno di una libreria SSL "
+"adatta, p.e. 'libustream-ssl' o wget 'built-in'."
+
+msgid ""
+"For further information <a href=\"%s\" target=\"_blank\">see online "
+"documentation</a>"
+msgstr ""
+"Per ulteriori informazioni <a href=\"%s\" target=\"_blank\">vedi "
+"documentazione online</a>"
+
+msgid "Force Local DNS"
+msgstr "Forza DNS Locale"
+
+msgid "Force Overall Sort"
+msgstr "Forza Ordinamento Globale"
+
+msgid ""
+"In OPKG use the '--force-maintainer' option to overwrite the pre-existing "
+"config file or download a fresh default config from <a href=\"%s\" target="
+"\"_blank\">here</a>"
+msgstr ""
+"In OPKG usa l'opzione '--force-maintainer' per sovrascrivere il pre-"
+"esistente file di configurazione o scarica una nuova configurazione di "
+"default da <a href=\"%s\" target=\"_blank\">qui</a>"
+
+msgid "Input file not found, please check your configuration."
+msgstr "File di input non trovato, per favore controlla la tua configurazione."
+
+msgid "Invalid domain specified!"
+msgstr "Dominio invalido specificato!"
+
+msgid "Last Run"
+msgstr "Ultimo Avvio"
+
+msgid ""
+"List URLs and Shallalist category selections are configurable in the "
+"'Advanced' section.<br />"
+msgstr ""
+"Le selezioni degli URL delle liste e categorie Shallalist sono configurabili "
+"nella sezione 'Avanzato'.<br />"
+
+msgid ""
+"List of available network interfaces. By default the startup will be "
+"triggered by the 'wan' interface.<br />"
+msgstr ""
+"Lista delle interfacce di rete disponibili. Per default l'avvio sarà "
+"innescato dall'interfaccia 'wan'.<br />"
+
+msgid ""
+"List of supported DNS backends with their default list export directory.<br /"
+">"
+msgstr ""
+"Lista dei backend DNS supportati con la loro directory di default di esporto "
+"della lista.<br />"
+
+msgid "Loading"
+msgstr "Caricando"
+
+msgid "Manual / Backup mode"
+msgstr "Modalità Manuale / Backup"
+
+msgid "No"
+msgstr "No"
+
+msgid ""
+"Options for further tweaking in case the defaults are not suitable for you."
+msgstr ""
+"Opzioni per ulteriori modifiche in caso che quelle di default non ti sono "
+"adatte."
+
+msgid "Overall Blocked Domains"
+msgstr "Totale Domini Bloccati"
+
+msgid "Overview"
+msgstr "Riassunto"
+
+msgid ""
+"Please add only one domain per line. Comments introduced with '#' are "
+"allowed - ip addresses, wildcards and regex are not."
+msgstr ""
+"Per favore aggiungi solo un dominio per linea. I commenti introdotti con '#' "
+"sono consentiti - indirizzi ip , jolly e regex non lo sono."
+
+msgid "Please edit this file directly in a terminal session."
+msgstr ""
+"Per favore modifica questo file direttamente in una sessione al terminale."
+
+msgid "Please update your adblock config file to use this package."
+msgstr ""
+"Per favore aggiorna il tuo file configurazione di adblock per usare questo "
+"pacchetto."
+
+msgid "Query"
+msgstr "Interrogazione"
+
+msgid "Query domains"
+msgstr "Interrogazione domini"
+
+msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
+msgstr ""
+"Reindirizza tutte le richieste DNS dalla zona 'lan' al risolvitore locale."
+
+msgid "Resume"
+msgstr "Riprendi"
+
+msgid "Runtime Information"
+msgstr "Informazione di Runtime"
+
+msgid "SSL req."
+msgstr "Ric. SSL"
+
+msgid "Save"
+msgstr "Salva"
+
+msgid "Startup Trigger"
+msgstr "Innesco d'Avvio"
+
+msgid "Suspend"
+msgstr "Sospendi"
+
+msgid "Suspend / Resume Adblock"
+msgstr "Sospendi / Riprendi Adblock"
+
+msgid ""
+"Target directory for adblock backups. Please use only non-volatile disks, no "
+"ram/tmpfs drives."
+msgstr ""
+"Directory per i backup di adblock. Per favore usa solo dischi non volatili, "
+"non dischi ram/tmpfs."
+
+msgid "Target directory for the generated blocklist 'adb_list.overall'."
+msgstr "Directory per la lista di blocco generata 'adb_list.overall'."
+
+msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
+msgstr ""
+"La grandezza del file è troppo grande per modificarla online in LuCI (&gt; "
+"512 KB)."
+
+msgid ""
+"This form allows you to modify the content of the adblock blacklist (%s)."
+"<br />"
+msgstr ""
+"Questo form ti consente di modificare il contenuto della lista nera di "
+"adblock (%s).<br />"
+
+msgid ""
+"This form allows you to modify the content of the adblock whitelist (%s)."
+"<br />"
+msgstr ""
+"Questo form ti consente di modificare il contenuto della lista bianca di "
+"adblock (%s).<br />"
+
+msgid ""
+"This form allows you to modify the content of the main adblock configuration "
+"file (/etc/config/adblock)."
+msgstr ""
+"Questo form ti consente di modificare il contenuto del file principale di "
+"configurazione di adblock (/etc/config/adblock)."
+
+msgid ""
+"This form allows you to query active block lists for certain domains, e.g. "
+"for whitelisting."
+msgstr ""
+"Questo form ti consente di interrogare le liste di blocco attive per "
+"determinati domini, p.e. per metterli nella lista bianca."
+
+msgid ""
+"This form shows the syslog output, pre-filtered for adblock related messages "
+"only."
+msgstr ""
+"Questo form mostra l'output del registro, prefiltrato per messaggi relativi "
+"solo ad adblock."
+
+msgid ""
+"To overwrite the default path use the 'DNS Directory' option in the extra "
+"section below."
+msgstr ""
+"Per sovrascrivere il percorso di default usa l'opzione 'Directory DNS' nella "
+"sezione aggiuntiva sotto."
+
+msgid "Trigger Delay"
+msgstr "Ritardo Innesco"
+
+msgid "Verbose Debug Logging"
+msgstr "Registro di Debug Dettagliato"
+
+msgid "View Logfile"
+msgstr "Vedi Registro"
+
+msgid "Waiting for command to complete..."
+msgstr "Aspettando che il comando venga completato..."
+
+msgid "Yes"
+msgstr "Sì"
+
+msgid "disabled"
+msgstr "disabilitato"
+
+msgid "enabled"
+msgstr "abilitato"
+
+msgid "error"
+msgstr "errore"
+
+msgid "n/a"
+msgstr "n/d"
+
+msgid "paused"
+msgstr "in pausa"
index ba54a45..b4c8675 100644 (file)
@@ -25,7 +25,7 @@ msgid "Adblock Status"
 msgstr ""
 
 msgid "Adblock Version"
-msgstr ""
+msgstr "Versão do Adblock"
 
 msgid "Additional trigger delay in seconds before adblock processing begins."
 msgstr ""
@@ -39,10 +39,10 @@ msgid "Available blocklist sources."
 msgstr "Fontes de listas de bloqueio disponíveis."
 
 msgid "Backup Directory"
-msgstr ""
+msgstr "Diretório da cópia de segurança"
 
 msgid "Blocklist Sources"
-msgstr ""
+msgstr "Fontes de listas de bloqueio"
 
 msgid ""
 "Caution: Please don't select big lists or many lists at once on low memory "
@@ -99,10 +99,10 @@ msgid "Edit Whitelist"
 msgstr "Editar Lista Permitida"
 
 msgid "Enable Adblock"
-msgstr ""
+msgstr "Habilitar adblock"
 
 msgid "Enable Blocklist Backup"
-msgstr ""
+msgstr "Habilitar cópia de segurança da lista de bloqueio"
 
 msgid ""
 "Enable memory intense overall sort / duplicate removal on low memory devices "
@@ -118,7 +118,7 @@ msgid "Enabled"
 msgstr "Habilitado"
 
 msgid "Extra Options"
-msgstr ""
+msgstr "Opções adicionais"
 
 msgid ""
 "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
@@ -135,7 +135,7 @@ msgstr ""
 "online</a>"
 
 msgid "Force Local DNS"
-msgstr ""
+msgstr "Force o DNS local"
 
 msgid "Force Overall Sort"
 msgstr "Force Tipo Geral"
@@ -215,7 +215,7 @@ msgid "Resume"
 msgstr ""
 
 msgid "Runtime Information"
-msgstr ""
+msgstr "Informação de execução"
 
 msgid "SSL req."
 msgstr "req. de SSL"
@@ -230,7 +230,7 @@ msgid "Suspend"
 msgstr ""
 
 msgid "Suspend / Resume Adblock"
-msgstr ""
+msgstr "Suspender / Resumir adblock"
 
 msgid ""
 "Target directory for adblock backups. Please use only non-volatile disks, no "
@@ -285,7 +285,7 @@ msgid ""
 msgstr ""
 
 msgid "Trigger Delay"
-msgstr ""
+msgstr "Atraso no gatilho"
 
 msgid "Verbose Debug Logging"
 msgstr ""
@@ -314,36 +314,15 @@ msgstr "n/d"
 msgid "paused"
 msgstr ""
 
-#~ msgid "Adblock version"
-#~ msgstr "Versão do Adblock"
-
-#~ msgid "Backup directory"
-#~ msgstr "Diretório da cópia de segurança"
-
 #~ msgid "Blocked domains (overall)"
 #~ msgstr "Domínios bloqueados (total)"
 
-#~ msgid "Blocklist sources"
-#~ msgstr "Fontes de listas de bloqueio"
-
 #~ msgid "DNS backend"
 #~ msgstr "Porta dos fundos de DNS"
 
-#~ msgid "Enable adblock"
-#~ msgstr "Habilitar adblock"
-
-#~ msgid "Enable blocklist backup"
-#~ msgstr "Habilitar cópia de segurança da lista de bloqueio"
-
 #~ msgid "Enable verbose debug logging"
 #~ msgstr "Habilite registros detalhados para depuração"
 
-#~ msgid "Extra options"
-#~ msgstr "Opções adicionais"
-
-#~ msgid "Force local DNS"
-#~ msgstr "Force o DNS local"
-
 #~ msgid "Last rundate"
 #~ msgstr "Última data de execução"
 
@@ -363,18 +342,9 @@ msgstr ""
 #~ msgid "Resume adblock"
 #~ msgstr "Resumir adblock"
 
-#~ msgid "Runtime information"
-#~ msgstr "Informação de execução"
-
 #~ msgid "Status"
 #~ msgstr "Estado"
 
-#~ msgid "Suspend / Resume adblock"
-#~ msgstr "Suspender / Resumir adblock"
-
-#~ msgid "Trigger delay"
-#~ msgstr "Atraso no gatilho"
-
 #~ msgid "active"
 #~ msgstr "ativo"
 
index 9507475..449b22e 100644 (file)
@@ -2,7 +2,7 @@ msgid ""
 msgstr "Content-Type: text/plain; charset=UTF-8\n"
 
 msgid "-------"
-msgstr ""
+msgstr "-------"
 
 msgid "Adblock"
 msgstr "Adblock"
@@ -11,10 +11,10 @@ msgid "Adblock Logfile"
 msgstr "Adblock's loggfil"
 
 msgid "Adblock Status"
-msgstr ""
+msgstr "Status för Adblock"
 
 msgid "Adblock Version"
-msgstr ""
+msgstr "Version av Adblock"
 
 msgid "Additional trigger delay in seconds before adblock processing begins."
 msgstr ""
@@ -26,20 +26,24 @@ msgid "Available blocklist sources."
 msgstr "Tillgängliga källor för blockeringslistor"
 
 msgid "Backup Directory"
-msgstr ""
+msgstr "Säkerhetskopiera mapp"
 
 msgid "Blocklist Sources"
-msgstr ""
+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 ""
+"Försiktig: Vänligen välj inte stora listor eller många listor på samma gång för enheter "
+"med lite minne för att undvika OOM-undantag!"
 
 msgid ""
 "Choose 'none' to disable automatic startups, 'timed' to use a classic "
 "timeout (default 30 sec.) or select another trigger interface."
 msgstr ""
+"Välj 'inga' för att stänga av automatiska uppstarter, 'tidsinställd för att använda ett klassiskt "
+"avbrott (30 sek. är standard) eller välj ett annat utlösande gränssnitt."
 
 msgid "Collecting data..."
 msgstr "Samlar in data..."
@@ -56,10 +60,10 @@ msgid ""
 msgstr ""
 
 msgid "DNS Backend (DNS Directory)"
-msgstr ""
+msgstr "DNS-bakände (DNS-mapp)"
 
 msgid "DNS Directory"
-msgstr ""
+msgstr "DNS-mapp"
 
 msgid "Description"
 msgstr "Beskrivning"
@@ -84,10 +88,10 @@ msgid "Edit Whitelist"
 msgstr "Redigera vitlista"
 
 msgid "Enable Adblock"
-msgstr ""
+msgstr "Aktivera adblock"
 
 msgid "Enable Blocklist Backup"
-msgstr ""
+msgstr "Aktivera säkerhetskopiering av blockeringslistan"
 
 msgid ""
 "Enable memory intense overall sort / duplicate removal on low memory devices "
@@ -101,7 +105,7 @@ msgid "Enabled"
 msgstr "Aktiverad"
 
 msgid "Extra Options"
-msgstr ""
+msgstr "Extra alternativ"
 
 msgid ""
 "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
@@ -116,7 +120,7 @@ msgstr ""
 "internet</a>"
 
 msgid "Force Local DNS"
-msgstr ""
+msgstr "Tvinga lokal DNS"
 
 msgid "Force Overall Sort"
 msgstr ""
@@ -135,7 +139,7 @@ msgid "Invalid domain specified!"
 msgstr "Ogiltig domän angiven!"
 
 msgid "Last Run"
-msgstr ""
+msgstr "Kördes senast"
 
 msgid ""
 "List URLs and Shallalist category selections are configurable in the "
@@ -180,7 +184,7 @@ 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 ""
+msgstr "Vänligen uppdatera din adblock's konfigurationsfil till att använda det här paketet."
 
 msgid "Query"
 msgstr "Fråga"
@@ -192,10 +196,10 @@ msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
 msgstr ""
 
 msgid "Resume"
-msgstr ""
+msgstr "Återuppta"
 
 msgid "Runtime Information"
-msgstr ""
+msgstr "Information om körtid"
 
 msgid "SSL req."
 msgstr "SSL-rek."
@@ -204,13 +208,13 @@ msgid "Save"
 msgstr "Spara"
 
 msgid "Startup Trigger"
-msgstr ""
+msgstr "Uppstartslösare"
 
 msgid "Suspend"
-msgstr ""
+msgstr "Stäng av"
 
 msgid "Suspend / Resume Adblock"
-msgstr ""
+msgstr "Upphäv / Återuppta adblock"
 
 msgid ""
 "Target directory for adblock backups. Please use only non-volatile disks, no "
@@ -275,50 +279,29 @@ msgid "Yes"
 msgstr "Ja"
 
 msgid "disabled"
-msgstr ""
+msgstr "inaktiverad"
 
 msgid "enabled"
-msgstr ""
+msgstr "aktiverad"
 
 msgid "error"
-msgstr ""
+msgstr "fel"
 
 msgid "n/a"
 msgstr "n/a"
 
 msgid "paused"
-msgstr ""
-
-#~ msgid "Adblock version"
-#~ msgstr "Version för Adblock"
-
-#~ msgid "Backup directory"
-#~ msgstr "Säkerhetskopiera mapp"
+msgstr "pausad"
 
 #~ msgid "Blocked domains (overall)"
 #~ msgstr "Blockerade domäner (övergripande)"
 
-#~ msgid "Blocklist sources"
-#~ msgstr "Källor för blockeringslistor"
-
 #~ msgid "DNS backend"
 #~ msgstr "Bakände för DNS"
 
-#~ msgid "Enable adblock"
-#~ msgstr "Aktivera adblock"
-
-#~ msgid "Enable blocklist backup"
-#~ msgstr "Aktivera säkerhetskopiering av blockeringslistan"
-
 #~ msgid "Enable verbose debug logging"
 #~ msgstr "Aktivera utförlig loggning för avlusning"
 
-#~ msgid "Extra options"
-#~ msgstr "Extra alternativ"
-
-#~ msgid "Force local DNS"
-#~ msgstr "Tvinga lokal DNS"
-
 #~ msgid "Last rundate"
 #~ msgstr "Senaste kördatum"
 
@@ -328,15 +311,9 @@ msgstr ""
 #~ msgid "Resume adblock"
 #~ msgstr "Återuppta adblock"
 
-#~ msgid "Runtime information"
-#~ msgstr "Information om körtid"
-
 #~ msgid "Status"
 #~ msgstr "Status"
 
-#~ msgid "Suspend / Resume adblock"
-#~ msgstr "Upphäv / Återuppta adblock"
-
 #~ msgid "Suspend adblock"
 #~ msgstr "Upphäv adblock"
 
index dca81d4..d5f5104 100644 (file)
@@ -26,7 +26,7 @@ msgid "Adblock Status"
 msgstr ""
 
 msgid "Adblock Version"
-msgstr ""
+msgstr "Adblock 版本"
 
 msgid "Additional trigger delay in seconds before adblock processing begins."
 msgstr ""
@@ -38,10 +38,10 @@ msgid "Available blocklist sources."
 msgstr "可用的 blocklist 来源"
 
 msgid "Backup Directory"
-msgstr ""
+msgstr "备份目录"
 
 msgid "Blocklist Sources"
-msgstr ""
+msgstr "拦截列表来源"
 
 msgid ""
 "Caution: Please don't select big lists or many lists at once on low memory "
@@ -92,10 +92,10 @@ msgid "Edit Whitelist"
 msgstr "编辑白名单"
 
 msgid "Enable Adblock"
-msgstr ""
+msgstr "启用Adblock"
 
 msgid "Enable Blocklist Backup"
-msgstr ""
+msgstr "启用拦截规则备份"
 
 msgid ""
 "Enable memory intense overall sort / duplicate removal on low memory devices "
@@ -109,7 +109,7 @@ msgid "Enabled"
 msgstr "启用"
 
 msgid "Extra Options"
-msgstr ""
+msgstr "额外选项"
 
 msgid ""
 "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
@@ -200,7 +200,7 @@ msgid "Resume"
 msgstr ""
 
 msgid "Runtime Information"
-msgstr ""
+msgstr "运行信息"
 
 msgid "SSL req."
 msgstr ""
@@ -215,7 +215,7 @@ msgid "Suspend"
 msgstr ""
 
 msgid "Suspend / Resume Adblock"
-msgstr ""
+msgstr "暂停/恢复 Adblock"
 
 msgid ""
 "Target directory for adblock backups. Please use only non-volatile disks, no "
@@ -259,7 +259,7 @@ msgid ""
 msgstr ""
 
 msgid "Trigger Delay"
-msgstr ""
+msgstr "触发延迟"
 
 msgid "Verbose Debug Logging"
 msgstr ""
@@ -288,48 +288,21 @@ msgstr ""
 msgid "paused"
 msgstr ""
 
-#~ msgid "Adblock version"
-#~ msgstr "Adblock 版本"
-
-#~ msgid "Backup directory"
-#~ msgstr "备份目录"
-
-#~ msgid "Blocklist sources"
-#~ msgstr "拦截列表来源"
-
 #~ msgid "DNS backend"
 #~ msgstr "DNS 后端"
 
-#~ msgid "Enable adblock"
-#~ msgstr "启用Adblock"
-
-#~ msgid "Enable blocklist backup"
-#~ msgstr "启用拦截规则备份"
-
 #~ msgid "Enable verbose debug logging"
 #~ msgstr "启用详细调试输出"
 
-#~ msgid "Extra options"
-#~ msgstr "额外选项"
-
 #~ msgid "Resume adblock"
 #~ msgstr "恢复 Adblock"
 
-#~ msgid "Runtime information"
-#~ msgstr "运行信息"
-
 #~ msgid "Status"
 #~ msgstr "状态"
 
-#~ msgid "Suspend / Resume adblock"
-#~ msgstr "暂停/恢复 Adblock"
-
 #~ msgid "Suspend adblock"
 #~ msgstr "暂停 Adblock"
 
-#~ msgid "Trigger delay"
-#~ msgstr "触发延迟"
-
 #~ msgid "active"
 #~ msgstr "已启用"
 
index cac09d7..20d77cb 100644 (file)
@@ -1,5 +1,5 @@
 msgid ""
-msgstr "Content-Type: text/plain; charset=UTF-8"
+msgstr "Content-Type: text/plain; charset=UTF-8\n"
 
 msgid "Action"
 msgstr "Åtgärd"
@@ -74,9 +74,9 @@ msgid ""
 "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."
+"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 "
@@ -94,12 +94,13 @@ msgid ""
 "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."
+"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!"
+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!"
index 823699d..b53299b 100644 (file)
-msgid "Aria2"
-msgstr ""
-
-msgid "Aria2 is a multi-protocol &amp; multi-source download utility, here you can configure the settings."
-msgstr "Aria2 是一个支持多协议多线程的下载器, 你可以在这里对其进行配置"
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8\n"
 
-msgid "Aria2 Status"
-msgstr "Aria2 状态"
+msgid "\"Falloc\" is not available in all cases."
+msgstr "\"Falloc\" 并不是在所有情况下都可用"
 
-msgid "Open YAAW"
-msgstr "打开YAAW"
+msgid "<abbr title=\"Distributed Hash Table\">DHT</abbr> enabled"
+msgstr "启用<abbr title=\"分布式哈希表\">DHT</abbr>"
 
-msgid "Open WebUI-Aria2"
-msgstr "打开WebUI-Aria2"
+msgid "<abbr title=\"Local Peer Discovery\">LPD</abbr> enabled"
+msgstr "启用<abbr title=\"本地节点发现\">LPD</abbr>"
 
-msgid "The Aria2 service is running."
-msgstr "Aria2 正在运行"
+msgid "Additional Bt tracker enabled"
+msgstr "添加额外的Tracker"
 
-msgid "The Aria2 service is not running."
-msgstr "Aria2 未运行"
+msgid "Aria2"
+msgstr ""
 
 msgid "Aria2 Settings"
 msgstr "Aria2 配置"
 
-msgid "General settings"
-msgstr "一般设置"
-
-msgid "Files and Locations"
-msgstr "文件和目录"
+msgid "Aria2 Status"
+msgstr "Aria2 状态"
 
-msgid "Enabled"
-msgstr "启用"
+msgid ""
+"Aria2 is a multi-protocol &amp; multi-source download utility, here you can "
+"configure the settings."
+msgstr "Aria2 是一个支持多协议多线程的下载器, 你可以在这里对其进行配置"
 
-msgid "Task Settings"
-msgstr "任务设置"
+msgid "Autosave session interval"
+msgstr "定时保存会话间隔"
 
 msgid "BitTorrent Settings"
 msgstr "BT设置"
 
-msgid "Run daemon as user"
-msgstr "以此用户权限运行"
+msgid "BitTorrent listen port"
+msgstr "BT监听端口"
 
-msgid "RPC port"
-msgstr "RPC端口"
+msgid "Collecting data..."
+msgstr ""
 
-msgid "RPC authentication method"
-msgstr "RPC认证方式"
+msgid "Config file directory"
+msgstr "配置文件目录"
 
-msgid "No Authentication"
-msgstr "无认证"
+msgid "Debug"
+msgstr "调试"
 
-msgid "Username & Password"
-msgstr "用户名与密码"
+msgid "Default download directory"
+msgstr "默认下载目录"
 
-msgid "Token"
-msgstr "令牌"
+msgid "Disk cache"
+msgstr "磁盘缓存"
 
-msgid "RPC username"
-msgstr "RPC用户名"
+msgid "Enable log"
+msgstr "启用日志"
 
-msgid "RPC password"
-msgstr "RPC密码"
+msgid "Enabled"
+msgstr "启用"
 
-msgid "RPC Token"
-msgstr "RPC令牌"
+msgid "Error"
+msgstr "错误"
 
-msgid "Generate Randomly"
-msgstr "é\9a\8fæ\9cºç\94\9fæ\88\90"
+msgid "Extra Settings"
+msgstr "é\99\84å\8a é\80\89项"
 
-msgid "Enable log"
-msgstr "启用日志"
+msgid "Falloc"
+msgstr ""
 
-msgid "Log file is in the config file dir."
-msgstr "æ\97¥å¿\97æ\96\87件å\9c¨é\85\8dç½®æ\96\87件ç\9b®å½\95ä¸\8b"
+msgid "Files and Locations"
+msgstr "æ\96\87件å\92\8cç\9b®å½\95"
 
-msgid "Log level"
-msgstr "日志记录等级"
+msgid "Follow torrent"
+msgstr "自动添加下载的种子"
 
-msgid "Debug"
-msgstr "调试"
+msgid "General Settings"
+msgstr ""
+
+msgid "Generate Randomly"
+msgstr "随机生成"
 
 msgid "Info"
 msgstr "信息"
 
-msgid "Notice"
-msgstr "注意"
+msgid "List of additional Bt tracker"
+msgstr "附加Tracker列表"
 
-msgid "Warn"
-msgstr "警告"
+msgid "List of extra settings"
+msgstr "附加选项列表"
 
-msgid "Error"
-msgstr "错误"
+msgid "Log file is in the config file dir."
+msgstr "日志文件在配置文件目录下"
 
-msgid "Config file directory"
-msgstr "配置文件目录"
+msgid "Log level"
+msgstr "日志记录等级"
 
-msgid "Default download directory"
-msgstr "默认下载目录"
+msgid "Max concurrent downloads"
+msgstr "最大同时下载任务数"
 
-msgid "Disk cache"
-msgstr "磁盘缓存"
+msgid "Max connection per server"
+msgstr "单服务器最大连接数"
 
-msgid "in bytes, You can append K or M."
-msgstr "å\8d\95ä½\8d B, ä½ å\8f¯ä»¥å\9c¨æ\95°å­\97å\90\8eè·\9fä¸\8a K æ\88\96 M"
+msgid "Max number of peers per torrent"
+msgstr "å\8d\95个ç§\8då­\90æ\9c\80大è¿\9eæ\8e¥æ\95°"
 
-msgid "Preallocation"
-msgstr "磁盘预分配"
+msgid "Max number of split"
+msgstr "单文件最大线程数"
 
-msgid "Off"
-msgstr "关闭"
+msgid "Min split size"
+msgstr "最小文件分片大小"
 
-msgid "Prealloc"
-msgstr ""
+msgid "No Authentication"
+msgstr "无认证"
 
-msgid "Trunc"
-msgstr ""
+msgid "Notice"
+msgstr "注意"
 
-msgid "Falloc"
-msgstr ""
+msgid "Off"
+msgstr "关闭"
 
-msgid "\"Falloc\" is not available in all cases."
-msgstr "\"Falloc\" 并不是在所有情况下都可用"
+msgid "Open WebUI-Aria2"
+msgstr "打开WebUI-Aria2"
 
-msgid "Overall speed limit enabled"
-msgstr "启用全局限速"
+msgid "Open YAAW"
+msgstr "打开YAAW"
 
 msgid "Overall download limit"
 msgstr "全局下载限速"
 
-msgid "in bytes/sec, You can append K or M."
-msgstr "å\8d\95ä½\8d B/s, ä½ å\8f¯ä»¥å\9c¨æ\95°å­\97å\90\8eè·\9fä¸\8a K æ\88\96 M"
+msgid "Overall speed limit enabled"
+msgstr "å\90¯ç\94¨å\85¨å±\80é\99\90é\80\9f"
 
 msgid "Overall upload limit"
 msgstr "全局上传限速"
 
-msgid "Per task speed limit enabled"
-msgstr "启用单任务限速"
-
 msgid "Per task download limit"
 msgstr "单任务下载限速"
 
+msgid "Per task speed limit enabled"
+msgstr "启用单任务限速"
+
 msgid "Per task upload limit"
 msgstr "单任务上传限速"
 
-msgid "Max concurrent downloads"
-msgstr "最大同时下载任务数"
+msgid "Prealloc"
+msgstr ""
 
-msgid "Max connection per server"
-msgstr "单服务器最大连接数"
+msgid "Preallocation"
+msgstr "磁盘预分配"
 
-msgid "Min split size"
-msgstr "最小文件分片大小"
+msgid "Prefix of peer ID"
+msgstr "Peer ID前缀"
 
-msgid "Max number of split"
-msgstr "单文件最大线程数"
+msgid "RPC Token"
+msgstr "RPC令牌"
 
-msgid "Autosave session interval"
-msgstr "定时保存会话间隔"
+msgid "RPC authentication method"
+msgstr "RPC认证方式"
 
-msgid "Sec"
-msgstr ""
+msgid "RPC password"
+msgstr "RPC密码"
 
-msgid "User agent value"
-msgstr "用户代理(UA)"
+msgid "RPC port"
+msgstr "RPC端口"
 
-msgid "<abbr title=\"Distributed Hash Table\">DHT</abbr> enabled"
-msgstr "启用<abbr title=\"分布式哈希表\">DHT</abbr>"
+msgid "RPC username"
+msgstr "RPC用户名"
 
-msgid "<abbr title=\"Local Peer Discovery\">LPD</abbr> enabled"
-msgstr "启用<abbr title=\"本地节点发现\">LPD</abbr>"
+msgid "Run daemon as user"
+msgstr "以此用户权限运行"
 
-msgid "Follow torrent"
-msgstr "自动添加下载的种子"
+msgid "Sec"
+msgstr ""
 
-msgid "BitTorrent listen port"
-msgstr "BT监听端口"
+msgid "Task Settings"
+msgstr "任务设置"
 
-msgid "Max number of peers per torrent"
-msgstr "单个种子最大连接数"
+msgid "The Aria2 service is not running."
+msgstr "Aria2 未运行"
 
-msgid "Additional Bt tracker enabled"
-msgstr "添加额外的Tracker"
+msgid "The Aria2 service is running."
+msgstr "Aria2 正在运行"
 
-msgid "List of additional Bt tracker"
-msgstr "附加Tracker列表"
+msgid "Token"
+msgstr "令牌"
 
-msgid "Prefix of peer ID"
-msgstr "Peer ID前缀"
+msgid "Trunc"
+msgstr ""
 
-msgid "Extra Settings"
-msgstr "附加选项"
+msgid "Use WebSocket"
+msgstr "使用WebSocket"
 
-msgid "List of extra settings"
-msgstr "附加选项列表"
+msgid "User agent value"
+msgstr "用户代理(UA)"
+
+msgid "Username & Password"
+msgstr "用户名与密码"
 
 msgid "View Json-RPC URL"
 msgstr "查看 Json-RPC URL"
 
-msgid "Use WebSocket"
-msgstr "使用WebSocket"
+msgid "Warn"
+msgstr "警告"
+
+msgid "in bytes, You can append K or M."
+msgstr "单位 B, 你可以在数字后跟上 K 或 M"
+
+msgid "in bytes/sec, You can append K or M."
+msgstr "单位 B/s, 你可以在数字后跟上 K 或 M"
+
+#~ msgid "General settings"
+#~ msgstr "一般设置"
index 3b9d5f4..4b8d2f8 100644 (file)
@@ -725,7 +725,7 @@ msgid "missing / required"
 msgstr "mancante / richiesto"
 
 msgid "must be greater or equal 'Check Interval'"
-msgstr "deve essere più grande o uguale "Controlla Intervallo'"
+msgstr "deve essere più grande o uguale 'Controlla Intervallo'"
 
 msgid "must start with 'http://'"
 msgstr "deve iniziare con 'http://'"
index c735323..d68116b 100644 (file)
@@ -91,7 +91,7 @@ msgid "MAC range and information used to override system and IEEE databases"
 msgstr ""
 
 msgid "Milliseconds to sleep between requests (default 100)"
-msgstr ""
+msgstr "Millisekunder att sova mellan förfrågningar (100 är standard)"
 
 msgid "Model"
 msgstr "Modell"
@@ -109,7 +109,7 @@ msgid "Networks to scan for devices"
 msgstr "Nätverk att skanna efter enheter i"
 
 msgid "Networks to scan for supported devices"
-msgstr ""
+msgstr "Nätverk att skanna efter enheter som stöds"
 
 msgid "No SIP devices"
 msgstr "Inga SIP-enheter"
@@ -118,10 +118,10 @@ msgid "No devices detected"
 msgstr "Upptäckte inga enheter"
 
 msgid "Number of times to send requests (default 1)"
-msgstr ""
+msgstr "Antalet gånger att skicka förfrågningar (1 är standard)"
 
 msgid "OUI Owner"
-msgstr ""
+msgstr "OUI-ägare"
 
 msgid ""
 "Override the information returned by the MAC to Device Info Script (mac-to-"
@@ -129,13 +129,13 @@ msgid ""
 msgstr ""
 
 msgid "Perform Scans (this can take a few minutes)"
-msgstr ""
+msgstr "Utför skanningar (det här kan ta ett par minuter)"
 
 msgid "Phone Information"
 msgstr "Information om telefon"
 
 msgid "Phone Scan"
-msgstr "Skanning av telefon"
+msgstr "Skanna telefon"
 
 msgid "Phone Scanning Configuration"
 msgstr "Konfiguration av skanning i telefon"
@@ -156,7 +156,7 @@ msgid "Repeat Scans (this can take a few minutes)"
 msgstr "Repetera skanningar (det här kan ta några minuter)"
 
 msgid "SIP Device Information"
-msgstr ""
+msgstr "Information om SIP-enhet"
 
 msgid "SIP Device Scan"
 msgstr ""
@@ -195,7 +195,7 @@ msgid "Time to wait for responses in seconds (default 10)"
 msgstr "Tid att vänta på svar i sekunder (standard 10)"
 
 msgid "Timeout"
-msgstr ""
+msgstr "Avbrott"
 
 msgid "Use Configuration"
 msgstr "Använd konfiguration"
index 6d6790a..9f6472e 100644 (file)
@@ -17,8 +17,8 @@ function index()
        entry({"admin", "services", "dnscrypt-proxy", "advanced"}, firstchild(), _("Advanced"), 100)
        entry({"admin", "services", "dnscrypt-proxy", "advanced", "configuration"}, cbi("dnscrypt-proxy/configuration_tab"), _("Edit DNSCrypt-Proxy Configuration"), 110).leaf = true
        entry({"admin", "services", "dnscrypt-proxy", "advanced", "cfg_dnsmasq"}, cbi("dnscrypt-proxy/cfg_dnsmasq_tab"), _("Edit Dnsmasq Configuration"), 120).leaf = true
-       entry({"admin", "services", "dnscrypt-proxy", "advanced", "view_reslist"}, call("view_reslist"), _("View Resolver List"), 130).leaf = true
-
+       entry({"admin", "services", "dnscrypt-proxy", "advanced", "cfg_resolvcrypt"}, cbi("dnscrypt-proxy/cfg_resolvcrypt_tab"), _("Edit Resolvcrypt Configuration"), 130).leaf = true
+       entry({"admin", "services", "dnscrypt-proxy", "advanced", "view_reslist"}, call("view_reslist"), _("View Resolver List"), 140).leaf = true
 end
 
 function view_reslist()
@@ -27,6 +27,12 @@ function view_reslist()
 end
 
 function logread()
-       local logfile = util.trim(util.exec("logread -e 'dnscrypt-proxy'"))
+       local logfile
+
+       if nixio.fs.access("/var/log/messages") then
+               logfile = util.trim(util.exec("cat /var/log/messages | grep 'dnscrypt-proxy'"))
+       else
+               logfile = util.trim(util.exec("logread -e 'dnscrypt-proxy'"))
+       end
        templ.render("dnscrypt-proxy/logread", {title = i18n.translate("DNSCrypt-Proxy Logfile"), content = logfile})
 end
index d22abbf..6e75ac9 100644 (file)
@@ -7,6 +7,8 @@ local uci_input = "/etc/config/dhcp"
 
 if not nxfs.access(uci_input) then
        m = SimpleForm("error", nil, translate("Input file not found, please check your configuration."))
+       m.reset = false
+       m.submit = false
        return m
 end
 
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua
new file mode 100644 (file)
index 0000000..f172b15
--- /dev/null
@@ -0,0 +1,39 @@
+-- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- This is free software, licensed under the Apache License, Version 2.0
+
+local nxfs      = require("nixio.fs")
+local util      = require("luci.util")
+local res_input = "/etc/resolv-crypt.conf"
+
+if not nxfs.access(res_input) then
+       m = SimpleForm("error", nil, translate("Input file not found, please check your configuration."))
+       m.reset = false
+       m.submit = false
+       return m
+end
+
+m = SimpleForm("input", nil)
+m:append(Template("dnscrypt-proxy/config_css"))
+m.submit = translate("Save")
+m.reset = false
+
+s = m:section(SimpleSection, nil,
+       translate("This form allows you to modify the content of the resolv-crypt configuration file (/etc/resolv-crypt.conf)."))
+
+f = s:option(TextValue, "data")
+f.rows = 20
+f.rmempty = true
+
+function f.cfgvalue()
+       return nxfs.readfile(res_input) or ""
+end
+
+function f.write(self, section, data)
+       return nxfs.writefile(res_input, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
+end
+
+function s.handle(self, state, data)
+       return true
+end
+
+return m
index 7ab84ab..368c667 100644 (file)
@@ -11,15 +11,16 @@ local plug_cnt  = tonumber(luci.sys.exec("env -i /usr/sbin/dnscrypt-proxy --vers
 local res_list  = {}
 local url       = "https://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-resolvers.csv"
 
-if not fs.access("/lib/libustream-ssl.so") then
-       m = SimpleForm("error", nil, translate("SSL support not available, please install an libustream-ssl variant to use this package."))
-       m.submit = false
-       m.reset = false
-       return m
-end
-
 if not fs.access(res_input) then
-       luci.sys.call("env -i /bin/uclient-fetch --no-check-certificate -O " .. res_input .. " " .. url .. " >/dev/null 2>&1")
+       if not fs.access("/lib/libustream-ssl.so") then
+               m = SimpleForm("error", nil, translate("No default resolver list and no SSL support available.<br />")
+                       .. translate("Please install a resolver list to '/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv' to use this package."))
+               m.submit = false
+               m.reset = false
+               return m
+       else
+               luci.sys.call("env -i /bin/uclient-fetch --no-check-certificate -O " .. res_input .. " " .. url .. " >/dev/null 2>&1")
+       end
 end
 
 if not uci:get_first("dnscrypt-proxy", "global") then
@@ -29,23 +30,64 @@ if not uci:get_first("dnscrypt-proxy", "global") then
 end
 
 for line in io.lines(res_input) do
-       local name = line:match("^[%w_.-]*")
-       res_list[#res_list + 1] = { name = name }
+       local name,
+       location,
+       dnssec,
+       nolog = line:match("^([^,]+),.-,\".-\",\"*(.-)\"*,.-,[0-9],\"*([yesno]+)\"*,\"*([yesno]+)\"*,.*")
+       if name ~= "" and name ~= "Name" then
+               if location == "" then
+                       location = "-"
+               end
+               if dnssec == "" then
+                       dnssec = "-"
+               end
+               if nolog == "" then
+                       nolog = "-"
+               end
+               res_list[#res_list + 1] = { name = name, location = location, dnssec = dnssec, nolog = nolog }
+       end
 end
 
 m = Map("dnscrypt-proxy", translate("DNSCrypt-Proxy"),
        translate("Configuration of the DNSCrypt-Proxy package. ")
-       .. translate("Keep in mind to configure Dnsmasq as well. ")
        .. translatef("For further information "
        .. "<a href=\"%s\" target=\"_blank\">"
        .. "see the wiki online</a>", "https://wiki.openwrt.org/inbox/dnscrypt"))
+m:chain("dhcp")
 
 function m.on_after_commit(self)
-       luci.sys.call("env -i /etc/init.d/dnsmasq restart >/dev/null 2>&1")
+       function d1.validate(self, value, s1)
+               if value == "1" then
+                       uci:commit("dnscrypt-proxy")
+                       uci:set("dhcp", s1, "noresolv", 1)
+                       if not fs.access("/etc/resolv-crypt.conf") or nixio.fs.stat("/etc/resolv-crypt.conf").size == 0 then
+                               uci:set("dhcp", s1, "resolvfile", "/tmp/resolv.conf.auto")
+                       else
+                               uci:set("dhcp", s1, "resolvfile", "/etc/resolv-crypt.conf")
+                       end
+                       local server_list = {}
+                       local cnt = 1
+                       uci:foreach("dnscrypt-proxy", "dnscrypt-proxy", function(s)
+                               server_list[cnt] = s['address'] .. "#" .. s['port']
+                               cnt = cnt + 1
+                       end)
+                       server_list[cnt] = "/pool.ntp.org/8.8.8.8"
+                       uci:set_list("dhcp", s1, "server", server_list)
+                       if cnt > 2 then
+                               uci:set("dhcp", s1, "allservers", 1)
+                       else
+                               uci:set("dhcp", s1, "allservers", 0)
+                       end
+                       uci:save("dhcp")
+                       uci:commit("dhcp")
+               end
+               return value
+       end
        luci.sys.call("env -i /etc/init.d/dnscrypt-proxy restart >/dev/null 2>&1")
+       luci.sys.call("env -i /etc/init.d/dnsmasq restart >/dev/null 2>&1")
 end
 
-s = m:section(TypedSection, "global", translate("General options"))
+s = m:section(TypedSection, "global", translate("General Options"))
 s.anonymous = true
 
 -- Main dnscrypt-proxy resource list
@@ -62,21 +104,53 @@ o3 = s:option(DummyValue, "", translate("File Checksum"))
 o3.template = "dnscrypt-proxy/res_options"
 o3.value = luci.sys.exec("sha256sum " .. res_input .. " | awk '{print $1}'")
 
-btn = s:option(Button, "", translate("Refresh Resolver List"))
-btn.inputtitle = translate("Refresh List")
-btn.inputstyle = "apply"
-btn.disabled = false
-function btn.write(self, section, value)
-       luci.sys.call("env -i /bin/uclient-fetch --no-check-certificate -O " .. res_input .. " " .. url .. " >/dev/null 2>&1")
-       luci.http.redirect(luci.dispatcher.build_url("admin", "services", "dnscrypt-proxy"))
+if fs.access("/lib/libustream-ssl.so") then
+       btn1 = s:option(Button, "", translate("Refresh Resolver List"),
+               translate("Download the current resolver list from 'download.dnscrypt.org'."))
+       btn1.inputtitle = translate("Refresh List")
+       btn1.inputstyle = "apply"
+       btn1.disabled = false
+       function btn1.write()
+               luci.sys.call("env -i /bin/uclient-fetch --no-check-certificate -O " .. res_input .. " " .. url .. " >/dev/null 2>&1")
+               luci.http.redirect(luci.dispatcher.build_url("admin", "services", "dnscrypt-proxy"))
+       end
+else
+       btn1 = s:option(Button, "", translate("Refresh Resolver List"),
+               translate("No SSL support available.<br />")
+               .. translate("Please install a 'libustream-ssl' library to download the current resolver list from 'download.dnscrypt.org'."))
+       btn1.inputtitle = translate("-------")
+       btn1.inputstyle = "button"
+       btn1.disabled = true
+end
+
+if not fs.access("/etc/resolv-crypt.conf") or nixio.fs.stat("/etc/resolv-crypt.conf").size == 0 then
+       btn2 = s:option(Button, "", translate("Create Custom Config File"),
+               translate("Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS upstream timeouts with multiple DNSCrypt instances.<br />")
+               .. translatef("For further information "
+               .. "<a href=\"%s\" target=\"_blank\">"
+               .. "see the wiki online</a>", "https://wiki.openwrt.org/inbox/dnscrypt"))
+       btn2.inputtitle = translate("Create Config File")
+       btn2.inputstyle = "apply"
+       btn2.disabled = false
+       function btn2.write()
+               luci.sys.call("env -i echo 'options timeout:1' > '/etc/resolv-crypt.conf'")
+               luci.http.redirect(luci.dispatcher.build_url("admin", "services", "dnscrypt-proxy"))
+       end
+else
+       btn2 = s:option(Button, "", translate("Create Custom Config File"),
+               translate("The config file '/etc/resolv-crypt.conf' already exist.<br />")
+               .. translate("Please edit the file manually in the 'Advanced' section."))
+       btn2.inputtitle = translate("-------")
+       btn2.inputstyle = "button"
+       btn2.disabled = true
 end
 
 -- Trigger settings
 
-t = s:option(DynamicList, "procd_trigger", translate("Startup Trigger"),
-       translate("By default the DNSCrypt-Proxy startup will be triggered by ifup events of multiple network interfaces. ")
-       .. translate("To restrict the trigger, add only the relevant network interface(s). ")
-       .. translate("Usually the 'wan' interface should work for most users."))
+t = s:option(ListValue, "procd_trigger", translate("Startup Trigger"),
+       translate("By default the DNSCrypt-Proxy startup will be triggered by ifup events of 'All' available network interfaces.<br />")
+       .. translate("To restrict the trigger, select only the relevant network interface. Usually the 'wan' interface should work for most users."))
+t:value("", "All")
 if dump then
        local i, v
        for i, v in ipairs(dump.interface) do
@@ -85,57 +159,38 @@ if dump then
                end
        end
 end
+t.default = procd_trigger or "All"
 t.rmempty = true
 
--- Extra options
-
-ds = s:option(DummyValue, "_dummy", translate("Extra options"),
-       translate("Options for further tweaking in case the defaults are not suitable for you."))
-ds.template = "cbi/nullsection"
-
-btn = s:option(Button, "", translate("Create custom config file"),
-       translate("Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS upstream timeouts with multiple DNSCrypt instances. ")
-       .. translatef("For further information "
-       .. "<a href=\"%s\" target=\"_blank\">"
-       .. "see the wiki online</a>", "https://wiki.openwrt.org/inbox/dnscrypt"))
-btn.inputtitle = translate("Create Config File")
-btn.inputstyle = "apply"
-btn.disabled = false
-function btn.write(self, section, value)
-       if not fs.access("/etc/resolv-crypt.conf") then
-               luci.sys.call("env -i echo 'options timeout:1' > '/etc/resolv-crypt.conf'")
-       end
-end
-
 -- Mandatory options per instance
 
-s = m:section(TypedSection, "dnscrypt-proxy", translate("Instance options"))
+s = m:section(TypedSection, "dnscrypt-proxy", translate("Instance Options"))
 s.anonymous = true
 s.addremove = true
 
-o1 = s:option(Value, "address", translate("IP Address"),
+i1 = s:option(Value, "address", translate("IP Address"),
        translate("The local IPv4 or IPv6 address. The latter one should be specified within brackets, e.g. '[::1]'."))
-o1.default = address or "127.0.0.1"
-o1.rmempty = false
+i1.default = address or "127.0.0.1"
+i1.rmempty = false
 
-o2 = s:option(Value, "port", translate("Port"),
+i2 = s:option(Value, "port", translate("Port"),
        translate("The listening port for DNS queries."))
-o2.datatype = "port"
-o2.default = port
-o2.rmempty = false
-
-o3 = s:option(ListValue, "resolver", translate("Resolver"),
-       translate("Name of the remote DNS service for resolving queries."))
-o3.datatype = "hostname"
-o3.widget = "select"
+i2.datatype = "port"
+i2.default = port
+i2.rmempty = false
+
+i3 = s:option(ListValue, "resolver", translate("Resolver (LOC/SEC/NOLOG)"),
+       translate("Name of the remote DNS service for resolving queries incl. Location, DNSSEC- and NOLOG-Flag."))
+i3.datatype = "hostname"
+i3.widget = "select"
 local i, v
 for i, v in ipairs(res_list) do
-       if v.name ~= "Name" then
-               o3:value(v.name)
+       if v.name then
+               i3:value(v.name, v.name .. " (" .. v.location .. "/" .. v.dnssec .. "/" .. v.nolog .. ")")
        end
 end
-o3.default = resolver
-o3.rmempty = false
+i3.default = resolver
+i3.rmempty = false
 
 -- Extra options per instance
 
@@ -174,4 +229,17 @@ if plug_cnt > 0 then
        e6.optional = true
 end
 
-return m
+-- Dnsmasq options
+
+m1 = Map("dhcp")
+
+s1 = m1:section(TypedSection, "dnsmasq", translate("Dnsmasq Options"))
+s1.anonymous = true
+
+d1 = s1:option(Flag, "", translate("Transfer Options To Dnsmasq"),
+       translate("Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.<br />")
+       .. translate("Please note: This may change the values for 'noresolv', 'resolvfile', 'allservers' and the list 'server' settings."))
+d1.default = d1.enabled
+d1.rmempty = false
+
+return m, m1
index 0328df2..2cd01c0 100644 (file)
@@ -7,17 +7,24 @@ msgstr ""
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 2.0.3\n"
+"X-Generator: Poedit 2.0.4\n"
 "Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 "Language: ja\n"
 
+msgid "-------"
+msgstr "(利用不可)"
+
 msgid "Advanced"
 msgstr "詳細"
 
 msgid "Alternate Resolver List"
 msgstr "代替 リゾルバ リスト"
 
+msgid ""
+"Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.<br />"
+msgstr "Dnsmasq の構成に、DNSCrypt-Proxy を指定する設定を適用します。<br />"
+
 msgid "Blacklist"
 msgstr "ブラックリスト"
 
@@ -26,26 +33,26 @@ msgstr "IPv6 のブロック"
 
 msgid ""
 "By default the DNSCrypt-Proxy startup will be triggered by ifup events of "
-"multiple network interfaces."
+"'All' available network interfaces.<br />"
 msgstr ""
-"ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81¯ã\80\81 DNSCrypt-Proxy ã\81¯å\85¨ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81® ifup ã\82¤ã\83\99"
-"ã\83³ã\83\88ã\81«ã\82\88ã\82\8aã\83\88ã\83ªã\82¬ã\81\95ã\82\8cèµ·å\8b\95ã\81\97ã\81¾ã\81\99ã\80\82"
+"ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81¯ã\80\81 DNSCrypt-Proxy ã\81¯å\88©ç\94¨å\8f¯è\83½ã\81ªå\85¨ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹"
+"ã\81® ifup ã\82¤ã\83\99ã\83³ã\83\88ã\81«ã\82\88ã\82\8aã\83\88ã\83ªã\82¬ã\81\95ã\82\8cèµ·å\8b\95ã\81\97ã\81¾ã\81\99ã\80\82<br />"
 
 msgid "Configuration of the DNSCrypt-Proxy package."
 msgstr "DNSCrypt-Proxy パッケージの設定です。"
 
 msgid ""
 "Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS "
-"upstream timeouts with multiple DNSCrypt instances."
+"upstream timeouts with multiple DNSCrypt instances.<br />"
 msgstr ""
 "複数の DNSCrypt インスタンスで DNS アップストリーム タイムアウトの設定値を共"
 "用するため、 'options timeout:1' を含めた '/etc/resolv-crypt.conf' を作成しま"
-"す。"
+"す。<br />"
 
 msgid "Create Config File"
 msgstr "設定ファイルの作成"
 
-msgid "Create custom config file"
+msgid "Create Custom Config File"
 msgstr "カスタム設定ファイルの作成"
 
 msgid "DNS Query Logfile"
@@ -66,21 +73,28 @@ msgstr "デフォルト リゾルバ リスト"
 msgid "Disable IPv6 to speed up DNSCrypt-Proxy."
 msgstr "DNSCrypt-Proxy の高速化のため、IPv6 を無効化します。"
 
+msgid "Dnsmasq Options"
+msgstr "Dnsmasq オプション"
+
+msgid "Download the current resolver list from 'download.dnscrypt.org'."
+msgstr ""
+"現在のリゾルバ リストを 'download.dnscrypt.org' からダウンロードします。"
+
 msgid "Edit DNSCrypt-Proxy Configuration"
 msgstr "DNSCrypt-Proxy 設定の編集"
 
 msgid "Edit Dnsmasq Configuration"
 msgstr "Dnsmasq 設定の編集"
 
+msgid "Edit Resolvcrypt Configuration"
+msgstr "Resolvcrypt 設定の編集"
+
 msgid "Enable Caching to speed up DNSCcrypt-Proxy."
 msgstr "DNSCrypt-Proxy の高速化のため、キャッシュ機能を有効化します。"
 
 msgid "Ephemeral Keys"
 msgstr "一時的なキー"
 
-msgid "Extra options"
-msgstr "拡張オプション"
-
 msgid "File Checksum"
 msgstr "ファイル チェックサム"
 
@@ -94,8 +108,8 @@ msgstr ""
 "詳細な情報は <a href=\"%s\" target=\"_blank\">オンライン Wiki</a> を確認して"
 "ください。"
 
-msgid "General options"
-msgstr "全般設定"
+msgid "General Options"
+msgstr "全般オプション"
 
 msgid "IP Address"
 msgstr "IP アドレス"
@@ -107,12 +121,9 @@ msgstr ""
 msgid "Input file not found, please check your configuration."
 msgstr "入力ファイルが見つかりません。設定を確認してください。"
 
-msgid "Instance options"
+msgid "Instance Options"
 msgstr "インスタンス オプション"
 
-msgid "Keep in mind to configure Dnsmasq as well."
-msgstr "Dnsmasq を適切に設定する必要があることに留意してください。"
-
 msgid "Local Cache"
 msgstr "ローカル キャッシュ"
 
@@ -129,16 +140,47 @@ msgstr ""
 "受信した DNS クエリをファイルに記録します。これにより、ネットワークで何が起き"
 "ているかをリアルタイムに把握することが可能です。"
 
-msgid "Name of the remote DNS service for resolving queries."
-msgstr "クエリの名前解決を行う、リモートの DNS サービス名です。"
-
 msgid ""
-"Options for further tweaking in case the defaults are not suitable for you."
-msgstr "デフォルト設定が適切でない場合、追加で設定するためのオプションです。"
+"Name of the remote DNS service for resolving queries incl. Location, DNSSEC- "
+"and NOLOG-Flag."
+msgstr ""
+"クエリの名前解決を行う、ロケーション, DNSSECの有無, NOLOG フラグを含めたリ"
+"モート DNS サービスの名前です。"
+
+msgid "No SSL support available.<br />"
+msgstr "利用可能な SSL サポートがありません。<br />"
+
+msgid "No default resolver list and no SSL support available.<br />"
+msgstr ""
+"デフォルトのリゾルバ リストと、利用可能な SSL サポートがありません。<br />"
 
 msgid "Overview"
 msgstr "概要"
 
+msgid "Please edit the file manually in the 'Advanced' section."
+msgstr "'詳細' タブで手動でファイルを編集してください。"
+
+msgid ""
+"Please install a 'libustream-ssl' library to download the current resolver "
+"list from 'download.dnscrypt.org'."
+msgstr ""
+"現在のリゾルバ リストを 'download.dnscrypt.org' からダウンロードするために、 "
+"'libustream-ssl' ライブラリをインストールしてください。"
+
+msgid ""
+"Please install a resolver list to '/usr/share/dnscrypt-proxy/dnscrypt-"
+"resolvers.csv' to use this package."
+msgstr ""
+"このパッケージを利用するには、リゾルバ リストを '/usr/share/dnscrypt-proxy/"
+"dnscrypt-resolvers.csv' にインストールしてください。"
+
+msgid ""
+"Please note: This may change the values for 'noresolv', 'resolvfile', "
+"'allservers' and the list 'server' settings."
+msgstr ""
+"注: これは、 'noresolv' および 'resolvfile', 'allservers', 'list server' の設"
+"定値を変更する場合があります。"
+
 msgid "Port"
 msgstr "ポート"
 
@@ -148,15 +190,8 @@ msgstr "リストのリフレッシュ"
 msgid "Refresh Resolver List"
 msgstr "リゾルバ リストのリフレッシュ"
 
-msgid "Resolver"
-msgstr "リゾルバ"
-
-msgid ""
-"SSL support not available, please install an libustream-ssl variant to use "
-"this package."
-msgstr ""
-"SSL サポートが利用できません。このパッケージを使用するには libustream-ssl 等"
-"をインストールし、 SSL サポートを有効にしてください。"
+msgid "Resolver (LOC/SEC/NOLOG)"
+msgstr "リゾルバ(LOC/SEC/NOLOG)"
 
 msgid "Save"
 msgstr "保存"
@@ -167,6 +202,9 @@ msgstr "デフォルトとは異なるリゾルバ リストを設定します
 msgid "Startup Trigger"
 msgstr "スタートアップ トリガ"
 
+msgid "The config file '/etc/resolv-crypt.conf' already exist.<br />"
+msgstr "設定ファイル '/etc/resolv-crypt.conf' は既に存在しています。<br />"
+
 msgid "The listening port for DNS queries."
 msgstr "DNS クエリを待ち受けるポートです。"
 
@@ -199,6 +237,13 @@ msgstr ""
 "このフォームでは、メインの Dnsmasq 設定ファイル (/etc/config/dhcp) の内容を変"
 "更することができます。"
 
+msgid ""
+"This form allows you to modify the content of the resolv-crypt configuration "
+"file (/etc/resolv-crypt.conf)."
+msgstr ""
+"このフォームでは、 resolv-crypt 設定ファイル(/etc/resolv-crypt.conf)の内容"
+"を変更することができます。"
+
 msgid "This form shows the content of the current DNSCrypt Resolver List."
 msgstr ""
 "このフォームには、現在の DNSCrypt リゾルバ リストの内容が表示されます。"
@@ -217,13 +262,15 @@ msgstr ""
 "このオプションは、通常よりも CPU リソースを多く使用するほか、ほとんどの "
 "DNSCrypt サーバーでは不要なものです。"
 
-msgid "To restrict the trigger, add only the relevant network interface(s)."
+msgid ""
+"To restrict the trigger, select only the relevant network interface. Usually "
+"the 'wan' interface should work for most users."
 msgstr ""
-"ã\83\88ã\83ªã\82¬ã\82\92é\99\90å®\9aã\81\99ã\82\8bã\81«ã\81¯ã\80\81é\81©å\88\87ã\81ªã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81®ã\81¿ã\82\92追å\8a ã\81\97ã\81¦ã\81\8fã\81 ã\81\95"
-"ã\81\84。"
+"ã\83\88ã\83ªã\82¬ã\82\92é\99\90å®\9aã\81\99ã\82\8bã\81«ã\81¯ã\80\81é\81©å\88\87ã\81ªã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\82\92é\81¸æ\8a\9eã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84ã\80\82é\80\9a常ã\80\81 'wan' "
+"ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81\8cã\81»ã\81¨ã\82\93ã\81©ã\81®ã\83¦ã\83¼ã\82¶ã\83¼ã\81«é\81©ã\81\97ã\81¦ã\81\84ã\81¾ã\81\99。"
 
-msgid "Usually the 'wan' interface should work for most users."
-msgstr "通常、 'wan' インターフェースがほとんどのユーザーに適しています。"
+msgid "Transfer Options To Dnsmasq"
+msgstr "Dnsmasq の転送オプション"
 
 msgid "View Logfile"
 msgstr "ログファイルの確認"
index ea83e7a..59bded8 100644 (file)
@@ -1,12 +1,19 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=UTF-8"
 
+msgid "-------"
+msgstr ""
+
 msgid "Advanced"
 msgstr ""
 
 msgid "Alternate Resolver List"
 msgstr ""
 
+msgid ""
+"Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.<br />"
+msgstr ""
+
 msgid "Blacklist"
 msgstr ""
 
@@ -15,7 +22,7 @@ msgstr ""
 
 msgid ""
 "By default the DNSCrypt-Proxy startup will be triggered by ifup events of "
-"multiple network interfaces."
+"'All' available network interfaces.<br />"
 msgstr ""
 
 msgid "Configuration of the DNSCrypt-Proxy package."
@@ -23,13 +30,13 @@ msgstr ""
 
 msgid ""
 "Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS "
-"upstream timeouts with multiple DNSCrypt instances."
+"upstream timeouts with multiple DNSCrypt instances.<br />"
 msgstr ""
 
 msgid "Create Config File"
 msgstr ""
 
-msgid "Create custom config file"
+msgid "Create Custom Config File"
 msgstr ""
 
 msgid "DNS Query Logfile"
@@ -50,19 +57,25 @@ msgstr ""
 msgid "Disable IPv6 to speed up DNSCrypt-Proxy."
 msgstr ""
 
+msgid "Dnsmasq Options"
+msgstr ""
+
+msgid "Download the current resolver list from 'download.dnscrypt.org'."
+msgstr ""
+
 msgid "Edit DNSCrypt-Proxy Configuration"
 msgstr ""
 
 msgid "Edit Dnsmasq Configuration"
 msgstr ""
 
-msgid "Enable Caching to speed up DNSCcrypt-Proxy."
+msgid "Edit Resolvcrypt Configuration"
 msgstr ""
 
-msgid "Ephemeral Keys"
+msgid "Enable Caching to speed up DNSCcrypt-Proxy."
 msgstr ""
 
-msgid "Extra options"
+msgid "Ephemeral Keys"
 msgstr ""
 
 msgid "File Checksum"
@@ -76,7 +89,7 @@ msgid ""
 "online</a>"
 msgstr ""
 
-msgid "General options"
+msgid "General Options"
 msgstr ""
 
 msgid "IP Address"
@@ -88,10 +101,7 @@ msgstr ""
 msgid "Input file not found, please check your configuration."
 msgstr ""
 
-msgid "Instance options"
-msgstr ""
-
-msgid "Keep in mind to configure Dnsmasq as well."
+msgid "Instance Options"
 msgstr ""
 
 msgid "Local Cache"
@@ -106,16 +116,38 @@ msgid ""
 "is happening on the network."
 msgstr ""
 
-msgid "Name of the remote DNS service for resolving queries."
+msgid ""
+"Name of the remote DNS service for resolving queries incl. Location, DNSSEC- "
+"and NOLOG-Flag."
 msgstr ""
 
-msgid ""
-"Options for further tweaking in case the defaults are not suitable for you."
+msgid "No SSL support available.<br />"
+msgstr ""
+
+msgid "No default resolver list and no SSL support available.<br />"
 msgstr ""
 
 msgid "Overview"
 msgstr ""
 
+msgid "Please edit the file manually in the 'Advanced' section."
+msgstr ""
+
+msgid ""
+"Please install a 'libustream-ssl' library to download the current resolver "
+"list from 'download.dnscrypt.org'."
+msgstr ""
+
+msgid ""
+"Please install a resolver list to '/usr/share/dnscrypt-proxy/dnscrypt-"
+"resolvers.csv' to use this package."
+msgstr ""
+
+msgid ""
+"Please note: This may change the values for 'noresolv', 'resolvfile', "
+"'allservers' and the list 'server' settings."
+msgstr ""
+
 msgid "Port"
 msgstr ""
 
@@ -125,12 +157,7 @@ msgstr ""
 msgid "Refresh Resolver List"
 msgstr ""
 
-msgid "Resolver"
-msgstr ""
-
-msgid ""
-"SSL support not available, please install an libustream-ssl variant to use "
-"this package."
+msgid "Resolver (LOC/SEC/NOLOG)"
 msgstr ""
 
 msgid "Save"
@@ -142,6 +169,9 @@ msgstr ""
 msgid "Startup Trigger"
 msgstr ""
 
+msgid "The config file '/etc/resolv-crypt.conf' already exist.<br />"
+msgstr ""
+
 msgid "The listening port for DNS queries."
 msgstr ""
 
@@ -165,6 +195,11 @@ msgid ""
 "file (/etc/config/dhcp)."
 msgstr ""
 
+msgid ""
+"This form allows you to modify the content of the resolv-crypt configuration "
+"file (/etc/resolv-crypt.conf)."
+msgstr ""
+
 msgid "This form shows the content of the current DNSCrypt Resolver List."
 msgstr ""
 
@@ -178,10 +213,12 @@ msgid ""
 "server."
 msgstr ""
 
-msgid "To restrict the trigger, add only the relevant network interface(s)."
+msgid ""
+"To restrict the trigger, select only the relevant network interface. Usually "
+"the 'wan' interface should work for most users."
 msgstr ""
 
-msgid "Usually the 'wan' interface should work for most users."
+msgid "Transfer Options To Dnsmasq"
 msgstr ""
 
 msgid "View Logfile"
index 65ef012..9e5057e 100644 (file)
@@ -3,6 +3,7 @@
 #-- Licensed to the public under the GNU General Public License v2.
 . /lib/functions/network.sh
 
+[ "$(uci -q get fwknopd.@access[0].KEY)" != "CHANGEME" ] && exit 0
 uci batch <<EOF
        add ucitrack fwknopd
        set ucitrack.@fwknopd[-1].init=fwknopd
index abca5d3..48850bd 100644 (file)
@@ -4,23 +4,23 @@ if [ "$1" != "" ]; then
 entry_num=$1
 fi
 
-key_base64=$(uci get fwknopd.@access[$entry_num].KEY_BASE64)
-key=$(uci get fwknopd.@access[$entry_num].KEY)
-hmac_key_base64=$(uci get fwknopd.@access[$entry_num].HMAC_KEY_BASE64)
-hmac_key=$(uci get fwknopd.@access[$entry_num].HMAC_KEY)
+key_base64=$(uci -q get fwknopd.@access[$entry_num].KEY_BASE64)
+key=$(uci -q get fwknopd.@access[$entry_num].KEY)
+hmac_key_base64=$(uci -q get fwknopd.@access[$entry_num].HMAC_KEY_BASE64)
+hmac_key=$(uci -q get fwknopd.@access[$entry_num].HMAC_KEY)
 
-if [ $key_base64 != "" ]; then
+if [ "$key_base64" != "" ]; then
 qr="KEY_BASE64:$key_base64"
 fi
-if [ $key != "" ]; then
+if [ "$key" != "" ]; then
 qr="$qr KEY:$key"
 
 fi
-if [ $hmac_key_base64 != "" ]; then
+if [ "$hmac_key_base64" != "" ]; then
 qr="$qr HMAC_KEY_BASE64:$hmac_key_base64"
 fi
-if [ $hmac_key != "" ]; then
+if [ "$hmac_key" != "" ]; then
 qr="$qr HMAC_KEY:$hmac_key"
 fi
 
-qrencode -o - "$qr"
+qrencode -t svg -I -o - "$qr"
diff --git a/applications/luci-app-noddos/Makefile b/applications/luci-app-noddos/Makefile
new file mode 100644 (file)
index 0000000..4c2b904
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright (C) 2017 Steven Hessing (steven.hessing@gmail.com)
+# Based on initial implementation by Stan Grishin (stangri@melmac.net)
+# This is free software, licensed under the GNU General Public License v3.
+
+include $(TOPDIR)/rules.mk
+
+PKG_LICENSE:=GPLv3
+PKG_MAINTAINER:=Steven Hessing <steven.hessing@gmail.com>
+
+LUCI_TITLE:=Noddos Service Web UI
+LUCI_DESCRIPTION:=Provides Web UI for Noddos service.
+LUCI_DEPENDS:=+luci +noddos
+LUCI_PKGARCH:=all
+PKG_RELEASE:=1
+
+include ../../luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
diff --git a/applications/luci-app-noddos/htdocs/cgi-bin/clientdetails b/applications/luci-app-noddos/htdocs/cgi-bin/clientdetails
new file mode 100755 (executable)
index 0000000..6ff4ce5
--- /dev/null
@@ -0,0 +1,91 @@
+#!/usr/bin/lua
+
+-- clientdetails.lua : Provides details about client devices discovered by Noddos
+-- Copyright (C) 2017 Steven Hessing (steven.hessing@gmail.com)
+-- This is free software, licensed under the GNU General Public License v3.
+
+require "nixio.fs"
+
+print ("Content-type: Text/html\n")
+local info = os.getenv("QUERY_STRING")
+
+local params = {}
+local echo = {}
+
+function print_row(key)
+       print ("<tr><th>")
+       print (key)
+       print ("</th><td>")
+       print (device[key])
+       print ("</td></tr>")
+end
+
+for name, value in string.gmatch(info .. '&', '(.-)%=(.-)%&') do
+    value = string.gsub(value , '%+', ' ')
+    value = string.gsub(value , '%%(%x%x)', function(dpc)
+        return string.char(tonumber(dpc,16))
+               end )
+       params[name] = value
+
+    value = string.gsub(value, "%&", "&amp;")
+    value = string.gsub(value, "%<", "&lt;")
+    value = string.gsub(value, '%"', "&quot;")
+    echo[name] = value
+end
+
+device = {}
+profile = {}
+
+if nixio.fs.access("/var/lib/noddos/DeviceDump.json") then
+        io.input("/var/lib/noddos/DeviceDump.json")
+        local t = io.read("*all")
+       local json = require "luci.jsonc"
+        local devdump = json.parse(t)
+        for i, v in ipairs(devdump) do
+                               if v.MacAddress == params["mac"] then
+                        device = v
+                end
+        end
+        io.input("/var/lib/noddos/DeviceProfiles.json")
+        t = io.read("*all")
+        local temp = json.parse(t)
+        for i, v in ipairs(temp) do
+                if device.DeviceProfileUuid == v.DeviceProfileUuid then
+                        profile = v
+                end
+        end
+end
+pagetop = [[
+<html>
+  <head>
+    <title>Client Details by Noddos</title>
+    <meta charset="utf-8">
+    <!--[if lt IE 9]><script src="/luci-static/bootstrap/html5.js?v=git-17.100.70571-29fabe2"></script><![endif]-->
+    <meta name="viewport" content="initial-scale=1.0">
+    <link rel="stylesheet" href="/luci-static/bootstrap/cascade.css?v=git-17.100.70571-29fabe2">
+    <link rel="stylesheet" media="only screen and (max-device-width: 854px)" href="/luci-static/bootstrap/mobile.css?v=git-17.100.70571-29fabe2" type="text/css" />
+    <link rel="shortcut icon" href="/luci-static/bootstrap/favicon.ico">
+    <script src="/luci-static/resources/xhr.js?v=git-17.100.70571-29fabe2"></script>
+  </head>
+  <body text=blue>
+    <h1>Client Details</h1>
+]]
+print (pagetop)
+
+if params["mac"] ~= nil then
+       print ("<table>")
+       for i, key in ipairs{"MacAddress", "Ipv4Address", "Ipv6Address", "DeviceProfileUuid", "DhcpHostname", "DhcpVendor", "SsdpFriendlyName", "SsdpLocation", "SsdpManufacturer", "SsdpModelName", "SsdpModelUrl", "SsdpSerialNumber", "SsdpServer","SsdpUserAgent", "MdnsDeviceUrl", "MdnsHw", "MdnsManufacturer", "MdnsModelName", "MdnsOs", "WsDiscoveryTypes", "WsDiscoveryXaddrs", "DnsQueries"} do
+               print_row(key)
+       end
+       print ("</table>")
+else 
+       print ("no mac address specified")
+end
+
+pagebase = [[<br><br>
+Client Details by
+<a href=http://www.noddos.io>Noddos</a>
+</body></html>
+]]
+
+print (pagebase)
diff --git a/applications/luci-app-noddos/luasrc/controller/noddos.lua b/applications/luci-app-noddos/luasrc/controller/noddos.lua
new file mode 100644 (file)
index 0000000..c45e24b
--- /dev/null
@@ -0,0 +1,10 @@
+-- Copyright 2017 Steven Hessing (steven.hessing@gmail.com)
+-- This is free software, licensed under the GNU General Public License v3.
+-- /usr/lib/lua/luci/controller/noddos.lua
+
+module("luci.controller.noddos", package.seeall)
+function index()
+    entry({"admin", "status", "noddos"}, template("noddos/clients"), _("Noddos Clients"), 3)
+    entry({"admin", "network", "noddos"}, cbi("noddos"), _("Noddos Client Tracking"), 55)
+end
+
diff --git a/applications/luci-app-noddos/luasrc/model/cbi/noddos.lua b/applications/luci-app-noddos/luasrc/model/cbi/noddos.lua
new file mode 100644 (file)
index 0000000..3abb73b
--- /dev/null
@@ -0,0 +1,46 @@
+-- Copyright 2017 Steven Hessing (steven.hessing@gmail.com)
+-- This is free software, licensed under the GNU General Public License v3.
+-- /usr/lib/lua/luci/model/cbi/noddos.lua
+
+m = Map("noddos", translate("Client Firewall"),
+    translate("Noddos controls traffic from the clients on your network to the Internet. " ..
+        "This helps protect your network, the bandwidth on your Internet connection and " ..
+        "the Internet"))
+
+s = m:section(TypedSection, "noddos", translate("Server Settings"))
+s.anonymous = true
+s.addremove = false
+
+s:option(Flag, "rfc1918",
+    translate("Private networks"),
+    translate("Report traffic to private networks (10/8, 172.16/12, 192.168/16, fd75:6b5d:352c:ed05::/64)")).default=false
+
+s:option(Flag, "upload",
+    translate("Upload anonimized traffic stats"),
+    translate("Uploading your statistics helps improving device recognition " ..
+        "and discovering hacked devices & botnets"))
+
+o = s:option(DynamicList, "whitelistipv4",
+    translate("Excluded IPv4 addresses"),
+    translate("Don't monitor these IPv4 addresses"))
+o.optional = true
+o.placeholder = "127.0.0.1 192.168.1.1"
+o.delimiter = " "
+o.datatype="list(ip4addr)"
+
+o = s:option(DynamicList, "whitelistipv6",
+    translate("Excluded IPv6 addresses"),
+    translate("Don't monitor these IPv6 addresses"))
+o.optional = true
+o.delimiter = " "
+o.datatype="list(ip6addr)"
+
+o = s:option(DynamicList, "whitelistmac",
+    translate("Excluded MAC addresses"),
+    translate("Don't monitor these MAC addresses"))
+o.optional = true
+o.delimiter = " "
+o.datatype="list(macaddr)"
+
+return m
+
diff --git a/applications/luci-app-noddos/luasrc/view/noddos/clients.htm b/applications/luci-app-noddos/luasrc/view/noddos/clients.htm
new file mode 100644 (file)
index 0000000..f2fb931
--- /dev/null
@@ -0,0 +1,111 @@
+<%#
+ Copyright (C) 2017 Steven Hessing <steven.hessing@gmail.com>
+  This is free software, licensed under the GNU General Public License v3.
+ /usr/lib/lua/luci/view/clients.htm
+-%>
+
+<%-
+
+    require "nixio.fs"
+    require "os"
+
+    local last_modified = "<boottime>"
+    local style = true
+    local v
+    local devdump
+
+    if nixio.fs.access("/var/lib/noddos/DeviceDump.json") then
+        last_modified = os.date("%c", nixio.fs.stat("/var/lib/noddos/DeviceDump.json")['mtime'])
+        io.input("/var/lib/noddos/DeviceDump.json")
+        t = io.read("*all")
+        devdump = luci.jsonc.parse(t)
+        io.input("/var/lib/noddos/DeviceProfiles.json")
+        t = io.read("*all")
+        temp = luci.jsonc.parse(t)
+        devicevalues = {}
+        for i, v in ipairs(temp) do
+            devicevalues[v.DeviceProfileUuid] = v
+        end
+    end
+-%>
+
+<%+header%>
+
+<div class="cbi-map" id="cbi-network">
+    <h2 name="content"><%:Clients%></h2>
+    <div class="cbi-map-descr"><%:The following clients have been discovered on the network. The last discovery was completed at %><%=last_modified%></div>
+
+    <fieldset class="cbi-section">
+        <legend><%:Recognized Clients%></legend>
+        <div class="cbi-section-node">
+            <table class="cbi-section-table">
+                <tr class="cbi-section-table-titles">
+                    <th class="cbi-section-table-cell"><%:Hostname%></th>
+                    <th class="cbi-section-table-cell"><%:IPv4%></th>
+                    <th class="cbi-section-table-cell"><%:MAC%></th>
+                    <th class="cbi-section-table-cell"><%:Manufacturer%></th>
+                    <th class="cbi-section-table-cell"><%:Model%></th>
+                    <th class="cbi-section-table-cell"><%:Class%></th>
+                </tr>
+
+                <%
+                    for i,v in ipairs(devdump) do
+                        if v.DeviceProfileUuid ~= "" then
+                %>
+                <tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
+                    <td class="cbi-value-field"><%=v.Hostname%></td>
+                    <td class="cbi-value-field"><%=v.Ipv4Address%></td>
+                    <td class="cbi-value-field"><a href="/cgi-bin/clientdetails?mac=<%=v.MacAddress%>"><%=v.MacAddress%></a></td>
+                    <td class="cbi-value-field"><%=devicevalues[v.DeviceProfileUuid].Manufacturer%></td>
+                    <td class="cbi-value-field"><%=devicevalues[v.DeviceProfileUuid].Model%></td>
+                    <td class="cbi-value-field"><%=devicevalues[v.DeviceProfileUuid].ThingClass%></td>
+                </tr>
+                <%
+                            style=false
+                        end
+                    end
+                %>
+            </table>
+        </div>
+    </fieldset>
+    <br />
+    <fieldset class="cbi-section">
+        <legend><%:Unrecognized Clients%></legend>
+        <div class="cbi-section-node">
+            <table class="cbi-section-table">
+                <tr class="cbi-section-table-titles">
+                    <th class="cbi-section-table-cell"><%:Hostname%></th>
+                    <th class="cbi-section-table-cell"><%:IPv4%></th>
+                    <th class="cbi-section-table-cell"><%:MAC%></th>
+                    <th class="cbi-section-table-cell"><%:Manufacturer%></th>
+                    <th class="cbi-section-table-cell"><%:Model%></th>
+                    <th class="cbi-section-table-cell"><%:DhcpVendor%></th>
+                    <th class="cbi-section-table-cell"><%:DhcpHostname%></th>
+                </tr>
+
+                <%
+                    for i,v in ipairs(devdump) do
+                        if v.DeviceProfileUuid == "" then
+                %>
+                <tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
+                    <td class="cbi-value-field"><%=v.Hostname%></td>
+                    <td class="cbi-value-field"><%=v.Ipv4Address%></td>
+                    <td class="cbi-value-field"><a href="/cgi-bin/clientdetails?mac=<%=v.MacAddress%>"><%=v.MacAddress%></a></td>
+                    <td class="cbi-value-field"><%=v.SsdpManufacturer%></td>
+                    <td class="cbi-value-field"><%=v.SsdpModelName%></td>
+                    <td class="cbi-value-field"><%=v.DhcpVendor1%></td>
+                    <td class="cbi-value-field"><%=v.DhcpHostname%></td>
+                </tr>
+                <%
+                            style=false
+                        end
+                    end
+                %>
+            </table>
+        </div>
+    </fieldset>
+
+</div>
+
+<%+footer%>
+
diff --git a/applications/luci-app-noddos/po/ja/noddos.po b/applications/luci-app-noddos/po/ja/noddos.po
new file mode 100644 (file)
index 0000000..c6b4617
--- /dev/null
@@ -0,0 +1,111 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.4\n"
+"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Language: ja\n"
+
+msgid "Class"
+msgstr "クラス"
+
+msgid "Client Firewall"
+msgstr "クライアント ファイアウォール"
+
+msgid "Clients"
+msgstr "クライアント"
+
+msgid "DhcpHostname"
+msgstr "DHCP ホスト名"
+
+msgid "DhcpVendor"
+msgstr "DHCP ベンダー"
+
+msgid "Don't monitor these IPv4 addresses"
+msgstr "これらの IPv4 アドレスを監視しません。"
+
+msgid "Don't monitor these IPv6 addresses"
+msgstr "これらの IPv6 アドレスを監視しません。"
+
+msgid "Don't monitor these MAC addresses"
+msgstr "これらの MAC アドレスを監視しません。"
+
+msgid "Excluded IPv4 addresses"
+msgstr "除外する IPv4 アドレス"
+
+msgid "Excluded IPv6 addresses"
+msgstr "除外する IPv6 アドレス"
+
+msgid "Excluded MAC addresses"
+msgstr "除外する MAC アドレス"
+
+msgid "Hostname"
+msgstr "ホスト名"
+
+msgid "IPv4"
+msgstr "IPv4"
+
+msgid "MAC"
+msgstr "MAC"
+
+msgid "Manufacturer"
+msgstr "製造元"
+
+msgid "Model"
+msgstr "モデル"
+
+msgid "Noddos Client Tracking"
+msgstr "Noddos クライアント トラッキング"
+
+msgid "Noddos Clients"
+msgstr "Noddos クライアント"
+
+msgid ""
+"Noddos controls traffic from the clients on your network to the Internet. "
+"This helps protect your network, the bandwidth on your Internet connection "
+"and the Internet"
+msgstr ""
+"Noddos は、ネットワーク内のクライアントからインターネットへのトラフィックを制"
+"御します。これは、ネットワークとインターネット接続の帯域幅、インターネットの"
+"保護に役立ちます。"
+
+msgid "Private networks"
+msgstr "プライベート ネットワーク"
+
+msgid "Recognized Clients"
+msgstr "識別済クライアント"
+
+msgid ""
+"Report traffic to private networks (10/8, 172.16/12, 192.168/16, "
+"fd75:6b5d:352c:ed05::/64)"
+msgstr ""
+"プライベート ネットワークへのトラフィックについてのレポート(10/8, "
+"172.16/12, 192.168/16, fd75:6b5d:352c:ed05::/64)"
+
+msgid "Server Settings"
+msgstr "サーバー設定"
+
+msgid ""
+"The following clients have been discovered on the network. The last "
+"discovery was completed at"
+msgstr ""
+"以下のクライアントがネットワーク内で見つかりました。探索の最終実行日時:"
+
+msgid "Unrecognized Clients"
+msgstr "未識別クライアント"
+
+msgid "Upload anonimized traffic stats"
+msgstr "匿名トラフィック状況のアップロード"
+
+msgid ""
+"Uploading your statistics helps improving device recognition and discovering "
+"hacked devices & botnets"
+msgstr ""
+"デバイスの識別や、ハックされたデバイスとボットネットの発見の改善に役立てるた"
+"め、統計をアップロードします。"
diff --git a/applications/luci-app-noddos/po/templates/noddos.pot b/applications/luci-app-noddos/po/templates/noddos.pot
new file mode 100644 (file)
index 0000000..69d1357
--- /dev/null
@@ -0,0 +1,92 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+msgid "Class"
+msgstr ""
+
+msgid "Client Firewall"
+msgstr ""
+
+msgid "Clients"
+msgstr ""
+
+msgid "DhcpHostname"
+msgstr ""
+
+msgid "DhcpVendor"
+msgstr ""
+
+msgid "Don't monitor these IPv4 addresses"
+msgstr ""
+
+msgid "Don't monitor these IPv6 addresses"
+msgstr ""
+
+msgid "Don't monitor these MAC addresses"
+msgstr ""
+
+msgid "Excluded IPv4 addresses"
+msgstr ""
+
+msgid "Excluded IPv6 addresses"
+msgstr ""
+
+msgid "Excluded MAC addresses"
+msgstr ""
+
+msgid "Hostname"
+msgstr ""
+
+msgid "IPv4"
+msgstr ""
+
+msgid "MAC"
+msgstr ""
+
+msgid "Manufacturer"
+msgstr ""
+
+msgid "Model"
+msgstr ""
+
+msgid "Noddos Client Tracking"
+msgstr ""
+
+msgid "Noddos Clients"
+msgstr ""
+
+msgid ""
+"Noddos controls traffic from the clients on your network to the Internet. "
+"This helps protect your network, the bandwidth on your Internet connection "
+"and the Internet"
+msgstr ""
+
+msgid "Private networks"
+msgstr ""
+
+msgid "Recognized Clients"
+msgstr ""
+
+msgid ""
+"Report traffic to private networks (10/8, 172.16/12, 192.168/16, "
+"fd75:6b5d:352c:ed05::/64)"
+msgstr ""
+
+msgid "Server Settings"
+msgstr ""
+
+msgid ""
+"The following clients have been discovered on the network. The last "
+"discovery was completed at"
+msgstr ""
+
+msgid "Unrecognized Clients"
+msgstr ""
+
+msgid "Upload anonimized traffic stats"
+msgstr ""
+
+msgid ""
+"Uploading your statistics helps improving device recognition and discovering "
+"hacked devices & botnets"
+msgstr ""
diff --git a/applications/luci-app-noddos/root/etc/uci-defaults/40_luci-noddos b/applications/luci-app-noddos/root/etc/uci-defaults/40_luci-noddos
new file mode 100644 (file)
index 0000000..17abbc4
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# Copyright (C) 2017 Steven Hessing (steven.hessing@live.com)
+# This is free software, licensed under the GNU General Public License v3
+
+uci -q batch <<-EOF >/dev/null
+       delete ucitrack.@noddos[-1]
+       add ucitrack noddos
+       set ucitrack.@noddos[-1].init=noddos
+       commit ucitrack
+EOF
+
+rm -f /tmp/luci-indexcache
+exit 0
index 7865881..dc77182 100644 (file)
@@ -685,6 +685,10 @@ local knownParams = {
                        "tls_auth",
                        "/etc/openvpn/tlsauth.key",
                        translate("Additional authentication over TLS") },
+               { Value,
+                       "tls_crypt",
+                       "/etc/openvpn/tlscrypt.key",
+                       translate("Encrypt and authenticate all control channel packets with the key") },
        --      { Value,
        --              "askpass",
        --              "[file]",
index 1b75fe6..d756469 100644 (file)
@@ -199,6 +199,9 @@ msgstr "Activa la interfície de gestió a <em>IP</em> <em>port</em>"
 msgid "Enabled"
 msgstr "Activat"
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr "Xifra d'encriptació per paquets"
 
index c687422..4fba010 100644 (file)
@@ -194,6 +194,9 @@ msgstr ""
 msgid "Enabled"
 msgstr "Povoleno"
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr ""
 
index dc382ee..a203c92 100644 (file)
@@ -197,6 +197,9 @@ msgstr "Administratorschnittstelle aktivieren"
 msgid "Enabled"
 msgstr "Einschalten"
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr "Verschlüsselungsalgorithmus für Pakete"
 
index 2c787d8..63dd898 100644 (file)
@@ -198,6 +198,9 @@ msgstr ""
 msgid "Enabled"
 msgstr "Ενεργοποιημένο"
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr ""
 
index a5994dc..51819f6 100644 (file)
@@ -197,6 +197,9 @@ msgstr "Enable management interface on <em>IP</em> <em>port</em>"
 msgid "Enabled"
 msgstr "Enabled"
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr "Encrypt and authenticate all control channel packets with the key"
+
 msgid "Encryption cipher for packets"
 msgstr "Encryption cipher for packets"
 
index a514183..819e7ee 100644 (file)
@@ -196,6 +196,9 @@ msgstr "Interfaz de gestión en <em>IP</em> <em>puerto</em>"
 msgid "Enabled"
 msgstr "Activado"
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr "Cifra de encriptación de paquetes"
 
index e2f33dc..331d193 100644 (file)
@@ -206,6 +206,9 @@ msgstr "Activer l'interface de gestion sur <em>IP</em> <em>port</em>"
 msgid "Enabled"
 msgstr "Activé"
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr "Méthode de chiffrement des paquets"
 
index 3528444..517da49 100644 (file)
@@ -192,6 +192,9 @@ msgstr ""
 msgid "Enabled"
 msgstr ""
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr ""
 
index 1f9d691..67a8217 100644 (file)
@@ -196,6 +196,9 @@ msgstr ""
 msgid "Enabled"
 msgstr "Engedélyezve"
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr ""
 
index 233c144..834015b 100644 (file)
@@ -198,6 +198,9 @@ msgstr ""
 msgid "Enabled"
 msgstr "Abilitato"
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr ""
 
index 5474008..232ae27 100644 (file)
@@ -196,6 +196,9 @@ msgstr ""
 msgid "Enabled"
 msgstr "有効"
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr ""
 
index c439c3e..6c6e0d6 100644 (file)
@@ -191,6 +191,9 @@ msgstr ""
 msgid "Enabled"
 msgstr ""
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr ""
 
index 3528444..517da49 100644 (file)
@@ -192,6 +192,9 @@ msgstr ""
 msgid "Enabled"
 msgstr ""
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr ""
 
index e289a80..bef5a13 100644 (file)
@@ -197,6 +197,9 @@ msgstr "Włącz interfejs zarządzalny na <em>IP</em> <em>port</em>"
 msgid "Enabled"
 msgstr "Włączone"
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr "Szyfrowanie dla pakietów"
 
index 84b0540..26642e2 100644 (file)
@@ -198,6 +198,9 @@ msgstr "Ativar o interface de gestão em <em>IP</em> <em>porta</em>"
 msgid "Enabled"
 msgstr "Ativado"
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr "Cifra de encriptação para pacotes"
 
index 95c50a5..d74b0a6 100644 (file)
@@ -198,6 +198,9 @@ msgstr "Activar o interface de gestão em <em>IP</em> <em>porta</em>"
 msgid "Enabled"
 msgstr "Activado"
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr "Cifra de encriptação para pacotes"
 
index 4a7a5b7..ef5e7ce 100644 (file)
@@ -193,6 +193,9 @@ msgstr ""
 msgid "Enabled"
 msgstr ""
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr ""
 
index 00e585c..89cf116 100644 (file)
@@ -200,6 +200,9 @@ msgstr "Включить интерфейс управления на <em>IP</em
 msgid "Enabled"
 msgstr "Включено"
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr "Шифровать и аутентифициоровать ключом все пакеты канала управления"
+
 msgid "Encryption cipher for packets"
 msgstr "Шифрование для пакетов"
 
index f001c12..9005529 100644 (file)
@@ -191,6 +191,9 @@ msgstr ""
 msgid "Enabled"
 msgstr ""
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr ""
 
index c03e149..838f465 100644 (file)
@@ -192,6 +192,9 @@ msgstr ""
 msgid "Enabled"
 msgstr ""
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr ""
 
index f2e4011..126cab0 100644 (file)
@@ -184,6 +184,9 @@ msgstr ""
 msgid "Enabled"
 msgstr ""
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr ""
 
index 7b8ffad..917c36d 100644 (file)
@@ -191,6 +191,9 @@ msgstr ""
 msgid "Enabled"
 msgstr ""
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr ""
 
index a6910c2..e98b52a 100644 (file)
@@ -195,6 +195,9 @@ msgstr ""
 msgid "Enabled"
 msgstr ""
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr ""
 
index 8e8b96d..f3873b0 100644 (file)
@@ -197,6 +197,9 @@ msgstr "Kích hoạt giao diện điều hành trên <em>IP</em> <em>cổng</em>
 msgid "Enabled"
 msgstr "Kích hoạt "
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr "Encryption cipher cho các gói"
 
index 3904ac4..093a9cd 100644 (file)
@@ -196,6 +196,9 @@ msgstr "在<em>IP</em> <em>port</em>上启用可管理接口"
 msgid "Enabled"
 msgstr "启用"
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr "加密数据包"
 
index f26aeb0..556fb9b 100644 (file)
@@ -190,6 +190,9 @@ msgstr ""
 msgid "Enabled"
 msgstr ""
 
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
 msgid "Encryption cipher for packets"
 msgstr ""
 
index de36381..8ebac37 100644 (file)
@@ -1,3 +1,7 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+
 msgid "Block Time"
 msgstr "Tempo de bloqueio"
 
index 67bf586..17417fa 100644 (file)
@@ -14,11 +14,15 @@ msgstr ""
 
 msgid ""
 "'AUTO' selects the highest protocol version that client and server support."
-msgstr "'AUTO' seleciona a versão mais alto protocolo que o cliente e o servidor suportar."
+msgstr ""
+"'AUTO' seleciona a versão mais alto protocolo que o cliente e o servidor "
+"suportar."
 
 msgid ""
 "'Hostname:Port' or 'IPv4:Port' or '[IPv6]:Port' Radicale should listen on"
-msgstr "'NomeDoEquipamento:porta' ou 'IPv4:Porta' ou '[IPv6]:Porta' em que o Radicale deve escutar"
+msgstr ""
+"'NomeDoEquipamento:porta' ou 'IPv4:Porta' ou '[IPv6]:Porta' em que o "
+"Radicale deve escutar"
 
 msgid "AUTO"
 msgstr "AUTO"
@@ -48,7 +52,9 @@ msgstr "Autenticação"
 msgid ""
 "Authentication login is matched against the 'user' key, and collection's "
 "path is matched against the 'collection' key."
-msgstr "O nome do usuário na autenticação é comparado com a chave do 'user', e o caminho da coleção é comparado com a chave 'coleção'."
+msgstr ""
+"O nome do usuário na autenticação é comparado com a chave do 'user', e o "
+"caminho da coleção é comparado com a chave 'coleção'."
 
 msgid "Authentication method"
 msgstr "Método de autenticação"
@@ -68,7 +74,9 @@ msgstr "CalDAV/CardDAV"
 msgid ""
 "Calendars and address books are available for both local and remote access, "
 "possibly limited through authentication policies."
-msgstr "Agendas e contados estão disponíveis tanto para acesso local como remoto, possivelmente limitado através das políticas de autenticação."
+msgstr ""
+"Agendas e contados estão disponíveis tanto para acesso local como remoto, "
+"possivelmente limitado através das políticas de autenticação."
 
 msgid "Certificate file"
 msgstr "Arquivo do certificado"
@@ -76,7 +84,9 @@ msgstr "Arquivo do certificado"
 msgid ""
 "Change here the encoding Radicale will use instead of 'UTF-8' for responses "
 "to the client and/or to store data inside collections."
-msgstr "Mude aqui a codificação que o Radicale usará em vez de 'UTF-8' para respostas a clientes ou para armazenar dados dentro das coleções."
+msgstr ""
+"Mude aqui a codificação que o Radicale usará em vez de 'UTF-8' para "
+"respostas a clientes ou para armazenar dados dentro das coleções."
 
 msgid "Ciphers"
 msgstr "Cifras"
@@ -95,7 +105,11 @@ msgid ""
 "Cross-origin resource sharing (CORS) is a mechanism that allows restricted "
 "resources (e.g. fonts, JavaScript, etc.) on a web page to be requested from "
 "another domain outside the domain from which the resource originated."
-msgstr "O compartilhamento de recursos de origem cruzada (CORS) é um mecanismo que permite que os recursos de acesso restrito (por exemplo, fontes, JavaScript, etc.) em uma página web ser solicitado de outro domínio fora do domínio a partir do qual o recurso foi originado."
+msgstr ""
+"O compartilhamento de recursos de origem cruzada (CORS) é um mecanismo que "
+"permite que os recursos de acesso restrito (por exemplo, fontes, JavaScript, "
+"etc.) em uma página web ser solicitado de outro domínio fora do domínio a "
+"partir do qual o recurso foi originado."
 
 msgid "Custom"
 msgstr "Personalizadas"
@@ -108,7 +122,9 @@ msgid "Debug"
 msgstr "Depuração"
 
 msgid "Delay (in seconds) during system boot before Radicale start"
-msgstr "Atraso (em segundos) durante a inicialização do sistema antes do Radicale iniciar"
+msgstr ""
+"Atraso (em segundos) durante a inicialização do sistema antes do Radicale "
+"iniciar"
 
 #, fuzzy
 msgid "Directory"
@@ -131,7 +147,9 @@ msgstr "Ativar HTTPS"
 
 msgid ""
 "Enable/Disable auto-start of Radicale on system start-up and interface events"
-msgstr "Ativar/Desativar iniciação automática do Radicale na iniciação do sistema e em eventos de interface"
+msgstr ""
+"Ativar/Desativar iniciação automática do Radicale na iniciação do sistema e "
+"em eventos de interface"
 
 msgid "Encoding"
 msgstr "Codificação"
@@ -164,7 +182,9 @@ msgstr "Sistema de arquivos"
 msgid ""
 "For example, for the 'user' key, '.+' means 'authenticated user' and '.*' "
 "means 'anybody' (including anonymous users)."
-msgstr "Por exemplo, para a chave 'user', '.+' Significa 'usuário autenticado' e '.*' Significa 'qualquer um' (incluindo usuários anônimos)."
+msgstr ""
+"Por exemplo, para a chave 'user', '.+' Significa 'usuário autenticado' e '."
+"*' Significa 'qualquer um' (incluindo usuários anônimos)."
 
 msgid "Full access for Owner only"
 msgstr "Acesso completo somente para o proprietário"
@@ -228,7 +248,8 @@ msgid "Number of backup files of log to create."
 msgstr "Número de backups dos arquivos de registros(log) a serem criados."
 
 msgid "OPTIONAL: See python's ssl module for available ciphers"
-msgstr "Opcional: veja o módulo SSL do python para conhecer as cifras disponíveis"
+msgstr ""
+"Opcional: veja o módulo SSL do python para conhecer as cifras disponíveis"
 
 msgid "One or more missing/invalid fields on tab"
 msgstr "Um ou campos inválidos/ausentes na aba"
@@ -242,7 +263,9 @@ msgstr "O caminho/arquivo é necessário!"
 msgid ""
 "Place here the 'user:password' pairs for your users which should have access "
 "to Radicale."
-msgstr "Coloque aqui os pares 'usuário:senha' para os seus usuários que devem ter acesso a Radicale."
+msgstr ""
+"Coloque aqui os pares 'usuário:senha' para os seus usuários que devem ter "
+"acesso a Radicale."
 
 msgid "Please install current version !"
 msgstr "Por favor, instale a versão atual!"
@@ -263,7 +286,9 @@ msgid "Radicale CalDAV/CardDAV Server"
 msgstr "Radicale Servidor CalDAV/CardDAV"
 
 msgid "Radicale uses '/etc/radicale/rights' as regexp-based file."
-msgstr "Radicale usa o '/etc/radicale/rights' como arquivo baseado em expressão regular."
+msgstr ""
+"Radicale usa o '/etc/radicale/rights' como arquivo baseado em expressão "
+"regular."
 
 msgid "Radicale uses '/etc/radicale/users' as htpasswd file."
 msgstr "Radicale usa o '/etc/radicale/users' como o arquivo htpasswd."
@@ -307,7 +332,9 @@ msgid "Server"
 msgstr "Servidor"
 
 msgid "Setting this parameter to '0' will disable rotation of log-file."
-msgstr "Definindo este parâmetro para '0' irá desativar a rotação dos arquivos de registros(log)."
+msgstr ""
+"Definindo este parâmetro para '0' irá desativar a rotação dos arquivos de "
+"registros(log)."
 
 msgid "Software package '%s' is not installed."
 msgstr "O pacote de software '%s' não está instalado."
@@ -349,18 +376,23 @@ msgstr "Sistema"
 msgid ""
 "The Radicale Project is a complete CalDAV (calendar) and CardDAV (contact) "
 "server solution."
-msgstr "O Projeto Radicale é uma solução completa de CalDAV (agenda) e CardDAV (contatos)."
+msgstr ""
+"O Projeto Radicale é uma solução completa de CalDAV (agenda) e CardDAV "
+"(contatos)."
 
 msgid ""
 "They can be viewed and edited by calendar and contact clients on mobile "
 "phones or computers."
-msgstr "Eles podem ser visualizados e editados pelos clientes de agenda e de contatos em telefones celulares ou computadores."
+msgstr ""
+"Eles podem ser visualizados e editados pelos clientes de agenda e de "
+"contatos em telefones celulares ou computadores."
 
 msgid "To edit the file follow this link!"
 msgstr "Para editar o arquivo, siga este link!"
 
 msgid "To view latest log file follow this link!"
-msgstr "Para visualizar mais recente arquivo de registros(log), siga este link!"
+msgstr ""
+"Para visualizar mais recente arquivo de registros(log), siga este link!"
 
 msgid "Value is not a number"
 msgstr "O valor não é um número"
@@ -384,7 +416,9 @@ msgstr "Informação da Versão"
 
 msgid ""
 "WARNING: Only 'File-system' is documented and tested by Radicale development"
-msgstr "AVISO: Apenas 'Sistema de Arquivos "está documentado e testado pelo desenvolvimento do Radicale"
+msgstr ""
+"AVISO: Apenas 'Sistema de Arquivos está documentado e testado pelo "
+"desenvolvimento do Radicale"
 
 #, fuzzy
 msgid "Warning"
@@ -393,12 +427,16 @@ msgstr "Alerta"
 msgid ""
 "You can also get groups from the user regex in the collection with {0}, {1}, "
 "etc."
-msgstr "Você também pode obter grupos a partir da expressão regular do usuário na coleção com {0}, {1} , etc."
+msgstr ""
+"Você também pode obter grupos a partir da expressão regular do usuário na "
+"coleção com {0}, {1} , etc."
 
 msgid ""
 "You can use Python's ConfigParser interpolation values %(login)s and "
 "%(path)s."
-msgstr "Você pode usar a interpolação de valores %(login)s e %(path)s do ConfigParser do Python."
+msgstr ""
+"Você pode usar a interpolação de valores %(login)s e %(path)s do "
+"ConfigParser do Python."
 
 msgid "crypt"
 msgstr "cifrar"
@@ -429,4 +467,3 @@ msgstr "necessário"
 
 msgid "salted SHA-1"
 msgstr "SHA-1 com salto"
-
diff --git a/applications/luci-app-simple-adblock/po/sv/simple-adblock.po b/applications/luci-app-simple-adblock/po/sv/simple-adblock.po
new file mode 100644 (file)
index 0000000..8202497
--- /dev/null
@@ -0,0 +1,80 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+msgid "Blacklisted Domain URLs"
+msgstr "Svartlistade domänadresser"
+
+msgid "Blacklisted Domains"
+msgstr "Svartlistade domäner"
+
+msgid "Blacklisted Hosts URLs"
+msgstr "Svartlistade värdadresser"
+
+msgid "Controls system log and console output verbosity"
+msgstr "Kontrollerar systemloggar och detaljnivån för konsoll-utmatningen"
+
+msgid "Enable/start service"
+msgstr "Aktivera/starta tjänsten"
+
+msgid "Force Router DNS"
+msgstr ""
+
+msgid "Force Router DNS server to all local devices"
+msgstr ""
+
+msgid "Forces Router DNS use on local devices, also known as DNS Hijacking"
+msgstr ""
+
+msgid "Individual domains to be blacklisted"
+msgstr "Individuella domäner som ska svartlistas"
+
+msgid "Individual domains to be whitelisted"
+msgstr "Individulla domäner som ska svartlistas"
+
+msgid "LED to indicate status"
+msgstr "LED för att indikera status"
+
+msgid "Let local devices use their own DNS servers if set"
+msgstr ""
+
+msgid "Output Verbosity Setting"
+msgstr ""
+
+msgid "Pick the LED not already used in"
+msgstr ""
+
+msgid "Simple AdBlock"
+msgstr "Simple AdBlock"
+
+msgid "Simple AdBlock Settings"
+msgstr ""Inställningar för Simple AdBlock"
+
+msgid "Some output"
+msgstr "Viss utmatning"
+
+msgid "Suppress output"
+msgstr "Förträng utmatning"
+
+msgid "System LED Configuration"
+msgstr ""
+
+msgid "URLs to lists of domains to be blacklisted"
+msgstr ""
+
+msgid "URLs to lists of domains to be whitelisted"
+msgstr ""
+
+msgid "URLs to lists of hosts to be blacklisted"
+msgstr ""
+
+msgid "Verbose output"
+msgstr "Utförlig utmatning"
+
+msgid "Whitelisted Domain URLs"
+msgstr "Vitlistade domänadresser"
+
+msgid "Whitelisted Domains"
+msgstr "Vitlistade domäner"
+
+msgid "none"
+msgstr "ingen"
index 055c67b..a1be1ea 100644 (file)
@@ -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"
@@ -45,6 +45,7 @@ msgstr ""
 msgid ""
 "Become an active member of this community and help by operating your own node"
 msgstr ""
+"Bli en aktiv medlem av det här sällskapet och hjälp till genom att tillhandahålla en egen nod"
 
 msgid "Blacklist"
 msgstr "Svartlista"
index 0a5abc5..b44bf03 100644 (file)
 -- 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 (file)
index bfaacb4..0000000
+++ /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 (file)
index 0000000..cdf7757
--- /dev/null
@@ -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 (file)
index 0000000..67d2ec6
--- /dev/null
@@ -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 (file)
index 0000000..5cfb9c3
--- /dev/null
@@ -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 (file)
index 0000000..d0ac407
--- /dev/null
@@ -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 (file)
index 0000000..44d0937
--- /dev/null
@@ -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 (file)
index 0000000..87d6cc6
--- /dev/null
@@ -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 (file)
index 0000000..c0a7d13
--- /dev/null
@@ -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%>
+
index cc714ac..c2ac8c9 100644 (file)
@@ -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
 
index 291789c..6393195 100644 (file)
@@ -16,7 +16,7 @@ LUCI_DEPENDS:=+lua +libuci-lua +luci-lib-nixio +luci-lib-ip +rpcd +libubus-lua +
 
 PKG_SOURCE:=LuaSrcDiet-0.12.1.tar.bz2
 PKG_SOURCE_URL:=https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/luasrcdiet
-PKG_MD5SUM:=ed7680f2896269ae8633756e7edcf09050812f78c8f49e280e63c30d14f35aea
+PKG_HASH:=ed7680f2896269ae8633756e7edcf09050812f78c8f49e280e63c30d14f35aea
 PKG_LICENSE:=Apache-2.0
 
 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/LuaSrcDiet-0.12.1
index 5573a9b..feff085 100644 (file)
@@ -498,11 +498,13 @@ function forwarding.dest(self)
 end
 
 function forwarding.src_zone(self)
-       return zone(self:src())
+       local z = zone(self:src())
+       return z.sid and z
 end
 
 function forwarding.dest_zone(self)
-       return zone(self:dest())
+       local z = zone(self:dest())
+       return z.sid and z
 end
 
 
index 2a433b5..546fd8e 100644 (file)
        &#160;&#8658;&#160;
        <% for _, fwd in ipairs(zone:get_forwardings_by("src")) do
                fz = fwd:dest_zone()
-               empty = false %>
+               if fz then
+                       empty = false %>
                <label class="zonebadge" style="background-color:<%=fz:get_color()%>">
                        <strong><%=fz:name()%></strong>
                </label>&#160;
-       <% end %>
+       <% end end %>
        <% if empty then %>
                <label class="zonebadge zonebadge-empty">
                        <strong><%=zone:forward():upper()%></strong>
index 45c221e..971d1a8 100644 (file)
@@ -301,7 +301,8 @@ msgstr "Permetre el localhost"
 
 msgid "Allow remote hosts to connect to local SSH forwarded ports"
 msgstr ""
-"Permetre a màquines remotes de connectar-se als ports reenviats de l'SSH local"
+"Permetre a màquines remotes de connectar-se als ports reenviats de l'SSH "
+"local"
 
 msgid "Allow root logins with password"
 msgstr "Accés d'administrador amb contrasenya"
@@ -638,7 +639,7 @@ msgid ""
 msgstr ""
 "Fes clic a \"Genera l'arxiu\" per obtenir un fitxer .tar.gz amb els fitxers "
 "de configuració actuals. Per restablir el microprogramari al seu estat "
-"inicial, fes clic a "\"Restableix la configuració\" (només funciona amb "
+"inicial, fes clic a \"Restableix la configuració\" (només funciona amb "
 "imatges squashfs)."
 
 msgid "Client"
@@ -954,9 +955,8 @@ msgid ""
 "Dropbear offers <abbr title=\"Secure Shell\">SSH</abbr> network shell access "
 "and an integrated <abbr title=\"Secure Copy\">SCP</abbr> server"
 msgstr ""
-"El Dropbear ofereix accés a una consola <abbr title=\"Secure Shell\">SSH"
-"</abbr> per xarxa i un servidor <abbr title=\"Secure Copy\">SCP</abbr> "
-"integrat"
+"El Dropbear ofereix accés a una consola <abbr title=\"Secure Shell\">SSH</"
+"abbr> per xarxa i un servidor <abbr title=\"Secure Copy\">SCP</abbr> integrat"
 
 msgid "Dual-Stack Lite (RFC6333)"
 msgstr ""
@@ -1029,6 +1029,9 @@ msgstr "Habilita la funcionalitat VLAN"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr "Habilita l'aprenentatge i l'envelliment"
 
@@ -1330,7 +1333,6 @@ msgid ""
 msgstr ""
 "Aquí pots afegir-hi les claus SSH públiques (una per línia) per entrar per "
 "SSH amb autenticació per clau."
-"
 
 msgid "Hermes 802.11b Wireless Controller"
 msgstr "Controlador sense fil Hermes 802.11b"
@@ -1480,7 +1482,7 @@ msgstr "IPv6-sobre-IPv4 (6to4)"
 msgid "Identity"
 msgstr "Identitat"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -1770,8 +1772,8 @@ msgstr ""
 
 msgid "Listen only on the given interface or, if unspecified, on all"
 msgstr ""
-"Habilita el servei en totes les interfícies o, si no se n'especifica cap, "
-"en totes"
+"Habilita el servei en totes les interfícies o, si no se n'especifica cap, en "
+"totes"
 
 msgid "Listening port for inbound DNS queries"
 msgstr ""
@@ -3148,7 +3150,7 @@ msgid ""
 msgstr ""
 "S'ha pujat la imatge per a la memòria flaix. A sota hi ha llistades la suma "
 "de verificació i la mida del fitxer per assegurar la integritat de les dades."
-"<br />Fes clic a "\"Procedeix\" a continuació per començar el procés "
+"<br />Fes clic a \"Procedeix\" a continuació per començar el procés "
 "d'escriptura a la memòria flaix."
 
 msgid "The following changes have been committed"
@@ -3251,8 +3253,8 @@ msgid ""
 "There is no password set on this router. Please configure a root password to "
 "protect the web interface and enable SSH."
 msgstr ""
-"No s'ha establert cap contrasenya en aquest encaminador. Si us plau, configura "
-"una contrasenya per protegir la interfície web i l'accés SSH."
+"No s'ha establert cap contrasenya en aquest encaminador. Si us plau, "
+"configura una contrasenya per protegir la interfície web i l'accés SSH."
 
 msgid "This IPv4 address of the relay"
 msgstr ""
@@ -3278,8 +3280,9 @@ msgid ""
 "This is the content of /etc/rc.local. Insert your own commands here (in "
 "front of 'exit 0') to execute them at the end of the boot process."
 msgstr ""
-"Aquest és el contingut de /etc/rc.local. Afegeix-hi les teves comandes (abans "
-"de la línia 'exit 0') per executar-les en finalitzar el procés d'arrencada."
+"Aquest és el contingut de /etc/rc.local. Afegeix-hi les teves comandes "
+"(abans de la línia 'exit 0') per executar-les en finalitzar el procés "
+"d'arrencada."
 
 msgid ""
 "This is the local endpoint address assigned by the tunnel broker, it usually "
@@ -3452,7 +3455,7 @@ msgid ""
 msgstr ""
 "Puja aquí una imatge compatible amb sysupgrade per reemplaçar el "
 "microprogramari actual. Activa \"Mantenir la configuració\" per retenir la "
-"configuració actual (requereix una imatge de microprogramari compatible).""
+"configuració actual (requereix una imatge de microprogramari compatible)."
 
 msgid "Upload archive..."
 msgstr "Puja un arxiu..."
@@ -3670,6 +3673,13 @@ msgstr "Sense fils reinciat"
 msgid "Wireless shut down"
 msgstr "Sense fils aturat"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr "Escriure les peticions DNS rebudes al registre del sistema"
 
index c217b0c..8f5044d 100644 (file)
@@ -1029,6 +1029,9 @@ msgstr "Povolit funkcionalitu VLAN"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr "Povolit ARP učení a stárnutí"
 
@@ -1478,7 +1481,7 @@ msgstr "IPv6-over-IPv4 (6to4)"
 msgid "Identity"
 msgstr "Identita"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3713,6 +3716,13 @@ msgstr "Bezdrátová síť restartována"
 msgid "Wireless shut down"
 msgstr "Bezdrátová síť vypnuta"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr "Zapisovat přijaté požadavky DNS do systemového logu"
 
index 183e495..dc0f7f2 100644 (file)
@@ -1,17 +1,17 @@
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-05-26 17:57+0200\n"
-"PO-Revision-Date: 2017-03-06 11:15+0200\n"
+"PO-Revision-Date: 2017-10-17 22:46+0200\n"
 "Last-Translator: JoeSemler <josef.semler@gmail.com>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Pootle 2.0.6\n"
+"X-Generator: Poedit 2.0.4\n"
+"Language-Team: \n"
 
 msgid "%s is untagged in multiple VLANs!"
 msgstr ""
@@ -1047,6 +1047,10 @@ msgstr "VLAN-Funktionalität aktivieren"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr "WPS-via-Knopfdruck aktivieren, erfordert WPA(2)-PSK"
 
+#, fuzzy
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr "Key Reinstallation (KRACK) Gegenmaßnahmen aktivieren "
+
 msgid "Enable learning and aging"
 msgstr "Learning und Aging aktivieren"
 
@@ -1507,7 +1511,7 @@ msgstr "IPv6-über-IPv4 (6to4)"
 msgid "Identity"
 msgstr "Identität"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr "Aktiviert die Benutzung von 1DES, wenn ausgewählt"
 
 msgid "If checked, encryption is disabled"
@@ -3838,6 +3842,17 @@ msgstr "WLAN neu gestartet"
 msgid "Wireless shut down"
 msgstr "WLAN heruntergefahren"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+"Deaktiviert bestimmte EAPOL-Key-Retransmissionen um Key-Reinstallation "
+"(KRACK) Angriffe auf Client-Seite zu erschweren. Diese Abhilfemaßnahme kann "
+"Kompatibilitätsprobleme verursachen und die Zuverlässigkeit von "
+"Schlüsselerneuerungen in ausgelasteten Umgebungen verringern."
+
 msgid "Write received DNS requests to syslog"
 msgstr "Empfangene DNS-Anfragen in das Systemprotokoll schreiben"
 
index b385651..7135314 100644 (file)
@@ -1041,6 +1041,9 @@ msgstr "Ενεργοποίηση λειτουργίας VLAN"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr "Ένεργοποίηση learning and aging"
 
@@ -1491,7 +1494,7 @@ msgstr ""
 msgid "Identity"
 msgstr "Ταυτότητα"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3664,6 +3667,13 @@ msgstr "Το ασύρματο δίκτυο επανεκκινήθηκε"
 msgid "Wireless shut down"
 msgstr "Το ασύρματο δίκτυο τερματίστηκε"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr "Καταγραφή των ληφθέντων DNS αιτήσεων στο syslog"
 
index 0420733..9cae494 100644 (file)
@@ -1020,6 +1020,9 @@ msgstr ""
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr ""
 
@@ -1465,7 +1468,7 @@ msgstr ""
 msgid "Identity"
 msgstr "Identity"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3623,6 +3626,13 @@ msgstr ""
 msgid "Wireless shut down"
 msgstr ""
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr ""
 
index 626e374..3e71d4f 100644 (file)
@@ -1035,6 +1035,9 @@ msgstr "Activar funcionalidad VLAN"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr "Activar aprendizaje y envejecimiento"
 
@@ -1487,7 +1490,7 @@ msgstr "IPv6-sobre-IPv4 (6to4)"
 msgid "Identity"
 msgstr "Identidad"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3739,6 +3742,13 @@ msgstr "Red inalámbrica rearrancada"
 msgid "Wireless shut down"
 msgstr "Apagando red inalámbrica"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr "Escribir las peticiones de DNS recibidas en el registro del sistema"
 
index b0b4b43..0acfcef 100644 (file)
@@ -1045,6 +1045,9 @@ msgstr "Acviter la gestion des VLANs"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr "Activer l'apprentissage et la péremption"
 
@@ -1499,7 +1502,7 @@ msgstr "IPv6 sur IPv4 (6 vers 4)"
 msgid "Identity"
 msgstr "Identité"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3758,6 +3761,13 @@ msgstr "Wi-Fi ré-initialisé"
 msgid "Wireless shut down"
 msgstr "Wi-Fi arrêté"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr "Écrire les requêtes DNS reçues dans syslog"
 
index 2c2c5d2..a261f87 100644 (file)
@@ -1005,6 +1005,9 @@ msgstr "אפשר תפקוד VLAN"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr "אפשר למידה והזדקנות"
 
@@ -1448,7 +1451,7 @@ msgstr ""
 msgid "Identity"
 msgstr ""
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3579,6 +3582,13 @@ msgstr ""
 msgid "Wireless shut down"
 msgstr ""
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr ""
 
index 8f5aee4..bd2e4ee 100644 (file)
@@ -1038,6 +1038,9 @@ msgstr "VLAN funkció engedélyezése"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr "Tanulás és aging engedélyezése"
 
@@ -1488,7 +1491,7 @@ msgstr "IPv6 IPv4 felett (6to4)"
 msgid "Identity"
 msgstr "Identitás"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3745,6 +3748,13 @@ msgstr "Vezetéknélküli rész újraindítva"
 msgid "Wireless shut down"
 msgstr "Vezetéknélküli rész leállítása"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr "A kapott DNS kéréseket írja a rendszernaplóba"
 
index 3b8e095..c3590b0 100644 (file)
@@ -242,10 +242,10 @@ msgid "Active Connections"
 msgstr "Connessioni attive"
 
 msgid "Active DHCP Leases"
-msgstr "Attiva contratti DHCP"
+msgstr "Contratti attivi DHCP"
 
 msgid "Active DHCPv6 Leases"
-msgstr "Attiva contratti DHCPv6"
+msgstr "Contratti attivi DHCPv6"
 
 msgid "Ad-Hoc"
 msgstr "Ad-Hoc"
@@ -717,7 +717,7 @@ msgid "Create Interface"
 msgstr "Crea Interfaccia"
 
 msgid "Create a bridge over multiple interfaces"
-msgstr "Crea un ponte tra interfaccie multiple"
+msgstr "Crea un ponte tra interfacce multiple"
 
 msgid "Critical"
 msgstr "Critico"
@@ -747,7 +747,7 @@ msgstr ""
 "abbr> del sistema se possibile."
 
 msgid "DHCP Leases"
-msgstr "Contratta DHCP"
+msgstr "Contratti DHCP"
 
 msgid "DHCP Server"
 msgstr "Server DHCP"
@@ -762,7 +762,7 @@ msgid "DHCP-Options"
 msgstr "Opzioni DHCP"
 
 msgid "DHCPv6 Leases"
-msgstr "Locazioni DHCPv6"
+msgstr "Contratti DHCPv6"
 
 msgid "DHCPv6 client"
 msgstr "Cliente DHCPv6"
@@ -1041,6 +1041,9 @@ msgstr "Abilita la funzionalità VLAN"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr "Abilita pulsante WPS, richiede WPA(2)-PSK"
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr "Attivare l'apprendimento e l'invecchiamento"
 
@@ -1112,7 +1115,7 @@ msgstr "Scadenze"
 msgid ""
 "Expiry time of leased addresses, minimum is 2 minutes (<code>2m</code>)."
 msgstr ""
-"Tempo di scadenza di indirizzi localizzati, il minimo è di 2 minuti (<code> "
+"Tempo di scadenza di indirizzi a contratto, il minimo è di 2 minuti (<code> "
 "2m </code>)."
 
 msgid "External"
@@ -1473,7 +1476,7 @@ msgid "IPv6 routed prefix"
 msgstr ""
 
 msgid "IPv6 suffix"
-msgstr ""
+msgstr "Suffisso IPv6"
 
 msgid "IPv6-Address"
 msgstr "Indirizzo-IPv6"
@@ -1493,11 +1496,11 @@ msgstr "IPv6-su-IPv4 (6to4)"
 msgid "Identity"
 msgstr "Identità PEAP"
 
-msgid "If checked, 1DES is enaled"
-msgstr ""
+msgid "If checked, 1DES is enabled"
+msgstr "Se selezionata, 1DES è abilitata"
 
 msgid "If checked, encryption is disabled"
-msgstr ""
+msgstr "Se selezionata, crittografia è disabilitata"
 
 msgid ""
 "If specified, mount the device by its UUID instead of a fixed device node"
@@ -1661,10 +1664,10 @@ msgid "Keep settings"
 msgstr "Mantieni le Impostazioni"
 
 msgid "Kernel Log"
-msgstr "Log del kernel"
+msgstr "Registro del Kernel"
 
 msgid "Kernel Version"
-msgstr "Versione del kernel"
+msgstr "Versione del Kernel"
 
 msgid "Key"
 msgstr "Chiave"
@@ -1706,16 +1709,16 @@ msgid "Leaf"
 msgstr ""
 
 msgid "Lease time"
-msgstr ""
+msgstr "Tempo Contratto"
 
 msgid "Lease validity time"
-msgstr "Periodo di Validità del Lease"
+msgstr "Periodo di Validità del Contratto"
 
 msgid "Leasefile"
-msgstr "File di lease"
+msgstr "File di contratti"
 
 msgid "Leasetime remaining"
-msgstr "Tempo lease residuo"
+msgstr "Tempo contratto residuo"
 
 msgid "Leave empty to autodetect"
 msgstr "Lasciare vuoto per l'autorilevamento"
@@ -1924,7 +1927,7 @@ msgid "Maximum amount of seconds to wait for the modem to become ready"
 msgstr ""
 
 msgid "Maximum hold time"
-msgstr "Velocità massima"
+msgstr "Tempo massimo di attesa"
 
 msgid ""
 "Maximum length of the name is 15 characters including the automatic protocol/"
@@ -1932,7 +1935,7 @@ msgid ""
 msgstr ""
 
 msgid "Maximum number of leased addresses."
-msgstr "Numero massimo indirizzi in lease"
+msgstr "Numero massimo indirizzi in contratto"
 
 msgid "Mbit/s"
 msgstr ""
@@ -2077,7 +2080,7 @@ msgid "Next »"
 msgstr "Prossimo »"
 
 msgid "No DHCP Server configured for this interface"
-msgstr ""
+msgstr "Nessun Server DHCP configurato per questa interfaccia"
 
 msgid "No NAT-T"
 msgstr ""
@@ -2298,8 +2301,8 @@ msgid ""
 "Override the netmask sent to clients. Normally it is calculated from the "
 "subnet that is served."
 msgstr ""
-"Sovrascrivi la netmask data ai clienti. Normalmente è calcolata dalla "
-"subnet servita."
+"Sovrascrivi la netmask data ai clienti. Normalmente è calcolata dalla subnet "
+"servita."
 
 msgid "Override the table used for internal routes"
 msgstr "Sovrascrivi la tabella usata per le route interne"
@@ -2502,13 +2505,13 @@ msgid "Protocol"
 msgstr "Protocollo"
 
 msgid "Protocol family"
-msgstr ""
+msgstr "Famiglia protocollo"
 
 msgid "Protocol of the new interface"
-msgstr ""
+msgstr "Protocollo della nuova interfaccia"
 
 msgid "Protocol support is not installed"
-msgstr ""
+msgstr "Supporto protocollo non installato"
 
 msgid "Provide NTP server"
 msgstr "Fornisci server NTP"
@@ -2520,7 +2523,7 @@ msgid "Pseudo Ad-Hoc (ahdemo)"
 msgstr "Pseudo Ad-Hoc (ahdemo)"
 
 msgid "Public Key"
-msgstr ""
+msgstr "Chiave Pubblica"
 
 msgid "Public prefix routed to this device for distribution to clients."
 msgstr ""
@@ -2529,7 +2532,7 @@ msgid "QMI Cellular"
 msgstr ""
 
 msgid "Quality"
-msgstr ""
+msgstr "Qualità"
 
 msgid "R0 Key Lifetime"
 msgstr ""
@@ -2588,7 +2591,7 @@ msgid ""
 msgstr ""
 
 msgid "Really reset all changes?"
-msgstr ""
+msgstr "Azzerare veramente tutte le modifiche?"
 
 #, fuzzy
 msgid ""
@@ -2604,22 +2607,22 @@ msgid ""
 msgstr ""
 
 msgid "Really switch protocol?"
-msgstr ""
+msgstr "Cambiare veramente il protocollo?"
 
 msgid "Realtime Connections"
-msgstr "Connessioni in tempo reale"
+msgstr "Connessioni in Tempo Reale"
 
 msgid "Realtime Graphs"
-msgstr ""
+msgstr "Grafici in Tempo Reale"
 
 msgid "Realtime Load"
-msgstr "Carico in tempo reale"
+msgstr "Carico in Tempo Reale"
 
 msgid "Realtime Traffic"
-msgstr "Traffico in tempo reale"
+msgstr "Traffico in Tempo Reale"
 
 msgid "Realtime Wireless"
-msgstr ""
+msgstr "Wireless in Tempo Reale"
 
 msgid "Reassociation Deadline"
 msgstr ""
@@ -2676,22 +2679,22 @@ msgid "Remove"
 msgstr "Rimuovi"
 
 msgid "Repeat scan"
-msgstr ""
+msgstr "Ripeti scan"
 
 msgid "Replace entry"
 msgstr "Sostituisci campo"
 
 msgid "Replace wireless configuration"
-msgstr ""
+msgstr "Sostituisci configurazione wireless"
 
 msgid "Request IPv6-address"
-msgstr ""
+msgstr "Richiede indirizzo-IPv6"
 
 msgid "Request IPv6-prefix of length"
-msgstr ""
+msgstr "Richiede prefisso-IPv6 di lunghezza"
 
 msgid "Require TLS"
-msgstr ""
+msgstr "Richiede TLS"
 
 msgid "Required"
 msgstr "Richiesto"
@@ -2746,7 +2749,7 @@ msgid "Restore backup"
 msgstr "Ripristina backup"
 
 msgid "Reveal/hide password"
-msgstr ""
+msgstr "Rivela/nascondi password"
 
 msgid "Revert"
 msgstr "Ripristina"
@@ -2957,7 +2960,7 @@ msgstr ""
 "specifici."
 
 msgid "Sort"
-msgstr "Elenca"
+msgstr "Ordina"
 
 msgid "Source"
 msgstr "Origine"
@@ -3020,7 +3023,7 @@ msgid "Static IPv6 Routes"
 msgstr "Instradamento statico IPv6"
 
 msgid "Static Leases"
-msgstr "Leases statici"
+msgstr "Contratti statici"
 
 msgid "Static Routes"
 msgstr "Instradamenti Statici"
@@ -3033,10 +3036,10 @@ msgid ""
 "to DHCP clients. They are also required for non-dynamic interface "
 "configurations where only hosts with a corresponding lease are served."
 msgstr ""
-"Leasing statici vengono utilizzati per assegnare indirizzi IP fissi e nomi "
-"host simbolici ai client DHCP. Essi sono necessari anche per interfacce di "
-"configurazione non dinamici, dove solo gli host con lease corrispondente "
-"servito vengono serviti."
+"I contratti statici vengono utilizzati per assegnare indirizzi IP fissi e "
+"nomi host simbolici ai client DHCP. Essi sono necessari anche per interfacce "
+"di configurazione non dinamici, dove solo gli host col contratto "
+"corrispondente vengono serviti."
 
 msgid "Status"
 msgstr "Stato"
@@ -3091,7 +3094,7 @@ msgid "System"
 msgstr "Sistema"
 
 msgid "System Log"
-msgstr "Log di sistema"
+msgstr "Registro di Sistema"
 
 msgid "System Properties"
 msgstr "Proprietà di Sistema"
@@ -3265,7 +3268,7 @@ msgstr ""
 "you choose the generic image format for your platform."
 
 msgid "There are no active leases."
-msgstr "Non ci sono lease attivi."
+msgstr "Non ci sono contratti attivi."
 
 msgid "There are no pending changes to apply!"
 msgstr "Non ci sono cambiamenti pendenti da applicare!"
@@ -3368,8 +3371,8 @@ msgid ""
 "To restore configuration files, you can upload a previously generated backup "
 "archive here."
 msgstr ""
-"Per ripristinare i file configurazione, puoi inviare un archivio di backup generato "
-"precedentemente qui."
+"Per ripristinare i file configurazione, puoi inviare un archivio di backup "
+"generato precedentemente qui."
 
 msgid "Tone"
 msgstr ""
@@ -3541,9 +3544,11 @@ msgid ""
 "standard host-specific lease time, e.g. 12h, 3d or infinite."
 msgstr ""
 "Utilizzare il pulsante <em>Aggiungi</em> per aggiungere una nuova voce di "
-"locazione. L'<em>Indirizzo-MAC</em> identifica l'host, l'<em>Indirizzo-IPv4</"
-"em> specifica l'indirizzo fisso da utilizzare e il <em> Nome Host</em> è "
-"assegnato come nome simbolico alla richiesta dell'host."
+"contratto. L'<em>Indirizzo-MAC</em> identifica l'host, l'<em>Indirizzo-IPv4</"
+"em> specifica l'indirizzo fisso da utilizzare e il <em>Nome Host</em> è "
+"assegnato come nome simbolico alla richiesta dell'host. L'opzionale "
+"<em>tempo di Contratto</em> può essere usato per impostare un tempo di "
+"contratto non-standard a uno specifico host, p.e. 12h, 3d o infinito."
 
 msgid "Used"
 msgstr "Usato"
@@ -3641,7 +3646,8 @@ msgstr ""
 msgid ""
 "Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
 msgstr ""
-"Attendi sincro NTP quei dati secondi, immetti 0 per disabilitare l'attesa (opzionale)"
+"Attendi sincro NTP quei dati secondi, immetti 0 per disabilitare l'attesa "
+"(opzionale)"
 
 msgid "Waiting for changes to be applied..."
 msgstr "In attesa delle modifiche da applicare ..."
@@ -3703,6 +3709,13 @@ msgstr "Wireless riavviato"
 msgid "Wireless shut down"
 msgstr "Wireless spento"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr "Scrittura delle richiesta DNS ricevute nel syslog"
 
@@ -3769,8 +3782,8 @@ msgid ""
 "file where given <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
 "abbr>-leases will be stored"
 msgstr ""
-"file dove vengono salvati le richieste <abbr title=\"Dynamic Host "
-"Configuration Protocol\">DHCP</abbr> assegnate"
+"file dove vengono salvati i contratti <abbr title=\"Dynamic Host "
+"Configuration Protocol\">DHCP</abbr> dati"
 
 msgid "forward"
 msgstr "inoltro"
@@ -3884,7 +3897,7 @@ msgid "« Back"
 msgstr "« Indietro"
 
 #~ msgid "Leasetime"
-#~ msgstr "Tempo di lease"
+#~ msgstr "Tempo di contratto"
 
 #, fuzzy
 #~ msgid "automatic"
index 7d23abe..212f565 100644 (file)
@@ -3,14 +3,14 @@ msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-06-10 03:40+0200\n"
-"PO-Revision-Date: 2017-07-28 12:17+0900\n"
+"PO-Revision-Date: 2017-10-20 13:54+0900\n"
 "Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
 "Language: ja\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Poedit 2.0.3\n"
+"X-Generator: Poedit 2.0.4\n"
 "Language-Team: \n"
 
 msgid "%s is untagged in multiple VLANs!"
@@ -161,19 +161,19 @@ msgstr ""
 "を行う必要があります。"
 
 msgid "A43C + J43 + A43"
-msgstr ""
+msgstr "A43C + J43 + A43"
 
 msgid "A43C + J43 + A43 + V43"
-msgstr ""
+msgstr "A43C + J43 + A43 + V43"
 
 msgid "ADSL"
 msgstr "ADSL"
 
 msgid "AICCU (SIXXS)"
-msgstr ""
+msgstr "AICCU (SIXXS)"
 
 msgid "ANSI T1.413"
-msgstr ""
+msgstr "ANSI T1.413"
 
 msgid "APN"
 msgstr "APN"
@@ -298,7 +298,7 @@ msgstr "ローカルホストを許可する"
 
 msgid "Allow remote hosts to connect to local SSH forwarded ports"
 msgstr ""
-"リモートホストがSSH転送されたローカルのポートに接続することを許可します"
+"リモートホストがSSH転送されたローカルのポートに接続することを許可します"
 
 msgid "Allow root logins with password"
 msgstr "パスワードでの root ログインを許可"
@@ -409,7 +409,7 @@ msgid ""
 msgstr ""
 
 msgid "Assign interfaces..."
-msgstr ""
+msgstr "インターフェースの割当て..."
 
 msgid ""
 "Assign prefix parts using this hexadecimal subprefix ID for this interface."
@@ -561,8 +561,8 @@ msgid ""
 "Build/distribution specific feed definitions. This file will NOT be "
 "preserved in any sysupgrade."
 msgstr ""
-"ビルド/ディストリビューション固有のフィード定義です。このファイルはsysupgrade"
-"の際に引き継がれません。"
+"ビルド / ディストリビューション固有のフィード定義です。このファイルは"
+"sysupgradeの際に引き継がれません。"
 
 msgid "Buttons"
 msgstr "ボタン"
@@ -1037,14 +1037,17 @@ msgstr "VLAN機能を有効にする"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr "WPS プッシュボタンを有効化するには、WPA(2)-PSKが必要です。"
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr "Key Reinstallation (KRACK) 対策の有効化"
+
 msgid "Enable learning and aging"
 msgstr "ラーニング エイジング機能を有効にする"
 
 msgid "Enable mirroring of incoming packets"
-msgstr ""
+msgstr "受信パケットのミラーリングを有効化"
 
 msgid "Enable mirroring of outgoing packets"
-msgstr ""
+msgstr "送信パケットのミラーリングを有効化"
 
 msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
 msgstr ""
@@ -1489,7 +1492,7 @@ msgstr "IPv6-over-IPv4 (6to4)"
 msgid "Identity"
 msgstr "識別子"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -1945,10 +1948,10 @@ msgid "Minimum hold time"
 msgstr "最短保持時間"
 
 msgid "Mirror monitor port"
-msgstr ""
+msgstr "ミラー監視ポート"
 
 msgid "Mirror source port"
-msgstr ""
+msgstr "ミラー元ポート"
 
 msgid "Missing protocol extension for proto %q"
 msgstr "プロトコル %qのプロトコル拡張が見つかりません"
@@ -2066,7 +2069,7 @@ msgid "Network boot image"
 msgstr "ネットワークブート用イメージ"
 
 msgid "Network without interfaces."
-msgstr ""
+msgstr "インターフェースの無いネットワークです。"
 
 msgid "Next »"
 msgstr "次 »"
@@ -2129,7 +2132,7 @@ msgid "Normal"
 msgstr "標準"
 
 msgid "Not Found"
-msgstr ""
+msgstr "見つかりません"
 
 msgid "Not associated"
 msgstr "アソシエーションされていません"
@@ -2302,7 +2305,7 @@ msgstr ""
 "ネットから計算されます。"
 
 msgid "Override the table used for internal routes"
-msgstr ""
+msgstr "内部ルートに使用されるテーブルを上書きします。"
 
 msgid "Overview"
 msgstr "概要"
@@ -2377,7 +2380,7 @@ msgid "Password of Private Key"
 msgstr "秘密鍵のパスワード"
 
 msgid "Password of inner Private Key"
-msgstr ""
+msgstr "秘密鍵のパスワード"
 
 msgid "Password successfully changed!"
 msgstr "パスワードを変更しました"
@@ -2398,13 +2401,13 @@ msgid "Path to executable which handles the button event"
 msgstr "ボタンイベントをハンドルする実行ファイルのパス"
 
 msgid "Path to inner CA-Certificate"
-msgstr ""
+msgstr "CA 証明書のパス"
 
 msgid "Path to inner Client-Certificate"
-msgstr ""
+msgstr "クライアント証明書のパス"
 
 msgid "Path to inner Private Key"
-msgstr ""
+msgstr "秘密鍵のパス"
 
 msgid "Peak:"
 msgstr "ピーク:"
@@ -3178,7 +3181,7 @@ msgstr ""
 "<code>0-9</code>, <code>_</code>"
 
 msgid "The configuration file could not be loaded due to the following error:"
-msgstr ""
+msgstr "設定ファイルは以下のエラーにより読み込めませんでした:"
 
 msgid ""
 "The device file of the memory or partition (<abbr title=\"for example\">e.g."
@@ -3230,7 +3233,7 @@ msgid ""
 msgstr ""
 
 msgid "The length of the IPv6 prefix in bits"
-msgstr ""
+msgstr "IPv6 プレフィクスの長さ (bit) です。"
 
 msgid "The local IPv4 address over which the tunnel is created (optional)."
 msgstr ""
@@ -3243,12 +3246,18 @@ msgid ""
 "segments. Often there is by default one Uplink port for a connection to the "
 "next greater network like the internet and other ports for a local network."
 msgstr ""
+"ネットワーク ポートは、コンピュータが他と直接通信することができる複数の "
+"<abbr title=\"Virtual Local Area Network\">VLAN</abbr> にまとめることができま"
+"す。 <abbr title=\"Virtual Local Area Network\">VLAN</abbr> は、異なるネット"
+"ワーク セグメントの分離にしばしば用いられます。通常、インターネットなどより上"
+"位のネットワークへの接続に使用するアップリンク ポートと、ローカル ネットワー"
+"ク用のその他のポートが存在します。"
 
 msgid "The selected protocol needs a device assigned"
 msgstr "選択中のプロトコルを使用する場合、デバイスを設定する必要があります"
 
 msgid "The submitted security token is invalid or already expired!"
-msgstr ""
+msgstr "送信されたセキュリティ トークンは無効もしくは期限切れです!"
 
 msgid ""
 "The system is erasing the configuration partition now and will reboot itself "
@@ -3473,7 +3482,7 @@ msgid "UUID"
 msgstr "UUID"
 
 msgid "Unable to dispatch"
-msgstr ""
+msgstr "ディスパッチできません"
 
 msgid "Unavailable Seconds (UAS)"
 msgstr ""
@@ -3558,7 +3567,7 @@ msgid "Use gateway metric"
 msgstr "ゲートウェイ メトリックを使用する"
 
 msgid "Use routing table"
-msgstr ""
+msgstr "ルーティング テーブルの使用"
 
 msgid ""
 "Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
@@ -3584,10 +3593,10 @@ msgid ""
 msgstr ""
 
 msgid "User certificate (PEM encoded)"
-msgstr ""
+msgstr "ユーザー証明書(PEM エンコード)"
 
 msgid "User key (PEM encoded)"
-msgstr ""
+msgstr "ユーザー秘密鍵(PEM エンコード)"
 
 msgid "Username"
 msgstr "ユーザー名"
@@ -3599,7 +3608,7 @@ msgid "VDSL"
 msgstr "VDSL"
 
 msgid "VLANs on %q"
-msgstr "%q上のVLANs"
+msgstr "%q上のVLAN"
 
 msgid "VLANs on %q (%s)"
 msgstr "%q上のVLAN (%s)"
@@ -3629,7 +3638,7 @@ msgid "Vendor Class to send when requesting DHCP"
 msgstr "DHCPリクエスト送信時のベンダークラスを設定"
 
 msgid "Verbose"
-msgstr ""
+msgstr "詳細"
 
 msgid "Verbose logging by aiccu daemon"
 msgstr ""
@@ -3677,7 +3686,7 @@ msgid "Waiting for command to complete..."
 msgstr "コマンド実行中です..."
 
 msgid "Waiting for device..."
-msgstr "ã\83\87ã\83\90ã\82¤ã\82¹ã\81®èµ·å\8b\95ã\82\92å¾\85ã\81£ã\81¦ã\81\84ã\81¾す..."
+msgstr "ã\83\87ã\83\90ã\82¤ã\82¹ã\82\92èµ·å\8b\95中ã\81§す..."
 
 msgid "Warning"
 msgstr "警告"
@@ -3730,6 +3739,17 @@ msgstr "無線LAN機能の再起動"
 msgid "Wireless shut down"
 msgstr "無線LAN機能停止"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+"キーのインストールに使用される EAPOL キーフレームの再送信を無効にすることによ"
+"り、クライアント サイドの Key Reinstallation Attacks (KRACK) を困難にします。"
+"この回避策は、相互運用性の問題や、特に高負荷のトラフィック環境下におけるキー "
+"ネゴシエーションの信頼性低下の原因となることがあります。"
+
 msgid "Write received DNS requests to syslog"
 msgstr "受信したDNSリクエストをsyslogへ記録します"
 
@@ -3839,7 +3859,7 @@ msgid "minimum 1280, maximum 1480"
 msgstr "最小値 1280、最大値 1480"
 
 msgid "minutes"
-msgstr ""
+msgstr ""
 
 msgid "no"
 msgstr "いいえ"
@@ -3909,78 +3929,3 @@ msgstr "はい"
 
 msgid "« Back"
 msgstr "« 戻る"
-
-#~ msgid "Leasetime"
-#~ msgstr "リース時間"
-
-#~ msgid "Optional."
-#~ msgstr "(オプション)"
-
-#~ msgid "automatic"
-#~ msgstr "自動"
-
-#~ msgid "AR Support"
-#~ msgstr "ARサポート"
-
-#~ msgid "Atheros 802.11%s Wireless Controller"
-#~ msgstr "Atheros 802.11%s 無線LANコントローラ"
-
-#~ msgid "Background Scan"
-#~ msgstr "バックグラウンドスキャン"
-
-#~ msgid "Compression"
-#~ msgstr "圧縮"
-
-#~ msgid "Disable HW-Beacon timer"
-#~ msgstr "HWビーコンタイマーを無効にする"
-
-#~ msgid "Do not send probe responses"
-#~ msgstr "プローブレスポンスを送信しない"
-
-#~ msgid "Fast Frames"
-#~ msgstr "ファスト・フレーム"
-
-#~ msgid "Maximum Rate"
-#~ msgstr "最大レート"
-
-#~ msgid "Minimum Rate"
-#~ msgstr "最小レート"
-
-#~ msgid "Multicast Rate"
-#~ msgstr "マルチキャストレート"
-
-#~ msgid "Outdoor Channels"
-#~ msgstr "屋外用周波数"
-
-#~ msgid "Regulatory Domain"
-#~ msgstr "規制ドメイン"
-
-#~ msgid "Separate WDS"
-#~ msgstr "WDSを分離する"
-
-#~ msgid "Static WDS"
-#~ msgstr "静的WDS"
-
-#~ msgid "Turbo Mode"
-#~ msgstr "ターボモード"
-
-#~ msgid "XR Support"
-#~ msgstr "XRサポート"
-
-#~ msgid "Required. Public key of peer."
-#~ msgstr "ピアの公開鍵(必須)"
-
-#~ msgid "An additional network will be created if you leave this unchecked."
-#~ msgstr "チェックボックスがオフの場合、追加のネットワークが作成されます。"
-
-#~ msgid "Join Network: Settings"
-#~ msgstr "ネットワークに接続する: 設定"
-
-#~ msgid "CPU"
-#~ msgstr "CPU"
-
-#~ msgid "Port %d"
-#~ msgstr "ポート %d"
-
-#~ msgid "VLAN Interface"
-#~ msgstr "VLANインターフェース"
index 770a49c..ddc2758 100644 (file)
@@ -1018,6 +1018,9 @@ msgstr "VLAN 기능 활성화"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr ""
 
@@ -1464,7 +1467,7 @@ msgstr ""
 msgid "Identity"
 msgstr ""
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3631,6 +3634,13 @@ msgstr "무선랜이 재시작되었습니다"
 msgid "Wireless shut down"
 msgstr "무선랜이 shutdown 되었습니다"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr "받은 DNS 요청 내용을 systlog 에 기록합니다"
 
index c2f6272..23f97a7 100644 (file)
@@ -990,6 +990,9 @@ msgstr ""
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr ""
 
@@ -1435,7 +1438,7 @@ msgstr ""
 msgid "Identity"
 msgstr "Identiti"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3599,6 +3602,13 @@ msgstr ""
 msgid "Wireless shut down"
 msgstr ""
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr ""
 
index 6a6e818..d0048fb 100644 (file)
@@ -1025,6 +1025,9 @@ msgstr "Aktiver VLAN funksjonalitet"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr "Aktiver 'læring' og 'aldring'"
 
@@ -1474,7 +1477,7 @@ msgstr "IPv6-over-IPv4 (6til4)"
 msgid "Identity"
 msgstr "Identitet"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3711,6 +3714,13 @@ msgstr "Trådløst startet på nytt"
 msgid "Wireless shut down"
 msgstr "Trådløst er slått av"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr "Skriv mottatte DNS forespørsler til syslog"
 
index e364616..9342214 100644 (file)
@@ -1051,6 +1051,9 @@ msgstr "Włącz funkcjonalność VLAN"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr "Włącz uczenie się i starzenie"
 
@@ -1511,7 +1514,7 @@ msgstr "IPv6-przez-IPv4 (6to4)"
 msgid "Identity"
 msgstr "Tożsamość"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3775,6 +3778,13 @@ msgstr "Zrestartowano sieć bezprzewodową"
 msgid "Wireless shut down"
 msgstr "Wyłączanie sieci bezprzewodowej"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr "Zapisz otrzymane żądania DNS do syslog'a"
 
index 87c32bf..df0e915 100644 (file)
@@ -1087,6 +1087,9 @@ msgstr "Ativar funcionalidade de VLAN"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr "Habilite o botão WPS. requer WPA(2)-PSK"
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr "Ativar o aprendizado e obsolescência"
 
@@ -1558,7 +1561,7 @@ msgstr "IPv6-sobre-IPv4 (6to4)"
 msgid "Identity"
 msgstr "Identidade PEAP"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr "Se marcado, a cifragem 1DES será habilitada"
 
 msgid "If checked, encryption is disabled"
@@ -3901,6 +3904,13 @@ msgstr "A rede sem fio reiniciou"
 msgid "Wireless shut down"
 msgstr "Rede sem fio desligada"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr "Escreva as requisições DNS para o servidor de registro (syslog)"
 
index bea93f5..c6db768 100644 (file)
@@ -1041,6 +1041,9 @@ msgstr "Ativar a funcionalidade VLAN"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr "Ativar aprendizagem e envelhecimento"
 
@@ -1495,7 +1498,7 @@ msgstr "IPv6-sobre-IPv4 (6to4)"
 msgid "Identity"
 msgstr "Identidade"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3705,6 +3708,13 @@ msgstr "Rede wireless reiniciada"
 msgid "Wireless shut down"
 msgstr "Desligar wireless"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr "Escrever os pedidos de DNS para o syslog"
 
index 2ee8537..d7e860c 100644 (file)
@@ -996,6 +996,9 @@ msgstr "Activeaza VLAN-urile"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr ""
 
@@ -1442,7 +1445,7 @@ msgstr ""
 msgid "Identity"
 msgstr "Identitate"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3572,6 +3575,13 @@ msgstr "Wireless-ul restartat"
 msgid "Wireless shut down"
 msgstr "Wireless-ul oprit"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr "Scrie cererile DNS primite in syslog"
 
index 6515772..fdbe384 100644 (file)
@@ -1042,6 +1042,9 @@ msgstr "Включить поддержку VLAN"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr "Включить изучение и устаревание (learning/aging)"
 
@@ -1494,7 +1497,7 @@ msgstr "IPv6 через IPv4 (6to4)"
 msgid "Identity"
 msgstr "Идентификация EAP"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3747,6 +3750,13 @@ msgstr "Беспроводная сеть перезапущена"
 msgid "Wireless shut down"
 msgstr "Выключение беспроводной сети"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr "Записывать полученные DNS-запросы в системный журнал"
 
index ab876ce..09f3272 100644 (file)
@@ -977,6 +977,9 @@ msgstr ""
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr ""
 
@@ -1420,7 +1423,7 @@ msgstr ""
 msgid "Identity"
 msgstr ""
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3540,6 +3543,13 @@ msgstr ""
 msgid "Wireless shut down"
 msgstr ""
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr ""
 
index 803ac28..bbe52fc 100644 (file)
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "PO-Revision-Date: 2014-04-28 09:22+0200\n"
-"Last-Translator: EricJ <ericj@acc.umu.se>\n"
+"Last-Translator: Kristoffer Grundström <hamnisdude@gmail.com>\n"
 "Language-Team: none\n"
 "Language: sv\n"
 "MIME-Version: 1.0\n"
@@ -12,10 +12,10 @@ msgstr ""
 "X-Generator: Pootle 2.0.6\n"
 
 msgid "%s is untagged in multiple VLANs!"
-msgstr ""
+msgstr "%s är inte taggad i flera VLAN!"
 
 msgid "(%d minute window, %d second interval)"
-msgstr ""
+msgstr "(%d minut-fönster, %d sekundintervall)"
 
 msgid "(%s available)"
 msgstr "(%s tillgängligt)"
@@ -27,22 +27,22 @@ msgid "(no interfaces attached)"
 msgstr "(inga gränssnitt har bifogats)"
 
 msgid "-- Additional Field --"
-msgstr ""
+msgstr "-- Ytterligare fält --"
 
 msgid "-- Please choose --"
-msgstr ""
+msgstr "-- Vänligen välj --"
 
 msgid "-- custom --"
 msgstr "-- anpassad --"
 
 msgid "-- match by device --"
-msgstr ""
+msgstr "-- matcha enligt enhet --"
 
 msgid "-- match by label --"
-msgstr ""
+msgstr "-- matcha enligt märke --"
 
 msgid "-- match by uuid --"
-msgstr ""
+msgstr "-- matcha enligt uuid --"
 
 msgid "1 Minute Load:"
 msgstr "Belastning senaste minuten:"
@@ -63,7 +63,7 @@ msgid "6-octet identifier as a hex string - no colons"
 msgstr ""
 
 msgid "802.11r Fast Transition"
-msgstr ""
+msgstr "802.11r Snabb förvandling"
 
 msgid "802.11w Association SA Query maximum timeout"
 msgstr ""
@@ -143,30 +143,32 @@ msgid "<abbr title=\"maximal\">Max.</abbr> concurrent queries"
 msgstr ""
 
 msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>"
-msgstr ""
+msgstr "<abbr title='Pairvis: %s / Grupp: %s'>%s - %s</abbr>"
 
 msgid ""
 "<br/>Note: you need to manually restart the cron service if the crontab file "
 "was empty before editing."
 msgstr ""
+"<br/>Notera att: du måste starta om cron-tjänsten om crontab-filen "
+"var tom innan den ändrades."
 
 msgid "A43C + J43 + A43"
-msgstr ""
+msgstr "A43C + J43 + A43"
 
 msgid "A43C + J43 + A43 + V43"
-msgstr ""
+msgstr "A43C + J43 + A43 + V43"
 
 msgid "ADSL"
-msgstr ""
+msgstr "ADSL"
 
 msgid "AICCU (SIXXS)"
-msgstr ""
+msgstr "AICCU (SIXXS)"
 
 msgid "ANSI T1.413"
-msgstr ""
+msgstr "ANSI T1.413"
 
 msgid "APN"
-msgstr ""
+msgstr "APN"
 
 msgid "ARP retry threshold"
 msgstr ""
@@ -175,7 +177,7 @@ msgid "ATM (Asynchronous Transfer Mode)"
 msgstr ""
 
 msgid "ATM Bridges"
-msgstr ""
+msgstr "ATM-bryggor"
 
 msgid "ATM Virtual Channel Identifier (VCI)"
 msgstr ""
@@ -196,109 +198,111 @@ msgid "ATU-C System Vendor ID"
 msgstr ""
 
 msgid "AYIYA"
-msgstr ""
+msgstr "AYIYA"
 
 msgid "Access Concentrator"
 msgstr ""
 
 msgid "Access Point"
-msgstr ""
+msgstr "Accesspunkt"
 
 msgid "Action"
-msgstr ""
+msgstr "Åtgärd"
 
 msgid "Actions"
-msgstr ""
+msgstr "Åtgärder"
 
 msgid "Activate this network"
-msgstr ""
+msgstr "Aktivera det här nätverket"
 
 msgid "Active <abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Routes"
-msgstr ""
+msgstr "Aktiva <abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-rutter"
 
 msgid "Active <abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Routes"
-msgstr ""
+msgstr "Aktiva <abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-rutter"
 
 msgid "Active Connections"
-msgstr ""
+msgstr "Aktiva anslutningar"
 
 msgid "Active DHCP Leases"
-msgstr ""
+msgstr "Aktiva DHCP-kontrakt"
 
 msgid "Active DHCPv6 Leases"
-msgstr ""
+msgstr "Aktiva DHCPv6-kontrakt"
 
 msgid "Ad-Hoc"
-msgstr ""
+msgstr "Ad-Hoc"
 
 msgid "Add"
-msgstr ""
+msgstr "Lägg till"
 
 msgid "Add local domain suffix to names served from hosts files"
 msgstr ""
 
 msgid "Add new interface..."
-msgstr ""
+msgstr "Lägg till ett nytt gränssnitt"
 
 msgid "Additional Hosts files"
-msgstr ""
+msgstr "Ytterligare värdfiler"
 
 msgid "Additional servers file"
-msgstr ""
+msgstr "Ytterligare server-filer"
 
 msgid "Address"
-msgstr ""
+msgstr "Adress"
 
 msgid "Address to access local relay bridge"
-msgstr ""
+msgstr "Adress för att komma åt lokal reläbrygga"
 
 msgid "Administration"
-msgstr ""
+msgstr "Administration"
 
 msgid "Advanced Settings"
-msgstr ""
+msgstr "Avancerade inställningar"
 
 msgid "Aggregate Transmit Power(ACTATP)"
 msgstr ""
 
 msgid "Alert"
-msgstr ""
+msgstr "Varning"
 
 msgid ""
 "Allocate IP addresses sequentially, starting from the lowest available "
 "address"
 msgstr ""
+"Allokera IP-adresser sekventiellt med start från den lägsta möjliga "
+"adressen"
 
 msgid "Allocate IP sequentially"
-msgstr ""
+msgstr "Allokera IP sekventiellt"
 
 msgid "Allow <abbr title=\"Secure Shell\">SSH</abbr> password authentication"
-msgstr ""
+msgstr "Tillåt <abbr title=\"Secure Shell\">SSH</abbr> lösenordsautentisering"
 
 msgid "Allow all except listed"
-msgstr ""
+msgstr "Tillåt alla utom listade"
 
 msgid "Allow listed only"
-msgstr ""
+msgstr "Tillåt enbart listade"
 
 msgid "Allow localhost"
-msgstr ""
+msgstr "Tillåt localhost"
 
 msgid "Allow remote hosts to connect to local SSH forwarded ports"
-msgstr ""
+msgstr "Tillåt fjärrstyrda värdar att ansluta via SSH till lokalt vidarebefordrade portar"
 
 msgid "Allow root logins with password"
-msgstr ""
+msgstr "Tillåt root-inloggningar med lösenord"
 
 msgid "Allow the <em>root</em> user to login with password"
-msgstr ""
+msgstr "Tillåt <em>root</em>-användaren att logga in med lösenord"
 
 msgid ""
 "Allow upstream responses in the 127.0.0.0/8 range, e.g. for RBL services"
 msgstr ""
 
 msgid "Allowed IPs"
-msgstr ""
+msgstr "Tillåtna IP-adresser"
 
 msgid ""
 "Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
@@ -357,78 +361,78 @@ msgid "Announce as default router even if no public prefix is available."
 msgstr ""
 
 msgid "Announced DNS domains"
-msgstr ""
+msgstr "Aviserade DNS-domäner"
 
 msgid "Announced DNS servers"
-msgstr ""
+msgstr "Aviserade DNS-servrar"
 
 msgid "Anonymous Identity"
-msgstr ""
+msgstr "Anonym identitet"
 
 msgid "Anonymous Mount"
-msgstr ""
+msgstr "Anonym montering"
 
 msgid "Anonymous Swap"
-msgstr ""
+msgstr "Anonym Swap"
 
 msgid "Antenna 1"
-msgstr ""
+msgstr "Antenn 1"
 
 msgid "Antenna 2"
-msgstr ""
+msgstr "Antenn 2"
 
 msgid "Antenna Configuration"
-msgstr ""
+msgstr "Konfiguration av antenn"
 
 msgid "Any zone"
-msgstr ""
+msgstr "Någon zon"
 
 msgid "Apply"
-msgstr ""
+msgstr "Verkställ"
 
 msgid "Applying changes"
-msgstr ""
+msgstr "Verkställer ändringar"
 
 msgid ""
 "Assign a part of given length of every public IPv6-prefix to this interface"
 msgstr ""
 
 msgid "Assign interfaces..."
-msgstr ""
+msgstr "Tilldela gränssnitten..."
 
 msgid ""
 "Assign prefix parts using this hexadecimal subprefix ID for this interface."
 msgstr ""
 
 msgid "Associated Stations"
-msgstr ""
+msgstr "Associerade stationer"
 
 msgid "Auth Group"
-msgstr ""
+msgstr "Autentiseringsgrupp"
 
 msgid "Authentication"
-msgstr ""
+msgstr "Autentisering"
 
 msgid "Authentication Type"
-msgstr ""
+msgstr "Typ av autentisering"
 
 msgid "Authoritative"
-msgstr ""
+msgstr "Auktoritiv"
 
 msgid "Authorization Required"
-msgstr ""
+msgstr "Tillstånd krävs"
 
 msgid "Auto Refresh"
-msgstr ""
+msgstr "Uppdatera automatiskt"
 
 msgid "Automatic"
-msgstr ""
+msgstr "Automatisk"
 
 msgid "Automatic Homenet (HNCP)"
-msgstr ""
+msgstr "Automatiskt hemnet (HNCP)"
 
 msgid "Automatically check filesystem for errors before mounting"
-msgstr ""
+msgstr "Kolla efter fel i filsystemet automatiskt innan det monteras"
 
 msgid "Automatically mount filesystems on hotplug"
 msgstr ""
@@ -437,64 +441,64 @@ msgid "Automatically mount swap on hotplug"
 msgstr ""
 
 msgid "Automount Filesystem"
-msgstr ""
+msgstr "Monstera filsystem automatiskt"
 
 msgid "Automount Swap"
-msgstr ""
+msgstr "Montera Swap automatiskt"
 
 msgid "Available"
-msgstr ""
+msgstr "Tillgänglig"
 
 msgid "Available packages"
-msgstr ""
+msgstr "Tillgängliga paket"
 
 msgid "Average:"
-msgstr ""
+msgstr "Snitt:"
 
 msgid "B43 + B43C"
-msgstr ""
+msgstr "B43 + B43C"
 
 msgid "B43 + B43C + V43"
-msgstr ""
+msgstr "B43 + B43C + V43"
 
 msgid "BR / DMR / AFTR"
-msgstr ""
+msgstr "BR / DMR / AFTR"
 
 msgid "BSSID"
-msgstr ""
+msgstr "BSSID"
 
 msgid "Back"
-msgstr ""
+msgstr "Bakåt"
 
 msgid "Back to Overview"
-msgstr ""
+msgstr "Backa till Överblick"
 
 msgid "Back to configuration"
-msgstr ""
+msgstr "Backa till konfiguration"
 
 msgid "Back to overview"
-msgstr ""
+msgstr "Backa till överblick"
 
 msgid "Back to scan results"
-msgstr ""
+msgstr "Backa till skanningsresultat"
 
 msgid "Backup / Flash Firmware"
-msgstr ""
+msgstr "Säkerhetskopiera / Flasha inre mjukvara"
 
 msgid "Backup / Restore"
-msgstr ""
+msgstr "Säkerhetskopiera / Återställ"
 
 msgid "Backup file list"
-msgstr ""
+msgstr "Säkerhetskopiera fillista"
 
 msgid "Bad address specified!"
-msgstr ""
+msgstr "Fel adress angiven!"
 
 msgid "Band"
-msgstr ""
+msgstr "Band"
 
 msgid "Behind NAT"
-msgstr ""
+msgstr "Bakom NAT"
 
 msgid ""
 "Below is the determined list of files to backup. It consists of changed "
@@ -503,7 +507,7 @@ msgid ""
 msgstr ""
 
 msgid "Bind interface"
-msgstr ""
+msgstr "Bind gränssnitt"
 
 msgid "Bind only to specific interfaces rather than wildcard address."
 msgstr ""
@@ -512,16 +516,16 @@ msgid "Bind the tunnel to this interface (optional)."
 msgstr ""
 
 msgid "Bitrate"
-msgstr ""
+msgstr "Bithastighet"
 
 msgid "Bogus NX Domain Override"
 msgstr ""
 
 msgid "Bridge"
-msgstr ""
+msgstr "Brygga"
 
 msgid "Bridge interfaces"
-msgstr ""
+msgstr "Brygga gränssnitt"
 
 msgid "Bridge unit number"
 msgstr ""
@@ -530,13 +534,13 @@ msgid "Bring up on boot"
 msgstr ""
 
 msgid "Broadcom 802.11%s Wireless Controller"
-msgstr ""
+msgstr "Broadcom 802.11%s Trådlös kontroller"
 
 msgid "Broadcom BCM%04x 802.11 Wireless Controller"
-msgstr ""
+msgstr "Broadcom BCM%04x 802.11 Trådlös kontroller"
 
 msgid "Buffered"
-msgstr ""
+msgstr "Buffrad"
 
 msgid ""
 "Build/distribution specific feed definitions. This file will NOT be "
@@ -544,46 +548,46 @@ msgid ""
 msgstr ""
 
 msgid "Buttons"
-msgstr ""
+msgstr "Knappar"
 
 msgid "CA certificate; if empty it will be saved after the first connection."
-msgstr ""
+msgstr "CA-certifikat; om tom så kommer den att sparas efter första anslutningen."
 
 msgid "CPU usage (%)"
-msgstr ""
+msgstr "CPU-användning (%)"
 
 msgid "Cancel"
-msgstr ""
+msgstr "Avbryt"
 
 msgid "Category"
-msgstr ""
+msgstr "Kategori"
 
 msgid "Chain"
-msgstr ""
+msgstr "Kedja"
 
 msgid "Changes"
-msgstr ""
+msgstr "Ändringar"
 
 msgid "Changes applied."
-msgstr ""
+msgstr "Tillämpade ändringar"
 
 msgid "Changes the administrator password for accessing the device"
-msgstr ""
+msgstr "Ändrar administratörens lösenord för att få tillgång till enheten"
 
 msgid "Channel"
-msgstr ""
+msgstr "Kanal"
 
 msgid "Check"
-msgstr ""
+msgstr "Kontrollera"
 
 msgid "Check fileystems before mount"
-msgstr ""
+msgstr "Kontrollera filsystemen innan de monteras"
 
 msgid "Check this option to delete the existing networks from this radio."
-msgstr ""
+msgstr "Bocka för det här alternativet för att ta bort befintliga nätverk från den här radion."
 
 msgid "Checksum"
-msgstr ""
+msgstr "Checksumma"
 
 msgid ""
 "Choose the firewall zone you want to assign to this interface. Select "
@@ -598,7 +602,7 @@ msgid ""
 msgstr ""
 
 msgid "Cipher"
-msgstr ""
+msgstr "Chiffer"
 
 msgid "Cisco UDP encapsulation"
 msgstr ""
@@ -610,10 +614,10 @@ msgid ""
 msgstr ""
 
 msgid "Client"
-msgstr ""
+msgstr "Klient"
 
 msgid "Client ID to send when requesting DHCP"
-msgstr ""
+msgstr "Klient-ID att skicka vid DHCP-förfrågning"
 
 msgid ""
 "Close inactive connection after the given amount of seconds, use 0 to "
@@ -621,49 +625,49 @@ msgid ""
 msgstr ""
 
 msgid "Close list..."
-msgstr ""
+msgstr "Stäng ner lista..."
 
 msgid "Collecting data..."
-msgstr ""
+msgstr "Samlar in data..."
 
 msgid "Command"
-msgstr ""
+msgstr "Kommando"
 
 msgid "Common Configuration"
-msgstr ""
+msgstr "Vanlig konfiguration"
 
 msgid "Configuration"
-msgstr ""
+msgstr "Konfiguration"
 
 msgid "Configuration applied."
-msgstr ""
+msgstr "Konfigurationen tillämpades"
 
 msgid "Configuration files will be kept."
-msgstr ""
+msgstr "Konfigurationsfiler kommer att behållas."
 
 msgid "Confirmation"
-msgstr ""
+msgstr "Bekräftelse"
 
 msgid "Connect"
-msgstr ""
+msgstr "Anslut"
 
 msgid "Connected"
-msgstr ""
+msgstr "Ansluten"
 
 msgid "Connection Limit"
-msgstr ""
+msgstr "Anslutningsgräns"
 
 msgid "Connection to server fails when TLS cannot be used"
 msgstr ""
 
 msgid "Connections"
-msgstr ""
+msgstr "Anslutningar"
 
 msgid "Country"
-msgstr ""
+msgstr "Land"
 
 msgid "Country Code"
-msgstr ""
+msgstr "Landskod"
 
 msgid "Cover the following interface"
 msgstr ""
@@ -675,19 +679,19 @@ msgid "Create / Assign firewall-zone"
 msgstr ""
 
 msgid "Create Interface"
-msgstr ""
+msgstr "Skapa gränssnitt"
 
 msgid "Create a bridge over multiple interfaces"
-msgstr ""
+msgstr "Skapa en brygga över flera gränssnitt"
 
 msgid "Critical"
-msgstr ""
+msgstr "Kritisk"
 
 msgid "Cron Log Level"
-msgstr ""
+msgstr "Loggnivå för Cron"
 
 msgid "Custom Interface"
-msgstr ""
+msgstr "Anpassat gränssnitt"
 
 msgid "Custom delegated IPv6-prefix"
 msgstr ""
@@ -698,7 +702,7 @@ msgid ""
 msgstr ""
 
 msgid "Custom feeds"
-msgstr ""
+msgstr "Anpassade flöden"
 
 msgid ""
 "Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
@@ -706,34 +710,34 @@ msgid ""
 msgstr ""
 
 msgid "DHCP Leases"
-msgstr ""
+msgstr "DHCP-kontrakt"
 
 msgid "DHCP Server"
-msgstr ""
+msgstr "DHCP-server"
 
 msgid "DHCP and DNS"
-msgstr ""
+msgstr "DHCP och DNS"
 
 msgid "DHCP client"
-msgstr ""
+msgstr "DHCP-klient"
 
 msgid "DHCP-Options"
-msgstr ""
+msgstr "DHCP-alternativ"
 
 msgid "DHCPv6 Leases"
-msgstr ""
+msgstr "DHCPv6-kontrakt"
 
 msgid "DHCPv6 client"
-msgstr ""
+msgstr "DHCPv6-klient"
 
 msgid "DHCPv6-Mode"
-msgstr ""
+msgstr "DHCPv6-läge"
 
 msgid "DHCPv6-Service"
-msgstr ""
+msgstr "DHCPv6-tjänst"
 
 msgid "DNS"
-msgstr ""
+msgstr "DNS"
 
 msgid "DNS forwardings"
 msgstr ""
@@ -754,10 +758,10 @@ msgid "DS-Lite AFTR address"
 msgstr ""
 
 msgid "DSL"
-msgstr ""
+msgstr "DSL"
 
 msgid "DSL Status"
-msgstr ""
+msgstr "DSL-status"
 
 msgid "DSL line mode"
 msgstr ""
@@ -766,28 +770,28 @@ msgid "DUID"
 msgstr ""
 
 msgid "Data Rate"
-msgstr ""
+msgstr "Datahastighet"
 
 msgid "Debug"
-msgstr ""
+msgstr "Avlusa"
 
 msgid "Default %d"
-msgstr ""
+msgstr "Standard %d"
 
 msgid "Default gateway"
-msgstr ""
+msgstr "Standard gateway"
 
 msgid "Default is stateless + stateful"
 msgstr ""
 
 msgid "Default route"
-msgstr ""
+msgstr "Standardrutt"
 
 msgid "Default state"
 msgstr ""
 
 msgid "Define a name for this network."
-msgstr ""
+msgstr "Ange ett namn för det här nätverket."
 
 msgid ""
 "Define additional DHCP options, for example "
@@ -796,60 +800,63 @@ msgid ""
 msgstr ""
 
 msgid "Delete"
-msgstr ""
+msgstr "Radera"
 
 msgid "Delete this network"
-msgstr ""
+msgstr "Ta bort det här nätverket"
 
 msgid "Description"
-msgstr ""
+msgstr "Beskrivning"
 
 msgid "Design"
 msgstr ""
 
 msgid "Destination"
-msgstr ""
+msgstr "Plats"
 
 msgid "Device"
-msgstr ""
+msgstr "Enhet"
 
 msgid "Device Configuration"
-msgstr ""
+msgstr "Enhetskonfiguration"
 
 msgid "Device is rebooting..."
-msgstr ""
+msgstr "Enheten startar om..."
 
 msgid "Device unreachable"
-msgstr ""
+msgstr "Enheten kan inte nås"
 
 msgid "Diagnostics"
 msgstr ""
 
 msgid "Dial number"
-msgstr ""
+msgstr "Slå nummer"
 
 msgid "Directory"
-msgstr ""
+msgstr "Mapp"
 
 msgid "Disable"
-msgstr ""
+msgstr "Inaktivera"
 
 msgid ""
 "Disable <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr> for "
 "this interface."
 msgstr ""
+"Inaktivera <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr> för "
+"det här gränssnittet."
+
 
 msgid "Disable DNS setup"
 msgstr ""
 
 msgid "Disable Encryption"
-msgstr ""
+msgstr "Inaktivera kryptering"
 
 msgid "Disabled"
-msgstr ""
+msgstr "Inaktiverad"
 
 msgid "Disabled (default)"
-msgstr ""
+msgstr "Inaktiverad (standard)"
 
 msgid "Discard upstream RFC1918 responses"
 msgstr ""
@@ -858,16 +865,16 @@ msgid "Displaying only packages containing"
 msgstr ""
 
 msgid "Distance Optimization"
-msgstr ""
+msgstr "Avståndsoptimering"
 
 msgid "Distance to farthest network member in meters."
-msgstr ""
+msgstr "Avstånd till nätverksmledlemmen längst bort i metrar."
 
 msgid "Distribution feeds"
 msgstr ""
 
 msgid "Diversity"
-msgstr ""
+msgstr "Mångfald"
 
 msgid ""
 "Dnsmasq is a combined <abbr title=\"Dynamic Host Configuration Protocol"
@@ -877,36 +884,38 @@ msgid ""
 msgstr ""
 
 msgid "Do not cache negative replies, e.g. for not existing domains"
-msgstr ""
+msgstr "Cachea inte negativa svar, t.ex för icke-existerade domäner"
 
 msgid "Do not forward requests that cannot be answered by public name servers"
-msgstr ""
+msgstr "Vidarebefordra inte förfrågningar som inte kan ta emot svar från publika namnservrar"
 
 msgid "Do not forward reverse lookups for local networks"
 msgstr ""
 
 msgid "Domain required"
-msgstr ""
+msgstr "Domän krävs"
 
 msgid "Domain whitelist"
-msgstr ""
+msgstr "Vitlista för domäner"
 
 msgid "Don't Fragment"
-msgstr ""
+msgstr "Fragmentera inte"
 
 msgid ""
 "Don't forward <abbr title=\"Domain Name System\">DNS</abbr>-Requests without "
 "<abbr title=\"Domain Name System\">DNS</abbr>-Name"
 msgstr ""
+"Vidarebefordra inte <abbr title=\"Domain Name System\">DNS</abbr>-förfrågningar utan "
+"<abbr title=\"Domain Name System\">DNS</abbr>-namn"
 
 msgid "Download and install package"
-msgstr ""
+msgstr "Ladda ner och installera paket"
 
 msgid "Download backup"
-msgstr ""
+msgstr "Ladda ner säkerhetskopia"
 
 msgid "Dropbear Instance"
-msgstr ""
+msgstr "Dropbear-instans"
 
 msgid ""
 "Dropbear offers <abbr title=\"Secure Shell\">SSH</abbr> network shell access "
@@ -920,7 +929,7 @@ msgid "Dynamic <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>"
 msgstr ""
 
 msgid "Dynamic tunnel"
-msgstr ""
+msgstr "Dynamisk tunnel"
 
 msgid ""
 "Dynamically allocate DHCP addresses for clients. If disabled, only clients "
@@ -931,10 +940,10 @@ msgid "EA-bits length"
 msgstr ""
 
 msgid "EAP-Method"
-msgstr ""
+msgstr "EAP-metod"
 
 msgid "Edit"
-msgstr ""
+msgstr "Redigera"
 
 msgid ""
 "Edit the raw configuration data above to fix any error and hit \"Save\" to "
@@ -942,19 +951,19 @@ msgid ""
 msgstr ""
 
 msgid "Edit this interface"
-msgstr ""
+msgstr "Redigera det här gränssnittet"
 
 msgid "Edit this network"
-msgstr ""
+msgstr "Redigera det här nätverket"
 
 msgid "Emergency"
-msgstr ""
+msgstr "Nödsituation"
 
 msgid "Enable"
-msgstr ""
+msgstr "Aktivera"
 
 msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
-msgstr ""
+msgstr "Aktivera <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
 
 msgid "Enable HE.net dynamic endpoint update"
 msgstr ""
@@ -969,19 +978,22 @@ msgid "Enable Jumbo Frame passthrough"
 msgstr ""
 
 msgid "Enable NTP client"
-msgstr ""
+msgstr "Aktivera NTP-klient"
 
 msgid "Enable Single DES"
 msgstr ""
 
 msgid "Enable TFTP server"
-msgstr ""
+msgstr "Aktivera TFTP-server"
 
 msgid "Enable VLAN functionality"
-msgstr ""
+msgstr "Aktivera VLAN-funktionalitet"
 
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
-msgstr ""
+msgstr "Aktivera WPS-tryckknapp, kräver WPA(2)-PSK"
+
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr "Kräver ominstallation av nyckel (KRACK) motåtgärder"
 
 msgid "Enable learning and aging"
 msgstr ""
@@ -996,16 +1008,16 @@ msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
 msgstr ""
 
 msgid "Enable this mount"
-msgstr ""
+msgstr "Aktivera den här monteringen"
 
 msgid "Enable this swap"
-msgstr ""
+msgstr "Aktivera den här swap"
 
 msgid "Enable/Disable"
-msgstr ""
+msgstr "Aktivera/Inaktivera"
 
 msgid "Enabled"
-msgstr ""
+msgstr "Aktiverad"
 
 msgid ""
 "Enables fast roaming among access points that belong to the same Mobility "
@@ -1019,7 +1031,7 @@ msgid "Encapsulation mode"
 msgstr ""
 
 msgid "Encryption"
-msgstr ""
+msgstr "Kryptering"
 
 msgid "Endpoint Host"
 msgstr ""
@@ -1028,35 +1040,35 @@ msgid "Endpoint Port"
 msgstr ""
 
 msgid "Erasing..."
-msgstr ""
+msgstr "Raderar..."
 
 msgid "Error"
-msgstr ""
+msgstr "Fel"
 
 msgid "Errored seconds (ES)"
 msgstr ""
 
 msgid "Ethernet Adapter"
-msgstr ""
+msgstr "Ethernet-adapter"
 
 msgid "Ethernet Switch"
 msgstr ""
 
 msgid "Exclude interfaces"
-msgstr ""
+msgstr "Inkludera inte dessa gränssnitt"
 
 msgid "Expand hosts"
-msgstr ""
+msgstr "Expandera värdar"
 
 msgid "Expires"
-msgstr ""
+msgstr "Löper ut"
 
 msgid ""
 "Expiry time of leased addresses, minimum is 2 minutes (<code>2m</code>)."
 msgstr ""
 
 msgid "External"
-msgstr ""
+msgstr "Externt"
 
 msgid "External R0 Key Holder List"
 msgstr ""
@@ -1074,25 +1086,25 @@ msgid "External system log server protocol"
 msgstr ""
 
 msgid "Extra SSH command options"
-msgstr ""
+msgstr "Extra alternativ för SSH-kommandot"
 
 msgid "File"
-msgstr ""
+msgstr "Fil"
 
 msgid "Filename of the boot image advertised to clients"
 msgstr ""
 
 msgid "Filesystem"
-msgstr ""
+msgstr "Filsystem"
 
 msgid "Filter"
-msgstr ""
+msgstr "Filtrera"
 
 msgid "Filter private"
-msgstr ""
+msgstr "Filtrera privata"
 
 msgid "Filter useless"
-msgstr ""
+msgstr "Filtrera icke-användbara"
 
 msgid ""
 "Find all currently attached filesystems and swap and replace configuration "
@@ -1100,31 +1112,31 @@ msgid ""
 msgstr ""
 
 msgid "Find and join network"
-msgstr ""
+msgstr "Hitta och anslut till nätverk"
 
 msgid "Find package"
-msgstr ""
+msgstr "Hitta paket"
 
 msgid "Finish"
-msgstr ""
+msgstr "Avsluta"
 
 msgid "Firewall"
-msgstr ""
+msgstr "Brandvägg"
 
 msgid "Firewall Mark"
 msgstr ""
 
 msgid "Firewall Settings"
-msgstr ""
+msgstr "Inställningar för brandvägg"
 
 msgid "Firewall Status"
-msgstr ""
+msgstr "Status för brandvägg"
 
 msgid "Firmware File"
 msgstr ""
 
 msgid "Firmware Version"
-msgstr ""
+msgstr "Version för inre mjukvara"
 
 msgid "Fixed source port for outbound DNS queries"
 msgstr ""
@@ -1142,34 +1154,34 @@ msgid "Flash operations"
 msgstr ""
 
 msgid "Flashing..."
-msgstr ""
+msgstr "Skriver..."
 
 msgid "Force"
-msgstr ""
+msgstr "Tvinga"
 
 msgid "Force CCMP (AES)"
-msgstr ""
+msgstr "Tvinga CCMP (AES)"
 
 msgid "Force DHCP on this network even if another server is detected."
-msgstr ""
+msgstr "Tvinga DHCP på det här nätverket även om en annan server är upptäckt."
 
 msgid "Force TKIP"
-msgstr ""
+msgstr "Tvinga TKIP"
 
 msgid "Force TKIP and CCMP (AES)"
-msgstr ""
+msgstr "Tvinga TKIP och CCMP (AES)"
 
 msgid "Force link"
-msgstr ""
+msgstr "Tvinga länk"
 
 msgid "Force use of NAT-T"
-msgstr ""
+msgstr "Tvinga användning av NAT-T"
 
 msgid "Form token mismatch"
 msgstr ""
 
 msgid "Forward DHCP traffic"
-msgstr ""
+msgstr "Vidarebefordra DHCP-trafik"
 
 msgid "Forward Error Correction Seconds (FECS)"
 msgstr ""
@@ -1178,7 +1190,7 @@ msgid "Forward broadcast traffic"
 msgstr ""
 
 msgid "Forwarding mode"
-msgstr ""
+msgstr "Vidarebefordringsläge"
 
 msgid "Fragmentation Threshold"
 msgstr ""
@@ -1187,10 +1199,10 @@ msgid "Frame Bursting"
 msgstr ""
 
 msgid "Free"
-msgstr ""
+msgstr "Fritt"
 
 msgid "Free space"
-msgstr ""
+msgstr "Fritt utrymme"
 
 msgid ""
 "Further information about WireGuard interfaces and peers at <a href=\"http://"
@@ -1198,76 +1210,76 @@ msgid ""
 msgstr ""
 
 msgid "GHz"
-msgstr ""
+msgstr "GHz"
 
 msgid "GPRS only"
-msgstr ""
+msgstr "Endast GPRS"
 
 msgid "Gateway"
-msgstr ""
+msgstr "Gateway"
 
 msgid "Gateway ports"
-msgstr ""
+msgstr "Gateway-portar"
 
 msgid "General Settings"
-msgstr ""
+msgstr "Generella inställningar"
 
 msgid "General Setup"
 msgstr ""
 
 msgid "General options for opkg"
-msgstr ""
+msgstr "Generella alternativ för opkg"
 
 msgid "Generate Config"
-msgstr ""
+msgstr "Generera konfig"
 
 msgid "Generate archive"
-msgstr ""
+msgstr "Generera arkiv"
 
 msgid "Generic 802.11%s Wireless Controller"
 msgstr ""
 
 msgid "Given password confirmation did not match, password not changed!"
-msgstr ""
+msgstr "Angiven lösenordsbekräftelse matchade inte, lösenordet ändrades inte!"
 
 msgid "Global Settings"
-msgstr ""
+msgstr "Globala inställningar"
 
 msgid "Global network options"
-msgstr ""
+msgstr "Globala nätverksalternativ"
 
 msgid "Go to password configuration..."
-msgstr ""
+msgstr "Gå till lösenordskonfiguration..."
 
 msgid "Go to relevant configuration page"
-msgstr ""
+msgstr "Gå till relevant konfigurationssida"
 
 msgid "Group Password"
-msgstr ""
+msgstr "Grupplösenord"
 
 msgid "Guest"
-msgstr ""
+msgstr "Gäst"
 
 msgid "HE.net password"
-msgstr ""
+msgstr "HE.net-lösenord"
 
 msgid "HE.net username"
-msgstr ""
+msgstr "HE.net-användarnamn"
 
 msgid "HT mode (802.11n)"
-msgstr ""
+msgstr "HT-läge (802.11n)"
 
 msgid "Handler"
 msgstr ""
 
 msgid "Hang Up"
-msgstr ""
+msgstr "Lägg på"
 
 msgid "Header Error Code Errors (HEC)"
 msgstr ""
 
 msgid "Heartbeat"
-msgstr ""
+msgstr "Hjärtslag"
 
 msgid ""
 "Here you can configure the basic aspects of your device like its hostname or "
@@ -1283,10 +1295,10 @@ msgid "Hermes 802.11b Wireless Controller"
 msgstr ""
 
 msgid "Hide <abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"
-msgstr ""
+msgstr "Göm <abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"
 
 msgid "Host"
-msgstr ""
+msgstr "Värd"
 
 msgid "Host entries"
 msgstr ""
@@ -1295,43 +1307,43 @@ msgid "Host expiry timeout"
 msgstr ""
 
 msgid "Host-<abbr title=\"Internet Protocol Address\">IP</abbr> or Network"
-msgstr ""
+msgstr "Host-<abbr title=\"Internet Protocol Address\">IP</abbr> eller Nätverk"
 
 msgid "Hostname"
-msgstr ""
+msgstr "Värdnamn"
 
 msgid "Hostname to send when requesting DHCP"
-msgstr ""
+msgstr "Värdnamn att skicka vid DHCP-förfrågningar"
 
 msgid "Hostnames"
-msgstr ""
+msgstr "Värdnamn"
 
 msgid "Hybrid"
-msgstr ""
+msgstr "Hybrid"
 
 msgid "IKE DH Group"
 msgstr ""
 
 msgid "IP Addresses"
-msgstr ""
+msgstr "IP-adresser"
 
 msgid "IP address"
-msgstr ""
+msgstr "IP-adress"
 
 msgid "IPv4"
-msgstr ""
+msgstr "IPv4"
 
 msgid "IPv4 Firewall"
-msgstr ""
+msgstr "IPv4-brandvägg"
 
 msgid "IPv4 WAN Status"
 msgstr ""
 
 msgid "IPv4 address"
-msgstr ""
+msgstr "IPv4-adress"
 
 msgid "IPv4 and IPv6"
-msgstr ""
+msgstr "IPv4 och IPv6"
 
 msgid "IPv4 assignment length"
 msgstr ""
@@ -1340,13 +1352,13 @@ msgid "IPv4 broadcast"
 msgstr ""
 
 msgid "IPv4 gateway"
-msgstr ""
+msgstr "IPv4-gateway"
 
 msgid "IPv4 netmask"
-msgstr ""
+msgstr "IPv4-nätmask"
 
 msgid "IPv4 only"
-msgstr ""
+msgstr "Endast IPv4"
 
 msgid "IPv4 prefix"
 msgstr ""
@@ -1355,22 +1367,22 @@ msgid "IPv4 prefix length"
 msgstr ""
 
 msgid "IPv4-Address"
-msgstr ""
+msgstr "IPv4-Adress"
 
 msgid "IPv4-in-IPv4 (RFC2003)"
-msgstr ""
+msgstr "IPv4-i-IPv4 (RFC2003)"
 
 msgid "IPv6"
-msgstr ""
+msgstr "IPv6"
 
 msgid "IPv6 Firewall"
-msgstr ""
+msgstr "IPv6-brandvägg"
 
 msgid "IPv6 Neighbours"
-msgstr ""
+msgstr "IPV6-grannar"
 
 msgid "IPv6 Settings"
-msgstr ""
+msgstr "IPv6-inställningar"
 
 msgid "IPv6 ULA-Prefix"
 msgstr ""
@@ -1379,7 +1391,7 @@ msgid "IPv6 WAN Status"
 msgstr ""
 
 msgid "IPv6 address"
-msgstr ""
+msgstr "IPv6-adress"
 
 msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
 msgstr ""
@@ -1391,10 +1403,10 @@ msgid "IPv6 assignment length"
 msgstr ""
 
 msgid "IPv6 gateway"
-msgstr ""
+msgstr "IPv6-gateway"
 
 msgid "IPv6 only"
-msgstr ""
+msgstr "Endast IPv6"
 
 msgid "IPv6 prefix"
 msgstr ""
@@ -1409,24 +1421,24 @@ msgid "IPv6 suffix"
 msgstr ""
 
 msgid "IPv6-Address"
-msgstr ""
+msgstr "IPv6-adress"
 
 msgid "IPv6-PD"
 msgstr ""
 
 msgid "IPv6-in-IPv4 (RFC4213)"
-msgstr ""
+msgstr "IPv6-i-IPv4 (RFC4213)"
 
 msgid "IPv6-over-IPv4 (6rd)"
-msgstr ""
+msgstr "IPv6-över-IPv4 (6rd)"
 
 msgid "IPv6-over-IPv4 (6to4)"
-msgstr ""
+msgstr "IPv6-över-IPv4 (6till4)"
 
 msgid "Identity"
-msgstr ""
+msgstr "Identitet"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -1456,19 +1468,19 @@ msgid ""
 msgstr ""
 
 msgid "Ignore <code>/etc/hosts</code>"
-msgstr ""
+msgstr "Ignorera <code>/etc/hosts</code>"
 
 msgid "Ignore interface"
-msgstr ""
+msgstr "Ignorera gränssnitt"
 
 msgid "Ignore resolve file"
-msgstr ""
+msgstr "Ignorera resolv-fil"
 
 msgid "Image"
-msgstr ""
+msgstr "Bild"
 
 msgid "In"
-msgstr ""
+msgstr "I"
 
 msgid ""
 "In order to prevent unauthorized access to the system, your request has been "
@@ -1479,73 +1491,73 @@ msgid "Inactivity timeout"
 msgstr ""
 
 msgid "Inbound:"
-msgstr ""
+msgstr "Ankommande"
 
 msgid "Info"
-msgstr ""
+msgstr "Info"
 
 msgid "Initscript"
-msgstr ""
+msgstr "Initskript"
 
 msgid "Initscripts"
-msgstr ""
+msgstr "Initskripten"
 
 msgid "Install"
-msgstr ""
+msgstr "Installera"
 
 msgid "Install iputils-traceroute6 for IPv6 traceroute"
-msgstr ""
+msgstr "Installera iputils-traceroute6 för IPv6-traceroute"
 
 msgid "Install package %q"
-msgstr ""
+msgstr "Installera paketet %q"
 
 msgid "Install protocol extensions..."
-msgstr ""
+msgstr "Installera protokoll-förlängningar..."
 
 msgid "Installed packages"
-msgstr ""
+msgstr "Installerade paket"
 
 msgid "Interface"
-msgstr ""
+msgstr "Gränssnitt"
 
 msgid "Interface %q device auto-migrated from %q to %q."
 msgstr ""
 
 msgid "Interface Configuration"
-msgstr ""
+msgstr "Konfiguration av gränssnitt"
 
 msgid "Interface Overview"
-msgstr ""
+msgstr "Överblick av gränssnitt"
 
 msgid "Interface is reconnecting..."
-msgstr ""
+msgstr "Gränssnittet återansluter..."
 
 msgid "Interface is shutting down..."
-msgstr ""
+msgstr "Gränssnittet stänger ner..."
 
 msgid "Interface name"
-msgstr ""
+msgstr "Gränssnittets namn"
 
 msgid "Interface not present or not connected yet."
-msgstr ""
+msgstr "Gränssnittet är inte närvarande eller är inte anslutet än."
 
 msgid "Interface reconnected"
-msgstr ""
+msgstr "Gränssnittet återanslöt"
 
 msgid "Interface shut down"
-msgstr ""
+msgstr "Gränssnittet stängdes ner"
 
 msgid "Interfaces"
-msgstr ""
+msgstr "Gränssnitten"
 
 msgid "Internal"
-msgstr ""
+msgstr "Interna"
 
 msgid "Internal Server Error"
-msgstr ""
+msgstr "Internt server-fel"
 
 msgid "Invalid"
-msgstr ""
+msgstr "Ogiltig"
 
 msgid "Invalid VLAN ID given! Only IDs between %d and %d are allowed."
 msgstr ""
@@ -1554,10 +1566,10 @@ msgid "Invalid VLAN ID given! Only unique IDs are allowed"
 msgstr ""
 
 msgid "Invalid username and/or password! Please try again."
-msgstr ""
+msgstr "Ogiltigt användarnamn och/eller lösenord! Vänligen försök igen."
 
 msgid "Isolate Clients"
-msgstr ""
+msgstr "Isolera klienter"
 
 msgid ""
 "It appears that you are trying to flash an image that does not fit into the "
@@ -1565,40 +1577,40 @@ msgid ""
 msgstr ""
 
 msgid "JavaScript required!"
-msgstr ""
+msgstr "JavaScript krävs!"
 
 msgid "Join Network"
-msgstr ""
+msgstr "Anslut till nätverk"
 
 msgid "Join Network: Wireless Scan"
-msgstr ""
+msgstr "Anslut till nätverk: Trådlös skanning"
 
 msgid "Joining Network: %q"
-msgstr ""
+msgstr "Ansluter till nätverk: %q"
 
 msgid "Keep settings"
-msgstr ""
+msgstr "Behåll inställningar"
 
 msgid "Kernel Log"
-msgstr ""
+msgstr "Kernel-logg"
 
 msgid "Kernel Version"
-msgstr ""
+msgstr "Kernel-version"
 
 msgid "Key"
-msgstr ""
+msgstr "Nyckel"
 
 msgid "Key #%d"
-msgstr ""
+msgstr "Nyckel #%d"
 
 msgid "Kill"
-msgstr ""
+msgstr "Döda"
 
 msgid "L2TP"
-msgstr ""
+msgstr "L2TP"
 
 msgid "L2TP Server"
-msgstr ""
+msgstr "L2TP-server"
 
 msgid "LCP echo failure threshold"
 msgstr ""
@@ -1607,46 +1619,46 @@ msgid "LCP echo interval"
 msgstr ""
 
 msgid "LLC"
-msgstr ""
+msgstr "LLC"
 
 msgid "Label"
-msgstr ""
+msgstr "Märke"
 
 msgid "Language"
-msgstr ""
+msgstr "Språk"
 
 msgid "Language and Style"
-msgstr ""
+msgstr "Språk och Stil"
 
 msgid "Latency"
-msgstr ""
+msgstr "Latens"
 
 msgid "Leaf"
-msgstr ""
+msgstr "Löv"
 
 msgid "Lease time"
-msgstr ""
+msgstr "Kontraktstid"
 
 msgid "Lease validity time"
-msgstr ""
+msgstr "Giltighetstid för kontrakt"
 
 msgid "Leasefile"
-msgstr ""
+msgstr "Kontraktsfil"
 
 msgid "Leasetime remaining"
-msgstr ""
+msgstr "Återstående kontraktstid"
 
 msgid "Leave empty to autodetect"
-msgstr ""
+msgstr "Lämna tom för att upptäcka automatiskt"
 
 msgid "Leave empty to use the current WAN address"
-msgstr ""
+msgstr "Lämna tom för att använda den nuvarande WAN-adressen"
 
 msgid "Legend:"
 msgstr ""
 
 msgid "Limit"
-msgstr ""
+msgstr "Begränsa"
 
 msgid "Limit DNS service to subnets interfaces on which we are serving DNS."
 msgstr ""
@@ -1667,7 +1679,7 @@ msgid "Line Uptime"
 msgstr ""
 
 msgid "Link On"
-msgstr ""
+msgstr "Länk På"
 
 msgid ""
 "List of <abbr title=\"Domain Name System\">DNS</abbr> servers to forward "
@@ -1691,7 +1703,7 @@ msgid ""
 msgstr ""
 
 msgid "List of SSH key files for auth"
-msgstr ""
+msgstr "Lista över SSH-nyckelfiler för auth"
 
 msgid "List of domains to allow RFC1918 responses for"
 msgstr ""
@@ -1703,43 +1715,43 @@ msgid "Listen Interfaces"
 msgstr ""
 
 msgid "Listen Port"
-msgstr ""
+msgstr "Lyssningsportar"
 
 msgid "Listen only on the given interface or, if unspecified, on all"
-msgstr ""
+msgstr "Lyssna endast på det angivna gränssnittet eller, om o-specificerat på alla"
 
 msgid "Listening port for inbound DNS queries"
-msgstr ""
+msgstr "Lyssningsportar för ankommande DNS-förfrågningar"
 
 msgid "Load"
-msgstr ""
+msgstr "Belastning"
 
 msgid "Load Average"
-msgstr ""
+msgstr "Snitt-belastning"
 
 msgid "Loading"
-msgstr ""
+msgstr "Laddar"
 
 msgid "Local IP address to assign"
 msgstr ""
 
 msgid "Local IPv4 address"
-msgstr ""
+msgstr "Lokal IPv4-adress"
 
 msgid "Local IPv6 address"
-msgstr ""
+msgstr "Lokal IPv6-adress"
 
 msgid "Local Service Only"
-msgstr ""
+msgstr "Enbart lokal tjänst"
 
 msgid "Local Startup"
-msgstr ""
+msgstr "Lokal uppstart"
 
 msgid "Local Time"
-msgstr ""
+msgstr "Lokal tid"
 
 msgid "Local domain"
-msgstr ""
+msgstr "Lokal domän"
 
 msgid ""
 "Local domain specification. Names matching this domain are never forwarded "
@@ -1750,7 +1762,7 @@ msgid "Local domain suffix appended to DHCP names and hosts file entries"
 msgstr ""
 
 msgid "Local server"
-msgstr ""
+msgstr "Lokal server"
 
 msgid ""
 "Localise hostname depending on the requesting subnet if multiple IPs are "
@@ -1758,10 +1770,10 @@ msgid ""
 msgstr ""
 
 msgid "Localise queries"
-msgstr ""
+msgstr "Lokalisera förfrågningar"
 
 msgid "Locked to channel %s used by: %s"
-msgstr ""
+msgstr "Låst till kanalen %s som används av: %s"
 
 msgid "Log output level"
 msgstr ""
@@ -1773,10 +1785,10 @@ msgid "Logging"
 msgstr ""
 
 msgid "Login"
-msgstr ""
+msgstr "Logga in"
 
 msgid "Logout"
-msgstr ""
+msgstr "Logga ut"
 
 msgid "Loss of Signal Seconds (LOSS)"
 msgstr ""
@@ -1785,31 +1797,31 @@ msgid "Lowest leased address as offset from the network address."
 msgstr ""
 
 msgid "MAC-Address"
-msgstr ""
+msgstr MAC-adress"
 
 msgid "MAC-Address Filter"
-msgstr ""
+msgstr "Filter för MAC-adress"
 
 msgid "MAC-Filter"
-msgstr ""
+msgstr "MAC-filter"
 
 msgid "MAC-List"
-msgstr ""
+msgstr "MAC-lista"
 
 msgid "MAP / LW4over6"
-msgstr ""
+msgstr "MAP / LW4över6"
 
 msgid "MB/s"
-msgstr ""
+msgstr "MB/s"
 
 msgid "MD5"
-msgstr ""
+msgstr "MD5"
 
 msgid "MHz"
-msgstr ""
+msgstr "MHz"
 
 msgid "MTU"
-msgstr ""
+msgstr "MTU"
 
 msgid ""
 "Make sure to clone the root filesystem using something like the commands "
@@ -1817,7 +1829,7 @@ msgid ""
 msgstr ""
 
 msgid "Manual"
-msgstr ""
+msgstr "Manuell"
 
 msgid "Max. Attainable Data Rate (ATTNDR)"
 msgstr ""
@@ -1846,16 +1858,16 @@ msgid "Maximum number of leased addresses."
 msgstr ""
 
 msgid "Mbit/s"
-msgstr ""
+msgstr "Mbit/s"
 
 msgid "Memory"
-msgstr ""
+msgstr "Minne"
 
 msgid "Memory usage (%)"
-msgstr ""
+msgstr "Minnesanvändning (%)"
 
 msgid "Metric"
-msgstr ""
+msgstr "Metrisk"
 
 msgid "Minimum hold time"
 msgstr ""
@@ -1873,28 +1885,28 @@ msgid "Mobility Domain"
 msgstr ""
 
 msgid "Mode"
-msgstr ""
+msgstr "Läge"
 
 msgid "Model"
-msgstr ""
+msgstr "Modell"
 
 msgid "Modem device"
-msgstr ""
+msgstr "Modem-enhet"
 
 msgid "Modem init timeout"
 msgstr ""
 
 msgid "Monitor"
-msgstr ""
+msgstr "Övervaka"
 
 msgid "Mount Entry"
 msgstr ""
 
 msgid "Mount Point"
-msgstr ""
+msgstr "Monteringspunkt"
 
 msgid "Mount Points"
-msgstr ""
+msgstr "Monteringspunkter"
 
 msgid "Mount Points - Mount Entry"
 msgstr ""
@@ -1911,124 +1923,124 @@ msgid "Mount filesystems not specifically configured"
 msgstr ""
 
 msgid "Mount options"
-msgstr ""
+msgstr "Monteringsalternativ"
 
 msgid "Mount point"
-msgstr ""
+msgstr "Monteringspunkt"
 
 msgid "Mount swap not specifically configured"
 msgstr ""
 
 msgid "Mounted file systems"
-msgstr ""
+msgstr "Monterade filsystem"
 
 msgid "Move down"
-msgstr ""
+msgstr "Flytta ner"
 
 msgid "Move up"
-msgstr ""
+msgstr "Flytta upp"
 
 msgid "Multicast address"
 msgstr ""
 
 msgid "NAS ID"
-msgstr ""
+msgstr "NAS-ID"
 
 msgid "NAT-T Mode"
-msgstr ""
+msgstr "NAT-T-läge"
 
 msgid "NAT64 Prefix"
 msgstr ""
 
 msgid "NCM"
-msgstr ""
+msgstr "NCM"
 
 msgid "NDP-Proxy"
 msgstr ""
 
 msgid "NT Domain"
-msgstr ""
+msgstr "NT-domän"
 
 msgid "NTP server candidates"
-msgstr ""
+msgstr "NTP-serverkandidater"
 
 msgid "NTP sync time-out"
 msgstr ""
 
 msgid "Name"
-msgstr ""
+msgstr "Namn"
 
 msgid "Name of the new interface"
-msgstr ""
+msgstr "Namn på det nya gränssnittet"
 
 msgid "Name of the new network"
-msgstr ""
+msgstr "Namnet på det nya nätverket"
 
 msgid "Navigation"
-msgstr ""
+msgstr "Navigering"
 
 msgid "Netmask"
-msgstr ""
+msgstr "Nätmask"
 
 msgid "Network"
-msgstr ""
+msgstr "Nätverk"
 
 msgid "Network Utilities"
-msgstr ""
+msgstr "Nätverksverktyg"
 
 msgid "Network boot image"
-msgstr ""
+msgstr "Uppstartsbild för nätverket"
 
 msgid "Network without interfaces."
-msgstr ""
+msgstr "Nätverk utan gränssnitt"
 
 msgid "Next »"
-msgstr ""
+msgstr "Nästa »"
 
 msgid "No DHCP Server configured for this interface"
-msgstr ""
+msgstr "Det finns ingen DHCP-server inställd för det här gränssnittet"
 
 msgid "No NAT-T"
-msgstr ""
+msgstr "Ingen NAT-T"
 
 msgid "No chains in this table"
-msgstr ""
+msgstr "Inga kedjor i den här tabellen"
 
 msgid "No files found"
-msgstr ""
+msgstr "Inga filer hittades"
 
 msgid "No information available"
-msgstr ""
+msgstr "Ingen information tillgänglig"
 
 msgid "No negative cache"
-msgstr ""
+msgstr "Ingen negativ cache"
 
 msgid "No network configured on this device"
-msgstr ""
+msgstr "Det finns inget nätverk inställt på den här enheten"
 
 msgid "No network name specified"
-msgstr ""
+msgstr "Inget nätverksnamn angavs"
 
 msgid "No package lists available"
-msgstr ""
+msgstr "Ingen paketlista tillgänglig"
 
 msgid "No password set!"
-msgstr ""
+msgstr "Inget lösenord inställt!"
 
 msgid "No rules in this chain"
-msgstr ""
+msgstr "Inga regler i den här kedjan"
 
 msgid "No zone assigned"
 msgstr ""
 
 msgid "Noise"
-msgstr ""
+msgstr "Buller"
 
 msgid "Noise Margin (SNR)"
 msgstr ""
 
 msgid "Noise:"
-msgstr ""
+msgstr "Buller:"
 
 msgid "Non Pre-emtive CRC errors (CRC_P)"
 msgstr ""
@@ -2037,34 +2049,34 @@ msgid "Non-wildcard"
 msgstr ""
 
 msgid "None"
-msgstr ""
+msgstr "Ingen"
 
 msgid "Normal"
-msgstr ""
+msgstr "Normal"
 
 msgid "Not Found"
-msgstr ""
+msgstr "Hittades inte"
 
 msgid "Not associated"
-msgstr ""
+msgstr "Inte associerad"
 
 msgid "Not connected"
-msgstr ""
+msgstr "Inte ansluten"
 
 msgid "Note: Configuration files will be erased."
-msgstr ""
+msgstr "Notera: Konfigurationsfiler kommer att raderas."
 
 msgid "Note: interface name length"
-msgstr ""
+msgstr "Notera: längden på gränssnittets namn"
 
 msgid "Notice"
-msgstr ""
+msgstr "Avisering"
 
 msgid "Nslookup"
-msgstr ""
+msgstr "Nslookup"
 
 msgid "OK"
-msgstr ""
+msgstr "OK"
 
 msgid "OPKG-Configuration"
 msgstr ""
@@ -2091,34 +2103,34 @@ msgid "On-State Delay"
 msgstr ""
 
 msgid "One of hostname or mac address must be specified!"
-msgstr ""
+msgstr "En utav värdnamn eller MAC-adress måste anges!"
 
 msgid "One or more fields contain invalid values!"
-msgstr ""
+msgstr "En eller fler fält innehåller ogiltiga värden!"
 
 msgid "One or more invalid/required values on tab"
 msgstr ""
 
 msgid "One or more required fields have no value!"
-msgstr ""
+msgstr "En eller fler fält som krävs har inget värde!"
 
 msgid "Open list..."
-msgstr ""
+msgstr "Öppna lista..."
 
 msgid "OpenConnect (CISCO AnyConnect)"
-msgstr ""
+msgstr "OpenConnect (CISCO AnyConnect)"
 
 msgid "Operating frequency"
 msgstr ""
 
 msgid "Option changed"
-msgstr ""
+msgstr "Alternativet ändrades"
 
 msgid "Option removed"
-msgstr ""
+msgstr "Alternativet togs bort"
 
 msgid "Optional"
-msgstr ""
+msgstr "Valfri"
 
 msgid "Optional, specify to override default server (tic.sixxs.net)"
 msgstr ""
@@ -2166,16 +2178,16 @@ msgid "Optional. UDP port used for outgoing and incoming packets."
 msgstr ""
 
 msgid "Options"
-msgstr ""
+msgstr "Alternativ"
 
 msgid "Other:"
-msgstr ""
+msgstr "Andra:"
 
 msgid "Out"
-msgstr ""
+msgstr "Ut"
 
 msgid "Outbound:"
-msgstr ""
+msgstr "Utgående"
 
 msgid "Output Interface"
 msgstr ""
@@ -2207,43 +2219,43 @@ msgid "Override the table used for internal routes"
 msgstr ""
 
 msgid "Overview"
-msgstr ""
+msgstr "Överblick"
 
 msgid "Owner"
-msgstr ""
+msgstr "Ägare"
 
 msgid "PAP/CHAP password"
-msgstr ""
+msgstr "PAP/CHAP-lösenord"
 
 msgid "PAP/CHAP username"
-msgstr ""
+msgstr "PAP/CHAP-användarnamn"
 
 msgid "PID"
-msgstr ""
+msgstr "PID"
 
 msgid "PIN"
-msgstr ""
+msgstr "PIN-kod"
 
 msgid "PMK R1 Push"
 msgstr ""
 
 msgid "PPP"
-msgstr ""
+msgstr "PPP"
 
 msgid "PPPoA Encapsulation"
 msgstr ""
 
 msgid "PPPoATM"
-msgstr ""
+msgstr "PPPoATM"
 
 msgid "PPPoE"
-msgstr ""
+msgstr "PPPoE"
 
 msgid "PPPoSSH"
-msgstr ""
+msgstr "PPPoSSH"
 
 msgid "PPtP"
-msgstr ""
+msgstr "PPtP"
 
 msgid "PSID offset"
 msgstr ""
@@ -2255,58 +2267,58 @@ msgid "PTM/EFM (Packet Transfer Mode)"
 msgstr ""
 
 msgid "Package libiwinfo required!"
-msgstr ""
+msgstr "Paketet libiwinfo krävs!"
 
 msgid "Package lists are older than 24 hours"
-msgstr ""
+msgstr "Paket-listor är äldre än 24 timmar"
 
 msgid "Package name"
-msgstr ""
+msgstr "Paketnamn"
 
 msgid "Packets"
-msgstr ""
+msgstr "Paket"
 
 msgid "Part of zone %q"
-msgstr ""
+msgstr "Del av zon %q"
 
 msgid "Password"
-msgstr ""
+msgstr "Lösenord"
 
 msgid "Password authentication"
-msgstr ""
+msgstr "Lösenordsautentisering"
 
 msgid "Password of Private Key"
-msgstr ""
+msgstr "Den privata nyckelns lösenord"
 
 msgid "Password of inner Private Key"
-msgstr ""
+msgstr "Lösenordet för den inre privata nyckeln"
 
 msgid "Password successfully changed!"
-msgstr ""
+msgstr "Ändring av lösenordet lyckades!"
 
 msgid "Password2"
-msgstr ""
+msgstr "Lösenord2"
 
 msgid "Path to CA-Certificate"
-msgstr ""
+msgstr "Genväg till CA-certifikat"
 
 msgid "Path to Client-Certificate"
-msgstr ""
+msgstr "Genväg till klient-certifikat"
 
 msgid "Path to Private Key"
-msgstr ""
+msgstr "Genväg till privat nyckel"
 
 msgid "Path to executable which handles the button event"
 msgstr ""
 
 msgid "Path to inner CA-Certificate"
-msgstr ""
+msgstr "Genväg till det inre CA-certifikatet"
 
 msgid "Path to inner Client-Certificate"
-msgstr ""
+msgstr "Genväg till det inre klient-certifikatet"
 
 msgid "Path to inner Private Key"
-msgstr ""
+msgstr "Genväg till den inre privata nyckeln"
 
 msgid "Peak:"
 msgstr ""
@@ -2321,10 +2333,10 @@ msgid "Perfect Forward Secrecy"
 msgstr ""
 
 msgid "Perform reboot"
-msgstr ""
+msgstr "Utför omstart"
 
 msgid "Perform reset"
-msgstr ""
+msgstr "Utför återställning"
 
 msgid "Persistent Keep Alive"
 msgstr ""
@@ -2333,25 +2345,25 @@ msgid "Phy Rate:"
 msgstr ""
 
 msgid "Physical Settings"
-msgstr ""
+msgstr "Fysiska inställningar"
 
 msgid "Ping"
-msgstr ""
+msgstr "Ping"
 
 msgid "Pkts."
-msgstr ""
+msgstr "Pkt."
 
 msgid "Please enter your username and password."
-msgstr ""
+msgstr "Vänligen ange ditt användarnamn och lösenord."
 
 msgid "Policy"
 msgstr ""
 
 msgid "Port"
-msgstr ""
+msgstr "Port"
 
 msgid "Port status:"
-msgstr ""
+msgstr "Port-status:"
 
 msgid "Power Management Mode"
 msgstr ""
@@ -2360,10 +2372,10 @@ msgid "Pre-emtive CRC errors (CRCP_P)"
 msgstr ""
 
 msgid "Prefer LTE"
-msgstr ""
+msgstr "Föredra LTE"
 
 msgid "Prefer UMTS"
-msgstr ""
+msgstr "Föredra UMTS"
 
 msgid "Prefix Delegated"
 msgstr ""
@@ -2377,40 +2389,40 @@ msgid ""
 msgstr ""
 
 msgid "Prevent listening on these interfaces."
-msgstr ""
+msgstr "Förhindra lyssning på dessa gränssnitt."
 
 msgid "Prevents client-to-client communication"
-msgstr ""
+msgstr "Förhindrar kommunikation klient-till-klient"
 
 msgid "Prism2/2.5/3 802.11b Wireless Controller"
 msgstr ""
 
 msgid "Private Key"
-msgstr ""
+msgstr "Privat nyckel"
 
 msgid "Proceed"
-msgstr ""
+msgstr "Fortsätt"
 
 msgid "Processes"
-msgstr ""
+msgstr "Processer"
 
 msgid "Profile"
-msgstr ""
+msgstr "Profil"
 
 msgid "Prot."
-msgstr ""
+msgstr "Prot."
 
 msgid "Protocol"
-msgstr ""
+msgstr "Protokoll"
 
 msgid "Protocol family"
-msgstr ""
+msgstr "Protokoll-familj"
 
 msgid "Protocol of the new interface"
-msgstr ""
+msgstr "Det nya gränssnittets protokoll"
 
 msgid "Protocol support is not installed"
-msgstr ""
+msgstr "Stöd för protokoll är inte installerat"
 
 msgid "Provide NTP server"
 msgstr ""
@@ -2422,16 +2434,16 @@ msgid "Pseudo Ad-Hoc (ahdemo)"
 msgstr ""
 
 msgid "Public Key"
-msgstr ""
+msgstr "Publik nyckel"
 
 msgid "Public prefix routed to this device for distribution to clients."
 msgstr ""
 
 msgid "QMI Cellular"
-msgstr ""
+msgstr "QMI-telefoni"
 
 msgid "Quality"
-msgstr ""
+msgstr "Kvalité"
 
 msgid "R0 Key Lifetime"
 msgstr ""
@@ -2446,10 +2458,10 @@ msgid "RTS/CTS Threshold"
 msgstr ""
 
 msgid "RX"
-msgstr ""
+msgstr "RT"
 
 msgid "RX Rate"
-msgstr ""
+msgstr "RX-hastighet"
 
 msgid "RaLink 802.11%s Wireless Controller"
 msgstr ""
@@ -2476,6 +2488,8 @@ msgid ""
 "Read <code>/etc/ethers</code> to configure the <abbr title=\"Dynamic Host "
 "Configuration Protocol\">DHCP</abbr>-Server"
 msgstr ""
+Läs <code>/etc/ethers</code> för att ställa in <abbr title=\"Dynamic Host "
+"Configuration Protocol\">DHCP</abbr>-servern"
 
 msgid ""
 "Really delete this interface? The deletion cannot be undone!\\nYou might "
@@ -2488,7 +2502,7 @@ msgid ""
 msgstr ""
 
 msgid "Really reset all changes?"
-msgstr ""
+msgstr "Verkligen återställa alla ändringar?"
 
 msgid ""
 "Really shut down network?\\nYou might lose access to this device if you are "
@@ -2501,22 +2515,22 @@ msgid ""
 msgstr ""
 
 msgid "Really switch protocol?"
-msgstr ""
+msgstr "Verkligen byta protokoll?"
 
 msgid "Realtime Connections"
-msgstr ""
+msgstr "Anslutningar i realtid"
 
 msgid "Realtime Graphs"
-msgstr ""
+msgstr "Realtidsgrafer"
 
 msgid "Realtime Load"
 msgstr ""
 
 msgid "Realtime Traffic"
-msgstr ""
+msgstr "Trafik i realtid"
 
 msgid "Realtime Wireless"
-msgstr ""
+msgstr "Trådlöst i realtid"
 
 msgid "Reassociation Deadline"
 msgstr ""
@@ -2525,43 +2539,43 @@ msgid "Rebind protection"
 msgstr ""
 
 msgid "Reboot"
-msgstr ""
+msgstr "Starta om"
 
 msgid "Rebooting..."
-msgstr ""
+msgstr "Startar om..."
 
 msgid "Reboots the operating system of your device"
-msgstr ""
+msgstr "Startar om din enhets operativsystem"
 
 msgid "Receive"
-msgstr ""
+msgstr "Ta emot"
 
 msgid "Receiver Antenna"
-msgstr ""
+msgstr "Mottagningsantenn"
 
 msgid "Recommended. IP addresses of the WireGuard interface."
-msgstr ""
+msgstr "Rekommenderad. WireGuard-gränssnittets IP-adress"
 
 msgid "Reconnect this interface"
-msgstr ""
+msgstr "Återanslut det här gränssnittet"
 
 msgid "Reconnecting interface"
-msgstr ""
+msgstr "Återansluter gränssnittet"
 
 msgid "References"
-msgstr ""
+msgstr "Referens"
 
 msgid "Relay"
-msgstr ""
+msgstr "Relä"
 
 msgid "Relay Bridge"
-msgstr ""
+msgstr "Relä-brygga"
 
 msgid "Relay between networks"
-msgstr ""
+msgstr "Relä mellan nätverk"
 
 msgid "Relay bridge"
-msgstr ""
+msgstr "Relä-brygga"
 
 msgid "Remote IPv4 address"
 msgstr ""
@@ -2570,16 +2584,16 @@ msgid "Remote IPv4 address or FQDN"
 msgstr ""
 
 msgid "Remove"
-msgstr ""
+msgstr "Ta bort"
 
 msgid "Repeat scan"
-msgstr ""
+msgstr "Repetera skanning"
 
 msgid "Replace entry"
 msgstr ""
 
 msgid "Replace wireless configuration"
-msgstr ""
+msgstr "Ersätt trådlös konfiguration"
 
 msgid "Request IPv6-address"
 msgstr ""
@@ -2588,10 +2602,10 @@ msgid "Request IPv6-prefix of length"
 msgstr ""
 
 msgid "Require TLS"
-msgstr ""
+msgstr "Kräv TLS"
 
 msgid "Required"
-msgstr ""
+msgstr "Krävs!"
 
 msgid "Required for certain ISPs, e.g. Charter with DOCSIS 3"
 msgstr ""
@@ -2619,49 +2633,49 @@ msgid ""
 msgstr ""
 
 msgid "Reset"
-msgstr ""
+msgstr "Återställ"
 
 msgid "Reset Counters"
-msgstr ""
+msgstr "Återställ räknare"
 
 msgid "Reset to defaults"
-msgstr ""
+msgstr "Återställ till standard"
 
 msgid "Resolv and Hosts Files"
-msgstr ""
+msgstr "Resolv och Värd-filer"
 
 msgid "Resolve file"
-msgstr ""
+msgstr "Resolv-fil"
 
 msgid "Restart"
-msgstr ""
+msgstr "Starta om"
 
 msgid "Restart Firewall"
-msgstr ""
+msgstr "Starta om brandvägg"
 
 msgid "Restore backup"
-msgstr ""
+msgstr "Återställ säkerhetskopian"
 
 msgid "Reveal/hide password"
-msgstr ""
+msgstr "Visa/göm lösenord"
 
 msgid "Revert"
-msgstr ""
+msgstr "Återgå"
 
 msgid "Root"
-msgstr ""
+msgstr "Root"
 
 msgid "Root directory for files served via TFTP"
-msgstr ""
+msgstr "Root-mappen för filer som skickas via TFTP"
 
 msgid "Root preparation"
-msgstr ""
+msgstr "Root-förberedelse"
 
 msgid "Route Allowed IPs"
 msgstr ""
 
 msgid "Route type"
-msgstr ""
+msgstr "Typ av rutt"
 
 msgid "Routed IPv6 prefix for downstream interfaces"
 msgstr ""
@@ -2670,10 +2684,10 @@ msgid "Router Advertisement-Service"
 msgstr ""
 
 msgid "Router Password"
-msgstr ""
+msgstr "Router-lösenord"
 
 msgid "Routes"
-msgstr ""
+msgstr "Rutter"
 
 msgid ""
 "Routes specify over which interface and gateway a certain host or network "
@@ -2681,13 +2695,13 @@ msgid ""
 msgstr ""
 
 msgid "Run a filesystem check before mounting the device"
-msgstr ""
+msgstr "Kör en filsystemskontroll innan enheten monteras"
 
 msgid "Run filesystem check"
-msgstr ""
+msgstr "Kör filsystemskontrollen"
 
 msgid "SHA256"
-msgstr ""
+msgstr "SHA256"
 
 msgid ""
 "SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
@@ -2698,46 +2712,46 @@ msgid "SIXXS-handle[/Tunnel-ID]"
 msgstr ""
 
 msgid "SNR"
-msgstr ""
+msgstr "SNR"
 
 msgid "SSH Access"
-msgstr ""
+msgstr "SSH-åtkomst"
 
 msgid "SSH server address"
-msgstr ""
+msgstr "SSH-serverns adress"
 
 msgid "SSH server port"
-msgstr ""
+msgstr "SSH-serverns port"
 
 msgid "SSH username"
-msgstr ""
+msgstr "Användarnamn för SSH"
 
 msgid "SSH-Keys"
-msgstr ""
+msgstr "SSH-nycklar"
 
 msgid "SSID"
-msgstr ""
+msgstr "SSID"
 
 msgid "Save"
-msgstr ""
+msgstr "Spara"
 
 msgid "Save & Apply"
-msgstr ""
+msgstr "Spara och Verkställ"
 
 msgid "Save &#38; Apply"
-msgstr ""
+msgstr "Spara &#38; Verkställ"
 
 msgid "Scan"
-msgstr ""
+msgstr "Skanna"
 
 msgid "Scheduled Tasks"
-msgstr ""
+msgstr "Schemalagda uppgifter"
 
 msgid "Section added"
-msgstr ""
+msgstr "Sektionen lades till"
 
 msgid "Section removed"
-msgstr ""
+msgstr "Sektionen togs bort"
 
 msgid "See \"mount\" manpage for details"
 msgstr ""
@@ -2748,13 +2762,13 @@ msgid ""
 msgstr ""
 
 msgid "Separate Clients"
-msgstr ""
+msgstr "Separera klienter"
 
 msgid "Server Settings"
-msgstr ""
+msgstr "Inställningar för server"
 
 msgid "Server password"
-msgstr ""
+msgstr "Lösenordet för servern"
 
 msgid ""
 "Server password, enter the specific password of the tunnel when the username "
@@ -2762,16 +2776,16 @@ msgid ""
 msgstr ""
 
 msgid "Server username"
-msgstr ""
+msgstr "Användarnamnet för servern"
 
 msgid "Service Name"
-msgstr ""
+msgstr "Namn på tjänst"
 
 msgid "Service Type"
-msgstr ""
+msgstr "Typ av tjänst"
 
 msgid "Services"
-msgstr ""
+msgstr "Tjänster"
 
 msgid ""
 "Set interface properties regardless of the link carrier (If set, carrier "
@@ -2779,10 +2793,10 @@ msgid ""
 msgstr ""
 
 msgid "Set up Time Synchronization"
-msgstr ""
+msgstr "Ställ in Tidssynkronisering"
 
 msgid "Setup DHCP Server"
-msgstr ""
+msgstr "Ställ in DHCP-server"
 
 msgid "Severely Errored Seconds (SES)"
 msgstr ""
@@ -2794,52 +2808,52 @@ msgid "Show current backup file list"
 msgstr ""
 
 msgid "Shutdown this interface"
-msgstr ""
+msgstr "Stäng ner det här gränssnittet"
 
 msgid "Shutdown this network"
-msgstr ""
+msgstr "Stäng ner det här nätverket"
 
 msgid "Signal"
-msgstr ""
+msgstr "Signal"
 
 msgid "Signal Attenuation (SATN)"
 msgstr ""
 
 msgid "Signal:"
-msgstr ""
+msgstr "Signal:"
 
 msgid "Size"
-msgstr ""
+msgstr "Storlek"
 
 msgid "Size (.ipk)"
-msgstr ""
+msgstr "Storlek (.ipk)"
 
 msgid "Skip"
-msgstr ""
+msgstr "Hoppa över"
 
 msgid "Skip to content"
-msgstr ""
+msgstr "Hoppa över till innehåll"
 
 msgid "Skip to navigation"
-msgstr ""
+msgstr "Hoppa över till navigering"
 
 msgid "Slot time"
 msgstr ""
 
 msgid "Software"
-msgstr ""
+msgstr "Mjukvara"
 
 msgid "Software VLAN"
 msgstr ""
 
 msgid "Some fields are invalid, cannot save values!"
-msgstr ""
+msgstr "Några fält är ogiltiga, kan inte spara värden!"
 
 msgid "Sorry, the object you requested was not found."
-msgstr ""
+msgstr "Tyvärr, objektet som du frågade efter kunde inte hittas."
 
 msgid "Sorry, the server encountered an unexpected error."
-msgstr ""
+msgstr "Tyvärr, servern stötte på ett oväntat fel."
 
 msgid ""
 "Sorry, there is no sysupgrade support present; a new firmware image must be "
@@ -2848,10 +2862,10 @@ msgid ""
 msgstr ""
 
 msgid "Sort"
-msgstr ""
+msgstr "Sortera"
 
 msgid "Source"
-msgstr ""
+msgstr "Källa"
 
 msgid "Source routing"
 msgstr ""
@@ -2863,7 +2877,7 @@ msgid "Specifies the directory the device is attached to"
 msgstr ""
 
 msgid "Specifies the listening port of this <em>Dropbear</em> instance"
-msgstr ""
+msgstr "Anger lyssningsporten för den här <em>Dropbear</em>-instansen"
 
 msgid ""
 "Specifies the maximum amount of failed ARP requests until hosts are presumed "
@@ -2876,7 +2890,7 @@ msgid ""
 msgstr ""
 
 msgid "Specify a TOS (Type of Service)."
-msgstr ""
+msgstr "Ange en TaT (Typ av Tjänst)."
 
 msgid ""
 "Specify a TTL (Time to Live) for the encapsulating packet other than the "
@@ -2889,7 +2903,7 @@ msgid ""
 msgstr ""
 
 msgid "Specify the secret encryption key here."
-msgstr ""
+msgstr "Ange den hemliga krypteringsnyckeln här."
 
 msgid "Start"
 msgstr ""
@@ -2901,19 +2915,19 @@ msgid "Startup"
 msgstr ""
 
 msgid "Static IPv4 Routes"
-msgstr ""
+msgstr "Statiska IPv4-rutter"
 
 msgid "Static IPv6 Routes"
-msgstr ""
+msgstr "Statiska IPv6-rutter"
 
 msgid "Static Leases"
 msgstr ""
 
 msgid "Static Routes"
-msgstr ""
+msgstr "Statiska rutter"
 
 msgid "Static address"
-msgstr ""
+msgstr "Statiska adresser"
 
 msgid ""
 "Static leases are used to assign fixed IP addresses and symbolic hostnames "
@@ -2922,16 +2936,16 @@ msgid ""
 msgstr ""
 
 msgid "Status"
-msgstr ""
+msgstr "Status"
 
 msgid "Stop"
 msgstr ""
 
 msgid "Strict order"
-msgstr ""
+msgstr "Strikt sortering"
 
 msgid "Submit"
-msgstr ""
+msgstr "Skicka in"
 
 msgid "Suppress logging"
 msgstr ""
@@ -2940,71 +2954,71 @@ msgid "Suppress logging of the routine operation of these protocols"
 msgstr ""
 
 msgid "Swap"
-msgstr ""
+msgstr "Swap"
 
 msgid "Swap Entry"
 msgstr ""
 
 msgid "Switch"
-msgstr ""
+msgstr "Byt"
 
 msgid "Switch %q"
-msgstr ""
+msgstr "Byt %q"
 
 msgid "Switch %q (%s)"
-msgstr ""
+msgstr "Byt %q (%s)"
 
 msgid ""
 "Switch %q has an unknown topology - the VLAN settings might not be accurate."
 msgstr ""
 
 msgid "Switch VLAN"
-msgstr ""
+msgstr "Byt VLAN"
 
 msgid "Switch protocol"
-msgstr ""
+msgstr "Byt protokoll"
 
 msgid "Sync with browser"
-msgstr ""
+msgstr "Synkronisera med webbläsare"
 
 msgid "Synchronizing..."
-msgstr ""
+msgstr "Synkroniserar..."
 
 msgid "System"
-msgstr ""
+msgstr "System"
 
 msgid "System Log"
-msgstr ""
+msgstr "Systemlogg"
 
 msgid "System Properties"
-msgstr ""
+msgstr "Systemets egenskaper"
 
 msgid "System log buffer size"
 msgstr ""
 
 msgid "TCP:"
-msgstr ""
+msgstr "TCP:"
 
 msgid "TFTP Settings"
-msgstr ""
+msgstr "Inställningar för TFTP"
 
 msgid "TFTP server root"
-msgstr ""
+msgstr "Root för TFTP-server"
 
 msgid "TX"
-msgstr ""
+msgstr "TX"
 
 msgid "TX Rate"
-msgstr ""
+msgstr "TX-hastighet"
 
 msgid "Table"
-msgstr ""
+msgstr "Tabell"
 
 msgid "Target"
-msgstr ""
+msgstr "Mål"
 
 msgid "Target network"
-msgstr ""
+msgstr "Målnätverk"
 
 msgid "Terminate"
 msgstr ""
@@ -3061,7 +3075,7 @@ msgid ""
 msgstr ""
 
 msgid "The following changes have been committed"
-msgstr ""
+msgstr "Följande ändringar har skickats in"
 
 msgid "The following changes have been reverted"
 msgstr ""
@@ -3070,7 +3084,7 @@ msgid "The following rules are currently active on this system."
 msgstr ""
 
 msgid "The given network name is not unique"
-msgstr ""
+msgstr "Det angivna nätverksnamnet är inte unikt"
 
 msgid ""
 "The hardware is not multi-SSID capable and the existing configuration will "
@@ -3126,16 +3140,16 @@ msgid ""
 msgstr ""
 
 msgid "There are no active leases."
-msgstr ""
+msgstr "Det finns inga aktiva kontrakt."
 
 msgid "There are no pending changes to apply!"
-msgstr ""
+msgstr "Det finns inga pendlande ändringar att verkställa!"
 
 msgid "There are no pending changes to revert!"
-msgstr ""
+msgstr "Det finns inga pendlande ändringar att återkalla"
 
 msgid "There are no pending changes!"
-msgstr ""
+msgstr "Det finns inga pendlande ändringar!"
 
 msgid ""
 "There is no device assigned yet, please attach a network device in the "
@@ -3146,6 +3160,8 @@ msgid ""
 "There is no password set on this router. Please configure a root password to "
 "protect the web interface and enable SSH."
 msgstr ""
+"Det finns inget lösenord inställt på den här routern. Vänligen ställ in ett root-lösenord för att "
+"skydda webbgränssnittet och för att aktivera SSH."
 
 msgid "This IPv4 address of the relay"
 msgstr ""
@@ -3211,39 +3227,40 @@ msgid "This section contains no values yet"
 msgstr ""
 
 msgid "Time Synchronization"
-msgstr ""
+msgstr "Synkronisering av tid"
 
 msgid "Time Synchronization is not configured yet."
-msgstr ""
+msgstr "Synkronisering av tid är inte inställd än."
 
 msgid "Timezone"
-msgstr ""
+msgstr "Tidszon"
 
 msgid ""
 "To restore configuration files, you can upload a previously generated backup "
 "archive here."
-msgstr ""
+msgstr "För att återställa konfigurationsfiler så kan du ladda upp ett tidigare genererat säkerhetskopierings "
+"arkiv här."
 
 msgid "Tone"
-msgstr ""
+msgstr "Ton"
 
 msgid "Total Available"
-msgstr ""
+msgstr "Totalt tillgängligt"
 
 msgid "Traceroute"
-msgstr ""
+msgstr "Traceroute"
 
 msgid "Traffic"
-msgstr ""
+msgstr "Trafik"
 
 msgid "Transfer"
-msgstr ""
+msgstr "Överför"
 
 msgid "Transmission Rate"
-msgstr ""
+msgstr "Överföringshastighet"
 
 msgid "Transmit"
-msgstr ""
+msgstr "Överför"
 
 msgid "Transmit Power"
 msgstr ""
@@ -3258,13 +3275,13 @@ msgid "Trigger Mode"
 msgstr ""
 
 msgid "Tunnel ID"
-msgstr ""
+msgstr "Tunnel-ID"
 
 msgid "Tunnel Interface"
-msgstr ""
+msgstr "Tunnelgränssnitt"
 
 msgid "Tunnel Link"
-msgstr ""
+msgstr "Tunnel-länk"
 
 msgid "Tunnel broker protocol"
 msgstr ""
@@ -3273,58 +3290,58 @@ msgid "Tunnel setup server"
 msgstr ""
 
 msgid "Tunnel type"
-msgstr ""
+msgstr "Tunnel-typ"
 
 msgid "Tx-Power"
 msgstr ""
 
 msgid "Type"
-msgstr ""
+msgstr "Typ"
 
 msgid "UDP:"
-msgstr ""
+msgstr "UDP:"
 
 msgid "UMTS only"
-msgstr ""
+msgstr "Endast UMTS"
 
 msgid "UMTS/GPRS/EV-DO"
-msgstr ""
+msgstr "UMTS/GPRS/EV-DO"
 
 msgid "USB Device"
-msgstr ""
+msgstr "USB-enhet"
 
 msgid "USB Ports"
-msgstr ""
+msgstr "USB-portar"
 
 msgid "UUID"
-msgstr ""
+msgstr "UUID"
 
 msgid "Unable to dispatch"
-msgstr ""
+msgstr "Det går inte att skicka"
 
 msgid "Unavailable Seconds (UAS)"
-msgstr ""
+msgstr "Otillgängliga Sekunder (UAS)"
 
 msgid "Unknown"
-msgstr ""
+msgstr "Okänd"
 
 msgid "Unknown Error, password not changed!"
-msgstr ""
+msgstr "Okänt fel, lösenordet ändrades inte!"
 
 msgid "Unmanaged"
 msgstr ""
 
 msgid "Unmount"
-msgstr ""
+msgstr "Avmontera"
 
 msgid "Unsaved Changes"
-msgstr ""
+msgstr "Osparade ändringar"
 
 msgid "Unsupported protocol type."
-msgstr ""
+msgstr "Protokolltypen stöds inte."
 
 msgid "Update lists"
-msgstr ""
+msgstr "Uppdatera listor"
 
 msgid ""
 "Upload a sysupgrade-compatible image here to replace the running firmware. "
@@ -3333,19 +3350,19 @@ msgid ""
 msgstr ""
 
 msgid "Upload archive..."
-msgstr ""
+msgstr "Ladda upp arkiv..."
 
 msgid "Uploaded File"
-msgstr ""
+msgstr "Laddade upp fil"
 
 msgid "Uptime"
-msgstr ""
+msgstr "Upptid"
 
 msgid "Use <code>/etc/ethers</code>"
-msgstr ""
+msgstr "Använd <code>/etc/ethers</code>"
 
 msgid "Use DHCP gateway"
-msgstr ""
+msgstr "Använd DHCP-gateway"
 
 msgid "Use DNS servers advertised by peer"
 msgstr ""
@@ -3363,7 +3380,7 @@ msgid "Use as external overlay (/overlay)"
 msgstr ""
 
 msgid "Use as root filesystem (/)"
-msgstr ""
+msgstr "Använd som root-filsystem (/)"
 
 msgid "Use broadcast flag"
 msgstr ""
@@ -3372,10 +3389,10 @@ msgid "Use builtin IPv6-management"
 msgstr ""
 
 msgid "Use custom DNS servers"
-msgstr ""
+msgstr "Använd anpassade DNS-servrar"
 
 msgid "Use default gateway"
-msgstr ""
+msgstr "Använd standard-gateway"
 
 msgid "Use gateway metric"
 msgstr ""
@@ -3403,19 +3420,19 @@ msgid ""
 msgstr ""
 
 msgid "User certificate (PEM encoded)"
-msgstr ""
+msgstr "Användarcertifikat (PEM-krypterad)"
 
 msgid "User key (PEM encoded)"
-msgstr ""
+msgstr "Användarnyckel (PEM-krypterad)"
 
 msgid "Username"
-msgstr ""
+msgstr "Användarnamn"
 
 msgid "VC-Mux"
-msgstr ""
+msgstr "VC-Mux"
 
 msgid "VDSL"
-msgstr ""
+msgstr "VDSL"
 
 msgid "VLANs on %q"
 msgstr ""
@@ -3424,16 +3441,16 @@ msgid "VLANs on %q (%s)"
 msgstr ""
 
 msgid "VPN Local address"
-msgstr ""
+msgstr "Lokal adress för VPN"
 
 msgid "VPN Local port"
-msgstr ""
+msgstr "Lokal port för VPN"
 
 msgid "VPN Server"
-msgstr ""
+msgstr "VPN-server"
 
 msgid "VPN Server port"
-msgstr ""
+msgstr "Port för VPN-server"
 
 msgid "VPN Server's certificate SHA1 hash"
 msgstr ""
@@ -3442,40 +3459,40 @@ msgid "VPNC (CISCO 3000 (and others) VPN)"
 msgstr ""
 
 msgid "Vendor"
-msgstr ""
+msgstr "Tillverkare"
 
 msgid "Vendor Class to send when requesting DHCP"
 msgstr ""
 
 msgid "Verbose"
-msgstr ""
+msgstr "Utförlig"
 
 msgid "Verbose logging by aiccu daemon"
 msgstr ""
 
 msgid "Verify"
-msgstr ""
+msgstr "Verkställ"
 
 msgid "Version"
-msgstr ""
+msgstr "Version"
 
 msgid "WDS"
-msgstr ""
+msgstr "WDS"
 
 msgid "WEP Open System"
-msgstr ""
+msgstr "Öppet System WEP"
 
 msgid "WEP Shared Key"
 msgstr ""
 
 msgid "WEP passphrase"
-msgstr ""
+msgstr "WEP-lösenordsfras"
 
 msgid "WMM Mode"
-msgstr ""
+msgstr "WMM-läge"
 
 msgid "WPA passphrase"
-msgstr ""
+msgstr "WPA-lösenordsfras"
 
 msgid ""
 "WPA-Encryption requires wpa_supplicant (for client mode) or hostapd (for AP "
@@ -3487,19 +3504,19 @@ msgid ""
 msgstr ""
 
 msgid "Waiting for changes to be applied..."
-msgstr ""
+msgstr "Väntar på att ändringarna ska tillämpas..."
 
 msgid "Waiting for command to complete..."
-msgstr ""
+msgstr "Väntar på att kommandot ska avsluta..."
 
 msgid "Waiting for device..."
-msgstr ""
+msgstr "Väntar på enheten..."
 
 msgid "Warning"
-msgstr ""
+msgstr "Varning"
 
 msgid "Warning: There are unsaved changes that will get lost on reboot!"
-msgstr ""
+msgstr "Varning: Det finns osparade ändringar som kommer att förloras vid omstart!"
 
 msgid "Whether to create an IPv6 default route over the tunnel"
 msgstr ""
@@ -3508,49 +3525,56 @@ msgid "Whether to route only packets from delegated prefixes"
 msgstr ""
 
 msgid "Width"
-msgstr ""
+msgstr "Bredd"
 
 msgid "WireGuard VPN"
 msgstr ""
 
 msgid "Wireless"
-msgstr ""
+msgstr "Trådlöst"
 
 msgid "Wireless Adapter"
-msgstr ""
+msgstr "Trådlös adapter"
 
 msgid "Wireless Network"
-msgstr ""
+msgstr "Trådlöst nätverk"
 
 msgid "Wireless Overview"
-msgstr ""
+msgstr "Trådlös överblick"
 
 msgid "Wireless Security"
-msgstr ""
+msgstr "Trådlös säkerhet"
 
 msgid "Wireless is disabled or not associated"
-msgstr ""
+msgstr "Trådlöst är avstängt eller inte associerat"
 
 msgid "Wireless is restarting..."
-msgstr ""
+msgstr "Trådlöst startar om..."
 
 msgid "Wireless network is disabled"
-msgstr ""
+msgstr "Trådlöst nätverk är avstängt"
 
 msgid "Wireless network is enabled"
-msgstr ""
+msgstr "Trådlöst nätverk är aktiverat"
 
 msgid "Wireless restarted"
-msgstr ""
+msgstr "Trådlöst startade om"
 
 msgid "Wireless shut down"
+msgstr "Trådlöst stängde ner"
+
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
 msgstr ""
 
 msgid "Write received DNS requests to syslog"
-msgstr ""
+msgstr "Skriv mottagna DNS-förfrågningar till syslogg"
 
 msgid "Write system log to file"
-msgstr ""
+msgstr "Skriv systemlogg till fil"
 
 msgid ""
 "You can enable or disable installed init scripts here. Changes will applied "
@@ -3561,42 +3585,46 @@ msgstr ""
 msgid ""
 "You must enable JavaScript in your browser or LuCI will not work properly."
 msgstr ""
+"Du måste aktivera JavaScript i din webbläsare, annars kommer inte LuCi att fungera korrekt."
 
 msgid ""
 "Your Internet Explorer is too old to display this page correctly. Please "
 "upgrade it to at least version 7 or use another browser like Firefox, Opera "
 "or Safari."
 msgstr ""
+"Din Internet Explorer är för gammal för att visa den här sidan korrekt. Vänligen "
+"uppgradera den till minst version 7 eller använd en annan webbläsare till exempel Firefox, Opera "
+"eller Safari."
 
 msgid "any"
-msgstr ""
+msgstr "något"
 
 msgid "auto"
-msgstr ""
+msgstr "auto"
 
 msgid "baseT"
 msgstr ""
 
 msgid "bridged"
-msgstr ""
+msgstr "bryggad"
 
 msgid "create:"
-msgstr ""
+msgstr "skapa:"
 
 msgid "creates a bridge over specified interface(s)"
-msgstr ""
+msgstr "skapar en brygga över angivna gränssnitt(en)"
 
 msgid "dB"
-msgstr ""
+msgstr "dB"
 
 msgid "dBm"
-msgstr ""
+msgstr "dBm"
 
 msgid "disable"
-msgstr ""
+msgstr "stäng ner"
 
 msgid "disabled"
-msgstr ""
+msgstr "avstängd"
 
 msgid "expired"
 msgstr ""
@@ -3607,79 +3635,79 @@ msgid ""
 msgstr ""
 
 msgid "forward"
-msgstr ""
+msgstr "vidarebefordra"
 
 msgid "full-duplex"
-msgstr ""
+msgstr "full-duplex"
 
 msgid "half-duplex"
-msgstr ""
+msgstr "halv-duplex"
 
 msgid "help"
-msgstr ""
+msgstr "hjälp"
 
 msgid "hidden"
-msgstr ""
+msgstr "gömd"
 
 msgid "hybrid mode"
-msgstr ""
+msgstr "hybrid-läge"
 
 msgid "if target is a network"
-msgstr ""
+msgstr "om målet är ett nätverk"
 
 msgid "input"
-msgstr ""
+msgstr "inmatning"
 
 msgid "kB"
-msgstr ""
+msgstr "kB"
 
 msgid "kB/s"
-msgstr ""
+msgstr "kB/s"
 
 msgid "kbit/s"
-msgstr ""
+msgstr "kbit/s"
 
 msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
-msgstr ""
+msgstr "lokal <abbr title=\"Domain Name System\">DNS</abbr>-fil"
 
 msgid "minimum 1280, maximum 1480"
 msgstr ""
 
 msgid "minutes"
-msgstr ""
+msgstr "minuter"
 
 msgid "no"
-msgstr ""
+msgstr "nej"
 
 msgid "no link"
-msgstr ""
+msgstr "ingen länk"
 
 msgid "none"
 msgstr ""
 
 msgid "not present"
-msgstr ""
+msgstr "inte tillgängligt"
 
 msgid "off"
-msgstr ""
+msgstr "av"
 
 msgid "on"
-msgstr ""
+msgstr ""
 
 msgid "open"
-msgstr ""
+msgstr "öppen"
 
 msgid "overlay"
 msgstr ""
 
 msgid "relay mode"
-msgstr ""
+msgstr "relä-läge"
 
 msgid "routed"
 msgstr ""
 
 msgid "server mode"
-msgstr ""
+msgstr "server-läge"
 
 msgid "stateful-only"
 msgstr ""
@@ -3691,28 +3719,28 @@ msgid "stateless + stateful"
 msgstr ""
 
 msgid "tagged"
-msgstr ""
+msgstr "taggad"
 
 msgid "time units (TUs / 1.024 ms) [1000-65535]"
 msgstr ""
 
 msgid "unknown"
-msgstr ""
+msgstr "okänd"
 
 msgid "unlimited"
-msgstr ""
+msgstr "obegränsat"
 
 msgid "unspecified"
-msgstr ""
+msgstr "ospecifierat"
 
 msgid "unspecified -or- create:"
-msgstr ""
+msgstr "ospecifierat -eller- skapa:"
 
 msgid "untagged"
-msgstr ""
+msgstr "otaggat"
 
 msgid "yes"
-msgstr ""
+msgstr "ja"
 
 msgid "« Back"
-msgstr ""
+msgstr "« Bakåt"
index 1aa1816..ba569aa 100644 (file)
@@ -970,6 +970,9 @@ msgstr ""
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr ""
 
@@ -1413,7 +1416,7 @@ msgstr ""
 msgid "Identity"
 msgstr ""
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3533,6 +3536,13 @@ msgstr ""
 msgid "Wireless shut down"
 msgstr ""
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr ""
 
index 3c814cd..7c95a34 100644 (file)
@@ -990,6 +990,9 @@ msgstr ""
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr ""
 
@@ -1433,7 +1436,7 @@ msgstr ""
 msgid "Identity"
 msgstr ""
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3553,6 +3556,13 @@ msgstr ""
 msgid "Wireless shut down"
 msgstr ""
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr ""
 
index 83e5501..787a902 100644 (file)
@@ -1051,6 +1051,9 @@ msgstr "Увімкнути підтримку VLAN"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr "Увімкнути learning та aging"
 
@@ -1502,7 +1505,7 @@ msgstr "IPv6 через IPv4 (6to4)"
 msgid "Identity"
 msgstr "Ідентичність"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3762,6 +3765,13 @@ msgstr "Бездротова мережа перезапущена"
 msgid "Wireless shut down"
 msgstr "Бездротова мережа припинила роботу"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr "Записувати отримані DNS-запити до системного журналу"
 
index 7bd7868..6600c90 100644 (file)
@@ -995,6 +995,9 @@ msgstr ""
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr ""
 
@@ -1440,7 +1443,7 @@ msgstr ""
 msgid "Identity"
 msgstr "Nhận dạng"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3595,6 +3598,13 @@ msgstr ""
 msgid "Wireless shut down"
 msgstr ""
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr ""
 
index 0ea00ff..109110c 100644 (file)
@@ -1001,6 +1001,9 @@ msgstr "启用 VLAN"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr "启用 WPS 一键加密按钮,需要 WPA(2)-PSK"
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr "启用智能交换学习"
 
@@ -1446,7 +1449,7 @@ msgstr "IPv6-over-IPv4 (6to4)"
 msgid "Identity"
 msgstr "鉴权"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr "选中以启用 1DES"
 
 msgid "If checked, encryption is disabled"
@@ -3641,6 +3644,13 @@ msgstr "无线已重启"
 msgid "Wireless shut down"
 msgstr "无线已关闭"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr "将收到的 DNS 请求写入系统日志"
 
index 7b2792e..e0ca778 100644 (file)
@@ -1007,6 +1007,9 @@ msgstr "啟用VLAN功能"
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
 msgstr ""
 
+msgid "Enable key reinstallation (KRACK) countermeasures"
+msgstr ""
+
 msgid "Enable learning and aging"
 msgstr "啟用智慧學習功能"
 
@@ -1451,7 +1454,7 @@ msgstr "IPv6凌駕IPv4外(6轉4)"
 msgid "Identity"
 msgstr "特性"
 
-msgid "If checked, 1DES is enaled"
+msgid "If checked, 1DES is enabled"
 msgstr ""
 
 msgid "If checked, encryption is disabled"
@@ -3634,6 +3637,13 @@ msgstr "無線網路已重啟"
 msgid "Wireless shut down"
 msgstr "無線網路關閉"
 
+msgid ""
+"Complicates key reinstallation attacks on the client side by disabling "
+"retransmission of EAPOL-Key frames that are used to install keys. This "
+"workaround might cause interoperability issues and reduced robustness of key "
+"negotiation especially in environments with heavy traffic load."
+msgstr ""
+
 msgid "Write received DNS requests to syslog"
 msgstr "寫入已接收的DNS請求到系統日誌中"
 
index 5191372..f9a2dee 100644 (file)
@@ -460,7 +460,7 @@ if hwtype == "mac80211" then
        wmm:depends({mode="ap"})
        wmm:depends({mode="ap-wds"})
        wmm.default = wmm.enabled
-       
+
        isolate = s:taboption("advanced", Flag, "isolate", translate("Isolate Clients"),
         translate("Prevents client-to-client communication"))
        isolate:depends({mode="ap"})
@@ -981,43 +981,54 @@ end
 
 -- ieee802.11w options
 if hwtype == "mac80211" then
-   local has_80211w = (os.execute("hostapd -v11w 2>/dev/null || hostapd -veap 2>/dev/null") == 0)
-   if has_80211w then
-       ieee80211w = s:taboption("encryption", ListValue, "ieee80211w",
-               translate("802.11w Management Frame Protection"),
-               translate("Requires the 'full' version of wpad/hostapd " ..
-                       "and support from the wifi driver <br />(as of Feb 2017: " ..
-                       "ath9k and ath10k, in LEDE also mwlwifi and mt76)"))
-       ieee80211w.default = ""
-       ieee80211w.rmempty = true
-       ieee80211w:value("", translate("Disabled (default)"))
-       ieee80211w:value("1", translate("Optional"))
-       ieee80211w:value("2", translate("Required"))
-       ieee80211w:depends({mode="ap", encryption="wpa2"})
-       ieee80211w:depends({mode="ap-wds", encryption="wpa2"})
-       ieee80211w:depends({mode="ap", encryption="psk2"})
-       ieee80211w:depends({mode="ap", encryption="psk-mixed"})
-       ieee80211w:depends({mode="ap-wds", encryption="psk2"})
-       ieee80211w:depends({mode="ap-wds", encryption="psk-mixed"})
-
-       max_timeout = s:taboption("encryption", Value, "ieee80211w_max_timeout",
-                       translate("802.11w maximum timeout"),
-                       translate("802.11w Association SA Query maximum timeout"))
-       max_timeout:depends({ieee80211w="1"})
-       max_timeout:depends({ieee80211w="2"})
-       max_timeout.datatype = "uinteger"
-       max_timeout.placeholder = "1000"
-       max_timeout.rmempty = true
-
-       retry_timeout = s:taboption("encryption", Value, "ieee80211w_retry_timeout",
-                       translate("802.11w retry timeout"),
-                       translate("802.11w Association SA Query retry timeout"))
-       retry_timeout:depends({ieee80211w="1"})
-       retry_timeout:depends({ieee80211w="2"})
-       retry_timeout.datatype = "uinteger"
-       retry_timeout.placeholder = "201"
-       retry_timeout.rmempty = true
-   end
+       local has_80211w = (os.execute("hostapd -v11w 2>/dev/null || hostapd -veap 2>/dev/null") == 0)
+       if has_80211w then
+               ieee80211w = s:taboption("encryption", ListValue, "ieee80211w",
+                       translate("802.11w Management Frame Protection"),
+                       translate("Requires the 'full' version of wpad/hostapd " ..
+                               "and support from the wifi driver <br />(as of Feb 2017: " ..
+                               "ath9k and ath10k, in LEDE also mwlwifi and mt76)"))
+               ieee80211w.default = ""
+               ieee80211w.rmempty = true
+               ieee80211w:value("", translate("Disabled (default)"))
+               ieee80211w:value("1", translate("Optional"))
+               ieee80211w:value("2", translate("Required"))
+               ieee80211w:depends({mode="ap", encryption="wpa2"})
+               ieee80211w:depends({mode="ap-wds", encryption="wpa2"})
+               ieee80211w:depends({mode="ap", encryption="psk2"})
+               ieee80211w:depends({mode="ap", encryption="psk-mixed"})
+               ieee80211w:depends({mode="ap-wds", encryption="psk2"})
+               ieee80211w:depends({mode="ap-wds", encryption="psk-mixed"})
+
+               max_timeout = s:taboption("encryption", Value, "ieee80211w_max_timeout",
+                               translate("802.11w maximum timeout"),
+                               translate("802.11w Association SA Query maximum timeout"))
+               max_timeout:depends({ieee80211w="1"})
+               max_timeout:depends({ieee80211w="2"})
+               max_timeout.datatype = "uinteger"
+               max_timeout.placeholder = "1000"
+               max_timeout.rmempty = true
+
+               retry_timeout = s:taboption("encryption", Value, "ieee80211w_retry_timeout",
+                               translate("802.11w retry timeout"),
+                               translate("802.11w Association SA Query retry timeout"))
+               retry_timeout:depends({ieee80211w="1"})
+               retry_timeout:depends({ieee80211w="2"})
+               retry_timeout.datatype = "uinteger"
+               retry_timeout.placeholder = "201"
+               retry_timeout.rmempty = true
+       end
+
+       local key_retries = s:taboption("encryption", Flag, "wpa_disable_eapol_key_retries",
+               translate("Enable key reinstallation (KRACK) countermeasures"),
+               translate("Complicates key reinstallation attacks on the client side by disabling retransmission of EAPOL-Key frames that are used to install keys. This workaround might cause interoperability issues and reduced robustness of key negotiation especially in environments with heavy traffic load."))
+
+       key_retries:depends({mode="ap", encryption="wpa2"})
+       key_retries:depends({mode="ap", encryption="psk2"})
+       key_retries:depends({mode="ap", encryption="psk-mixed"})
+       key_retries:depends({mode="ap-wds", encryption="wpa2"})
+       key_retries:depends({mode="ap-wds", encryption="psk2"})
+       key_retries:depends({mode="ap-wds", encryption="psk-mixed"})
 end
 
 if hwtype == "mac80211" or hwtype == "prism2" then
index a47ce15..d8217ce 100644 (file)
@@ -67,7 +67,7 @@ enable_no_enc.default = enable_no_enc.disabled
 
 enable_single_des = section:taboption("general", Flag, "enable_single_des",
        translate("Enable Single DES"),
-       translate("If checked, 1DES is enaled"))
+       translate("If checked, 1DES is enabled"))
 enable_no_enc.default = enable_single_des.disabled
 
 dpd_idle = section:taboption("general", Value, "dpd_idle", translate("DPD Idle Timeout"))