summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--applications/luci-app-adblock/po/it/adblock.po337
-rw-r--r--applications/luci-app-adblock/po/pt-br/adblock.po50
-rw-r--r--applications/luci-app-adblock/po/sv/adblock.po75
-rw-r--r--applications/luci-app-adblock/po/zh-cn/adblock.po45
-rw-r--r--applications/luci-app-advanced-reboot/po/sv/luci-app-advanced-reboot.po17
-rw-r--r--applications/luci-app-aria2/po/zh-cn/aria2.po253
-rw-r--r--applications/luci-app-ddns/po/it/ddns.po2
-rw-r--r--applications/luci-app-diag-devinfo/po/sv/diag_devinfo.po16
-rw-r--r--applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua12
-rw-r--r--applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua2
-rw-r--r--applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua39
-rw-r--r--applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua192
-rw-r--r--applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po117
-rw-r--r--applications/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot81
-rw-r--r--applications/luci-app-fwknopd/root/etc/uci-defaults/40_luci-fwknopd1
-rw-r--r--applications/luci-app-fwknopd/root/usr/sbin/gen-qr.sh18
-rw-r--r--applications/luci-app-noddos/Makefile18
-rwxr-xr-xapplications/luci-app-noddos/htdocs/cgi-bin/clientdetails91
-rw-r--r--applications/luci-app-noddos/luasrc/controller/noddos.lua10
-rw-r--r--applications/luci-app-noddos/luasrc/model/cbi/noddos.lua46
-rw-r--r--applications/luci-app-noddos/luasrc/view/noddos/clients.htm111
-rw-r--r--applications/luci-app-noddos/po/ja/noddos.po111
-rw-r--r--applications/luci-app-noddos/po/templates/noddos.pot92
-rw-r--r--applications/luci-app-noddos/root/etc/uci-defaults/40_luci-noddos14
-rw-r--r--applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua4
-rw-r--r--applications/luci-app-openvpn/po/ca/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/cs/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/de/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/el/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/en/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/es/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/fr/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/he/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/hu/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/it/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/ja/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/ms/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/no/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/pl/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/pt-br/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/pt/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/ro/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/ru/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/sk/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/sv/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/templates/openvpn.pot3
-rw-r--r--applications/luci-app-openvpn/po/tr/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/uk/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/vi/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/zh-cn/openvpn.po3
-rw-r--r--applications/luci-app-openvpn/po/zh-tw/openvpn.po3
-rw-r--r--applications/luci-app-p2pblock/po/pt-br/p2pblock.po4
-rw-r--r--applications/luci-app-radicale/po/pt-br/radicale.po77
-rw-r--r--applications/luci-app-simple-adblock/po/sv/simple-adblock.po80
-rw-r--r--applications/luci-app-splash/po/sv/splash.po3
-rw-r--r--applications/luci-app-unbound/luasrc/controller/unbound.lua146
-rw-r--r--applications/luci-app-unbound/luasrc/model/cbi/unbound.lua216
-rw-r--r--applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua273
-rw-r--r--applications/luci-app-unbound/luasrc/model/cbi/unbound/extended.lua30
-rw-r--r--applications/luci-app-unbound/luasrc/model/cbi/unbound/manual.lua30
-rw-r--r--applications/luci-app-unbound/luasrc/model/cbi/unbound/server.lua30
-rw-r--r--applications/luci-app-unbound/luasrc/view/unbound/css-editing.htm8
-rw-r--r--applications/luci-app-unbound/luasrc/view/unbound/show-empty.htm5
-rw-r--r--applications/luci-app-unbound/luasrc/view/unbound/show-textbox.htm8
-rw-r--r--applications/luci-app-unbound/root/etc/uci-defaults/60_luci-unbound13
-rw-r--r--modules/luci-base/Makefile2
-rw-r--r--modules/luci-base/luasrc/model/firewall.lua6
-rw-r--r--modules/luci-base/luasrc/view/cbi/firewall_zoneforwards.htm5
-rw-r--r--modules/luci-base/po/ca/base.po40
-rw-r--r--modules/luci-base/po/cs/base.po12
-rw-r--r--modules/luci-base/po/de/base.po25
-rw-r--r--modules/luci-base/po/el/base.po12
-rw-r--r--modules/luci-base/po/en/base.po12
-rw-r--r--modules/luci-base/po/es/base.po12
-rw-r--r--modules/luci-base/po/fr/base.po12
-rw-r--r--modules/luci-base/po/he/base.po12
-rw-r--r--modules/luci-base/po/hu/base.po12
-rw-r--r--modules/luci-base/po/it/base.po125
-rw-r--r--modules/luci-base/po/ja/base.po161
-rw-r--r--modules/luci-base/po/ko/base.po12
-rw-r--r--modules/luci-base/po/ms/base.po12
-rw-r--r--modules/luci-base/po/no/base.po12
-rw-r--r--modules/luci-base/po/pl/base.po12
-rw-r--r--modules/luci-base/po/pt-br/base.po12
-rw-r--r--modules/luci-base/po/pt/base.po12
-rw-r--r--modules/luci-base/po/ro/base.po12
-rw-r--r--modules/luci-base/po/ru/base.po12
-rw-r--r--modules/luci-base/po/sk/base.po12
-rw-r--r--modules/luci-base/po/sv/base.po1438
-rw-r--r--modules/luci-base/po/templates/base.pot12
-rw-r--r--modules/luci-base/po/tr/base.po12
-rw-r--r--modules/luci-base/po/uk/base.po12
-rw-r--r--modules/luci-base/po/vi/base.po12
-rw-r--r--modules/luci-base/po/zh-cn/base.po12
-rw-r--r--modules/luci-base/po/zh-tw/base.po12
-rw-r--r--modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua87
-rw-r--r--protocols/luci-proto-vpnc/luasrc/model/cbi/admin_network/proto_vpnc.lua2
97 files changed, 3305 insertions, 1605 deletions
diff --git a/applications/luci-app-adblock/po/it/adblock.po b/applications/luci-app-adblock/po/it/adblock.po
new file mode 100644
index 0000000000..1901228634
--- /dev/null
+++ b/applications/luci-app-adblock/po/it/adblock.po
@@ -0,0 +1,337 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 17/09/2017\n"
+"Last-Translator: Bubu83 <bubu83@gmail.com>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.3\n"
+"Language: it\n"
+
+msgid "-------"
+msgstr ""
+
+msgid "Adblock"
+msgstr "Adblock"
+
+msgid "Adblock Logfile"
+msgstr "Registro Adblock"
+
+msgid "Adblock Status"
+msgstr "Status Adblock"
+
+msgid "Adblock Version"
+msgstr "Versione Adblock"
+
+msgid "Additional trigger delay in seconds before adblock processing begins."
+msgstr "Tempo addizionale in secondi di attesa prima che adblock si avvii."
+
+msgid "Advanced"
+msgstr "Avanzato"
+
+msgid "Available blocklist sources."
+msgstr "Fonti lista di blocco disponibili."
+
+msgid "Backup Directory"
+msgstr "Directory del Backup"
+
+msgid "Blocklist Sources"
+msgstr "Fonti lista di Blocco"
+
+msgid ""
+"Caution: Please don't select big lists or many lists at once on low memory "
+"devices to prevent OOM exceptions!"
+msgstr ""
+"Attenzione: Per favore non selezionare grandi liste o molte liste alla volta "
+"su dispositivi con poca memoria per prevenire errori OOM!"
+
+msgid ""
+"Choose 'none' to disable automatic startups, 'timed' to use a classic "
+"timeout (default 30 sec.) or select another trigger interface."
+msgstr ""
+"Scegli 'none' per disabilitare l'avvio automatico, 'timed' per usare un "
+"classico timeout (default 30 sec.) o seleziona un'altra interfaccia di avvio."
+
+msgid "Collecting data..."
+msgstr "Raccogliendo dati..."
+
+msgid ""
+"Configuration of the adblock package to block ad/abuse domains by using DNS."
+msgstr ""
+"Configurazione del pacchetto adblock per bloccare domini pubblicità/abuso "
+"usando i DNS."
+
+msgid ""
+"Create compressed blocklist backups, they will be used in case of download "
+"errors or during startup in manual mode."
+msgstr ""
+"Crea i backup compressi delle liste di blocco, saranno usati in caso di "
+"errori di download o durante l'avvio in modalità manuale."
+
+msgid "DNS Backend (DNS Directory)"
+msgstr ""
+
+msgid "DNS Directory"
+msgstr "Directory DNS"
+
+msgid "Description"
+msgstr "Descrizione"
+
+msgid ""
+"Do not automatically update blocklists during startup, use blocklist backups "
+"instead."
+msgstr ""
+"Non aggiornare automaticamente le liste durante l'avvio, usa invece i backup "
+"della lista di blocco."
+
+msgid "Download Utility (SSL Library)"
+msgstr ""
+
+msgid "Edit Blacklist"
+msgstr "Modifica Lista Nera"
+
+msgid "Edit Configuration"
+msgstr "Modifica Configurazione"
+
+msgid "Edit Whitelist"
+msgstr "Modifica Lista Bianca"
+
+msgid "Enable Adblock"
+msgstr "Attiva Adblock"
+
+msgid "Enable Blocklist Backup"
+msgstr "Attiva Backup Lista di Blocco"
+
+msgid ""
+"Enable memory intense overall sort / duplicate removal on low memory devices "
+"(&lt; 64 MB RAM)"
+msgstr ""
+"Attiva l'ordinamento globale / rimozione duplicati stressante per la memoria "
+"su dispositivi con poca memoria (&lt; 64 MB RAM)"
+
+msgid "Enable verbose debug logging in case of any processing error."
+msgstr ""
+"Abilita il registro dettagliato in caso di qualsiasi errore di processo."
+
+msgid "Enabled"
+msgstr "Abilitato"
+
+msgid "Extra Options"
+msgstr "Opzioni Extra"
+
+msgid ""
+"For SSL protected blocklist sources you need a suitable SSL library, e.g. "
+"'libustream-ssl' or the wget 'built-in'."
+msgstr ""
+"Per le fonti delle liste protette da SSL hai bisogno di una libreria SSL "
+"adatta, p.e. 'libustream-ssl' o wget 'built-in'."
+
+msgid ""
+"For further information <a href=\"%s\" target=\"_blank\">see online "
+"documentation</a>"
+msgstr ""
+"Per ulteriori informazioni <a href=\"%s\" target=\"_blank\">vedi "
+"documentazione online</a>"
+
+msgid "Force Local DNS"
+msgstr "Forza DNS Locale"
+
+msgid "Force Overall Sort"
+msgstr "Forza Ordinamento Globale"
+
+msgid ""
+"In OPKG use the '--force-maintainer' option to overwrite the pre-existing "
+"config file or download a fresh default config from <a href=\"%s\" target="
+"\"_blank\">here</a>"
+msgstr ""
+"In OPKG usa l'opzione '--force-maintainer' per sovrascrivere il pre-"
+"esistente file di configurazione o scarica una nuova configurazione di "
+"default da <a href=\"%s\" target=\"_blank\">qui</a>"
+
+msgid "Input file not found, please check your configuration."
+msgstr "File di input non trovato, per favore controlla la tua configurazione."
+
+msgid "Invalid domain specified!"
+msgstr "Dominio invalido specificato!"
+
+msgid "Last Run"
+msgstr "Ultimo Avvio"
+
+msgid ""
+"List URLs and Shallalist category selections are configurable in the "
+"'Advanced' section.<br />"
+msgstr ""
+"Le selezioni degli URL delle liste e categorie Shallalist sono configurabili "
+"nella sezione 'Avanzato'.<br />"
+
+msgid ""
+"List of available network interfaces. By default the startup will be "
+"triggered by the 'wan' interface.<br />"
+msgstr ""
+"Lista delle interfacce di rete disponibili. Per default l'avvio sarà "
+"innescato dall'interfaccia 'wan'.<br />"
+
+msgid ""
+"List of supported DNS backends with their default list export directory.<br /"
+">"
+msgstr ""
+"Lista dei backend DNS supportati con la loro directory di default di esporto "
+"della lista.<br />"
+
+msgid "Loading"
+msgstr "Caricando"
+
+msgid "Manual / Backup mode"
+msgstr "Modalità Manuale / Backup"
+
+msgid "No"
+msgstr "No"
+
+msgid ""
+"Options for further tweaking in case the defaults are not suitable for you."
+msgstr ""
+"Opzioni per ulteriori modifiche in caso che quelle di default non ti sono "
+"adatte."
+
+msgid "Overall Blocked Domains"
+msgstr "Totale Domini Bloccati"
+
+msgid "Overview"
+msgstr "Riassunto"
+
+msgid ""
+"Please add only one domain per line. Comments introduced with '#' are "
+"allowed - ip addresses, wildcards and regex are not."
+msgstr ""
+"Per favore aggiungi solo un dominio per linea. I commenti introdotti con '#' "
+"sono consentiti - indirizzi ip , jolly e regex non lo sono."
+
+msgid "Please edit this file directly in a terminal session."
+msgstr ""
+"Per favore modifica questo file direttamente in una sessione al terminale."
+
+msgid "Please update your adblock config file to use this package."
+msgstr ""
+"Per favore aggiorna il tuo file configurazione di adblock per usare questo "
+"pacchetto."
+
+msgid "Query"
+msgstr "Interrogazione"
+
+msgid "Query domains"
+msgstr "Interrogazione domini"
+
+msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
+msgstr ""
+"Reindirizza tutte le richieste DNS dalla zona 'lan' al risolvitore locale."
+
+msgid "Resume"
+msgstr "Riprendi"
+
+msgid "Runtime Information"
+msgstr "Informazione di Runtime"
+
+msgid "SSL req."
+msgstr "Ric. SSL"
+
+msgid "Save"
+msgstr "Salva"
+
+msgid "Startup Trigger"
+msgstr "Innesco d'Avvio"
+
+msgid "Suspend"
+msgstr "Sospendi"
+
+msgid "Suspend / Resume Adblock"
+msgstr "Sospendi / Riprendi Adblock"
+
+msgid ""
+"Target directory for adblock backups. Please use only non-volatile disks, no "
+"ram/tmpfs drives."
+msgstr ""
+"Directory per i backup di adblock. Per favore usa solo dischi non volatili, "
+"non dischi ram/tmpfs."
+
+msgid "Target directory for the generated blocklist 'adb_list.overall'."
+msgstr "Directory per la lista di blocco generata 'adb_list.overall'."
+
+msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
+msgstr ""
+"La grandezza del file è troppo grande per modificarla online in LuCI (&gt; "
+"512 KB)."
+
+msgid ""
+"This form allows you to modify the content of the adblock blacklist (%s)."
+"<br />"
+msgstr ""
+"Questo form ti consente di modificare il contenuto della lista nera di "
+"adblock (%s).<br />"
+
+msgid ""
+"This form allows you to modify the content of the adblock whitelist (%s)."
+"<br />"
+msgstr ""
+"Questo form ti consente di modificare il contenuto della lista bianca di "
+"adblock (%s).<br />"
+
+msgid ""
+"This form allows you to modify the content of the main adblock configuration "
+"file (/etc/config/adblock)."
+msgstr ""
+"Questo form ti consente di modificare il contenuto del file principale di "
+"configurazione di adblock (/etc/config/adblock)."
+
+msgid ""
+"This form allows you to query active block lists for certain domains, e.g. "
+"for whitelisting."
+msgstr ""
+"Questo form ti consente di interrogare le liste di blocco attive per "
+"determinati domini, p.e. per metterli nella lista bianca."
+
+msgid ""
+"This form shows the syslog output, pre-filtered for adblock related messages "
+"only."
+msgstr ""
+"Questo form mostra l'output del registro, prefiltrato per messaggi relativi "
+"solo ad adblock."
+
+msgid ""
+"To overwrite the default path use the 'DNS Directory' option in the extra "
+"section below."
+msgstr ""
+"Per sovrascrivere il percorso di default usa l'opzione 'Directory DNS' nella "
+"sezione aggiuntiva sotto."
+
+msgid "Trigger Delay"
+msgstr "Ritardo Innesco"
+
+msgid "Verbose Debug Logging"
+msgstr "Registro di Debug Dettagliato"
+
+msgid "View Logfile"
+msgstr "Vedi Registro"
+
+msgid "Waiting for command to complete..."
+msgstr "Aspettando che il comando venga completato..."
+
+msgid "Yes"
+msgstr "Sì"
+
+msgid "disabled"
+msgstr "disabilitato"
+
+msgid "enabled"
+msgstr "abilitato"
+
+msgid "error"
+msgstr "errore"
+
+msgid "n/a"
+msgstr "n/d"
+
+msgid "paused"
+msgstr "in pausa"
diff --git a/applications/luci-app-adblock/po/pt-br/adblock.po b/applications/luci-app-adblock/po/pt-br/adblock.po
index ba54a45b89..b4c8675f07 100644
--- a/applications/luci-app-adblock/po/pt-br/adblock.po
+++ b/applications/luci-app-adblock/po/pt-br/adblock.po
@@ -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"
diff --git a/applications/luci-app-adblock/po/sv/adblock.po b/applications/luci-app-adblock/po/sv/adblock.po
index 9507475a84..449b22eae5 100644
--- a/applications/luci-app-adblock/po/sv/adblock.po
+++ b/applications/luci-app-adblock/po/sv/adblock.po
@@ -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"
diff --git a/applications/luci-app-adblock/po/zh-cn/adblock.po b/applications/luci-app-adblock/po/zh-cn/adblock.po
index dca81d4e47..d5f5104a05 100644
--- a/applications/luci-app-adblock/po/zh-cn/adblock.po
+++ b/applications/luci-app-adblock/po/zh-cn/adblock.po
@@ -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 "已启用"
diff --git a/applications/luci-app-advanced-reboot/po/sv/luci-app-advanced-reboot.po b/applications/luci-app-advanced-reboot/po/sv/luci-app-advanced-reboot.po
index cac09d76a6..20d77cbcf7 100644
--- a/applications/luci-app-advanced-reboot/po/sv/luci-app-advanced-reboot.po
+++ b/applications/luci-app-advanced-reboot/po/sv/luci-app-advanced-reboot.po
@@ -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!"
diff --git a/applications/luci-app-aria2/po/zh-cn/aria2.po b/applications/luci-app-aria2/po/zh-cn/aria2.po
index 823699d7bd..b53299bf51 100644
--- a/applications/luci-app-aria2/po/zh-cn/aria2.po
+++ b/applications/luci-app-aria2/po/zh-cn/aria2.po
@@ -1,200 +1,211 @@
-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 "随机生成"
+msgid "Extra Settings"
+msgstr "附加选项"
-msgid "Enable log"
-msgstr "启用日志"
+msgid "Falloc"
+msgstr ""
-msgid "Log file is in the config file dir."
-msgstr "日志文件在配置文件目录下"
+msgid "Files and Locations"
+msgstr "文件和目录"
-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 "单位 B, 你可以在数字后跟上 K 或 M"
+msgid "Max number of peers per torrent"
+msgstr "单个种子最大连接数"
-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 "单位 B/s, 你可以在数字后跟上 K 或 M"
+msgid "Overall speed limit enabled"
+msgstr "启用全局限速"
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 "一般设置"
diff --git a/applications/luci-app-ddns/po/it/ddns.po b/applications/luci-app-ddns/po/it/ddns.po
index 3b9d5f48de..4b8d2f844e 100644
--- a/applications/luci-app-ddns/po/it/ddns.po
+++ b/applications/luci-app-ddns/po/it/ddns.po
@@ -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://'"
diff --git a/applications/luci-app-diag-devinfo/po/sv/diag_devinfo.po b/applications/luci-app-diag-devinfo/po/sv/diag_devinfo.po
index c735323955..d68116bf7b 100644
--- a/applications/luci-app-diag-devinfo/po/sv/diag_devinfo.po
+++ b/applications/luci-app-diag-devinfo/po/sv/diag_devinfo.po
@@ -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"
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua b/applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua
index 6d6790a839..9f6472e7de 100644
--- a/applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua
+++ b/applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua
@@ -17,8 +17,8 @@ function index()
entry({"admin", "services", "dnscrypt-proxy", "advanced"}, firstchild(), _("Advanced"), 100)
entry({"admin", "services", "dnscrypt-proxy", "advanced", "configuration"}, cbi("dnscrypt-proxy/configuration_tab"), _("Edit DNSCrypt-Proxy Configuration"), 110).leaf = true
entry({"admin", "services", "dnscrypt-proxy", "advanced", "cfg_dnsmasq"}, cbi("dnscrypt-proxy/cfg_dnsmasq_tab"), _("Edit Dnsmasq Configuration"), 120).leaf = true
- entry({"admin", "services", "dnscrypt-proxy", "advanced", "view_reslist"}, call("view_reslist"), _("View Resolver List"), 130).leaf = true
-
+ entry({"admin", "services", "dnscrypt-proxy", "advanced", "cfg_resolvcrypt"}, cbi("dnscrypt-proxy/cfg_resolvcrypt_tab"), _("Edit Resolvcrypt Configuration"), 130).leaf = true
+ entry({"admin", "services", "dnscrypt-proxy", "advanced", "view_reslist"}, call("view_reslist"), _("View Resolver List"), 140).leaf = true
end
function view_reslist()
@@ -27,6 +27,12 @@ function view_reslist()
end
function logread()
- local logfile = util.trim(util.exec("logread -e 'dnscrypt-proxy'"))
+ local logfile
+
+ if nixio.fs.access("/var/log/messages") then
+ logfile = util.trim(util.exec("cat /var/log/messages | grep 'dnscrypt-proxy'"))
+ else
+ logfile = util.trim(util.exec("logread -e 'dnscrypt-proxy'"))
+ end
templ.render("dnscrypt-proxy/logread", {title = i18n.translate("DNSCrypt-Proxy Logfile"), content = logfile})
end
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua
index d22abbfd39..6e75ac9f97 100644
--- a/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua
+++ b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua
@@ -7,6 +7,8 @@ local uci_input = "/etc/config/dhcp"
if not nxfs.access(uci_input) then
m = SimpleForm("error", nil, translate("Input file not found, please check your configuration."))
+ m.reset = false
+ m.submit = false
return m
end
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua
new file mode 100644
index 0000000000..f172b15f81
--- /dev/null
+++ b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua
@@ -0,0 +1,39 @@
+-- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- This is free software, licensed under the Apache License, Version 2.0
+
+local nxfs = require("nixio.fs")
+local util = require("luci.util")
+local res_input = "/etc/resolv-crypt.conf"
+
+if not nxfs.access(res_input) then
+ m = SimpleForm("error", nil, translate("Input file not found, please check your configuration."))
+ m.reset = false
+ m.submit = false
+ return m
+end
+
+m = SimpleForm("input", nil)
+m:append(Template("dnscrypt-proxy/config_css"))
+m.submit = translate("Save")
+m.reset = false
+
+s = m:section(SimpleSection, nil,
+ translate("This form allows you to modify the content of the resolv-crypt configuration file (/etc/resolv-crypt.conf)."))
+
+f = s:option(TextValue, "data")
+f.rows = 20
+f.rmempty = true
+
+function f.cfgvalue()
+ return nxfs.readfile(res_input) or ""
+end
+
+function f.write(self, section, data)
+ return nxfs.writefile(res_input, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
+end
+
+function s.handle(self, state, data)
+ return true
+end
+
+return m
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua
index 7ab84ab7fa..368c6673ad 100644
--- a/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua
+++ b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua
@@ -11,15 +11,16 @@ local plug_cnt = tonumber(luci.sys.exec("env -i /usr/sbin/dnscrypt-proxy --vers
local res_list = {}
local url = "https://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-resolvers.csv"
-if not fs.access("/lib/libustream-ssl.so") then
- m = SimpleForm("error", nil, translate("SSL support not available, please install an libustream-ssl variant to use this package."))
- m.submit = false
- m.reset = false
- return m
-end
-
if not fs.access(res_input) then
- luci.sys.call("env -i /bin/uclient-fetch --no-check-certificate -O " .. res_input .. " " .. url .. " >/dev/null 2>&1")
+ if not fs.access("/lib/libustream-ssl.so") then
+ m = SimpleForm("error", nil, translate("No default resolver list and no SSL support available.<br />")
+ .. translate("Please install a resolver list to '/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv' to use this package."))
+ m.submit = false
+ m.reset = false
+ return m
+ else
+ luci.sys.call("env -i /bin/uclient-fetch --no-check-certificate -O " .. res_input .. " " .. url .. " >/dev/null 2>&1")
+ end
end
if not uci:get_first("dnscrypt-proxy", "global") then
@@ -29,23 +30,64 @@ if not uci:get_first("dnscrypt-proxy", "global") then
end
for line in io.lines(res_input) do
- local name = line:match("^[%w_.-]*")
- res_list[#res_list + 1] = { name = name }
+ local name,
+ location,
+ dnssec,
+ nolog = line:match("^([^,]+),.-,\".-\",\"*(.-)\"*,.-,[0-9],\"*([yesno]+)\"*,\"*([yesno]+)\"*,.*")
+ if name ~= "" and name ~= "Name" then
+ if location == "" then
+ location = "-"
+ end
+ if dnssec == "" then
+ dnssec = "-"
+ end
+ if nolog == "" then
+ nolog = "-"
+ end
+ res_list[#res_list + 1] = { name = name, location = location, dnssec = dnssec, nolog = nolog }
+ end
end
m = Map("dnscrypt-proxy", translate("DNSCrypt-Proxy"),
translate("Configuration of the DNSCrypt-Proxy package. ")
- .. translate("Keep in mind to configure Dnsmasq as well. ")
.. translatef("For further information "
.. "<a href=\"%s\" target=\"_blank\">"
.. "see the wiki online</a>", "https://wiki.openwrt.org/inbox/dnscrypt"))
+m:chain("dhcp")
function m.on_after_commit(self)
- luci.sys.call("env -i /etc/init.d/dnsmasq restart >/dev/null 2>&1")
+ function d1.validate(self, value, s1)
+ if value == "1" then
+ uci:commit("dnscrypt-proxy")
+ uci:set("dhcp", s1, "noresolv", 1)
+ if not fs.access("/etc/resolv-crypt.conf") or nixio.fs.stat("/etc/resolv-crypt.conf").size == 0 then
+ uci:set("dhcp", s1, "resolvfile", "/tmp/resolv.conf.auto")
+ else
+ uci:set("dhcp", s1, "resolvfile", "/etc/resolv-crypt.conf")
+ end
+ local server_list = {}
+ local cnt = 1
+ uci:foreach("dnscrypt-proxy", "dnscrypt-proxy", function(s)
+ server_list[cnt] = s['address'] .. "#" .. s['port']
+ cnt = cnt + 1
+ end)
+ server_list[cnt] = "/pool.ntp.org/8.8.8.8"
+ uci:set_list("dhcp", s1, "server", server_list)
+ if cnt > 2 then
+ uci:set("dhcp", s1, "allservers", 1)
+ else
+ uci:set("dhcp", s1, "allservers", 0)
+ end
+ uci:save("dhcp")
+ uci:commit("dhcp")
+ end
+ return value
+ end
luci.sys.call("env -i /etc/init.d/dnscrypt-proxy restart >/dev/null 2>&1")
+ luci.sys.call("env -i /etc/init.d/dnsmasq restart >/dev/null 2>&1")
end
-s = m:section(TypedSection, "global", translate("General options"))
+s = m:section(TypedSection, "global", translate("General Options"))
s.anonymous = true
-- Main dnscrypt-proxy resource list
@@ -62,21 +104,53 @@ o3 = s:option(DummyValue, "", translate("File Checksum"))
o3.template = "dnscrypt-proxy/res_options"
o3.value = luci.sys.exec("sha256sum " .. res_input .. " | awk '{print $1}'")
-btn = s:option(Button, "", translate("Refresh Resolver List"))
-btn.inputtitle = translate("Refresh List")
-btn.inputstyle = "apply"
-btn.disabled = false
-function btn.write(self, section, value)
- luci.sys.call("env -i /bin/uclient-fetch --no-check-certificate -O " .. res_input .. " " .. url .. " >/dev/null 2>&1")
- luci.http.redirect(luci.dispatcher.build_url("admin", "services", "dnscrypt-proxy"))
+if fs.access("/lib/libustream-ssl.so") then
+ btn1 = s:option(Button, "", translate("Refresh Resolver List"),
+ translate("Download the current resolver list from 'download.dnscrypt.org'."))
+ btn1.inputtitle = translate("Refresh List")
+ btn1.inputstyle = "apply"
+ btn1.disabled = false
+ function btn1.write()
+ luci.sys.call("env -i /bin/uclient-fetch --no-check-certificate -O " .. res_input .. " " .. url .. " >/dev/null 2>&1")
+ luci.http.redirect(luci.dispatcher.build_url("admin", "services", "dnscrypt-proxy"))
+ end
+else
+ btn1 = s:option(Button, "", translate("Refresh Resolver List"),
+ translate("No SSL support available.<br />")
+ .. translate("Please install a 'libustream-ssl' library to download the current resolver list from 'download.dnscrypt.org'."))
+ btn1.inputtitle = translate("-------")
+ btn1.inputstyle = "button"
+ btn1.disabled = true
+end
+
+if not fs.access("/etc/resolv-crypt.conf") or nixio.fs.stat("/etc/resolv-crypt.conf").size == 0 then
+ btn2 = s:option(Button, "", translate("Create Custom Config File"),
+ translate("Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS upstream timeouts with multiple DNSCrypt instances.<br />")
+ .. translatef("For further information "
+ .. "<a href=\"%s\" target=\"_blank\">"
+ .. "see the wiki online</a>", "https://wiki.openwrt.org/inbox/dnscrypt"))
+ btn2.inputtitle = translate("Create Config File")
+ btn2.inputstyle = "apply"
+ btn2.disabled = false
+ function btn2.write()
+ luci.sys.call("env -i echo 'options timeout:1' > '/etc/resolv-crypt.conf'")
+ luci.http.redirect(luci.dispatcher.build_url("admin", "services", "dnscrypt-proxy"))
+ end
+else
+ btn2 = s:option(Button, "", translate("Create Custom Config File"),
+ translate("The config file '/etc/resolv-crypt.conf' already exist.<br />")
+ .. translate("Please edit the file manually in the 'Advanced' section."))
+ btn2.inputtitle = translate("-------")
+ btn2.inputstyle = "button"
+ btn2.disabled = true
end
-- Trigger settings
-t = s:option(DynamicList, "procd_trigger", translate("Startup Trigger"),
- translate("By default the DNSCrypt-Proxy startup will be triggered by ifup events of multiple network interfaces. ")
- .. translate("To restrict the trigger, add only the relevant network interface(s). ")
- .. translate("Usually the 'wan' interface should work for most users."))
+t = s:option(ListValue, "procd_trigger", translate("Startup Trigger"),
+ translate("By default the DNSCrypt-Proxy startup will be triggered by ifup events of 'All' available network interfaces.<br />")
+ .. translate("To restrict the trigger, select only the relevant network interface. Usually the 'wan' interface should work for most users."))
+t:value("", "All")
if dump then
local i, v
for i, v in ipairs(dump.interface) do
@@ -85,57 +159,38 @@ if dump then
end
end
end
+t.default = procd_trigger or "All"
t.rmempty = true
--- Extra options
-
-ds = s:option(DummyValue, "_dummy", translate("Extra options"),
- translate("Options for further tweaking in case the defaults are not suitable for you."))
-ds.template = "cbi/nullsection"
-
-btn = s:option(Button, "", translate("Create custom config file"),
- translate("Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS upstream timeouts with multiple DNSCrypt instances. ")
- .. translatef("For further information "
- .. "<a href=\"%s\" target=\"_blank\">"
- .. "see the wiki online</a>", "https://wiki.openwrt.org/inbox/dnscrypt"))
-btn.inputtitle = translate("Create Config File")
-btn.inputstyle = "apply"
-btn.disabled = false
-function btn.write(self, section, value)
- if not fs.access("/etc/resolv-crypt.conf") then
- luci.sys.call("env -i echo 'options timeout:1' > '/etc/resolv-crypt.conf'")
- end
-end
-
-- Mandatory options per instance
-s = m:section(TypedSection, "dnscrypt-proxy", translate("Instance options"))
+s = m:section(TypedSection, "dnscrypt-proxy", translate("Instance Options"))
s.anonymous = true
s.addremove = true
-o1 = s:option(Value, "address", translate("IP Address"),
+i1 = s:option(Value, "address", translate("IP Address"),
translate("The local IPv4 or IPv6 address. The latter one should be specified within brackets, e.g. '[::1]'."))
-o1.default = address or "127.0.0.1"
-o1.rmempty = false
+i1.default = address or "127.0.0.1"
+i1.rmempty = false
-o2 = s:option(Value, "port", translate("Port"),
+i2 = s:option(Value, "port", translate("Port"),
translate("The listening port for DNS queries."))
-o2.datatype = "port"
-o2.default = port
-o2.rmempty = false
-
-o3 = s:option(ListValue, "resolver", translate("Resolver"),
- translate("Name of the remote DNS service for resolving queries."))
-o3.datatype = "hostname"
-o3.widget = "select"
+i2.datatype = "port"
+i2.default = port
+i2.rmempty = false
+
+i3 = s:option(ListValue, "resolver", translate("Resolver (LOC/SEC/NOLOG)"),
+ translate("Name of the remote DNS service for resolving queries incl. Location, DNSSEC- and NOLOG-Flag."))
+i3.datatype = "hostname"
+i3.widget = "select"
local i, v
for i, v in ipairs(res_list) do
- if v.name ~= "Name" then
- o3:value(v.name)
+ if v.name then
+ i3:value(v.name, v.name .. " (" .. v.location .. "/" .. v.dnssec .. "/" .. v.nolog .. ")")
end
end
-o3.default = resolver
-o3.rmempty = false
+i3.default = resolver
+i3.rmempty = false
-- Extra options per instance
@@ -174,4 +229,17 @@ if plug_cnt > 0 then
e6.optional = true
end
-return m
+-- Dnsmasq options
+
+m1 = Map("dhcp")
+
+s1 = m1:section(TypedSection, "dnsmasq", translate("Dnsmasq Options"))
+s1.anonymous = true
+
+d1 = s1:option(Flag, "", translate("Transfer Options To Dnsmasq"),
+ translate("Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.<br />")
+ .. translate("Please note: This may change the values for 'noresolv', 'resolvfile', 'allservers' and the list 'server' settings."))
+d1.default = d1.enabled
+d1.rmempty = false
+
+return m, m1
diff --git a/applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po b/applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po
index 0328df2279..2cd01c019e 100644
--- a/applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po
+++ b/applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po
@@ -7,17 +7,24 @@ msgstr ""
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 2.0.3\n"
+"X-Generator: Poedit 2.0.4\n"
"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Language: ja\n"
+msgid "-------"
+msgstr "(利用不可)"
+
msgid "Advanced"
msgstr "詳細"
msgid "Alternate Resolver List"
msgstr "代替 リゾルバ リスト"
+msgid ""
+"Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.<br />"
+msgstr "Dnsmasq の構成に、DNSCrypt-Proxy を指定する設定を適用します。<br />"
+
msgid "Blacklist"
msgstr "ブラックリスト"
@@ -26,26 +33,26 @@ msgstr "IPv6 のブロック"
msgid ""
"By default the DNSCrypt-Proxy startup will be triggered by ifup events of "
-"multiple network interfaces."
+"'All' available network interfaces.<br />"
msgstr ""
-"デフォルトでは、 DNSCrypt-Proxy は全ネットワーク インターフェースの ifup イベ"
-"ントによりトリガされ起動します。"
+"デフォルトでは、 DNSCrypt-Proxy は利用可能な全ネットワーク インターフェース"
+"の ifup イベントによりトリガされ起動します。<br />"
msgid "Configuration of the DNSCrypt-Proxy package."
msgstr "DNSCrypt-Proxy パッケージの設定です。"
msgid ""
"Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS "
-"upstream timeouts with multiple DNSCrypt instances."
+"upstream timeouts with multiple DNSCrypt instances.<br />"
msgstr ""
"複数の DNSCrypt インスタンスで DNS アップストリーム タイムアウトの設定値を共"
"用するため、 'options timeout:1' を含めた '/etc/resolv-crypt.conf' を作成しま"
-"す。"
+"す。<br />"
msgid "Create Config File"
msgstr "設定ファイルの作成"
-msgid "Create custom config file"
+msgid "Create Custom Config File"
msgstr "カスタム設定ファイルの作成"
msgid "DNS Query Logfile"
@@ -66,21 +73,28 @@ msgstr "デフォルト リゾルバ リスト"
msgid "Disable IPv6 to speed up DNSCrypt-Proxy."
msgstr "DNSCrypt-Proxy の高速化のため、IPv6 を無効化します。"
+msgid "Dnsmasq Options"
+msgstr "Dnsmasq オプション"
+
+msgid "Download the current resolver list from 'download.dnscrypt.org'."
+msgstr ""
+"現在のリゾルバ リストを 'download.dnscrypt.org' からダウンロードします。"
+
msgid "Edit DNSCrypt-Proxy Configuration"
msgstr "DNSCrypt-Proxy 設定の編集"
msgid "Edit Dnsmasq Configuration"
msgstr "Dnsmasq 設定の編集"
+msgid "Edit Resolvcrypt Configuration"
+msgstr "Resolvcrypt 設定の編集"
+
msgid "Enable Caching to speed up DNSCcrypt-Proxy."
msgstr "DNSCrypt-Proxy の高速化のため、キャッシュ機能を有効化します。"
msgid "Ephemeral Keys"
msgstr "一時的なキー"
-msgid "Extra options"
-msgstr "拡張オプション"
-
msgid "File Checksum"
msgstr "ファイル チェックサム"
@@ -94,8 +108,8 @@ msgstr ""
"詳細な情報は <a href=\"%s\" target=\"_blank\">オンライン Wiki</a> を確認して"
"ください。"
-msgid "General options"
-msgstr "全般設定"
+msgid "General Options"
+msgstr "全般オプション"
msgid "IP Address"
msgstr "IP アドレス"
@@ -107,12 +121,9 @@ msgstr ""
msgid "Input file not found, please check your configuration."
msgstr "入力ファイルが見つかりません。設定を確認してください。"
-msgid "Instance options"
+msgid "Instance Options"
msgstr "インスタンス オプション"
-msgid "Keep in mind to configure Dnsmasq as well."
-msgstr "Dnsmasq を適切に設定する必要があることに留意してください。"
-
msgid "Local Cache"
msgstr "ローカル キャッシュ"
@@ -129,16 +140,47 @@ msgstr ""
"受信した DNS クエリをファイルに記録します。これにより、ネットワークで何が起き"
"ているかをリアルタイムに把握することが可能です。"
-msgid "Name of the remote DNS service for resolving queries."
-msgstr "クエリの名前解決を行う、リモートの DNS サービス名です。"
-
msgid ""
-"Options for further tweaking in case the defaults are not suitable for you."
-msgstr "デフォルト設定が適切でない場合、追加で設定するためのオプションです。"
+"Name of the remote DNS service for resolving queries incl. Location, DNSSEC- "
+"and NOLOG-Flag."
+msgstr ""
+"クエリの名前解決を行う、ロケーション, DNSSECの有無, NOLOG フラグを含めたリ"
+"モート DNS サービスの名前です。"
+
+msgid "No SSL support available.<br />"
+msgstr "利用可能な SSL サポートがありません。<br />"
+
+msgid "No default resolver list and no SSL support available.<br />"
+msgstr ""
+"デフォルトのリゾルバ リストと、利用可能な SSL サポートがありません。<br />"
msgid "Overview"
msgstr "概要"
+msgid "Please edit the file manually in the 'Advanced' section."
+msgstr "'詳細' タブで手動でファイルを編集してください。"
+
+msgid ""
+"Please install a 'libustream-ssl' library to download the current resolver "
+"list from 'download.dnscrypt.org'."
+msgstr ""
+"現在のリゾルバ リストを 'download.dnscrypt.org' からダウンロードするために、 "
+"'libustream-ssl' ライブラリをインストールしてください。"
+
+msgid ""
+"Please install a resolver list to '/usr/share/dnscrypt-proxy/dnscrypt-"
+"resolvers.csv' to use this package."
+msgstr ""
+"このパッケージを利用するには、リゾルバ リストを '/usr/share/dnscrypt-proxy/"
+"dnscrypt-resolvers.csv' にインストールしてください。"
+
+msgid ""
+"Please note: This may change the values for 'noresolv', 'resolvfile', "
+"'allservers' and the list 'server' settings."
+msgstr ""
+"注: これは、 'noresolv' および 'resolvfile', 'allservers', 'list server' の設"
+"定値を変更する場合があります。"
+
msgid "Port"
msgstr "ポート"
@@ -148,15 +190,8 @@ msgstr "リストのリフレッシュ"
msgid "Refresh Resolver List"
msgstr "リゾルバ リストのリフレッシュ"
-msgid "Resolver"
-msgstr "リゾルバ"
-
-msgid ""
-"SSL support not available, please install an libustream-ssl variant to use "
-"this package."
-msgstr ""
-"SSL サポートが利用できません。このパッケージを使用するには libustream-ssl 等"
-"をインストールし、 SSL サポートを有効にしてください。"
+msgid "Resolver (LOC/SEC/NOLOG)"
+msgstr "リゾルバ(LOC/SEC/NOLOG)"
msgid "Save"
msgstr "保存"
@@ -167,6 +202,9 @@ msgstr "デフォルトとは異なるリゾルバ リストを設定します
msgid "Startup Trigger"
msgstr "スタートアップ トリガ"
+msgid "The config file '/etc/resolv-crypt.conf' already exist.<br />"
+msgstr "設定ファイル '/etc/resolv-crypt.conf' は既に存在しています。<br />"
+
msgid "The listening port for DNS queries."
msgstr "DNS クエリを待ち受けるポートです。"
@@ -199,6 +237,13 @@ msgstr ""
"このフォームでは、メインの Dnsmasq 設定ファイル (/etc/config/dhcp) の内容を変"
"更することができます。"
+msgid ""
+"This form allows you to modify the content of the resolv-crypt configuration "
+"file (/etc/resolv-crypt.conf)."
+msgstr ""
+"このフォームでは、 resolv-crypt 設定ファイル(/etc/resolv-crypt.conf)の内容"
+"を変更することができます。"
+
msgid "This form shows the content of the current DNSCrypt Resolver List."
msgstr ""
"このフォームには、現在の DNSCrypt リゾルバ リストの内容が表示されます。"
@@ -217,13 +262,15 @@ msgstr ""
"このオプションは、通常よりも CPU リソースを多く使用するほか、ほとんどの "
"DNSCrypt サーバーでは不要なものです。"
-msgid "To restrict the trigger, add only the relevant network interface(s)."
+msgid ""
+"To restrict the trigger, select only the relevant network interface. Usually "
+"the 'wan' interface should work for most users."
msgstr ""
-"トリガを限定するには、適切なネットワーク インターフェースのみを追加してくださ"
-"い。"
+"トリガを限定するには、適切なインターフェースを選択してください。通常、 'wan' "
+"インターフェースがほとんどのユーザーに適しています。"
-msgid "Usually the 'wan' interface should work for most users."
-msgstr "通常、 'wan' インターフェースがほとんどのユーザーに適しています。"
+msgid "Transfer Options To Dnsmasq"
+msgstr "Dnsmasq の転送オプション"
msgid "View Logfile"
msgstr "ログファイルの確認"
diff --git a/applications/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot b/applications/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot
index ea83e7a184..59bded87b8 100644
--- a/applications/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot
+++ b/applications/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot
@@ -1,12 +1,19 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
+msgid "-------"
+msgstr ""
+
msgid "Advanced"
msgstr ""
msgid "Alternate Resolver List"
msgstr ""
+msgid ""
+"Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.<br />"
+msgstr ""
+
msgid "Blacklist"
msgstr ""
@@ -15,7 +22,7 @@ msgstr ""
msgid ""
"By default the DNSCrypt-Proxy startup will be triggered by ifup events of "
-"multiple network interfaces."
+"'All' available network interfaces.<br />"
msgstr ""
msgid "Configuration of the DNSCrypt-Proxy package."
@@ -23,13 +30,13 @@ msgstr ""
msgid ""
"Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS "
-"upstream timeouts with multiple DNSCrypt instances."
+"upstream timeouts with multiple DNSCrypt instances.<br />"
msgstr ""
msgid "Create Config File"
msgstr ""
-msgid "Create custom config file"
+msgid "Create Custom Config File"
msgstr ""
msgid "DNS Query Logfile"
@@ -50,19 +57,25 @@ msgstr ""
msgid "Disable IPv6 to speed up DNSCrypt-Proxy."
msgstr ""
+msgid "Dnsmasq Options"
+msgstr ""
+
+msgid "Download the current resolver list from 'download.dnscrypt.org'."
+msgstr ""
+
msgid "Edit DNSCrypt-Proxy Configuration"
msgstr ""
msgid "Edit Dnsmasq Configuration"
msgstr ""
-msgid "Enable Caching to speed up DNSCcrypt-Proxy."
+msgid "Edit Resolvcrypt Configuration"
msgstr ""
-msgid "Ephemeral Keys"
+msgid "Enable Caching to speed up DNSCcrypt-Proxy."
msgstr ""
-msgid "Extra options"
+msgid "Ephemeral Keys"
msgstr ""
msgid "File Checksum"
@@ -76,7 +89,7 @@ msgid ""
"online</a>"
msgstr ""
-msgid "General options"
+msgid "General Options"
msgstr ""
msgid "IP Address"
@@ -88,10 +101,7 @@ msgstr ""
msgid "Input file not found, please check your configuration."
msgstr ""
-msgid "Instance options"
-msgstr ""
-
-msgid "Keep in mind to configure Dnsmasq as well."
+msgid "Instance Options"
msgstr ""
msgid "Local Cache"
@@ -106,16 +116,38 @@ msgid ""
"is happening on the network."
msgstr ""
-msgid "Name of the remote DNS service for resolving queries."
+msgid ""
+"Name of the remote DNS service for resolving queries incl. Location, DNSSEC- "
+"and NOLOG-Flag."
msgstr ""
-msgid ""
-"Options for further tweaking in case the defaults are not suitable for you."
+msgid "No SSL support available.<br />"
+msgstr ""
+
+msgid "No default resolver list and no SSL support available.<br />"
msgstr ""
msgid "Overview"
msgstr ""
+msgid "Please edit the file manually in the 'Advanced' section."
+msgstr ""
+
+msgid ""
+"Please install a 'libustream-ssl' library to download the current resolver "
+"list from 'download.dnscrypt.org'."
+msgstr ""
+
+msgid ""
+"Please install a resolver list to '/usr/share/dnscrypt-proxy/dnscrypt-"
+"resolvers.csv' to use this package."
+msgstr ""
+
+msgid ""
+"Please note: This may change the values for 'noresolv', 'resolvfile', "
+"'allservers' and the list 'server' settings."
+msgstr ""
+
msgid "Port"
msgstr ""
@@ -125,12 +157,7 @@ msgstr ""
msgid "Refresh Resolver List"
msgstr ""
-msgid "Resolver"
-msgstr ""
-
-msgid ""
-"SSL support not available, please install an libustream-ssl variant to use "
-"this package."
+msgid "Resolver (LOC/SEC/NOLOG)"
msgstr ""
msgid "Save"
@@ -142,6 +169,9 @@ msgstr ""
msgid "Startup Trigger"
msgstr ""
+msgid "The config file '/etc/resolv-crypt.conf' already exist.<br />"
+msgstr ""
+
msgid "The listening port for DNS queries."
msgstr ""
@@ -165,6 +195,11 @@ msgid ""
"file (/etc/config/dhcp)."
msgstr ""
+msgid ""
+"This form allows you to modify the content of the resolv-crypt configuration "
+"file (/etc/resolv-crypt.conf)."
+msgstr ""
+
msgid "This form shows the content of the current DNSCrypt Resolver List."
msgstr ""
@@ -178,10 +213,12 @@ msgid ""
"server."
msgstr ""
-msgid "To restrict the trigger, add only the relevant network interface(s)."
+msgid ""
+"To restrict the trigger, select only the relevant network interface. Usually "
+"the 'wan' interface should work for most users."
msgstr ""
-msgid "Usually the 'wan' interface should work for most users."
+msgid "Transfer Options To Dnsmasq"
msgstr ""
msgid "View Logfile"
diff --git a/applications/luci-app-fwknopd/root/etc/uci-defaults/40_luci-fwknopd b/applications/luci-app-fwknopd/root/etc/uci-defaults/40_luci-fwknopd
index 65ef012450..9e5057e701 100644
--- a/applications/luci-app-fwknopd/root/etc/uci-defaults/40_luci-fwknopd
+++ b/applications/luci-app-fwknopd/root/etc/uci-defaults/40_luci-fwknopd
@@ -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
diff --git a/applications/luci-app-fwknopd/root/usr/sbin/gen-qr.sh b/applications/luci-app-fwknopd/root/usr/sbin/gen-qr.sh
index abca5d3e5a..48850bd361 100644
--- a/applications/luci-app-fwknopd/root/usr/sbin/gen-qr.sh
+++ b/applications/luci-app-fwknopd/root/usr/sbin/gen-qr.sh
@@ -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
index 0000000000..4c2b9044a9
--- /dev/null
+++ b/applications/luci-app-noddos/Makefile
@@ -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
index 0000000000..6ff4ce59f2
--- /dev/null
+++ b/applications/luci-app-noddos/htdocs/cgi-bin/clientdetails
@@ -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
index 0000000000..c45e24bc97
--- /dev/null
+++ b/applications/luci-app-noddos/luasrc/controller/noddos.lua
@@ -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
index 0000000000..3abb73bc66
--- /dev/null
+++ b/applications/luci-app-noddos/luasrc/model/cbi/noddos.lua
@@ -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
index 0000000000..f2fb9312a7
--- /dev/null
+++ b/applications/luci-app-noddos/luasrc/view/noddos/clients.htm
@@ -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
index 0000000000..c6b461747f
--- /dev/null
+++ b/applications/luci-app-noddos/po/ja/noddos.po
@@ -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
index 0000000000..69d135770b
--- /dev/null
+++ b/applications/luci-app-noddos/po/templates/noddos.pot
@@ -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
index 0000000000..17abbc41ca
--- /dev/null
+++ b/applications/luci-app-noddos/root/etc/uci-defaults/40_luci-noddos
@@ -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
diff --git a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua
index 7865881cb6..dc7718217c 100644
--- a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua
+++ b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua
@@ -685,6 +685,10 @@ local knownParams = {
"tls_auth",
"/etc/openvpn/tlsauth.key",
translate("Additional authentication over TLS") },
+ { Value,
+ "tls_crypt",
+ "/etc/openvpn/tlscrypt.key",
+ translate("Encrypt and authenticate all control channel packets with the key") },
-- { Value,
-- "askpass",
-- "[file]",
diff --git a/applications/luci-app-openvpn/po/ca/openvpn.po b/applications/luci-app-openvpn/po/ca/openvpn.po
index 1b75fe6cd7..d756469078 100644
--- a/applications/luci-app-openvpn/po/ca/openvpn.po
+++ b/applications/luci-app-openvpn/po/ca/openvpn.po
@@ -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"
diff --git a/applications/luci-app-openvpn/po/cs/openvpn.po b/applications/luci-app-openvpn/po/cs/openvpn.po
index c68742217e..4fba010530 100644
--- a/applications/luci-app-openvpn/po/cs/openvpn.po
+++ b/applications/luci-app-openvpn/po/cs/openvpn.po
@@ -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 ""
diff --git a/applications/luci-app-openvpn/po/de/openvpn.po b/applications/luci-app-openvpn/po/de/openvpn.po
index dc382ee44d..a203c92e79 100644
--- a/applications/luci-app-openvpn/po/de/openvpn.po
+++ b/applications/luci-app-openvpn/po/de/openvpn.po
@@ -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"
diff --git a/applications/luci-app-openvpn/po/el/openvpn.po b/applications/luci-app-openvpn/po/el/openvpn.po
index 2c787d816c..63dd8985a8 100644
--- a/applications/luci-app-openvpn/po/el/openvpn.po
+++ b/applications/luci-app-openvpn/po/el/openvpn.po
@@ -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 ""
diff --git a/applications/luci-app-openvpn/po/en/openvpn.po b/applications/luci-app-openvpn/po/en/openvpn.po
index a5994dc292..51819f6b09 100644
--- a/applications/luci-app-openvpn/po/en/openvpn.po
+++ b/applications/luci-app-openvpn/po/en/openvpn.po
@@ -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"
diff --git a/applications/luci-app-openvpn/po/es/openvpn.po b/applications/luci-app-openvpn/po/es/openvpn.po
index a5141831ce..819e7ee509 100644
--- a/applications/luci-app-openvpn/po/es/openvpn.po
+++ b/applications/luci-app-openvpn/po/es/openvpn.po
@@ -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"
diff --git a/applications/luci-app-openvpn/po/fr/openvpn.po b/applications/luci-app-openvpn/po/fr/openvpn.po
index e2f33dc164..331d1931e8 100644
--- a/applications/luci-app-openvpn/po/fr/openvpn.po
+++ b/applications/luci-app-openvpn/po/fr/openvpn.po
@@ -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"
diff --git a/applications/luci-app-openvpn/po/he/openvpn.po b/applications/luci-app-openvpn/po/he/openvpn.po
index 3528444199..517da49080 100644
--- a/applications/luci-app-openvpn/po/he/openvpn.po
+++ b/applications/luci-app-openvpn/po/he/openvpn.po
@@ -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 ""
diff --git a/applications/luci-app-openvpn/po/hu/openvpn.po b/applications/luci-app-openvpn/po/hu/openvpn.po
index 1f9d691d04..67a8217b1a 100644
--- a/applications/luci-app-openvpn/po/hu/openvpn.po
+++ b/applications/luci-app-openvpn/po/hu/openvpn.po
@@ -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 ""
diff --git a/applications/luci-app-openvpn/po/it/openvpn.po b/applications/luci-app-openvpn/po/it/openvpn.po
index 233c144c57..834015b8e8 100644
--- a/applications/luci-app-openvpn/po/it/openvpn.po
+++ b/applications/luci-app-openvpn/po/it/openvpn.po
@@ -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 ""
diff --git a/applications/luci-app-openvpn/po/ja/openvpn.po b/applications/luci-app-openvpn/po/ja/openvpn.po
index 5474008682..232ae27e1f 100644
--- a/applications/luci-app-openvpn/po/ja/openvpn.po
+++ b/applications/luci-app-openvpn/po/ja/openvpn.po
@@ -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 ""
diff --git a/applications/luci-app-openvpn/po/ms/openvpn.po b/applications/luci-app-openvpn/po/ms/openvpn.po
index c439c3eb15..6c6e0d6046 100644
--- a/applications/luci-app-openvpn/po/ms/openvpn.po
+++ b/applications/luci-app-openvpn/po/ms/openvpn.po
@@ -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 ""
diff --git a/applications/luci-app-openvpn/po/no/openvpn.po b/applications/luci-app-openvpn/po/no/openvpn.po
index 3528444199..517da49080 100644
--- a/applications/luci-app-openvpn/po/no/openvpn.po
+++ b/applications/luci-app-openvpn/po/no/openvpn.po
@@ -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 ""
diff --git a/applications/luci-app-openvpn/po/pl/openvpn.po b/applications/luci-app-openvpn/po/pl/openvpn.po
index e289a80fc1..bef5a13a1a 100644
--- a/applications/luci-app-openvpn/po/pl/openvpn.po
+++ b/applications/luci-app-openvpn/po/pl/openvpn.po
@@ -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"
diff --git a/applications/luci-app-openvpn/po/pt-br/openvpn.po b/applications/luci-app-openvpn/po/pt-br/openvpn.po
index 84b0540581..26642e2c46 100644
--- a/applications/luci-app-openvpn/po/pt-br/openvpn.po
+++ b/applications/luci-app-openvpn/po/pt-br/openvpn.po
@@ -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"
diff --git a/applications/luci-app-openvpn/po/pt/openvpn.po b/applications/luci-app-openvpn/po/pt/openvpn.po
index 95c50a571a..d74b0a690d 100644
--- a/applications/luci-app-openvpn/po/pt/openvpn.po
+++ b/applications/luci-app-openvpn/po/pt/openvpn.po
@@ -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"
diff --git a/applications/luci-app-openvpn/po/ro/openvpn.po b/applications/luci-app-openvpn/po/ro/openvpn.po
index 4a7a5b7515..ef5e7ce379 100644
--- a/applications/luci-app-openvpn/po/ro/openvpn.po
+++ b/applications/luci-app-openvpn/po/ro/openvpn.po
@@ -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 ""
diff --git a/applications/luci-app-openvpn/po/ru/openvpn.po b/applications/luci-app-openvpn/po/ru/openvpn.po
index 00e585c374..89cf1161cc 100644
--- a/applications/luci-app-openvpn/po/ru/openvpn.po
+++ b/applications/luci-app-openvpn/po/ru/openvpn.po
@@ -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 "Шифрование для пакетов"
diff --git a/applications/luci-app-openvpn/po/sk/openvpn.po b/applications/luci-app-openvpn/po/sk/openvpn.po
index f001c12eaf..9005529762 100644
--- a/applications/luci-app-openvpn/po/sk/openvpn.po
+++ b/applications/luci-app-openvpn/po/sk/openvpn.po
@@ -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 ""
diff --git a/applications/luci-app-openvpn/po/sv/openvpn.po b/applications/luci-app-openvpn/po/sv/openvpn.po
index c03e1495cb..838f4650dd 100644
--- a/applications/luci-app-openvpn/po/sv/openvpn.po
+++ b/applications/luci-app-openvpn/po/sv/openvpn.po
@@ -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 ""
diff --git a/applications/luci-app-openvpn/po/templates/openvpn.pot b/applications/luci-app-openvpn/po/templates/openvpn.pot
index f2e4011662..126cab076f 100644
--- a/applications/luci-app-openvpn/po/templates/openvpn.pot
+++ b/applications/luci-app-openvpn/po/templates/openvpn.pot
@@ -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 ""
diff --git a/applications/luci-app-openvpn/po/tr/openvpn.po b/applications/luci-app-openvpn/po/tr/openvpn.po
index 7b8ffad34c..917c36d561 100644
--- a/applications/luci-app-openvpn/po/tr/openvpn.po
+++ b/applications/luci-app-openvpn/po/tr/openvpn.po
@@ -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 ""
diff --git a/applications/luci-app-openvpn/po/uk/openvpn.po b/applications/luci-app-openvpn/po/uk/openvpn.po
index a6910c2309..e98b52a8ae 100644
--- a/applications/luci-app-openvpn/po/uk/openvpn.po
+++ b/applications/luci-app-openvpn/po/uk/openvpn.po
@@ -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 ""
diff --git a/applications/luci-app-openvpn/po/vi/openvpn.po b/applications/luci-app-openvpn/po/vi/openvpn.po
index 8e8b96dc7f..f3873b068f 100644
--- a/applications/luci-app-openvpn/po/vi/openvpn.po
+++ b/applications/luci-app-openvpn/po/vi/openvpn.po
@@ -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"
diff --git a/applications/luci-app-openvpn/po/zh-cn/openvpn.po b/applications/luci-app-openvpn/po/zh-cn/openvpn.po
index 3904ac4bf8..093a9cd071 100644
--- a/applications/luci-app-openvpn/po/zh-cn/openvpn.po
+++ b/applications/luci-app-openvpn/po/zh-cn/openvpn.po
@@ -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 "加密数据包"
diff --git a/applications/luci-app-openvpn/po/zh-tw/openvpn.po b/applications/luci-app-openvpn/po/zh-tw/openvpn.po
index f26aeb097a..556fb9b8f0 100644
--- a/applications/luci-app-openvpn/po/zh-tw/openvpn.po
+++ b/applications/luci-app-openvpn/po/zh-tw/openvpn.po
@@ -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 ""
diff --git a/applications/luci-app-p2pblock/po/pt-br/p2pblock.po b/applications/luci-app-p2pblock/po/pt-br/p2pblock.po
index de3638164e..8ebac375f2 100644
--- a/applications/luci-app-p2pblock/po/pt-br/p2pblock.po
+++ b/applications/luci-app-p2pblock/po/pt-br/p2pblock.po
@@ -1,3 +1,7 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+
msgid "Block Time"
msgstr "Tempo de bloqueio"
diff --git a/applications/luci-app-radicale/po/pt-br/radicale.po b/applications/luci-app-radicale/po/pt-br/radicale.po
index 67bf586908..17417fa499 100644
--- a/applications/luci-app-radicale/po/pt-br/radicale.po
+++ b/applications/luci-app-radicale/po/pt-br/radicale.po
@@ -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
index 0000000000..8202497ee1
--- /dev/null
+++ b/applications/luci-app-simple-adblock/po/sv/simple-adblock.po
@@ -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"
diff --git a/applications/luci-app-splash/po/sv/splash.po b/applications/luci-app-splash/po/sv/splash.po
index 055c67b866..a1be1ea6e8 100644
--- a/applications/luci-app-splash/po/sv/splash.po
+++ b/applications/luci-app-splash/po/sv/splash.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: PACKAGE VERSION\n"
-"Last-Translator: Automatically generated\n"
+"Last-Translator: Kristoffer Grundström <hamnisdude@gmail.com>\n"
"Language-Team: none\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
@@ -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"
diff --git a/applications/luci-app-unbound/luasrc/controller/unbound.lua b/applications/luci-app-unbound/luasrc/controller/unbound.lua
index 0a5abc5a5e..b44bf038eb 100644
--- a/applications/luci-app-unbound/luasrc/controller/unbound.lua
+++ b/applications/luci-app-unbound/luasrc/controller/unbound.lua
@@ -1,17 +1,151 @@
-- Copyright 2008 Steven Barth <steven@midlink.org>
-- Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
+-- Copyright 2017 Eric Luehrsen <ericluehrsen@hotmail.com>
-- Licensed to the public under the Apache License 2.0.
module("luci.controller.unbound", package.seeall)
+
function index()
- if not nixio.fs.access("/etc/config/unbound") then
- return
- end
+ local ucl = luci.model.uci.cursor()
+ local valexp = ucl:get_first("unbound", "unbound", "extended_luci")
+ local valman = ucl:get_first("unbound", "unbound", "manual_conf")
+
+
+ if not nixio.fs.access("/etc/config/unbound") then
+ return
+ end
+
+
+ if valexp == "1" then
+ -- Expanded View
+ entry({"admin", "services", "unbound"}, firstchild(), _("Recursive DNS")).dependent = false
+
+ -- UCI Tab(s)
+ entry({"admin", "services", "unbound", "configure"}, cbi("unbound/configure"), _("Settings"), 10)
+
+ -- Status Tab(s)
+ entry({"admin", "services", "unbound", "status"}, firstchild(), _("Status"), 20)
+ entry({"admin", "services", "unbound", "status", "syslog"}, call("QuerySysLog"), _("Log"), 50).leaf = true
+
+
+ if nixio.fs.access("/usr/sbin/unbound-control") then
+ -- Require unbound-control to execute
+ entry({"admin", "services", "unbound", "status", "statistics"}, call("QueryStatistics"), _("Statistics"), 10).leaf = true
+ entry({"admin", "services", "unbound", "status", "localdata"}, call("QueryLocalData"), _("Local Data"), 20).leaf = true
+ entry({"admin", "services", "unbound", "status", "localzone"}, call("QueryLocalZone"), _("Local Zones"), 30).leaf = true
+
+ else
+ entry({"admin", "services", "unbound", "status", "statistics"}, call("ShowEmpty"), _("Statistics"), 10).leaf = true
+ end
+
+
+ -- Raw File Tab(s)
+ entry({"admin", "services", "unbound", "files"}, firstchild(), _("Files"), 30)
+
+
+ if valman ~= "1" then
+ entry({"admin", "services", "unbound", "files", "base"}, call("ShowUnboundConf"), _("UCI: Unbound"), 10).leaf = true
+ else
+ entry({"admin", "services", "unbound", "files", "base"}, cbi("unbound/manual"), _("Edit: Unbound"), 10).leaf = true
+ end
+
+
+ entry({"admin", "services", "unbound", "files", "server"}, cbi("unbound/server"), _("Edit: Server"), 20).leaf = true
+ entry({"admin", "services", "unbound", "files", "extended"}, cbi("unbound/extended"), _("Edit: Extended"), 30).leaf = true
+
+
+ if nixio.fs.access("/var/lib/unbound/unbound_dhcp.conf") then
+ entry({"admin", "services", "unbound", "files", "dhcp"}, call("ShowDHCPConf"), _("Include: DHCP"), 40).leaf = true
+ end
+
+
+ if nixio.fs.access("/var/lib/unbound/adb_list.overall") then
+ entry({"admin", "services", "unbound", "files", "adblock"}, call("ShowAdblock"), _("Include: Adblock"), 50).leaf = true
+ end
+
+ else
+ -- Simple View to UCI only
+ entry({"admin", "services", "unbound"}, cbi("unbound/configure"), _("Recursive DNS")).dependent = false
+ end
+end
+
+
+function ShowEmpty()
+ local lclhead = "Unbound Control"
+ local lcldesc = luci.i18n.translate("This could display more statistics with the unbound-control package.")
+ luci.template.render("unbound/show-empty", {heading = lclhead, description = lcldesc})
+end
+
+
+function QuerySysLog()
+ local lclhead = "System Log"
+ local lcldata = luci.util.exec("logread | grep -i unbound")
+ local lcldesc = luci.i18n.translate("This shows syslog filtered for events involving Unbound.")
+ luci.template.render("unbound/show-textbox", {heading = lclhead, description = lcldesc, content = lcldata})
+end
+
+
+function QueryStatistics()
+ local lclhead = "Unbound Control Stats"
+ local lcldata = luci.util.exec("unbound-control -c /var/lib/unbound/unbound.conf stats_noreset")
+ local lcldesc = luci.i18n.translate("This shows some performance statistics tracked by Unbound.")
+ luci.template.render("unbound/show-textbox", {heading = lclhead, description = lcldesc, content = lcldata})
+end
+
+
+function QueryLocalData()
+ local lclhead = "Unbound Control Local Data"
+ local lcldata = luci.util.exec("unbound-control -c /var/lib/unbound/unbound.conf list_local_data")
+ local lcldesc = luci.i18n.translate("This shows local host records that shortcut recursion.")
+ luci.template.render("unbound/show-textbox", {heading = lclhead, description = lcldesc, content = lcldata})
+end
+
+
+function QueryLocalZone()
+ local lclhead = "Unbound Control Local Zones"
+ local lcldata = luci.util.exec("unbound-control -c /var/lib/unbound/unbound.conf list_local_zones")
+ local lcldesc = luci.i18n.translate("This shows local zone definitions that affect recursion routing or processing. ")
+ luci.template.render("unbound/show-textbox", {heading = lclhead, description = lcldesc, content = lcldata})
+end
+
+
+function ShowUnboundConf()
+ local unboundfile = "/var/lib/unbound/unbound.conf"
+ local lclhead = "Unbound Conf"
+ local lcldata = nixio.fs.readfile(unboundfile)
+ local lcldesc = luci.i18n.translate("This shows configuration generated by UCI:")
+ lcldesc = lcldesc .. " (" .. unboundfile .. ")"
+ luci.template.render("unbound/show-textbox", {heading = lclhead, description = lcldesc, content = lcldata})
+end
+
+
+function ShowDHCPConf()
+ local dhcpfile = "/var/lib/unbound/unbound_dhcp.conf"
+ local lclhead = "DHCP Conf"
+ local lcldata = nixio.fs.readfile(dhcpfile)
+ local lcldesc = luci.i18n.translate("This shows LAN hosts added by DHCP hook scripts:")
+ lcldesc = lcldesc .. " (" .. dhcpfile .. ")"
+ luci.template.render("unbound/show-textbox", {heading = lclhead, description = lcldesc, content = lcldata})
+end
+
+
+function ShowAdblock()
+ local adblockfile = "/var/lib/unbound/adb_list.overall"
+ local lclhead = "Adblock Conf"
+ local lcldata, lcldesc
+
- local page
+ if nixio.fs.stat(adblockfile).size > 262144 then
+ lcldesc = luci.i18n.translate("Adblock domain list is too large for LuCI:")
+ lcldesc = lcldesc .. " (" .. adblockfile .. ")"
+ luci.template.render("unbound/show-empty", {heading = lclhead, description = lcldesc})
- page = entry({"admin", "services", "unbound"}, cbi("unbound"), _("Recursive DNS"))
- page.dependent = true
+ else
+ lcldata = nixio.fs.readfile(adblockfile)
+ lcldesc = luci.i18n.translate("This shows blocked domains provided by Adblock scripts:")
+ lcldesc = lcldesc .. " (" .. adblockfile .. ")"
+ luci.template.render("unbound/show-textbox", {heading = lclhead, description = lcldesc, content = lcldata})
+ end
end
diff --git a/applications/luci-app-unbound/luasrc/model/cbi/unbound.lua b/applications/luci-app-unbound/luasrc/model/cbi/unbound.lua
deleted file mode 100644
index bfaacb40bc..0000000000
--- a/applications/luci-app-unbound/luasrc/model/cbi/unbound.lua
+++ /dev/null
@@ -1,216 +0,0 @@
--- Copyright 2008 Steven Barth <steven@midlink.org>
--- Copyright 2016 Eric Luehrsen <ericluehrsen@hotmail.com>
--- Copyright 2016 Dan Luedtke <mail@danrl.com>
--- Licensed to the public under the Apache License 2.0.
-
-local m
-local s1
-local ena, mcf, lsv, rlh, rpv, vld, nvd, eds, prt, tlm
-local ctl, dlk, dom, dty, lfq, wfq, exa, ctl, d64, pfx, qry, qrs
-local pro, tgr, rsc, rsn, ag2
-
-m = Map("unbound", translate("Recursive DNS"),
- translatef("<a href=\"%s\" target=\"_blank\">Unbound</a>"
- .. " is a validating, recursive, and caching DNS resolver. "
- .. "UCI help can be found on "
- .. "<a href=\"%s\" target=\"_blank\">github</a>.",
- "https://www.unbound.net/",
- "https://github.com/openwrt/packages/blob/master/net/unbound/files/README.md"))
-
-
-s1 = m:section(TypedSection, "unbound")
-s1.addremove = false
-s1.anonymous = true
-s1:tab("service", translate("Basic Settings"))
-s1:tab("advanced", translate("Advanced Settings"))
-s1:tab("resource", translate("Resource Settings"))
-
---LuCI or Not
-
-ena = s1:taboption("service", Flag, "enabled", translate("Enable Unbound:"),
- translate("Enable the initialization scripts for Unbound"))
-ena.rmempty = false
-
-mcf = s1:taboption("service", Flag, "manual_conf", translate("Manual Conf:"),
- translate("Skip UCI and use /etc/unbound/unbound.conf"))
-mcf.rmempty = false
-
-function ena.cfgvalue(self, section)
- return luci.sys.init.enabled("unbound") and self.enabled or self.disabled
-end
-
-function ena.write(self, section, value)
- if value == "1" then
- luci.sys.init.enable("unbound")
- luci.sys.call("/etc/init.d/unbound start >/dev/null")
- else
- luci.sys.call("/etc/init.d/unbound stop >/dev/null")
- luci.sys.init.disable("unbound")
- end
-
- return Flag.write(self, section, value)
-end
-
---Basic Tab
-
-lsv = s1:taboption("service", Flag, "localservice", translate("Local Service:"),
- translate("Accept queries only from local subnets"))
-lsv.rmempty = false
-
-rlh = s1:taboption("service", Flag, "rebind_localhost", translate("Block Localhost Rebind:"),
- translate("Prevent upstream response of 127.0.0.0/8"))
-rlh.rmempty = false
-
-rpv = s1:taboption("service", Flag, "rebind_protection", translate("Block Private Rebind:"),
- translate("Prevent upstream response of RFC1918 ranges"))
-rpv.rmempty = false
-
-vld = s1:taboption("service", Flag, "validator", translate("Enable DNSSEC:"),
- translate("Enable the DNSSEC validator module"))
-vld.rmempty = false
-
-nvd = s1:taboption("service", Flag, "validator_ntp", translate("DNSSEC NTP Fix:"),
- translate("Break the loop where DNSSEC needs NTP and NTP needs DNS"))
-nvd.rmempty = false
-nvd:depends({ validator = true })
-
-eds = s1:taboption("service", Value, "edns_size", translate("EDNS Size:"),
- translate("Limit extended DNS packet size"))
-eds.datatype = "and(uinteger,min(512),max(4096))"
-eds.rmempty = false
-
-prt = s1:taboption("service", Value, "listen_port", translate("Listening Port:"),
- translate("Choose Unbounds listening port"))
-prt.datatype = "port"
-prt.rmempty = false
-
-tlm = s1:taboption("service", Value, "ttl_min", translate("TTL Minimum:"),
- translate("Prevent excessively short cache periods"))
-tlm.datatype = "and(uinteger,min(0),max(600))"
-tlm.rmempty = false
-
---Advanced Tab
-
-ctl = s1:taboption("advanced", Flag, "unbound_control", translate("Unbound Control App:"),
- translate("Enable unecrypted localhost access for unbound-control"))
-ctl.rmempty = false
-
-dlk = s1:taboption("advanced", ListValue, "dhcp_link", translate("DHCP Link:"),
- translate("Link to supported programs to load DHCP into DNS"))
-dlk:value("none", translate("No Link"))
-dlk:value("dnsmasq", "dnsmasq")
-dlk:value("odhcpd", "odhcpd")
-dlk.rmempty = false
-
-dom = s1:taboption("advanced", Value, "domain", translate("Local Domain:"),
- translate("Domain suffix for this router and DHCP clients"))
-dom.placeholder = "lan"
-dom:depends({ dhcp_link = "none" })
-dom:depends({ dhcp_link = "odhcpd" })
-
-dty = s1:taboption("advanced", ListValue, "domain_type", translate("Local Domain Type:"),
- translate("How to treat queries of this local domain"))
-dty:value("deny", translate("Ignored"))
-dty:value("refuse", translate("Refused"))
-dty:value("static", translate("Only Local"))
-dty:value("transparent", translate("Also Forwarded"))
-dty:depends({ dhcp_link = "none" })
-dty:depends({ dhcp_link = "odhcpd" })
-
-lfq = s1:taboption("advanced", ListValue, "add_local_fqdn", translate("LAN DNS:"),
- translate("How to enter the LAN or local network router in DNS"))
-lfq:value("0", translate("No DNS"))
-lfq:value("1", translate("Hostname, Primary Address"))
-lfq:value("2", translate("Hostname, All Addresses"))
-lfq:value("3", translate("Host FQDN, All Addresses"))
-lfq:value("4", translate("Interface FQDN, All Addresses"))
-lfq:depends({ dhcp_link = "none" })
-lfq:depends({ dhcp_link = "odhcpd" })
-
-wfq = s1:taboption("advanced", ListValue, "add_wan_fqdn", translate("WAN DNS:"),
- translate("Override the WAN side router entry in DNS"))
-wfq:value("0", translate("Upstream"))
-wfq:value("1", translate("Hostname, Primary Address"))
-wfq:value("2", translate("Hostname, All Addresses"))
-wfq:value("3", translate("Host FQDN, All Addresses"))
-wfq:value("4", translate("Interface FQDN, All Addresses"))
-wfq:depends({ dhcp_link = "none" })
-wfq:depends({ dhcp_link = "odhcpd" })
-
-exa = s1:taboption("advanced", ListValue, "add_extra_dns", translate("Extra DNS:"),
- translate("Use extra DNS entries found in /etc/config/dhcp"))
-exa:value("0", translate("Ignore"))
-exa:value("1", translate("Include Network/Hostnames"))
-exa:value("2", translate("Advanced MX/SRV RR"))
-exa:value("3", translate("Advanced CNAME RR"))
-exa:depends({ dhcp_link = "none" })
-exa:depends({ dhcp_link = "odhcpd" })
-
-ctl = s1:taboption("advanced", Flag, "dhcp4_slaac6", translate("DHCPv4 to SLAAC:"),
- translate("Use DHCPv4 MAC to discover IP6 hosts SLAAC (EUI64)"))
-ctl.rmempty = false
-
-d64 = s1:taboption("advanced", Flag, "dns64", translate("Enable DNS64:"),
- translate("Enable the DNS64 module"))
-d64.rmempty = false
-
-pfx = s1:taboption("advanced", Value, "dns64_prefix", translate("DNS64 Prefix:"),
- translate("Prefix for generated DNS64 addresses"))
-pfx.datatype = "ip6addr"
-pfx.placeholder = "64:ff9b::/96"
-pfx.optional = true
-pfx:depends({ dns64 = true })
-
-qry = s1:taboption("advanced", Flag, "query_minimize", translate("Query Minimize:"),
- translate("Break down query components for limited added privacy"))
-qry.rmempty = false
-
-qrs = s1:taboption("advanced", Flag, "query_min_strict", translate("Strict Minimize:"),
- translate("Strict version of 'query minimize' but it can break DNS"))
-qrs.rmempty = false
-qrs:depends({ query_minimize = true })
-
---TODO: dnsmasq needs to not reference resolve-file and get off port 53.
-
---Resource Tuning Tab
-
-pro = s1:taboption("resource", ListValue, "protocol", translate("Recursion Protocol:"),
- translate("Chose the protocol recursion queries leave on"))
-pro:value("mixed", translate("IP4 and IP6"))
-pro:value("ip6_prefer", translate("IP6 Preferred"))
-pro:value("ip4_only", translate("IP4 Only"))
-pro:value("ip6_only", translate("IP6 Only"))
-pro.rmempty = false
-
-rsn = s1:taboption("resource", ListValue, "recursion", translate("Recursion Strength:"),
- translate("Recursion activity affects memory growth and CPU load"))
-rsn:value("aggressive", translate("Aggressive"))
-rsn:value("default", translate("Default"))
-rsn:value("passive", translate("Passive"))
-rsn.rmempty = false
-
-rsc = s1:taboption("resource", ListValue, "resource", translate("Memory Resource:"),
- translate("Use menu System/Processes to observe any memory growth"))
-rsc:value("large", translate("Large"))
-rsc:value("medium", translate("Medium"))
-rsc:value("small", translate("Small"))
-rsc:value("tiny", translate("Tiny"))
-rsc.rmempty = false
-
-ag2 = s1:taboption("resource", Value, "root_age", translate("Root DSKEY Age:"),
- translate("Limit days between RFC5011 to reduce flash writes"))
-ag2.datatype = "and(uinteger,min(1),max(99))"
-ag2:value("3", "3")
-ag2:value("9", "9 ("..translate("default")..")")
-ag2:value("12", "12")
-ag2:value("24", "24")
-ag2:value("99", "99 ("..translate("never")..")")
-
-tgr = s1:taboption("resource", Value, "trigger", translate("Trigger Networks:"),
- translate("Networks that may trigger Unbound to reload (avoid wan6)"))
-tgr.template = "cbi/network_netlist"
-tgr.widget = "checkbox"
-tgr.cast = "string"
-
-return m
-
diff --git a/applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua b/applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua
new file mode 100644
index 0000000000..cdf7757e3a
--- /dev/null
+++ b/applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua
@@ -0,0 +1,273 @@
+-- Copyright 2008 Steven Barth <steven@midlink.org>
+-- Copyright 2016 Eric Luehrsen <ericluehrsen@hotmail.com>
+-- Copyright 2016 Dan Luedtke <mail@danrl.com>
+-- Licensed to the public under the Apache License 2.0.
+
+local m1, s1
+local ena, mcf, lci, lsv, rlh, rpv, vld, nvd, eds, prt, tlm
+local ctl, dlk, dom, dty, lfq, wfq, exa, dp6, d64, pfx, qry, qrs
+local pro, tgr, rsc, rsn, ag2, stt
+local ucl = luci.model.uci.cursor()
+local valman = ucl:get_first("unbound", "unbound", "manual_conf")
+
+m1 = Map("unbound")
+
+s1 = m1:section(TypedSection, "unbound")
+s1.addremove = false
+s1.anonymous = true
+
+--LuCI, Unbound, or Not
+s1:tab("basic", translate("Basic"),
+ translatef("<h3>Unbound Basic Settings</h3>\n"
+ .. "<a href=\"%s\" target=\"_blank\">Unbound</a>"
+ .. " is a validating, recursive, and caching DNS resolver. "
+ .. "UCI help can be found on "
+ .. "<a href=\"%s\" target=\"_blank\">github</a>.",
+ "https://www.unbound.net/",
+ "https://github.com/openwrt/packages/blob/master/net/unbound/files/README.md"))
+
+ena = s1:taboption("basic", Flag, "enabled", translate("Enable Unbound:"),
+ translate("Enable the initialization scripts for Unbound"))
+ena.rmempty = false
+
+mcf = s1:taboption("basic", Flag, "manual_conf", translate("Manual Conf:"),
+ translate("Skip UCI and use /etc/unbound/unbound.conf"))
+mcf.rmempty = false
+
+lci = s1:taboption("basic", Flag, "extended_luci", translate("Advanced LuCI:"),
+ translate("See detailed tabs for debug and advanced manual configuration"))
+lci.rmempty = false
+
+
+function ena.cfgvalue(self, section)
+ return luci.sys.init.enabled("unbound") and self.enabled or self.disabled
+end
+
+
+function ena.write(self, section, value)
+ if value == "1" then
+ luci.sys.init.enable("unbound")
+ luci.sys.call("/etc/init.d/unbound start >/dev/null")
+ else
+ luci.sys.call("/etc/init.d/unbound stop >/dev/null")
+ luci.sys.init.disable("unbound")
+ end
+
+ return Flag.write(self, section, value)
+end
+
+
+if valman ~= "1" then
+ -- Not in manual configuration mode; show UCI
+ s1:tab("advanced", translate("Advanced"),
+ translatef("<h3>Unbound Advanced Settings</h3>\n"
+ .. "Advanced setttings and plugin modules for "
+ .. "<a href=\"%s\" target=\"_blank\">Unbound</a>"
+ .. " DNS resolver.", "https://www.unbound.net/"))
+
+ s1:tab("resource", translate("Resource"),
+ translatef("<h3>Unbound Resource Settings</h3>\n"
+ .. "Memory and protocol setttings for "
+ .. "<a href=\"%s\" target=\"_blank\">Unbound</a>"
+ .. " DNS resolver.", "https://www.unbound.net/"))
+
+ --Basic Tab
+ lsv = s1:taboption("basic", Flag, "localservice", translate("Local Service:"),
+ translate("Accept queries only from local subnets"))
+ lsv.rmempty = false
+
+ rlh = s1:taboption("basic", Flag, "rebind_localhost", translate("Block Localhost Rebind:"),
+ translate("Prevent upstream response of 127.0.0.0/8"))
+ rlh.rmempty = false
+
+ rpv = s1:taboption("basic", Flag, "rebind_protection", translate("Block Private Rebind:"),
+ translate("Prevent upstream response of RFC1918 ranges"))
+ rpv.rmempty = false
+
+ vld = s1:taboption("basic", Flag, "validator", translate("Enable DNSSEC:"),
+ translate("Enable the DNSSEC validator module"))
+ vld.rmempty = false
+
+ nvd = s1:taboption("basic", Flag, "validator_ntp", translate("DNSSEC NTP Fix:"),
+ translate("Break the loop where DNSSEC needs NTP and NTP needs DNS"))
+ nvd.rmempty = false
+ nvd:depends({ validator = true })
+
+ eds = s1:taboption("basic", Value, "edns_size", translate("EDNS Size:"),
+ translate("Limit extended DNS packet size"))
+ eds.datatype = "and(uinteger,min(512),max(4096))"
+ eds.rmempty = false
+
+ prt = s1:taboption("basic", Value, "listen_port", translate("Listening Port:"),
+ translate("Choose Unbounds listening port"))
+ prt.datatype = "port"
+ prt.rmempty = false
+
+ tlm = s1:taboption("basic", Value, "ttl_min", translate("TTL Minimum:"),
+ translate("Prevent excessively short cache periods"))
+ tlm.datatype = "and(uinteger,min(0),max(600))"
+ tlm.rmempty = false
+
+ --Advanced Tab
+ ctl = s1:taboption("advanced", ListValue, "unbound_control", translate("Unbound Control App:"),
+ translate("Enable access for unbound-control"))
+ ctl.rmempty = false
+ ctl:value("0", translate("No Remote Control"))
+ ctl:value("1", translate("Local Host, No Encryption"))
+ ctl:value("2", translate("Local Host, Encrypted"))
+ ctl:value("3", translate("Local Subnet, Encrypted"))
+ ctl:value("4", translate("Local Subnet, Static Encryption"))
+
+ dlk = s1:taboption("advanced", ListValue, "dhcp_link", translate("DHCP Link:"),
+ translate("Link to supported programs to load DHCP into DNS"))
+ dlk:value("none", translate("No Link"))
+ dlk:value("dnsmasq", "dnsmasq")
+ dlk:value("odhcpd", "odhcpd")
+ dlk.rmempty = false
+
+ dom = s1:taboption("advanced", Value, "domain", translate("Local Domain:"),
+ translate("Domain suffix for this router and DHCP clients"))
+ dom.placeholder = "lan"
+ dom:depends({ dhcp_link = "none" })
+ dom:depends({ dhcp_link = "odhcpd" })
+
+ dty = s1:taboption("advanced", ListValue, "domain_type", translate("Local Domain Type:"),
+ translate("How to treat queries of this local domain"))
+ dty:value("deny", translate("Ignored"))
+ dty:value("refuse", translate("Refused"))
+ dty:value("static", translate("Only Local"))
+ dty:value("transparent", translate("Also Forwarded"))
+ dty:depends({ dhcp_link = "none" })
+ dty:depends({ dhcp_link = "odhcpd" })
+
+ lfq = s1:taboption("advanced", ListValue, "add_local_fqdn", translate("LAN DNS:"),
+ translate("How to enter the LAN or local network router in DNS"))
+ lfq:value("0", translate("No DNS"))
+ lfq:value("1", translate("Hostname, Primary Address"))
+ lfq:value("2", translate("Hostname, All Addresses"))
+ lfq:value("3", translate("Host FQDN, All Addresses"))
+ lfq:value("4", translate("Interface FQDN, All Addresses"))
+ lfq:depends({ dhcp_link = "none" })
+ lfq:depends({ dhcp_link = "odhcpd" })
+
+ wfq = s1:taboption("advanced", ListValue, "add_wan_fqdn", translate("WAN DNS:"),
+ translate("Override the WAN side router entry in DNS"))
+ wfq:value("0", translate("Upstream"))
+ wfq:value("1", translate("Hostname, Primary Address"))
+ wfq:value("2", translate("Hostname, All Addresses"))
+ wfq:value("3", translate("Host FQDN, All Addresses"))
+ wfq:value("4", translate("Interface FQDN, All Addresses"))
+ wfq:depends({ dhcp_link = "none" })
+ wfq:depends({ dhcp_link = "odhcpd" })
+
+ exa = s1:taboption("advanced", ListValue, "add_extra_dns", translate("Extra DNS:"),
+ translate("Use extra DNS entries found in /etc/config/dhcp"))
+ exa:value("0", translate("Ignore"))
+ exa:value("1", translate("Include Network/Hostnames"))
+ exa:value("2", translate("Advanced MX/SRV RR"))
+ exa:value("3", translate("Advanced CNAME RR"))
+ exa:depends({ dhcp_link = "none" })
+ exa:depends({ dhcp_link = "odhcpd" })
+
+ dp6 = s1:taboption("advanced", Flag, "dhcp4_slaac6", translate("DHCPv4 to SLAAC:"),
+ translate("Use DHCPv4 MAC to discover IP6 hosts SLAAC (EUI64)"))
+ dp6.rmempty = false
+
+ d64 = s1:taboption("advanced", Flag, "dns64", translate("Enable DNS64:"),
+ translate("Enable the DNS64 module"))
+ d64.rmempty = false
+
+ pfx = s1:taboption("advanced", Value, "dns64_prefix", translate("DNS64 Prefix:"),
+ translate("Prefix for generated DNS64 addresses"))
+ pfx.datatype = "ip6addr"
+ pfx.placeholder = "64:ff9b::/96"
+ pfx.optional = true
+ pfx:depends({ dns64 = true })
+
+ qry = s1:taboption("advanced", Flag, "query_minimize", translate("Query Minimize:"),
+ translate("Break down query components for limited added privacy"))
+ qry.rmempty = false
+
+ qrs = s1:taboption("advanced", Flag, "query_min_strict", translate("Strict Minimize:"),
+ translate("Strict version of 'query minimize' but it can break DNS"))
+ qrs.rmempty = false
+ qrs:depends({ query_minimize = true })
+
+ --TODO: dnsmasq needs to not reference resolve-file and get off port 53.
+
+ --Resource Tuning Tab
+ pro = s1:taboption("resource", ListValue, "protocol", translate("Recursion Protocol:"),
+ translate("Chose the protocol recursion queries leave on"))
+ pro:value("mixed", translate("IP4 and IP6"))
+ pro:value("ip6_prefer", translate("IP6 Preferred"))
+ pro:value("ip4_only", translate("IP4 Only"))
+ pro:value("ip6_only", translate("IP6 Only"))
+ pro.rmempty = false
+
+ rsn = s1:taboption("resource", ListValue, "recursion", translate("Recursion Strength:"),
+ translate("Recursion activity affects memory growth and CPU load"))
+ rsn:value("aggressive", translate("Aggressive"))
+ rsn:value("default", translate("Default"))
+ rsn:value("passive", translate("Passive"))
+ rsn.rmempty = false
+
+ rsc = s1:taboption("resource", ListValue, "resource", translate("Memory Resource:"),
+ translate("Use menu System/Processes to observe any memory growth"))
+ rsc:value("large", translate("Large"))
+ rsc:value("medium", translate("Medium"))
+ rsc:value("small", translate("Small"))
+ rsc:value("tiny", translate("Tiny"))
+ rsc.rmempty = false
+
+ ag2 = s1:taboption("resource", Value, "root_age", translate("Root DSKEY Age:"),
+ translate("Limit days between RFC5011 to reduce flash writes"))
+ ag2.datatype = "and(uinteger,min(1),max(99))"
+ ag2:value("3", "3")
+ ag2:value("9", "9 ("..translate("default")..")")
+ ag2:value("12", "12")
+ ag2:value("24", "24")
+ ag2:value("99", "99 ("..translate("never")..")")
+
+ stt = s1:taboption("resource", Flag, "extended_stats", translate("Extended Statistics:"),
+ translate("Extended statistics are printed from unbound-control"))
+ stt.rmempty = false
+
+ tgr = s1:taboption("resource", Value, "trigger", translate("Trigger Networks:"),
+ translate("Networks that may trigger Unbound to reload (avoid wan6)"))
+ tgr.template = "cbi/network_netlist"
+ tgr.widget = "checkbox"
+ tgr.cast = "string"
+
+else
+ s1:tab("rfc5011", translate("RFC5011"),
+ translatef("<h3>Unbound RFC5011 Settings</h3>\n"
+ .. "RFC5011 copy scripts protect flash ROM even with UCI disabled."))
+
+ ag2 = s1:taboption("rfc5011", Value, "root_age", translate("Root DSKEY Age:"),
+ translate("Limit days to copy /var/->/etc/ to reduce flash writes"))
+ ag2.datatype = "and(uinteger,min(1),max(99))"
+ ag2:value("3", "3")
+ ag2:value("9", "9 ("..translate("default")..")")
+ ag2:value("12", "12")
+ ag2:value("24", "24")
+ ag2:value("99", "99 ("..translate("never")..")")
+end
+
+
+function m1.on_after_commit(self)
+ function ena.validate(self, value)
+ if value ~= "0" then
+ luci.sys.call("/etc/init.d/unbound restart >/dev/null 2>&1")
+ else
+ luci.sys.call("/etc/init.d/unbound stop >/dev/null 2>&1")
+ end
+ end
+
+
+ -- Restart Unbound with configuration and reload the page (some options hide)
+ luci.http.redirect(luci.dispatcher.build_url("admin", "services", "unbound"))
+end
+
+
+return m1
+
diff --git a/applications/luci-app-unbound/luasrc/model/cbi/unbound/extended.lua b/applications/luci-app-unbound/luasrc/model/cbi/unbound/extended.lua
new file mode 100644
index 0000000000..67d2ec6c6b
--- /dev/null
+++ b/applications/luci-app-unbound/luasrc/model/cbi/unbound/extended.lua
@@ -0,0 +1,30 @@
+-- Copyright 2016 Eric Luehrsen <ericluehrsen@hotmail.com>
+-- Licensed to the public under the Apache License 2.0.
+
+local m4, s4, frm
+local filename = "/etc/unbound/unbound_ext.conf"
+local description = translatef("Here you may edit 'forward:' and 'remote-control:' in an extended 'include:'")
+description = description .. " (" .. filename .. ")"
+
+m4 = SimpleForm("editing", nil)
+m4:append(Template("unbound/css-editing"))
+m4.submit = translate("Save")
+m4.reset = false
+s4 = m4:section(SimpleSection, "Unbound Extended Conf", description)
+frm = s4:option(TextValue, "data")
+frm.datatype = "string"
+frm.rows = 20
+
+
+function frm.cfgvalue()
+ return nixio.fs.readfile(filename) or ""
+end
+
+
+function frm.write(self, section, data)
+ return nixio.fs.writefile(filename, luci.util.trim(data:gsub("\r\n", "\n")))
+end
+
+
+return m4
+
diff --git a/applications/luci-app-unbound/luasrc/model/cbi/unbound/manual.lua b/applications/luci-app-unbound/luasrc/model/cbi/unbound/manual.lua
new file mode 100644
index 0000000000..5cfb9c32c1
--- /dev/null
+++ b/applications/luci-app-unbound/luasrc/model/cbi/unbound/manual.lua
@@ -0,0 +1,30 @@
+-- Copyright 2016 Eric Luehrsen <ericluehrsen@hotmail.com>
+-- Licensed to the public under the Apache License 2.0.
+
+local m2, s2, frm
+local filename = "/etc/unbound/unbound.conf"
+local description = translatef("Here you may edit raw 'unbound.conf' when you don't use UCI:")
+description = description .. " (" .. filename .. ")"
+
+m2 = SimpleForm("editing", nil)
+m2:append(Template("unbound/css-editing"))
+m2.submit = translate("Save")
+m2.reset = false
+s2 = m2:section(SimpleSection, "Unbound Conf", description)
+frm = s2:option(TextValue, "data")
+frm.datatype = "string"
+frm.rows = 20
+
+
+function frm.cfgvalue()
+ return nixio.fs.readfile(filename) or ""
+end
+
+
+function frm.write(self, section, data)
+ return nixio.fs.writefile(filename, luci.util.trim(data:gsub("\r\n", "\n")))
+end
+
+
+return m2
+
diff --git a/applications/luci-app-unbound/luasrc/model/cbi/unbound/server.lua b/applications/luci-app-unbound/luasrc/model/cbi/unbound/server.lua
new file mode 100644
index 0000000000..d0ac407847
--- /dev/null
+++ b/applications/luci-app-unbound/luasrc/model/cbi/unbound/server.lua
@@ -0,0 +1,30 @@
+-- Copyright 2016 Eric Luehrsen <ericluehrsen@hotmail.com>
+-- Licensed to the public under the Apache License 2.0.
+
+local m3, s3, frm
+local filename = "/etc/unbound/unbound_srv.conf"
+local description = translatef("Here you may edit the 'server:' clause in an internal 'include:'")
+description = description .. " (" .. filename .. ")"
+
+m3 = SimpleForm("editing", nil)
+m3:append(Template("unbound/css-editing"))
+m3.submit = translate("Save")
+m3.reset = false
+s3 = m3:section(SimpleSection, "Unbound Server Conf", description)
+frm = s3:option(TextValue, "data")
+frm.datatype = "string"
+frm.rows = 20
+
+
+function frm.cfgvalue()
+ return nixio.fs.readfile(filename) or ""
+end
+
+
+function frm.write(self, section, data)
+ return nixio.fs.writefile(filename, luci.util.trim(data:gsub("\r\n", "\n")))
+end
+
+
+return m3
+
diff --git a/applications/luci-app-unbound/luasrc/view/unbound/css-editing.htm b/applications/luci-app-unbound/luasrc/view/unbound/css-editing.htm
new file mode 100644
index 0000000000..44d09378c3
--- /dev/null
+++ b/applications/luci-app-unbound/luasrc/view/unbound/css-editing.htm
@@ -0,0 +1,8 @@
+<style type="text/css">
+ textarea
+ {
+ background-color: #fffff0;
+ font-family: monospace;
+ }
+</style>
+
diff --git a/applications/luci-app-unbound/luasrc/view/unbound/show-empty.htm b/applications/luci-app-unbound/luasrc/view/unbound/show-empty.htm
new file mode 100644
index 0000000000..87d6cc68cb
--- /dev/null
+++ b/applications/luci-app-unbound/luasrc/view/unbound/show-empty.htm
@@ -0,0 +1,5 @@
+<%+header%>
+<h3><%=heading:pcdata()%></h3>
+<p><%=description:pcdata()%></p>
+<%+footer%>
+
diff --git a/applications/luci-app-unbound/luasrc/view/unbound/show-textbox.htm b/applications/luci-app-unbound/luasrc/view/unbound/show-textbox.htm
new file mode 100644
index 0000000000..c0a7d133dc
--- /dev/null
+++ b/applications/luci-app-unbound/luasrc/view/unbound/show-textbox.htm
@@ -0,0 +1,8 @@
+<%+header%>
+<h3><%=heading:pcdata()%></h3>
+<p><%=description:pcdata()%></p>
+<div>
+<textarea style="width: 100%; height: 480px; font-family: monospace;" readonly="readonly" wrap="off" rows="<%=content:cmatch("\n")+2%>"><%=content:pcdata()%></textarea>
+</div>
+<%+footer%>
+
diff --git a/applications/luci-app-unbound/root/etc/uci-defaults/60_luci-unbound b/applications/luci-app-unbound/root/etc/uci-defaults/60_luci-unbound
index cc714ac53e..c2ac8c93b6 100644
--- a/applications/luci-app-unbound/root/etc/uci-defaults/60_luci-unbound
+++ b/applications/luci-app-unbound/root/etc/uci-defaults/60_luci-unbound
@@ -8,18 +8,5 @@ uci -q batch <<-EOF >/dev/null
EOF
rm -f /tmp/luci-indexcache
-[ ! -x /usr/sbin/unbound-control ] && exit 0
-
-uci -q batch <<-EOF >/dev/null
- set luci.unboundhosts=command
- set luci.unboundhosts.name='Unbound Local Hosts'
- set luci.unboundhosts.command='unbound-control -c /var/lib/unbound/unbound.conf list_local_data'
- set luci.unboundzones=command
- set luci.unboundzones.name='Unbound Local Zones'
- set luci.unboundzones.command='unbound-control -c /var/lib/unbound/unbound.conf list_local_zones'
- commit luci
-EOF
-
-rm -f /tmp/luci-indexcache
exit 0
diff --git a/modules/luci-base/Makefile b/modules/luci-base/Makefile
index 291789cb64..6393195e59 100644
--- a/modules/luci-base/Makefile
+++ b/modules/luci-base/Makefile
@@ -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
diff --git a/modules/luci-base/luasrc/model/firewall.lua b/modules/luci-base/luasrc/model/firewall.lua
index 5573a9b86c..feff0855c4 100644
--- a/modules/luci-base/luasrc/model/firewall.lua
+++ b/modules/luci-base/luasrc/model/firewall.lua
@@ -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
diff --git a/modules/luci-base/luasrc/view/cbi/firewall_zoneforwards.htm b/modules/luci-base/luasrc/view/cbi/firewall_zoneforwards.htm
index 2a433b5696..546fd8e85a 100644
--- a/modules/luci-base/luasrc/view/cbi/firewall_zoneforwards.htm
+++ b/modules/luci-base/luasrc/view/cbi/firewall_zoneforwards.htm
@@ -43,11 +43,12 @@
&#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>
diff --git a/modules/luci-base/po/ca/base.po b/modules/luci-base/po/ca/base.po
index 45c221eac1..971d1a88a5 100644
--- a/modules/luci-base/po/ca/base.po
+++ b/modules/luci-base/po/ca/base.po
@@ -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"
diff --git a/modules/luci-base/po/cs/base.po b/modules/luci-base/po/cs/base.po
index c217b0c394..8f5044d505 100644
--- a/modules/luci-base/po/cs/base.po
+++ b/modules/luci-base/po/cs/base.po
@@ -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"
diff --git a/modules/luci-base/po/de/base.po b/modules/luci-base/po/de/base.po
index 183e495a22..dc0f7f2bd8 100644
--- a/modules/luci-base/po/de/base.po
+++ b/modules/luci-base/po/de/base.po
@@ -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"
diff --git a/modules/luci-base/po/el/base.po b/modules/luci-base/po/el/base.po
index b385651f34..7135314f2e 100644
--- a/modules/luci-base/po/el/base.po
+++ b/modules/luci-base/po/el/base.po
@@ -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"
diff --git a/modules/luci-base/po/en/base.po b/modules/luci-base/po/en/base.po
index 04207336e3..9cae494b57 100644
--- a/modules/luci-base/po/en/base.po
+++ b/modules/luci-base/po/en/base.po
@@ -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 ""
diff --git a/modules/luci-base/po/es/base.po b/modules/luci-base/po/es/base.po
index 626e374b45..3e71d4f436 100644
--- a/modules/luci-base/po/es/base.po
+++ b/modules/luci-base/po/es/base.po
@@ -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"
diff --git a/modules/luci-base/po/fr/base.po b/modules/luci-base/po/fr/base.po
index b0b4b4334c..0acfcef72a 100644
--- a/modules/luci-base/po/fr/base.po
+++ b/modules/luci-base/po/fr/base.po
@@ -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"
diff --git a/modules/luci-base/po/he/base.po b/modules/luci-base/po/he/base.po
index 2c2c5d27ec..a261f8782c 100644
--- a/modules/luci-base/po/he/base.po
+++ b/modules/luci-base/po/he/base.po
@@ -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 ""
diff --git a/modules/luci-base/po/hu/base.po b/modules/luci-base/po/hu/base.po
index 8f5aee4c78..bd2e4eeeca 100644
--- a/modules/luci-base/po/hu/base.po
+++ b/modules/luci-base/po/hu/base.po
@@ -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"
diff --git a/modules/luci-base/po/it/base.po b/modules/luci-base/po/it/base.po
index 3b8e095986..c3590b0e4c 100644
--- a/modules/luci-base/po/it/base.po
+++ b/modules/luci-base/po/it/base.po
@@ -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"
diff --git a/modules/luci-base/po/ja/base.po b/modules/luci-base/po/ja/base.po
index 7d23abede2..212f56522f 100644
--- a/modules/luci-base/po/ja/base.po
+++ b/modules/luci-base/po/ja/base.po
@@ -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 "デバイスの起動を待っています..."
+msgstr "デバイスを起動中です..."
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インターフェース"
diff --git a/modules/luci-base/po/ko/base.po b/modules/luci-base/po/ko/base.po
index 770a49cc5e..ddc27587cb 100644
--- a/modules/luci-base/po/ko/base.po
+++ b/modules/luci-base/po/ko/base.po
@@ -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 에 기록합니다"
diff --git a/modules/luci-base/po/ms/base.po b/modules/luci-base/po/ms/base.po
index c2f62721d1..23f97a70be 100644
--- a/modules/luci-base/po/ms/base.po
+++ b/modules/luci-base/po/ms/base.po
@@ -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 ""
diff --git a/modules/luci-base/po/no/base.po b/modules/luci-base/po/no/base.po
index 6a6e818681..d0048fb4fe 100644
--- a/modules/luci-base/po/no/base.po
+++ b/modules/luci-base/po/no/base.po
@@ -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"
diff --git a/modules/luci-base/po/pl/base.po b/modules/luci-base/po/pl/base.po
index e36461615d..9342214d59 100644
--- a/modules/luci-base/po/pl/base.po
+++ b/modules/luci-base/po/pl/base.po
@@ -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"
diff --git a/modules/luci-base/po/pt-br/base.po b/modules/luci-base/po/pt-br/base.po
index 87c32bff92..df0e915d65 100644
--- a/modules/luci-base/po/pt-br/base.po
+++ b/modules/luci-base/po/pt-br/base.po
@@ -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)"
diff --git a/modules/luci-base/po/pt/base.po b/modules/luci-base/po/pt/base.po
index bea93f5c38..c6db76867c 100644
--- a/modules/luci-base/po/pt/base.po
+++ b/modules/luci-base/po/pt/base.po
@@ -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"
diff --git a/modules/luci-base/po/ro/base.po b/modules/luci-base/po/ro/base.po
index 2ee8537ac8..d7e860c419 100644
--- a/modules/luci-base/po/ro/base.po
+++ b/modules/luci-base/po/ro/base.po
@@ -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"
diff --git a/modules/luci-base/po/ru/base.po b/modules/luci-base/po/ru/base.po
index 6515772620..fdbe3842aa 100644
--- a/modules/luci-base/po/ru/base.po
+++ b/modules/luci-base/po/ru/base.po
@@ -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-запросы в системный журнал"
diff --git a/modules/luci-base/po/sk/base.po b/modules/luci-base/po/sk/base.po
index ab876ce326..09f32727a7 100644
--- a/modules/luci-base/po/sk/base.po
+++ b/modules/luci-base/po/sk/base.po
@@ -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 ""
diff --git a/modules/luci-base/po/sv/base.po b/modules/luci-base/po/sv/base.po
index 803ac28196..bbe52fca6c 100644
--- a/modules/luci-base/po/sv/base.po
+++ b/modules/luci-base/po/sv/base.po
@@ -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 "på"
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"
diff --git a/modules/luci-base/po/templates/base.pot b/modules/luci-base/po/templates/base.pot
index 1aa1816c20..ba569aaa81 100644
--- a/modules/luci-base/po/templates/base.pot
+++ b/modules/luci-base/po/templates/base.pot
@@ -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 ""
diff --git a/modules/luci-base/po/tr/base.po b/modules/luci-base/po/tr/base.po
index 3c814cd30f..7c95a34871 100644
--- a/modules/luci-base/po/tr/base.po
+++ b/modules/luci-base/po/tr/base.po
@@ -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 ""
diff --git a/modules/luci-base/po/uk/base.po b/modules/luci-base/po/uk/base.po
index 83e5501963..787a90279c 100644
--- a/modules/luci-base/po/uk/base.po
+++ b/modules/luci-base/po/uk/base.po
@@ -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-запити до системного журналу"
diff --git a/modules/luci-base/po/vi/base.po b/modules/luci-base/po/vi/base.po
index 7bd7868cf4..6600c90bd9 100644
--- a/modules/luci-base/po/vi/base.po
+++ b/modules/luci-base/po/vi/base.po
@@ -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 ""
diff --git a/modules/luci-base/po/zh-cn/base.po b/modules/luci-base/po/zh-cn/base.po
index 0ea00ff28d..109110cc5a 100644
--- a/modules/luci-base/po/zh-cn/base.po
+++ b/modules/luci-base/po/zh-cn/base.po
@@ -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 请求写入系统日志"
diff --git a/modules/luci-base/po/zh-tw/base.po b/modules/luci-base/po/zh-tw/base.po
index 7b2792e61f..e0ca7780b5 100644
--- a/modules/luci-base/po/zh-tw/base.po
+++ b/modules/luci-base/po/zh-tw/base.po
@@ -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請求到系統日誌中"
diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua
index 51913729dc..f9a2dee6ce 100644
--- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua
+++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua
@@ -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
diff --git a/protocols/luci-proto-vpnc/luasrc/model/cbi/admin_network/proto_vpnc.lua b/protocols/luci-proto-vpnc/luasrc/model/cbi/admin_network/proto_vpnc.lua
index a47ce1588c..d8217ce8d3 100644
--- a/protocols/luci-proto-vpnc/luasrc/model/cbi/admin_network/proto_vpnc.lua
+++ b/protocols/luci-proto-vpnc/luasrc/model/cbi/admin_network/proto_vpnc.lua
@@ -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"))