summaryrefslogtreecommitdiffhomepage
path: root/applications
diff options
context:
space:
mode:
Diffstat (limited to 'applications')
-rw-r--r--applications/luci-app-acl/po/fi/acl.po141
-rw-r--r--applications/luci-app-acme/po/fi/acme.po147
-rw-r--r--applications/luci-app-adblock/po/fi/adblock.po724
-rw-r--r--applications/luci-app-advanced-reboot/po/fi/advanced-reboot.po216
-rw-r--r--applications/luci-app-ahcp/po/fi/ahcp.po156
-rw-r--r--applications/luci-app-aria2/po/fi/aria2.po798
-rw-r--r--applications/luci-app-attendedsysupgrade/po/fi/attendedsysupgrade.po14
-rw-r--r--applications/luci-app-banip/po/fi/banip.po483
-rw-r--r--applications/luci-app-bcp38/po/fi/bcp38.po64
-rw-r--r--applications/luci-app-bmx7/po/fi/bmx7.po213
-rw-r--r--applications/luci-app-clamav/po/fi/clamav.po197
-rw-r--r--applications/luci-app-commands/po/fi/commands.po150
-rw-r--r--applications/luci-app-coovachilli/po/fi/coovachilli.po647
-rw-r--r--applications/luci-app-cshark/po/fi/cshark.po109
-rw-r--r--applications/luci-app-dcwapd/po/fi/dcwapd.po119
-rw-r--r--applications/luci-app-ddns/po/fi/ddns.po797
-rw-r--r--applications/luci-app-dnscrypt-proxy/po/fi/dnscrypt-proxy.po309
-rw-r--r--applications/luci-app-dump1090/po/fi/dump1090.po232
-rw-r--r--applications/luci-app-dynapoint/po/fi/dynapoint.po133
-rw-r--r--applications/luci-app-firewall/po/fi/firewall.po1134
-rw-r--r--applications/luci-app-frpc/po/fi/frpc.po359
-rw-r--r--applications/luci-app-frps/po/fi/frps.po317
-rw-r--r--applications/luci-app-fwknopd/po/fi/fwknopd.po119
-rw-r--r--applications/luci-app-https-dns-proxy/po/fi/https-dns-proxy.po187
-rw-r--r--applications/luci-app-ksmbd/po/fi/ksmbd.po114
-rw-r--r--applications/luci-app-ltqtapi/po/fi/ltqtapi.po88
-rw-r--r--applications/luci-app-lxc/po/fi/lxc.po108
-rw-r--r--applications/luci-app-minidlna/po/fi/minidlna.po239
-rw-r--r--applications/luci-app-mjpg-streamer/po/fi/mjpg-streamer.po204
-rw-r--r--applications/luci-app-mwan3/po/fi/mwan3.po802
-rw-r--r--applications/luci-app-nextdns/po/fi/nextdns.po95
-rw-r--r--applications/luci-app-nft-qos/po/fi/nft-qos.po237
-rw-r--r--applications/luci-app-nlbwmon/po/fi/nlbwmon.po550
-rw-r--r--applications/luci-app-noddos/po/fi/noddos.po131
-rw-r--r--applications/luci-app-ntpc/po/fi/ntpc.po76
-rw-r--r--applications/luci-app-nut/po/fi/nut.po601
-rw-r--r--applications/luci-app-ocserv/po/fi/ocserv.po322
-rw-r--r--applications/luci-app-olsr-services/po/fi/olsr-services.po35
-rw-r--r--applications/luci-app-olsr-viz/po/fi/olsr-viz.po13
-rw-r--r--applications/luci-app-olsr/po/fi/olsr.po1126
-rw-r--r--applications/luci-app-omcproxy/po/fi/omcproxy.po70
-rw-r--r--applications/luci-app-openvpn/po/fi/openvpn.po837
-rw-r--r--applications/luci-app-opkg/po/fi/opkg.po339
-rw-r--r--applications/luci-app-p910nd/po/fi/p910nd.po63
-rw-r--r--applications/luci-app-pagekitec/po/fi/pagekitec.po67
-rw-r--r--applications/luci-app-polipo/po/fi/polipo.po328
-rw-r--r--applications/luci-app-privoxy/po/fi/privoxy.po596
-rw-r--r--applications/luci-app-qos/po/fi/qos.po120
-rw-r--r--applications/luci-app-radicale/po/fi/radicale.po521
-rw-r--r--applications/luci-app-radicale2/po/fi/radicale2.po488
-rw-r--r--applications/luci-app-rp-pppoe-server/po/fi/rp-pppoe-server.po104
-rw-r--r--applications/luci-app-samba4/po/fi/samba4.po184
-rw-r--r--applications/luci-app-ser2net/po/fi/ser2net.po202
-rw-r--r--applications/luci-app-shadowsocks-libev/po/fi/shadowsocks-libev.po345
-rw-r--r--applications/luci-app-shairplay/po/fi/shairplay.po60
-rw-r--r--applications/luci-app-simple-adblock/po/fi/simple-adblock.po430
-rw-r--r--applications/luci-app-splash/po/fi/splash.po410
-rw-r--r--applications/luci-app-sqm/po/fi/sqm.po193
-rw-r--r--applications/luci-app-squid/po/fi/squid.po34
-rw-r--r--applications/luci-app-statistics/po/fi/statistics.po1514
-rw-r--r--applications/luci-app-tinyproxy/po/fi/tinyproxy.po410
-rw-r--r--applications/luci-app-transmission/po/fi/transmission.po430
-rw-r--r--applications/luci-app-travelmate/po/fi/travelmate.po570
-rw-r--r--applications/luci-app-ttyd/po/fi/ttyd.po207
-rw-r--r--applications/luci-app-udpxy/po/fi/udpxy.po75
-rw-r--r--applications/luci-app-uhttpd/po/fi/uhttpd.po259
-rw-r--r--applications/luci-app-unbound/po/fi/unbound.po753
-rw-r--r--applications/luci-app-upnp/po/fi/upnp.po232
-rw-r--r--applications/luci-app-vnstat/po/fi/vnstat.po79
-rw-r--r--applications/luci-app-vnstat2/po/fi/vnstat2.po128
-rw-r--r--applications/luci-app-vpn-policy-routing/po/fi/vpn-policy-routing.po441
-rw-r--r--applications/luci-app-vpnbypass/po/fi/vpnbypass.po119
-rw-r--r--applications/luci-app-watchcat/po/fi/watchcat.po70
-rw-r--r--applications/luci-app-wifischedule/po/fi/wifischedule.po142
-rw-r--r--applications/luci-app-wireguard/po/fi/wireguard.po110
-rw-r--r--applications/luci-app-wol/po/fi/wol.po78
-rw-r--r--applications/luci-app-yggdrasil/po/fi/yggdrasil.po327
77 files changed, 23841 insertions, 0 deletions
diff --git a/applications/luci-app-acl/po/fi/acl.po b/applications/luci-app-acl/po/fi/acl.po
new file mode 100644
index 000000000..f7d72dae4
--- /dev/null
+++ b/applications/luci-app-acl/po/fi/acl.po
@@ -0,0 +1,141 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acme/po/fi/acme.po b/applications/luci-app-acme/po/fi/acme.po
new file mode 100644
index 000000000..782852df5
--- /dev/null
+++ b/applications/luci-app-acme/po/fi/acme.po
@@ -0,0 +1,147 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:18
+msgid "ACME certificates"
+msgstr ""
+
+#: applications/luci-app-acme/root/usr/share/luci/menu.d/luci-app-acme.json:3
+msgid "ACME certs"
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:27
+msgid "ACME global config"
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:35
+msgid "Account email"
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:43
+msgid "Certificate config"
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:94
+msgid "DNS API"
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:102
+msgid "DNS API credentials"
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:88
+msgid "Domain names"
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:89
+msgid ""
+"Domain names to include in the certificate. The first name will be the "
+"subject name, subsequent names will be alt names. Note that all domain names "
+"must point at the router in the global DNS."
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:36
+msgid "Email address to associate with account key."
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:40
+msgid "Enable debug logging"
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:47
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:51
+msgid ""
+"Get certificate from the Letsencrypt staging server (use for testing; the "
+"certificate won't be valid)."
+msgstr ""
+
+#: applications/luci-app-acme/root/usr/share/rpcd/acl.d/luci-app-acme.json:3
+msgid "Grant UCI access for luci-app-acme"
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:55
+msgid "Key size"
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:56
+msgid "Key size (and type) for the generated certificate."
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:30
+msgid "State directory"
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:103
+msgid ""
+"The credentials for the DNS API mode selected above. See https://github.com/"
+"Neilpang/acme.sh/tree/master/dnsapi#how-to-use-dns-api for the format of "
+"credentials required by each API. Add multiple entries here in KEY=VAL shell "
+"variable format to supply multiple credential variables."
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:19
+msgid ""
+"This configures ACME (Letsencrypt) automatic certificate installation. "
+"Simply fill out this to have the router configured with Letsencrypt-issued "
+"certificates for the web interface. Note that the domain names in the "
+"certificate must already be configured to point at the router's public IP "
+"address. Once configured, issuing certificates can take a while. Check the "
+"logs for progress and any errors."
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:95
+msgid ""
+"To use DNS mode to issue certificates, set this to the name of a DNS API "
+"supported by acme.sh. See https://github.com/Neilpang/acme.sh/tree/master/"
+"dnsapi for the list of available APIs. In DNS mode, the domain name does not "
+"have to resolve to the router IP. DNS mode is also the only mode that "
+"supports wildcard certificates. Using this mode requires the acme-dnsapi "
+"package to be installed."
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:75
+msgid ""
+"Update the nginx config with this certificate once issued (only select this "
+"for one certificate).Nginx must support ssl, if not it won't start as it "
+"needs to be compiled with ssl support to use cert options"
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:67
+msgid ""
+"Update the uhttpd config with this certificate once issued (only select this "
+"for one certificate).Is also available luci-app-uhttpd to configure uhttpd "
+"form the LuCI interface."
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:74
+msgid "Use for nginx"
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:66
+msgid "Use for uhttpd"
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:50
+msgid "Use staging server"
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:82
+msgid "Webroot directory"
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:83
+msgid ""
+"Webserver root directory. Set this to the webserver document root to run "
+"Acme in webroot mode. The web server must be accessible from the internet on "
+"port 80."
+msgstr ""
+
+#: applications/luci-app-acme/luasrc/model/cbi/acme.lua:31
+msgid "Where certs and other state files are kept."
+msgstr ""
diff --git a/applications/luci-app-adblock/po/fi/adblock.po b/applications/luci-app-adblock/po/fi/adblock.po
new file mode 100644
index 000000000..310fd1705
--- /dev/null
+++ b/applications/luci-app-adblock/po/fi/adblock.po
@@ -0,0 +1,724 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:257
+msgid "Action"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:216
+msgid "Active Sources"
+msgstr ""
+
+#: applications/luci-app-adblock/luasrc/controller/adblock.lua:6
+#: applications/luci-app-adblock/root/usr/share/luci/menu.d/luci-app-adblock.json:3
+msgid "Adblock"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:36
+msgid "Adblock action"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:11
+msgid "Add Blacklist Domain"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:46
+msgid "Add Whitelist Domain"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:12
+msgid "Add this (sub-)domain to your local blacklist."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:47
+msgid "Add this (sub-)domain to your local whitelist."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:405
+msgid "Additional Jail Blocklist"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:269
+msgid "Additional Settings"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:332
+msgid "Additional trigger delay in seconds before adblock processing begins."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:270
+msgid "Advanced DNS Settings"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:272
+msgid "Advanced E-Mail Settings"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:271
+msgid "Advanced Report Settings"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:256
+msgid "Answer"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:353
+msgid "Backup Directory"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:344
+msgid "Base Temp Directory"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:344
+msgid ""
+"Base Temp Directory for all adblock related runtime operations, e.g. "
+"downloading, sorting, merging etc."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/blacklist.js:15
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:34
+msgid ""
+"Blacklist changes have been saved. Refresh your adblock lists that changes "
+"take effect."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:281
+msgid "Blacklist..."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:210
+msgid "Blocked Domain"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:213
+msgid "Blocked Domains"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:349
+msgid "Blocklist Backup"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:81
+msgid "Blocklist Query"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:317
+msgid "Blocklist Query..."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:273
+msgid "Blocklist Sources"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:405
+msgid ""
+"Builds an additional DNS blocklist to block access to all domains except "
+"those listed in the whitelist. Please note: You can use this restrictive "
+"blocklist e.g. for guest wifi or kidsafe configurations."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:22
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:57
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:108
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:162
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:59
+msgid "Cancel"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:254
+msgid "Client"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:128
+msgid ""
+"Configuration of the adblock package to block ad/abuse domains by using DNS. "
+"For further information <a href=\"https://github.com/openwrt/packages/blob/"
+"master/net/adblock/files/README.md\" target=\"_blank\" rel=\"noreferrer "
+"noopener\" >check the online documentation</a>"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:205
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:207
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:209
+msgid "Count"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:349
+msgid ""
+"Create compressed blocklist backups, they will be used in case of download "
+"errors or during startup."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:219
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:372
+msgid "DNS Backend"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:381
+msgid "DNS Directory"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:395
+msgid "DNS File Reset"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:308
+#: applications/luci-app-adblock/luasrc/controller/adblock.lua:8
+#: applications/luci-app-adblock/root/usr/share/luci/menu.d/luci-app-adblock.json:27
+msgid "DNS Report"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:309
+msgid "DNS Requests (blocked)"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:306
+msgid "DNS Requests (total)"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:385
+msgid "DNS Restart Timeout"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:252
+msgid "Date"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:402
+msgid "Disable DNS Allow"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:414
+msgid "Disable DNS Restarts"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:414
+msgid ""
+"Disable adblock triggered restarts for dns backends with autoload/inotify "
+"functions."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:402
+msgid "Disable selective DNS whitelisting (RPZ pass through)."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:208
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:255
+msgid "Domain"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:366
+msgid "Download Parameters"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:337
+msgid "Download Queue"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:359
+msgid "Download Utility"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:312
+msgid "E-Mail Notification"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:460
+msgid "E-Mail Notification Count"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:456
+msgid "E-Mail Profile"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:316
+msgid "E-Mail Receiver Address"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:448
+msgid "E-Mail Sender Address"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:452
+msgid "E-Mail Topic"
+msgstr ""
+
+#: applications/luci-app-adblock/luasrc/controller/adblock.lua:9
+#: applications/luci-app-adblock/root/usr/share/luci/menu.d/luci-app-adblock.json:35
+msgid "Edit Blacklist"
+msgstr ""
+
+#: applications/luci-app-adblock/luasrc/controller/adblock.lua:10
+#: applications/luci-app-adblock/root/usr/share/luci/menu.d/luci-app-adblock.json:43
+msgid "Edit Whitelist"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:301
+msgid "Enable SafeSearch"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:304
+msgid "Enable moderate SafeSearch filters for youtube."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:284
+msgid "Enable the adblock service."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:324
+msgid "Enable verbose debug logging in case of any processing errors."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:284
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:303
+msgid "End Date"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:301
+msgid ""
+"Enforcing SafeSearch for google, bing, duckduckgo, yandex, youtube and "
+"pixabay."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:18
+msgid "Existing job(s)"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:390
+msgid "External DNS Lookup Domain"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:390
+msgid ""
+"External domain to check for a successful DNS backend restart. Please note: "
+"To disable this check set this option to 'false'."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:156
+msgid "Filter criteria like date, domain or client (optional)"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:399
+msgid "Flush DNS Cache"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:399
+msgid "Flush the DNS Cache before adblock processing as well."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:293
+msgid "Force Local DNS"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:308
+msgid ""
+"Gather DNS related network traffic via tcpdump and provide a DNS Report on "
+"demand. Please note: this needs additional 'tcpdump-mini' package "
+"installation and a full adblock service restart to take effect."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:268
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-adblock/root/usr/share/rpcd/acl.d/luci-app-adblock.json:3
+msgid "Grant access to LuCI app adblock"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:208
+msgid "Information"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:409
+msgid "Jail Directory"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:234
+msgid "Last Run"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:336
+msgid "Latest DNS Requests"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:421
+msgid "List of available network devices used by tcpdump."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:287
+msgid ""
+"List of available network interfaces to trigger the adblock start. Choose "
+"'unspecified' to use a classic startup timeout instead of a network trigger."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:372
+msgid ""
+"List of supported DNS backends with their default list directory. To "
+"overwrite the default path use the 'DNS Directory' option."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:273
+msgid ""
+"List of supported and fully pre-configured adblock sources, already active "
+"sources are pre-selected.<br /> <b><em>To avoid OOM errors, please do not "
+"select too many lists!</em></b><br /> List size information with the "
+"respective domain ranges as follows:<br /> &#8226;&#xa0;<b>S</b> (-10k), "
+"<b>M</b> (10k-30k) and <b>L</b> (30k-80k) should work for 128 MByte devices,"
+"<br /> &#8226;&#xa0;<b>XL</b> (80k-200k) should work for 256-512 MByte "
+"devices,<br /> &#8226;&#xa0;<b>XXL</b> (200k-) needs more RAM and Multicore "
+"support, e.g. x86 or raspberry devices.<br /> <p>&#xa0;</p>"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:359
+msgid "List of supported and fully pre-configured download utilities."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:296
+msgid "Local DNS Ports"
+msgstr ""
+
+#: applications/luci-app-adblock/luasrc/controller/adblock.lua:11
+#: applications/luci-app-adblock/root/usr/share/luci/menu.d/luci-app-adblock.json:51
+msgid "Log View"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:327
+msgid "Low Priority Service"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:206
+msgid "Name / IP Address"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:123
+msgid "No Query results!"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/logread.js:21
+msgid "No adblock related logs yet!"
+msgstr ""
+
+#: applications/luci-app-adblock/luasrc/controller/adblock.lua:7
+#: applications/luci-app-adblock/root/usr/share/luci/menu.d/luci-app-adblock.json:19
+msgid "Overview"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:456
+msgid "Profile used by 'msmtp' for adblock notification E-Mails."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:131
+msgid "Query"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:82
+msgid "Query active blocklists and backups for a specific domain."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:460
+msgid ""
+"Raise the notification count, to get E-Mails if the overall blocklist count "
+"is less or equal to the given limit."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:316
+msgid "Receiver address for adblock notification e-mails."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:293
+msgid ""
+"Redirect all DNS queries from 'lan' zone to the local DNS resolver, applies "
+"to UDP and TCP protocol."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:327
+msgid ""
+"Reduce the priority of the adblock background processing to take fewer "
+"resources from the system. Please note: This change requires a full adblock "
+"service restart to take effect."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:183
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:257
+msgid "Refresh"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:138
+msgid "Refresh DNS Report"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:15
+msgid "Refresh Timer"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:242
+msgid "Refresh Timer..."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:324
+msgid "Refresh..."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:431
+msgid "Report Chunk Count"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:436
+msgid "Report Chunk Size"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:426
+msgid "Report Directory"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:421
+msgid "Report Interface"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:441
+msgid "Report Ports"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:431
+msgid "Report chunk count used by tcpdump."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:436
+msgid "Report chunk size used by tcpdump in MByte."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:395
+msgid ""
+"Resets the final DNS blocklist 'adb_list.overall' after DNS backend loading. "
+"Please note: This option starts a small ubus/adblock monitor in the "
+"background."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:95
+msgid "Result"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:228
+msgid "Run Directories"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:231
+msgid "Run Flags"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:225
+msgid "Run Interfaces"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:222
+msgid "Run Utils"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:304
+msgid "SafeSearch Moderate"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:39
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:74
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:83
+msgid "Save"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:312
+msgid ""
+"Send adblock related notification e-mails. Please note: this needs "
+"additional 'msmtp' package installation."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:448
+msgid "Sender address for adblock notification E-Mails."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:29
+msgid "Set/Replace a new adblock job"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:266
+msgid "Settings"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:337
+msgid ""
+"Size of the download queue for download processing (incl. sorting, merging "
+"etc.) in parallel."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:468
+msgid "Sources (Size, Focus)"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:296
+msgid ""
+"Space separated list of DNS-related firewall ports which should be forced "
+"locally."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:441
+msgid "Space separated list of ports used by tcpdump."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:366
+msgid "Special config options for the selected download utility."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:300
+msgid "Start Date"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:287
+msgid "Startup Trigger Interface"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:210
+msgid "Status / Version"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:250
+msgid "Suspend"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:426
+msgid ""
+"Target directory for DNS related report files. Default is '/tmp', please use "
+"preferably an usb stick or another local disk."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:353
+msgid ""
+"Target directory for blocklist backups. Default is '/tmp', please use "
+"preferably an usb stick or another local disk."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:381
+msgid "Target directory for the generated blocklist 'adb_list.overall'."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:409
+msgid "Target directory for the generated jail blocklist 'adb_list.jail'."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:72
+msgid "The Refresh Timer could not been updated."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:74
+msgid "The Refresh Timer has been updated."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:52
+msgid "The day of the week (opt., values: 1-7 possibly sep. by , or -)"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:42
+msgid "The hours portition (req., range: 0-23)"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:47
+msgid "The minutes portion (opt., range: 0-59)"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/logread.js:28
+msgid "The syslog output, pre-filtered for adblock related messages only."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/blacklist.js:23
+msgid ""
+"This is the local adblock blacklist to always-deny certain (sub) domains."
+"<br /> Please note: add only one domain per line. Comments introduced with "
+"'#' are allowed - ip addresses, wildcards and regex are not."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/whitelist.js:23
+msgid ""
+"This is the local adblock whitelist to always allow certain (sub) domains."
+"<br /> Please note: add only one domain per line. Comments introduced with "
+"'#' are allowed - ip addresses, wildcards and regex are not."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:297
+msgid ""
+"This shows the last generated DNS Report, press the refresh button to get a "
+"current one."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:253
+msgid "Time"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:385
+msgid "Timeout to wait for a successful DNS backend restart."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:16
+msgid ""
+"To keep your adblock lists up-to-date, you should setup an automatic update "
+"job for these lists."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:329
+msgid "Top 10 Statistics"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:452
+msgid "Topic for adblock notification E-Mails."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:332
+msgid "Trigger Delay"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/blacklist.js:17
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/whitelist.js:17
+msgid "Unable to save changes: %s"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:324
+msgid "Verbose Debug Logging"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:69
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/whitelist.js:15
+msgid ""
+"Whitelist changes have been saved. Refresh your adblock lists that changes "
+"take effect."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:273
+msgid "Whitelist..."
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:374
+msgid "dnsmasq (/tmp/dnsmasq.d)"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:377
+msgid "kresd (/etc/kresd)"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:149
+msgid "max. result set size"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:376
+msgid "named (/var/lib/bind)"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:378
+msgid "raw (/tmp)"
+msgstr ""
+
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:375
+msgid "unbound (/var/lib/unbound)"
+msgstr ""
diff --git a/applications/luci-app-advanced-reboot/po/fi/advanced-reboot.po b/applications/luci-app-advanced-reboot/po/fi/advanced-reboot.po
new file mode 100644
index 000000000..49c979801
--- /dev/null
+++ b/applications/luci-app-advanced-reboot/po/fi/advanced-reboot.po
@@ -0,0 +1,216 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:163
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:10
+msgid "Advanced Reboot"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:36
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:60
+msgid "Alternative"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/alternative_reboot.htm:24
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/power_off.htm:20
+msgid "Cancel"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/applyreboot.htm:42
+msgid "Changes applied."
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:123
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:124
+msgid "Compressed"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/alternative_reboot.htm:10
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/power_off.htm:10
+msgid "Confirm"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:36
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:60
+msgid "Current"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:18
+msgid "ERROR:"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:28
+msgid "Firmware"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/applyreboot.htm:45
+msgid "Loading"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:205
+msgid "No access to fw_printenv or fw_printenv!"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:26
+msgid "Partition"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:23
+msgid "Partitions"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:94
+msgid "Perform power off..."
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/power_off.htm:10
+msgid "Power Off Device"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/alternative_reboot.htm:25
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/power_off.htm:21
+msgid "Proceed"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:29
+msgid "Reboot"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/alternative_reboot.htm:10
+msgid "Reboot Device to an Alternative Partition"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:50
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:74
+msgid "Reboot to alternative partition..."
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:45
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:69
+msgid "Reboot to current partition"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:184
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:256
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/applyreboot.htm:9
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/applyreboot.htm:39
+msgid "Rebooting..."
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:289
+msgid "Shutting down..."
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:27
+msgid "Status"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/applyreboot.htm:39
+msgid "System"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:185
+msgid ""
+"The system is rebooting now.<br /> DO NOT POWER OFF THE DEVICE!<br /> Wait a "
+"few minutes before you try to reconnect. It might be necessary to renew the "
+"address of your computer to reach the device again, depending on your "
+"settings."
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:257
+msgid ""
+"The system is rebooting to an alternative partition now.<br /> DO NOT POWER "
+"OFF THE DEVICE!<br /> Wait a few minutes before you try to reconnect. It "
+"might be necessary to renew the address of your computer to reach the device "
+"again, depending on your settings."
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:290
+msgid ""
+"The system is shutting down now.<br /> DO NOT POWER OFF THE DEVICE!<br /> It "
+"might be necessary to renew the address of your computer to reach the device "
+"again, depending on your settings."
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:136
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:137
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:240
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:241
+msgid "Unable to find Dual Boot Flag Partition."
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:212
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:213
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:226
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:227
+msgid "Unable to obtain firmware environment variable: %s."
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:248
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:249
+msgid "Unable to set Dual Boot Flag Partition entry for partition: %s."
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:218
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:219
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:232
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:233
+msgid "Unable to set firmware environment variable: %s to %s."
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:118
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:119
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:123
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:124
+msgid "Unknown"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/alternative_reboot.htm:12
+msgid ""
+"WARNING: An alternative partition might have its own settings and completely "
+"different firmware.<br /><br /> As your network configuration and WiFi SSID/"
+"password on alternative partition might be different, you might have to "
+"adjust your computer settings to be able to access your device once it "
+"reboots.<br /><br /> Please also be aware that alternative partition "
+"firmware might not provide an easy way to switch active partition and boot "
+"back to the currently active partition.<br /><br /> Click \"Proceed\" below "
+"to reboot device to an alternative partition."
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/power_off.htm:12
+msgid ""
+"WARNING: Power off might result in a reboot on a device which doesn't "
+"support power off.<br /><br /> Click \"Proceed\" below to power off your "
+"device."
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/applyreboot.htm:46
+msgid "Waiting for changes to be applied..."
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:83
+msgid "Warning: Device (%s) is unknown or isn't a dual-partition device!"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:14
+msgid "Warning: There are unsaved changes that will get lost on reboot!"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:97
+msgid "Warning: This system does not support powering off!"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:85
+msgid "Warning: Unable to obtain device information!"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:45
+msgid "attempting to mount alternative partition (mtd%s)"
+msgstr ""
+
+#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:54
+msgid "attempting to unmount alternative partition (mtd%s)"
+msgstr ""
diff --git a/applications/luci-app-ahcp/po/fi/ahcp.po b/applications/luci-app-ahcp/po/fi/ahcp.po
new file mode 100644
index 000000000..62d727bb8
--- /dev/null
+++ b/applications/luci-app-ahcp/po/fi/ahcp.po
@@ -0,0 +1,156 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2012-04-15 11:31+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\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.4\n"
+
+#: applications/luci-app-ahcp/luasrc/controller/ahcp.lua:11
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:4
+msgid "AHCP Server"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:4
+msgid ""
+"AHCP is an autoconfiguration protocol for IPv6 and dual-stack IPv6/IPv4 "
+"networks designed to be used in place of router discovery or DHCP on "
+"networks where it is difficult or impossible to configure a server within "
+"every link-layer broadcast domain, for example mobile ad-hoc networks."
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/view/ahcp_status.htm:34
+msgid "Active AHCP Leases"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/view/ahcp_status.htm:38
+msgid "Address"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:14
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/view/ahcp_status.htm:39
+msgid "Age"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:38
+msgid "Announced DNS servers"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:44
+msgid "Announced NTP servers"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:32
+msgid "Announced prefixes"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/view/ahcp_status.htm:42
+msgid "Collecting data..."
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/admin_network/proto_ahcp.lua:55
+msgid "Disable DNS setup"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:21
+msgid "Forwarder"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:13
+msgid "General Setup"
+msgstr ""
+
+#: applications/luci-app-ahcp/root/usr/share/rpcd/acl.d/luci-app-ahcp.json:3
+msgid "Grant UCI access for luci-app-ahcp"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/admin_network/proto_ahcp.lua:24
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:61
+msgid "IPv4 and IPv6"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/admin_network/proto_ahcp.lua:25
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:62
+msgid "IPv4 only"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/admin_network/proto_ahcp.lua:26
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:63
+msgid "IPv6 only"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:97
+msgid "Lease directory"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/admin_network/proto_ahcp.lua:62
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:91
+msgid "Lease validity time"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:105
+msgid "Log file"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/admin_network/proto_ahcp.lua:11
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:50
+msgid "Multicast address"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:19
+msgid "Operation mode"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/admin_network/proto_ahcp.lua:17
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:55
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/admin_network/proto_ahcp.lua:23
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:60
+msgid "Protocol family"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:23
+msgid "Served interfaces"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:20
+msgid "Server"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:45
+msgid "Specifies the announced IPv4 and IPv6 NTP servers"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:39
+msgid "Specifies the announced IPv4 and IPv6 name servers"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:33
+msgid "Specifies the announced IPv4 and IPv6 network prefixes in CIDR notation"
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/view/ahcp_status.htm:25
+msgid "The AHCP Service is not running."
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/view/ahcp_status.htm:27
+msgid "The AHCP Service is running with ID %s."
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/view/ahcp_status.htm:22
+msgid "There are no active leases."
+msgstr ""
+
+#: applications/luci-app-ahcp/luasrc/model/cbi/ahcp.lua:101
+msgid "Unique ID file"
+msgstr ""
diff --git a/applications/luci-app-aria2/po/fi/aria2.po b/applications/luci-app-aria2/po/fi/aria2.po
new file mode 100644
index 000000000..6ef54b367
--- /dev/null
+++ b/applications/luci-app-aria2/po/fi/aria2.po
@@ -0,0 +1,798 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:296
+msgid "<abbr title=\"Local Peer Discovery\">LPD</abbr> enabled"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:414
+msgid "Additional BT tracker"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:419
+msgid "Advanced Options"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:169
+msgid "All proxy"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:228
+msgid "Append HEADERs to HTTP request header."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/controller/aria2.lua:17
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:35
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:14
+#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:45
+msgid "Aria2"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:37
+msgid ""
+"Aria2 is a lightweight multi-protocol &amp; multi-source, cross platform "
+"download utility."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:428
+msgid "Auto save interval"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:56
+msgid "Basic Options"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:276
+msgid "BitTorrent Options"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:335
+msgid "BitTorrent listen port"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:189
+msgid "CA certificate"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:195
+msgid "Certificate"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:182
+msgid "Check certificate"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:242
+msgid ""
+"Close connection if download speed is lower than or equal to this value "
+"(bytes per sec). 0 means has no lowest speed limit."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:49
+#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:29
+msgid "Collecting data..."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:73
+msgid "Config file directory"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/controller/aria2.lua:22
+msgid "Configuration"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:230
+msgid "Connect timeout"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:19
+msgid "Content of config file: <code>%s</code>"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:29
+msgid "Content of session file: <code>%s</code>"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:341
+msgid "DHT Listen port"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:87
+msgid "Debug"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:422
+msgid ""
+"Disable IPv6. This is useful if you have to use broken DNS and want to avoid "
+"terribly slow AAAA record lookup."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:440
+msgid "Disk cache"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:259
+msgid "Don't split less than 2*SIZE byte range. Possible values: 1M-1024M."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:254
+msgid "Download a file using N connections."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:69
+msgid "Download directory"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:26
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:36
+msgid "Empty file."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:280
+msgid "Enable IPv4 DHT functionality. It also enables UDP tracker support."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:290
+msgid "Enable IPv6 DHT functionality."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:298
+msgid "Enable Local Peer Discovery."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:307
+msgid "Enable Peer Exchange extension."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:442
+msgid "Enable disk cache (in bytes), set 0 to disabled."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:77
+msgid "Enable logging"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:305
+msgid "Enable peer exchange"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:166
+msgid "Enable proxy"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:58
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:91
+msgid "Error"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:44
+msgid "Error: Can't find aria2c in PATH, please reinstall aria2."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:482
+msgid "Extra Settings"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:39
+msgid "Failed to load log data."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:350
+msgid "False"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:447
+msgid "File allocation"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:25
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:35
+msgid "File does not exist."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/controller/aria2.lua:25
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:14
+msgid "Files"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:348
+msgid "Follow torrent"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:38
+msgid "For more information, please visit: %s"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:460
+msgid "Force save"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:129
+msgid "Generate Randomly"
+msgstr ""
+
+#: applications/luci-app-aria2/root/usr/share/rpcd/acl.d/luci-app-aria2.json:3
+msgid "Grant UCI access for luci-app-aria2"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:210
+msgid "HTTP accept gzip"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:219
+msgid "HTTP no cache"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:164
+msgid "HTTP/FTP/SFTP Options"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:227
+msgid "Header"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:15
+msgid "Here shows the files used by aria2."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:278
+msgid "IPv4 <abbr title=\"Distributed Hash Table\">DHT</abbr> enabled"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:288
+msgid "IPv6 <abbr title=\"Distributed Hash Table\">DHT</abbr> enabled"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:421
+msgid "IPv6 disabled"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:379
+msgid ""
+"If the whole download speed of every torrent is lower than SPEED, aria2 "
+"temporarily increases the number of peers to try for more download speed. "
+"Configuring this option with your preferred download speed can increase your "
+"download speed in some cases."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:88
+msgid "Info"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:33
+msgid "Installed web interface:"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:158
+msgid "Json-RPC URL"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:351
+msgid "Keep in memory"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:34
+msgid "Last 50 lines of log file:"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:36
+msgid "Last 50 lines of syslog:"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:62
+msgid "Leave blank to use default user."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:415
+msgid "List of additional BitTorrent tracker's announce URI."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:488
+msgid ""
+"List of extra settings. Format: option=value, eg. <code>netrc-path=/tmp/."
+"netrc</code>."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:48
+msgid "Loading"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/controller/aria2.lua:28
+msgid "Log"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:45
+msgid "Log Data"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:80
+msgid "Log file"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:85
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:240
+msgid "Lowest speed limit"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:94
+msgid "Max concurrent downloads"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:248
+msgid "Max connection per server"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:475
+msgid "Max download limit"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:253
+msgid "Max number of split"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:367
+msgid "Max open files"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:468
+msgid "Max overall download limit"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:353
+msgid "Max overall upload limit"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:372
+msgid "Max peers"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:262
+msgid "Max tries"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:360
+msgid "Max upload limit"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:258
+msgid "Min split size"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:115
+msgid "No Authentication"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:35
+#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:37
+msgid "No log data."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:454
+msgid "None"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:89
+msgid "Notice"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:99
+msgid "Pause"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:99
+msgid "Pause download after added."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:105
+msgid "Pause downloads created as a result of metadata download."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:104
+msgid "Pause metadata"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:64
+msgid "Please input token length:"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:393
+msgid "Prefix of peer ID"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:203
+msgid "Private key"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:177
+msgid "Proxy password"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:174
+msgid "Proxy user"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:97
+msgid "RPC Options"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:114
+msgid "RPC authentication method"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:140
+msgid "RPC certificate"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:122
+msgid "RPC password"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:110
+msgid "RPC port"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:149
+msgid "RPC private key"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:133
+msgid "RPC secure"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:126
+msgid "RPC token"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:134
+msgid ""
+"RPC transport will be encrypted by SSL/TLS. The RPC clients must use https "
+"scheme to access the server. For WebSocket client, use wss scheme."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:119
+msgid "RPC username"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:51
+msgid "Refresh every 10 seconds."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:322
+msgid "Remove unselected file"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:323
+msgid ""
+"Removes the unselected files when download is completed in BitTorrent. "
+"Please use this option with care because it will actually remove files from "
+"your disk."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:377
+msgid "Request peer speed limit"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:266
+msgid "Retry wait"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:61
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:429
+msgid ""
+"Save a control file (*.aria2) every N seconds. If 0 is given, a control file "
+"is not saved during download."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:461
+msgid ""
+"Save download to session file even if the download is completed or removed. "
+"This option also saves control file in that situations. This may be useful "
+"to save BitTorrent seeding which is recognized as completed state."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:435
+msgid ""
+"Save error/unfinished downloads to session file every N seconds. If 0 is "
+"given, file will be saved only when aria2 exits."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:316
+msgid ""
+"Save meta data as \".torrent\" file. This option has effect only when "
+"BitTorrent Magnet URI is used. The file name is hex encoded info hash with "
+"suffix \".torrent\"."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:315
+msgid "Save metadata"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:434
+msgid "Save session interval"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:330
+msgid "Seed previously downloaded files without verifying piece hashes."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:401
+msgid "Seed ratio"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:408
+msgid "Seed time"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:329
+msgid "Seed unverified"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:211
+msgid ""
+"Send <code>Accept: deflate, gzip</code> request header and inflate response "
+"if remote server responds with <code>Content-Encoding: gzip</code> or "
+"<code>Content-Encoding: deflate</code>."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:220
+msgid ""
+"Send <code>Cache-Control: no-cache</code> and <code>Pragma: no-cache</code> "
+"header to avoid cached content. If disabled, these headers are not sent and "
+"you can add Cache-Control header with a directive you like using \"Header\" "
+"option."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:336
+msgid ""
+"Set TCP port number for BitTorrent downloads. Accept format: \"6881,6885\", "
+"\"6881-6999\" and \"6881-6889,6999\". Make sure that the specified ports are "
+"open for incoming TCP traffic."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:342
+msgid ""
+"Set UDP listening port used by DHT (IPv4, IPv6) and UDP tracker. Make sure "
+"that the specified ports are open for incoming UDP traffic."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:477
+msgid ""
+"Set max download speed per each download in bytes/sec. 0 means unrestricted."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:470
+msgid "Set max overall download speed in bytes/sec. 0 means unrestricted."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:355
+msgid "Set max overall upload speed in bytes/sec. 0 means unrestricted."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:362
+msgid ""
+"Set max upload speed per each torrent in bytes/sec. 0 means unrestricted."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:231
+msgid ""
+"Set the connect timeout in seconds to establish connection to HTTP/FTP/proxy "
+"server. After the connection is established, this option makes no effect and "
+"\"Timeout\" option is used instead."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:267
+msgid "Set the seconds to wait between retries."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:272
+msgid "Set user agent for HTTP(S) downloads."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:35
+msgid "Settings"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:483
+msgid "Settings in this section will be added to config file."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:487
+msgid "Settings list"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:161
+msgid "Show URL"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:448
+msgid ""
+"Specify file allocation method. If you are using newer file systems such as "
+"ext4 (with extents support), btrfs, xfs or NTFS (MinGW build only), \"falloc"
+"\" is your best choice. It allocates large(few GiB) files almost instantly, "
+"but it may not be available if your system doesn't have posix_fallocate(3) "
+"function. Don't use \"falloc\" with legacy file systems such as ext3 and "
+"FAT32 because it takes almost same time as \"prealloc\" and it blocks aria2 "
+"entirely until allocation finishes."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:368
+msgid ""
+"Specify maximum number of files to open in multi-file BitTorrent download "
+"globally."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:409
+msgid ""
+"Specify seeding time in minutes. If \"Seed ratio\" option is specified along "
+"with this option, seeding ends when at least one of the conditions is "
+"satisfied. Specifying 0 disables seeding after download completed."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:402
+msgid ""
+"Specify share ratio. Seed completed torrents until share ratio reaches "
+"RATIO. You are strongly encouraged to specify equals or more than 1.0 here. "
+"Specify 0.0 if you intend to do seeding regardless of share ratio."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:373
+msgid "Specify the maximum number of peers per torrent, 0 means unlimited."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:394
+msgid ""
+"Specify the prefix of peer ID. The peer ID in BitTorrent is 20 byte length. "
+"If more than 20 bytes are specified, only first 20 bytes are used. If less "
+"than 20 bytes are specified, random byte data are added to make its length "
+"20 bytes."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:388
+msgid ""
+"Stop BitTorrent download if download speed is 0 in consecutive N seconds. If "
+"0 is given, this feature is disabled."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:387
+msgid "Stop timeout"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:48
+msgid "The Aria2 service is not running."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:47
+msgid "The Aria2 service is running."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:74
+msgid "The directory to store the config file, session file and DHT file."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:70
+msgid ""
+"The directory to store the downloaded file. For example <code>/mnt/sda1</"
+"code>."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:81
+msgid "The file name of the log file."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:249
+msgid "The maximum number of connections to one server for each download."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:281
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:291
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:299
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:308
+msgid "This option will be ignored if a private flag is set in a torrent."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:236
+msgid "Timeout"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:117
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:349
+msgid "True"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:156
+msgid "Use WebSocket"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:170
+msgid "Use a proxy server for all protocols."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:190
+msgid ""
+"Use the certificate authorities in FILE to verify the peers. The certificate "
+"file must be in PEM format and can contain multiple CA certificates."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:141
+msgid ""
+"Use the certificate in FILE for RPC server. The certificate must be either "
+"in PKCS12 (.p12, .pfx) or in PEM format.<br/>PKCS12 files must contain the "
+"certificate, a key and optionally a chain of additional certificates. Only "
+"PKCS12 files with a blank import password can be opened!<br/>When using PEM, "
+"you have to specify the \"RPC private key\" as well."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:196
+msgid ""
+"Use the client certificate in FILE. The certificate must be either in PKCS12 "
+"(.p12, .pfx) or in PEM format.<br/>PKCS12 files must contain the "
+"certificate, a key and optionally a chain of additional certificates. Only "
+"PKCS12 files with a blank import password can be opened!<br/>When using PEM, "
+"you have to specify the \"Private key\" as well."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:150
+msgid ""
+"Use the private key in FILE for RPC server. The private key must be "
+"decrypted and in PEM format."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:204
+msgid ""
+"Use the private key in FILE. The private key must be decrypted and in PEM "
+"format. The behavior when encrypted one is given is undefined."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:271
+msgid "User agent"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:116
+msgid "Username & Password"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:183
+msgid ""
+"Verify the peer using certificates specified in \"CA certificate\" option."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:90
+msgid "Warn"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:244
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:356
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:363
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:383
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:443
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:471
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:478
+msgid "You can append K or M."
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:457
+msgid "falloc"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:455
+msgid "prealloc"
+msgstr ""
+
+#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:456
+msgid "trunc"
+msgstr ""
diff --git a/applications/luci-app-attendedsysupgrade/po/fi/attendedsysupgrade.po b/applications/luci-app-attendedsysupgrade/po/fi/attendedsysupgrade.po
new file mode 100644
index 000000000..133555ea6
--- /dev/null
+++ b/applications/luci-app-attendedsysupgrade/po/fi/attendedsysupgrade.po
@@ -0,0 +1,14 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-attendedsysupgrade/luasrc/view/attendedsysupgrade.htm:76
+#: applications/luci-app-attendedsysupgrade/root/usr/share/luci/menu.d/luci-app-attendedsysupgrade.json:3
+msgid "Attended Sysupgrade"
+msgstr ""
+
+#: applications/luci-app-attendedsysupgrade/root/usr/share/rpcd/acl.d/attendedsysupgrade.json:3
+msgid "attended sysupgrade via rpcd and luci"
+msgstr ""
diff --git a/applications/luci-app-banip/po/fi/banip.po b/applications/luci-app-banip/po/fi/banip.po
new file mode 100644
index 000000000..976f18c8d
--- /dev/null
+++ b/applications/luci-app-banip/po/fi/banip.po
@@ -0,0 +1,483 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:89
+msgid "ASN Overview"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:90
+msgid "ASN Prefixes"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:74
+msgid "ASN/Country"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:139
+msgid "Additional trigger delay in seconds before banIP processing begins."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:25
+msgid "Advanced"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:24
+msgid "Automatic WAN Interface Detection"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:94
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:138
+msgid "Backup Directory"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:115
+msgid ""
+"Blacklist auto addons are stored temporary in the IPSet and saved "
+"permanently in the local blacklist. Disable this option to prevent the local "
+"save."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ipsetview.htm:45
+msgid "Check the current available IPSets."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:11
+msgid ""
+"Configuration of the banIP package to block ip adresses/subnets via IPSet."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:92
+msgid "Country Resources"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:94
+msgid "DNS Chain"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:177
+msgid "DST Target IPv4"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:209
+msgid "DST Target IPv6"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:72
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:134
+msgid "Download Options"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:126
+msgid "Download Utility"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:126
+msgid "Download Utility, RT Monitor"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:26
+msgid "Edit Blacklist"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:28
+msgid "Edit Configuration"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:27
+msgid "Edit Whitelist"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:20
+msgid "Enable banIP"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:84
+msgid "Enable verbose debug logging in case of any processing error."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:82
+msgid "Enter IP/CIDR/ASN/ISO"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:80
+msgid "Extra Options"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:12
+msgid ""
+"For further information <a href=\"%s\" target=\"_blank\">check the online "
+"documentation</a>"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:102
+msgid ""
+"For further performance improvements you can raise this value, e.g. '8' or "
+"'16' should be safe."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:88
+msgid "Geo Location"
+msgstr ""
+
+#: applications/luci-app-banip/root/usr/share/rpcd/acl.d/luci-app-banip.json:3
+msgid "Grant UCI access for luci-app-banip"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:95
+msgid "IANA Information"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:91
+msgid "IP/ASN Mapping"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:132
+msgid "IPSet Information"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:56
+msgid "IPSet Sources"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:22
+msgid "IPSet-Lookup"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/blacklist_tab.lua:10
+#: applications/luci-app-banip/luasrc/model/cbi/banip/configuration_tab.lua:9
+#: applications/luci-app-banip/luasrc/model/cbi/banip/whitelist_tab.lua:10
+msgid "Input file not found, please check your configuration."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:166
+msgid "LAN Forward Chain IPv4"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:198
+msgid "LAN Forward Chain IPv6"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:161
+msgid "LAN Input Chain IPv4"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:193
+msgid "LAN Input Chain IPv6"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:144
+msgid "Last Run"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ipsetview.htm:59
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:97
+msgid "Load"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:81
+msgid "Loading"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ipsetview.htm:27
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:58
+msgid "Loading ..."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:114
+msgid "Local Save Blacklist Addons"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:119
+msgid "Local Save Whitelist Addons"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:87
+msgid "Low Priority Service"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:28
+msgid "Manual WAN Interface Selection"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:100
+msgid "Max. Download Queue"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ipsetview.htm:34
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:65
+msgid "No response!"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:81
+msgid ""
+"Options for further tweaking in case the defaults are not suitable for you."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:21
+msgid "Overview"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/blacklist_tab.lua:32
+#: applications/luci-app-banip/luasrc/model/cbi/banip/whitelist_tab.lua:32
+msgid ""
+"Please add only one IPv4 or IPv6 address per line. IP ranges in CIDR "
+"notation and comments introduced with '#' are allowed."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/blacklist_tab.lua:19
+#: applications/luci-app-banip/luasrc/model/cbi/banip/configuration_tab.lua:18
+#: applications/luci-app-banip/luasrc/model/cbi/banip/whitelist_tab.lua:19
+msgid "Please edit this file directly in a terminal session."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:23
+msgid "RIPE-Lookup"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:18
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:153
+msgid "Refresh"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:151
+msgid "Refresh IPSets"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:21
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:160
+msgid "Reload"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:158
+msgid "Reload IPSet Sources"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:112
+msgid "Runtime Information"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:171
+msgid "SRC Target IPv4"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:203
+msgid "SRC Target IPv6"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:65
+msgid "SRC/DST"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:107
+msgid "SSH Daemon"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:43
+msgid "SSH/LuCI RT Monitor"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/blacklist_tab.lua:27
+#: applications/luci-app-banip/luasrc/model/cbi/banip/configuration_tab.lua:26
+#: applications/luci-app-banip/luasrc/model/cbi/banip/whitelist_tab.lua:27
+msgid "Save"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:108
+msgid "Select the SSH daemon for logfile parsing, to detect break-in events."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:145
+msgid "Select the used start type during boot."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:127
+msgid "Select your preferred download utility."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:29
+msgid "Select your preferred interface(s) manually."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:88
+msgid ""
+"Set the nice level to 'low priority' and banIP background processing will "
+"take less resources from the system."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ipsetview.htm:51
+msgid "Show only set member with packet counter &gt; 0"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:101
+msgid ""
+"Size of the download queue to handle downloads &amp; IPset processing in "
+"parallel (default '4')."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:135
+msgid ""
+"Special options for the selected download utility, e.g. '--timeout=20 -O'."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:144
+msgid "Start Type"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:44
+msgid ""
+"Starts a small log/banIP monitor in the background to block SSH/LuCI brute "
+"force attacks in realtime."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:95
+msgid ""
+"Target directory for banIP backups. Default is '/tmp', please use preferably "
+"a non-volatile disk if available."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:77
+msgid ""
+"The RIPEstat Data API is the public data interface provided by RIPE NCC, for "
+"details look <a href=\"https://stat.ripe.net/docs/data_api\" target=\"_blank"
+"\" rel=\"noopener noreferrer\">here</a>."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/blacklist_tab.lua:18
+#: applications/luci-app-banip/luasrc/model/cbi/banip/configuration_tab.lua:17
+#: applications/luci-app-banip/luasrc/model/cbi/banip/whitelist_tab.lua:18
+msgid "The file size is too large for online editing in LuCI (&ge; 100 KB)."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/logview.htm:31
+msgid "The syslog output, pre-filtered for banIP related messages only."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:89
+msgid "This change requires a manual service stop/re-start to take effect."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:40
+msgid "This data call gives access to various data sources maintained by IANA."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:31
+msgid ""
+"This data call lists the Internet resources associated with a country, "
+"including ASNs, IPv4 ranges and IPv4/6 CIDR prefixes."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:25
+msgid "This data call returns all announced prefixes for a given ASN."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:19
+msgid ""
+"This data call returns geolocation information for the given IP space, or "
+"for announced IP prefixes in the case of ASNs."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:28
+msgid ""
+"This data call returns the containing prefix and announcing ASN of a given "
+"IP address."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:37
+msgid ""
+"This data call returns the recursive chain of DNS forward (A/AAAA/CNAME) and "
+"reverse (PTR) records starting form either a hostname or an IP address."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:34
+msgid ""
+"This data call returns whois information from the relevant Regional Internet "
+"Registry and Routing Registry."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:22
+msgid ""
+"This data call shows general informations about an ASN like its announcement "
+"status and the name of its holder according to the WHOIS service."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/blacklist_tab.lua:31
+msgid ""
+"This form allows you to modify the content of the banIP blacklist (%s).<br />"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/whitelist_tab.lua:31
+msgid ""
+"This form allows you to modify the content of the banIP whitelist (%s).<br />"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/configuration_tab.lua:30
+msgid ""
+"This form allows you to modify the content of the main banIP configuration "
+"file (/etc/config/banip)."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:138
+msgid "Trigger Delay"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:83
+msgid "Verbose Debug Logging"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:24
+msgid "View Logfile"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:156
+msgid "WAN Forward Chain IPv4"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:188
+msgid "WAN Forward Chain IPv6"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:151
+msgid "WAN Input Chain IPv4"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:183
+msgid "WAN Input Chain IPv6"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:120
+msgid ""
+"Whitelist auto addons are stored temporary in the IPSet and saved "
+"permanently in the local whitelist. Disable this option to prevent the local "
+"save."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:93
+msgid "Whois Information"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:17
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:10
+msgid "banIP"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:114
+msgid "banIP Status"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:120
+msgid "banIP Version"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:59
+msgid "enable IPv4"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:62
+msgid "enable IPv6"
+msgstr ""
diff --git a/applications/luci-app-bcp38/po/fi/bcp38.po b/applications/luci-app-bcp38/po/fi/bcp38.po
new file mode 100644
index 000000000..67d92590b
--- /dev/null
+++ b/applications/luci-app-bcp38/po/fi/bcp38.po
@@ -0,0 +1,64 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua:61
+msgid "Allowed IP ranges"
+msgstr ""
+
+#: applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua:34
+msgid ""
+"Attempt to automatically detect if the upstream IP will be blocked by the "
+"configuration, and add an exception if it will. If this does not work "
+"correctly, you can add exceptions manually below."
+msgstr ""
+
+#: applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua:33
+msgid "Auto-detect upstream IP"
+msgstr ""
+
+#: applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua:20
+#: applications/luci-app-bcp38/root/usr/share/luci/menu.d/luci-app-bcp38.json:3
+msgid "BCP38"
+msgstr ""
+
+#: applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua:27
+msgid "BCP38 config"
+msgstr ""
+
+#: applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua:56
+msgid "Blocked IP ranges"
+msgstr ""
+
+#: applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua:30
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-bcp38/root/usr/share/rpcd/acl.d/luci-app-bcp38.json:3
+msgid "Grant UCI access for luci-app-bcp38"
+msgstr ""
+
+#: applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua:39
+msgid "Interface name"
+msgstr ""
+
+#: applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua:39
+msgid ""
+"Interface to apply the blocking to (should be the upstream WAN interface)."
+msgstr ""
+
+#: applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua:61
+msgid ""
+"Takes precedence over blocked ranges. Use to whitelist your upstream network "
+"if you're behind a double NAT and the auto-detection doesn't work."
+msgstr ""
+
+#: applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua:21
+msgid ""
+"This function blocks packets with private address destinations from going "
+"out onto the internet as per <a href=\"http://tools.ietf.org/html/"
+"bcp38\">BCP 38</a>. For IPv6, only source specific default routes are "
+"installed, so no BCP38 firewall routes are needed."
+msgstr ""
diff --git a/applications/luci-app-bmx7/po/fi/bmx7.po b/applications/luci-app-bmx7/po/fi/bmx7.po
new file mode 100644
index 000000000..4d6d03b99
--- /dev/null
+++ b/applications/luci-app-bmx7/po/fi/bmx7.po
@@ -0,0 +1,213 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:33
+msgid "Announcements"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:27
+msgid "BMX7 revision"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:41
+msgid "Bandwidth"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:3
+msgid "Bmx7 mesh nodes"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:44
+msgid "CPU usage"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:12
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:79
+msgid "Device"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:57
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:81
+msgid "Last Desc"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:14
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:82
+msgid "Last Ref"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:77
+msgid "Link key"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:61
+msgid "Link-local IPv6"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:71
+msgid "Links"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:42
+msgid "Local net"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:60
+msgid "Max rate"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:45
+msgid "Memory usage"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:13
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:80
+msgid "Metric"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:7
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:75
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:76
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:38
+msgid "Name"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:40
+msgid "Neighbours"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:40
+msgid "Network"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:53
+msgid "Network interfaces"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:39
+msgid "Node"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:18
+msgid "Node configuration"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:25
+msgid "Node key"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:23
+msgid "Node name"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:35
+msgid "Node status"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:39
+msgid "Nodes seen"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:70
+msgid "Originators"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:43
+msgid "Path Metric"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:10
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:78
+msgid "Primary IPv6"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:24
+msgid "Primary IPv6 address"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:62
+msgid "RX BpP"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:80
+msgid "RX rate"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:45
+msgid "Rating"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:78
+msgid "Remote link-local IPv6"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:82
+msgid "Routes"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:9
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:77
+msgid "S/s/T/t"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:26
+msgid "Short DHash"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:8
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:76
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:22
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:75
+msgid "Short ID"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:58
+msgid "State"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:37
+msgid "Status"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:63
+msgid "TX BpP"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:81
+msgid "TX rate"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:44
+msgid "Tun Metric"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:42
+msgid "Tunnelled IPv4 address"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:41
+msgid "Tunnelled IPv6 address"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:46
+msgid "Tx queue"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:59
+msgid "Type"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:43
+msgid "Uptime"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:11
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:79
+msgid "Via Neighbour"
+msgstr ""
diff --git a/applications/luci-app-clamav/po/fi/clamav.po b/applications/luci-app-clamav/po/fi/clamav.po
new file mode 100644
index 000000000..ed079a032
--- /dev/null
+++ b/applications/luci-app-clamav/po/fi/clamav.po
@@ -0,0 +1,197 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:143
+msgid "10"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:133
+msgid "1024"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:59
+msgid "15"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:154
+msgid "150M"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:36
+msgid "1M"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:60
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:144
+msgid "20"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:138
+msgid "2048"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:37
+msgid "2M"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:155
+msgid "50M"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:35
+msgid "512K"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:149
+msgid "600"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:123
+msgid "Block encrypted archives"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:22
+#: applications/luci-app-clamav/root/usr/share/luci/menu.d/luci-app-clamav.json:3
+msgid "ClamAV"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:147
+msgid "Database check every N sec"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:88
+msgid "Detect broken executables"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:73
+msgid "Detect possibly unwanted apps"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:45
+msgid "Enable verbose logging"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:63
+msgid "Follow directory symlinks"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:68
+msgid "Follow file symlinks"
+msgstr ""
+
+#: applications/luci-app-clamav/root/usr/share/rpcd/acl.d/luci-app-clamav.json:3
+msgid "Grant UCI access for luci-app-clamav"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:30
+msgid "Log"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:50
+msgid "Log additional infection info"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:40
+msgid "Log time with each message"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:58
+msgid "Max directory scan depth"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:141
+msgid "Max number of threads"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:34
+msgid "Max size of log file"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:152
+msgid "Max size of scanned file"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:41
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:46
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:51
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:64
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:69
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:74
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:79
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:84
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:89
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:94
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:99
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:104
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:109
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:114
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:119
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:124
+msgid "No"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:136
+msgid "Port range, highest port"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:131
+msgid "Port range, lowest port"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:83
+msgid "Scan ELF files"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:93
+msgid "Scan MS Office and .msi files"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:113
+msgid "Scan RFC1341 messages split over many emails"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:118
+msgid "Scan archives"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:108
+msgid "Scan emails"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:98
+msgid "Scan pdf files"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:78
+msgid "Scan portable executables"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:103
+msgid "Scan swf files"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:29
+msgid "Settings"
+msgstr ""
+
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:42
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:47
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:52
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:65
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:70
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:75
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:80
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:85
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:90
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:95
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:100
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:105
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:110
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:115
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:120
+#: applications/luci-app-clamav/luasrc/model/cbi/clamav.lua:125
+msgid "Yes"
+msgstr ""
diff --git a/applications/luci-app-commands/po/fi/commands.po b/applications/luci-app-commands/po/fi/commands.po
new file mode 100644
index 000000000..cb1e93438
--- /dev/null
+++ b/applications/luci-app-commands/po/fi/commands.po
@@ -0,0 +1,150 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\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: Poedit 1.8.11\n"
+
+#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+msgid "A short textual description of the configured command"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands.htm:146
+msgid "Arguments:"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands.htm:66
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands.htm:71
+msgid "Code:"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands.htm:164
+msgid "Collecting data..."
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+msgid "Command"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+msgid "Command executed successfully."
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
+msgid "Command exited with status code"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands.htm:73
+msgid "Command failed"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+msgid "Command line to execute"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands.htm:73
+msgid "Command successful"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands.htm:144
+msgid "Command:"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+msgid "Configure"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/controller/commands.lua:7
+#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
+#: applications/luci-app-commands/luasrc/view/commands.htm:138
+msgid "Custom Commands"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+msgid "Custom arguments"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+msgid "Dashboard"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands.htm:150
+msgid "Download"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands.htm:119
+msgid "Download execution result"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands.htm:79
+msgid "Failed to execute command!"
+msgstr ""
+
+#: applications/luci-app-commands/root/usr/share/rpcd/acl.d/luci-app-commands.json:3
+msgid "Grant UCI access for luci-app-commands"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands.htm:152
+msgid "Link"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands.htm:53
+msgid "Loading"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands.htm:119
+msgid "Or display result"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+msgid "Public access"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands.htm:149
+msgid "Run"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+msgid "Standard Error"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+msgid "Standard Output"
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+#: applications/luci-app-commands/luasrc/view/commands.htm:54
+msgid "Waiting for command to complete..."
+msgstr ""
+
+#~ msgid "Command exited with status code "
+#~ msgstr "Command exited with status code "
diff --git a/applications/luci-app-coovachilli/po/fi/coovachilli.po b/applications/luci-app-coovachilli/po/fi/coovachilli.po
new file mode 100644
index 000000000..92c349b22
--- /dev/null
+++ b/applications/luci-app-coovachilli/po/fi/coovachilli.po
@@ -0,0 +1,647 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-05-19 19:36+0200\n"
+"PO-Revision-Date: 2012-03-18 05:30+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\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.4\n"
+
+#: applications/luci-app-coovachilli/root/usr/share/luci/menu.d/luci-app-coovachilli.json:3
+msgid "CoovaChilli"
+msgstr ""
+
+#: applications/luci-app-coovachilli/root/usr/share/rpcd/acl.d/luci-app-coovachilli.json:3
+msgid "Grant UCI access for luci-app-coovachilli"
+msgstr ""
+
+#: applications/luci-app-coovachilli/root/usr/share/luci/menu.d/luci-app-coovachilli.json:16
+msgid "Network Configuration"
+msgstr ""
+
+#: applications/luci-app-coovachilli/root/usr/share/luci/menu.d/luci-app-coovachilli.json:26
+msgid "RADIUS configuration"
+msgstr ""
+
+#: applications/luci-app-coovachilli/root/usr/share/luci/menu.d/luci-app-coovachilli.json:36
+msgid "UAM and MAC Authentication"
+msgstr ""
+
+#, fuzzy
+#~ msgid "General configuration"
+#~ msgstr "General configuration"
+
+#~ msgid "General CoovaChilli settings"
+#~ msgstr "General CoovaChilli settings"
+
+#~ msgid "Command socket"
+#~ msgstr "Command socket"
+
+#~ msgid "UNIX socket used for communication with chilli_query"
+#~ msgstr "UNIX socket used for communication with chilli_query"
+
+#~ msgid "Config refresh interval"
+#~ msgstr "Config refresh interval"
+
+#~ msgid ""
+#~ "Re-read configuration file and do DNS lookups every interval seconds. "
+#~ "This has the same effect as sending the HUP signal. If interval is 0 "
+#~ "(zero) this feature is disabled. "
+#~ msgstr ""
+#~ "Re-read configuration file and do DNS lookups every interval seconds. "
+#~ "This has the same effect as sending the HUP signal. If interval is 0 "
+#~ "(zero) this feature is disabled. "
+
+#~ msgid "Pid file"
+#~ msgstr "Pid file"
+
+#~ msgid "Filename to put the process id"
+#~ msgstr "Filename to put the process id"
+
+#~ msgid "State directory"
+#~ msgstr "State directory"
+
+#~ msgid "Directory of non-volatile data"
+#~ msgstr "Directory of non-volatile data"
+
+#~ msgid "TUN/TAP configuration"
+#~ msgstr "TUN/TAP configuration"
+
+#~ msgid "Network/Tun configuration"
+#~ msgstr "Network/Tun configuration"
+
+#~ msgid "Network down script"
+#~ msgstr "Network down script"
+
+#~ msgid ""
+#~ "Script executed after a session has moved from authorized state to "
+#~ "unauthorized"
+#~ msgstr ""
+#~ "Script executed after a session has moved from authorized state to "
+#~ "unauthorized"
+
+#~ msgid "Network up script"
+#~ msgstr "Network up script"
+
+#~ msgid "Script executed after the tun network interface has been brought up"
+#~ msgstr "Script executed after the tun network interface has been brought up"
+
+#~ msgid "Primary DNS Server"
+#~ msgstr "Primary DNS Server"
+
+#~ msgid "Secondary DNS Server"
+#~ msgstr "Secondary DNS Server"
+
+#~ msgid "Domain name"
+#~ msgstr "Domain name"
+
+#~ msgid ""
+#~ "Is used to inform the client about the domain name to use for DNS lookups"
+#~ msgstr ""
+#~ "Is used to inform the client about the domain name to use for DNS lookups"
+
+#~ msgid "Dynamic IP address pool"
+#~ msgstr "Dynamic IP address pool"
+
+#~ msgid "Specifies a pool of dynamic IP addresses"
+#~ msgstr "Specifies a pool of dynamic IP addresses"
+
+#~ msgid "IP down script"
+#~ msgstr "IP down script"
+
+#~ msgid "Script executed after the tun network interface has been taken down"
+#~ msgstr "Script executed after the tun network interface has been taken down"
+
+#~ msgid "IP up script"
+#~ msgstr "IP up script"
+
+#~ msgid ""
+#~ "Script executed after the TUN/TAP network interface has been brought up"
+#~ msgstr ""
+#~ "Script executed after the TUN/TAP network interface has been brought up"
+
+#~ msgid "Uplink subnet"
+#~ msgstr "Uplink subnet"
+
+#~ msgid "Network address of the uplink interface (CIDR notation)"
+#~ msgstr "Network address of the uplink interface (CIDR notation)"
+
+#~ msgid "Static IP address pool"
+#~ msgstr "Static IP address pool"
+
+#~ msgid "Specifies a pool of static IP addresses"
+#~ msgstr "Specifies a pool of static IP addresses"
+
+#~ msgid "TUN/TAP device"
+#~ msgstr "TUN/TAP device"
+
+#~ msgid "The specific device to use for the TUN/TAP interface"
+#~ msgstr "The specific device to use for the TUN/TAP interface"
+
+#~ msgid "TX queue length"
+#~ msgstr "TX queue length"
+
+#~ msgid "The TX queue length to set on the TUN/TAP interface"
+#~ msgstr "The TX queue length to set on the TUN/TAP interface"
+
+#~ msgid "Use TAP device"
+#~ msgstr "Use TAP device"
+
+#~ msgid "Use the TAP interface instead of TUN"
+#~ msgstr "Use the TAP interface instead of TUN"
+
+#~ msgid "DHCP configuration"
+#~ msgstr "DHCP configuration"
+
+#~ msgid "Set DHCP options for connecting clients"
+#~ msgstr "Set DHCP options for connecting clients"
+
+#~ msgid "DHCP end number"
+#~ msgstr "DHCP end number"
+
+#~ msgid "Where to stop assigning IP addresses (default 254)"
+#~ msgstr "Where to stop assigning IP addresses (default 254)"
+
+#~ msgid "DHCP interface"
+#~ msgstr "DHCP interface"
+
+#~ msgid "Ethernet interface to listen to for the downlink interface"
+#~ msgstr "Ethernet interface to listen to for the downlink interface"
+
+#~ msgid "Listen MAC address"
+#~ msgstr "Listen MAC address"
+
+#~ msgid ""
+#~ "MAC address to listen to. If not specified the MAC address of the "
+#~ "interface will be used"
+#~ msgstr ""
+#~ "MAC address to listen to. If not specified the MAC address of the "
+#~ "interface will be used"
+
+#~ msgid "DHCP start number"
+#~ msgstr "DHCP start number"
+
+#~ msgid "Where to start assigning IP addresses (default 10)"
+#~ msgstr "Where to start assigning IP addresses (default 10)"
+
+#~ msgid "Enable IEEE 802.1x"
+#~ msgstr "Enable IEEE 802.1x"
+
+#~ msgid "Enable IEEE 802.1x authentication and listen for EAP requests"
+#~ msgstr "Enable IEEE 802.1x authentication and listen for EAP requests"
+
+#~ msgid "Leasetime"
+#~ msgstr "Leasetime"
+
+#~ msgid "Use a DHCP lease of seconds (default 600)"
+#~ msgstr "Use a DHCP lease of seconds (default 600)"
+
+#~ msgid "Allow session update through RADIUS"
+#~ msgstr "Allow session update through RADIUS"
+
+#~ msgid ""
+#~ "Allow updating of session parameters with RADIUS attributes sent in "
+#~ "Accounting-Response"
+#~ msgstr ""
+#~ "Allow updating of session parameters with RADIUS attributes sent in "
+#~ "Accounting-Response"
+
+#~ msgid "Admin password"
+#~ msgstr "Admin password"
+
+#~ msgid ""
+#~ "Password to use for Administrative-User authentication in order to pick "
+#~ "up chilli configurations and establish a device \"system\" session"
+#~ msgstr ""
+#~ "Password to use for Administrative-User authentication in order to pick "
+#~ "up chilli configurations and establish a device \"system\" session"
+
+#~ msgid "Admin user"
+#~ msgstr "Admin user"
+
+#~ msgid ""
+#~ "User-name to use for Administrative-User authentication in order to pick "
+#~ "up chilli configurations and establish a device \"system\" session"
+#~ msgstr ""
+#~ "User-name to use for Administrative-User authentication in order to pick "
+#~ "up chilli configurations and establish a device \"system\" session"
+
+#~ msgid "Do not check disconnection requests"
+#~ msgstr "Do not check disconnection requests"
+
+#~ msgid "Do not check the source IP address of radius disconnect requests"
+#~ msgstr "Do not check the source IP address of radius disconnect requests"
+
+#~ msgid "RADIUS disconnect port"
+#~ msgstr "RADIUS disconnect port"
+
+#~ msgid "UDP port to listen to for accepting radius disconnect requests"
+#~ msgstr "UDP port to listen to for accepting radius disconnect requests"
+
+#~ msgid "NAS IP"
+#~ msgstr "NAS IP"
+
+#~ msgid "Value to use in RADIUS NAS-IP-Address attribute"
+#~ msgstr "Value to use in RADIUS NAS-IP-Address attribute"
+
+#~ msgid "NAS MAC"
+#~ msgstr "NAS MAC"
+
+#~ msgid "MAC address value to use in RADIUS Called-Station-ID attribute"
+#~ msgstr "MAC address value to use in RADIUS Called-Station-ID attribute"
+
+#~ msgid "Allow OpenID authentication"
+#~ msgstr "Allow OpenID authentication"
+
+#~ msgid ""
+#~ "Allows OpenID authentication by sending ChilliSpot-Config=allow-"
+#~ "openidauth in RADIUS Access-Requests"
+#~ msgstr ""
+#~ "Allows OpenID authentication by sending ChilliSpot-Config=allow-"
+#~ "openidauth in RADIUS Access-Requests"
+
+#~ msgid "RADIUS accounting port"
+#~ msgstr "RADIUS accounting port"
+
+#~ msgid ""
+#~ "The UDP port number to use for radius accounting requests (default 1813)"
+#~ msgstr ""
+#~ "The UDP port number to use for radius accounting requests (default 1813)"
+
+#~ msgid "RADIUS authentication port"
+#~ msgstr "RADIUS authentication port"
+
+#~ msgid ""
+#~ "The UDP port number to use for radius authentication requests (default "
+#~ "1812)"
+#~ msgstr ""
+#~ "The UDP port number to use for radius authentication requests (default "
+#~ "1812)"
+
+#~ msgid "Option radiuscalled"
+#~ msgstr "Option radiuscalled"
+
+#~ msgid "RADIUS listen address"
+#~ msgstr "RADIUS listen address"
+
+#~ msgid "Local interface IP address to use for the radius interface"
+#~ msgstr "Local interface IP address to use for the radius interface"
+
+#~ msgid "RADIUS location ID"
+#~ msgstr "RADIUS location ID"
+
+#~ msgid "WISPr Location ID"
+#~ msgstr "WISPr Location ID"
+
+#~ msgid "RADIUS location name"
+#~ msgstr "RADIUS location name"
+
+#~ msgid "WISPr Location Name"
+#~ msgstr "WISPr Location Name"
+
+#~ msgid "NAS ID"
+#~ msgstr "NAS ID"
+
+#~ msgid "Network access server identifier"
+#~ msgstr "Network access server identifier"
+
+#~ msgid "Option radiusnasip"
+#~ msgstr "Option radiusnasip"
+
+#~ msgid "NAS port type"
+#~ msgstr "NAS port type"
+
+#~ msgid ""
+#~ "Value of NAS-Port-Type attribute. Defaults to 19 (Wireless-IEEE-802.11)"
+#~ msgstr ""
+#~ "Value of NAS-Port-Type attribute. Defaults to 19 (Wireless-IEEE-802.11)"
+
+#~ msgid "Send RADIUS VSA"
+#~ msgstr "Send RADIUS VSA"
+
+#~ msgid "Send the ChilliSpot-OriginalURL RADIUS VSA in Access-Request"
+#~ msgstr "Send the ChilliSpot-OriginalURL RADIUS VSA in Access-Request"
+
+#~ msgid "RADIUS secret"
+#~ msgstr "RADIUS secret"
+
+#~ msgid "Radius shared secret for both servers"
+#~ msgstr "Radius shared secret for both servers"
+
+#~ msgid "RADIUS server 1"
+#~ msgstr "RADIUS server 1"
+
+#~ msgid "The IP address of radius server 1"
+#~ msgstr "The IP address of radius server 1"
+
+#~ msgid "RADIUS server 2"
+#~ msgstr "RADIUS server 2"
+
+#~ msgid "The IP address of radius server 2"
+#~ msgstr "The IP address of radius server 2"
+
+#~ msgid "Swap octets"
+#~ msgstr "Swap octets"
+
+#~ msgid ""
+#~ "Swap the meaning of \"input octets\" and \"output octets\" as it related "
+#~ "to RADIUS attribtues"
+#~ msgstr ""
+#~ "Swap the meaning of \"input octets\" and \"output octets\" as it related "
+#~ "to RADIUS attribtues"
+
+#~ msgid "Allow WPA guests"
+#~ msgstr "Allow WPA guests"
+
+#~ msgid ""
+#~ "Allows WPA Guest authentication by sending ChilliSpot-Config=allow-wpa-"
+#~ "guests in RADIUS Access-Requests"
+#~ msgstr ""
+#~ "Allows WPA Guest authentication by sending ChilliSpot-Config=allow-wpa-"
+#~ "guests in RADIUS Access-Requests"
+
+#~ msgid "Proxy client"
+#~ msgstr "Proxy client"
+
+#~ msgid ""
+#~ "IP address from which radius requests are accepted. If omitted the server "
+#~ "will not accept radius requests"
+#~ msgstr ""
+#~ "IP address from which radius requests are accepted. If omitted the server "
+#~ "will not accept radius requests"
+
+#~ msgid "Proxy listen address"
+#~ msgstr "Proxy listen address"
+
+#~ msgid "Local interface IP address to use for accepting radius requests"
+#~ msgstr "Local interface IP address to use for accepting radius requests"
+
+#~ msgid "Proxy port"
+#~ msgstr "Proxy port"
+
+#~ msgid "UDP Port to listen to for accepting radius requests"
+#~ msgstr "UDP Port to listen to for accepting radius requests"
+
+#~ msgid "Proxy secret"
+#~ msgstr "Proxy secret"
+
+#~ msgid "Radius shared secret for clients"
+#~ msgstr "Radius shared secret for clients"
+
+#~ msgid "UAM configuration"
+#~ msgstr "UAM configuration"
+
+#~ msgid "Unified Configuration Method settings"
+#~ msgstr "Unified Configuration Method settings"
+
+#~ msgid "Use Chilli XML"
+#~ msgstr "Use Chilli XML"
+
+#~ msgid "Return the so-called Chilli XML along with WISPr XML"
+#~ msgstr "Return the so-called Chilli XML along with WISPr XML"
+
+#~ msgid "Default idle timeout"
+#~ msgstr "Default idle timeout"
+
+#~ msgid "Default idle timeout unless otherwise set by RADIUS (defaults to 0)"
+#~ msgstr "Default idle timeout unless otherwise set by RADIUS (defaults to 0)"
+
+#~ msgid "Default interim interval"
+#~ msgstr "Default interim interval"
+
+#~ msgid ""
+#~ "Default interim-interval for RADIUS accounting unless otherwise set by "
+#~ "RADIUS (defaults to 0)"
+#~ msgstr ""
+#~ "Default interim-interval for RADIUS accounting unless otherwise set by "
+#~ "RADIUS (defaults to 0)"
+
+#~ msgid "Default session timeout"
+#~ msgstr "Default session timeout"
+
+#~ msgid ""
+#~ "Default session timeout unless otherwise set by RADIUS (defaults to 0)"
+#~ msgstr ""
+#~ "Default session timeout unless otherwise set by RADIUS (defaults to 0)"
+
+#~ msgid "Inspect DNS traffic"
+#~ msgstr "Inspect DNS traffic"
+
+#~ msgid ""
+#~ "Inspect DNS packets and drop responses with any non- A, CNAME, SOA, or MX "
+#~ "records to prevent dns tunnels (experimental)"
+#~ msgstr ""
+#~ "Inspect DNS packets and drop responses with any non- A, CNAME, SOA, or MX "
+#~ "records to prevent dns tunnels (experimental)"
+
+#~ msgid "Local users file"
+#~ msgstr "Local users file"
+
+#~ msgid ""
+#~ "A colon separated file containing usernames and passwords of locally "
+#~ "authenticated users"
+#~ msgstr ""
+#~ "A colon separated file containing usernames and passwords of locally "
+#~ "authenticated users"
+
+#~ msgid "Location name"
+#~ msgstr "Location name"
+
+#~ msgid "Human readable location name used in JSON interface"
+#~ msgstr "Human readable location name used in JSON interface"
+
+#~ msgid "Do not redirect to UAM server"
+#~ msgstr "Do not redirect to UAM server"
+
+#~ msgid ""
+#~ "Do not return to UAM server on login success, just redirect to original "
+#~ "URL"
+#~ msgstr ""
+#~ "Do not return to UAM server on login success, just redirect to original "
+#~ "URL"
+
+#~ msgid "Do not do WISPr"
+#~ msgstr "Do not do WISPr"
+
+#~ msgid "Do not do any WISPr XML, assume the back-end is doing this instead"
+#~ msgstr "Do not do any WISPr XML, assume the back-end is doing this instead"
+
+#~ msgid "Post auth proxy"
+#~ msgstr "Post auth proxy"
+
+#~ msgid ""
+#~ "Used with postauthproxyport to define a post authentication HTTP proxy "
+#~ "server"
+#~ msgstr ""
+#~ "Used with postauthproxyport to define a post authentication HTTP proxy "
+#~ "server"
+
+#~ msgid "Post auth proxy port"
+#~ msgstr "Post auth proxy port"
+
+#~ msgid ""
+#~ "Used with postauthproxy to define a post authentication HTTP proxy server"
+#~ msgstr ""
+#~ "Used with postauthproxy to define a post authentication HTTP proxy server"
+
+#~ msgid "Allowed resources"
+#~ msgstr "Allowed resources"
+
+#~ msgid "List of resources the client can access without first authenticating"
+#~ msgstr ""
+#~ "List of resources the client can access without first authenticating"
+
+#~ msgid "Allow any DNS server"
+#~ msgstr "Allow any DNS server"
+
+#~ msgid "Allow any DNS server for unauthenticated clients"
+#~ msgstr "Allow any DNS server for unauthenticated clients"
+
+#~ msgid "Allow any IP address"
+#~ msgstr "Allow any IP address"
+
+#~ msgid ""
+#~ "Allow clients to use any IP settings they wish by spoofing ARP "
+#~ "(experimental)"
+#~ msgstr ""
+#~ "Allow clients to use any IP settings they wish by spoofing ARP "
+#~ "(experimental)"
+
+#~ msgid "Allowed domains"
+#~ msgstr "Allowed domains"
+
+#~ msgid ""
+#~ "Defines a list of domain names to automatically add to the walled garden"
+#~ msgstr ""
+#~ "Defines a list of domain names to automatically add to the walled garden"
+
+#~ msgid "UAM homepage"
+#~ msgstr "UAM homepage"
+
+#~ msgid "URL of homepage to redirect unauthenticated users to"
+#~ msgstr "URL of homepage to redirect unauthenticated users to"
+
+#~ msgid "UAM static content port"
+#~ msgstr "UAM static content port"
+
+#~ msgid "TCP port to bind to for only serving embedded content"
+#~ msgstr "TCP port to bind to for only serving embedded content"
+
+#~ msgid "UAM listening address"
+#~ msgstr "UAM listening address"
+
+#~ msgid "IP address to listen to for authentication of clients"
+#~ msgstr "IP address to listen to for authentication of clients"
+
+#~ msgid "UAM logout IP"
+#~ msgstr "UAM logout IP"
+
+#~ msgid ""
+#~ "Use this IP address to instantly logout a client accessing it (defaults "
+#~ "to 1.1.1.1)"
+#~ msgstr ""
+#~ "Use this IP address to instantly logout a client accessing it (defaults "
+#~ "to 1.1.1.1)"
+
+#~ msgid "UAM listening port"
+#~ msgstr "UAM listening port"
+
+#~ msgid "TCP port to bind to for authenticating clients (default 3990)"
+#~ msgstr "TCP port to bind to for authenticating clients (default 3990)"
+
+#~ msgid "UAM secret"
+#~ msgstr "UAM secret"
+
+#~ msgid "Shared secret between uamserver and chilli"
+#~ msgstr "Shared secret between uamserver and chilli"
+
+#~ msgid "UAM server"
+#~ msgstr "UAM server"
+
+#~ msgid "URL of web server to use for authenticating clients"
+#~ msgstr "URL of web server to use for authenticating clients"
+
+#~ msgid "UAM user interface"
+#~ msgstr "UAM user interface"
+
+#~ msgid ""
+#~ "An init.d style program to handle local content on the uamuiport web "
+#~ "server"
+#~ msgstr ""
+#~ "An init.d style program to handle local content on the uamuiport web "
+#~ "server"
+
+#~ msgid "Use status file"
+#~ msgstr "Use status file"
+
+#~ msgid ""
+#~ "Write the status of clients in a non-volatile state file (experimental)"
+#~ msgstr ""
+#~ "Write the status of clients in a non-volatile state file (experimental)"
+
+#~ msgid "WISPr login url"
+#~ msgstr "WISPr login url"
+
+#~ msgid "Specific URL to be given in WISPr XML LoginURL"
+#~ msgstr "Specific URL to be given in WISPr XML LoginURL"
+
+#~ msgid "CGI program"
+#~ msgstr "CGI program"
+
+#~ msgid ""
+#~ "Executable to run as a CGI type program (like haserl) for URLs with "
+#~ "extension .chi"
+#~ msgstr ""
+#~ "Executable to run as a CGI type program (like haserl) for URLs with "
+#~ "extension .chi"
+
+#~ msgid "Web content directory"
+#~ msgstr "Web content directory"
+
+#~ msgid "Directory where embedded local web content is placed"
+#~ msgstr "Directory where embedded local web content is placed"
+
+#~ msgid "MAC configuration"
+#~ msgstr "MAC configuration"
+
+#~ msgid "Configure MAC authentication"
+#~ msgstr "Configure MAC authentication"
+
+#~ msgid "Allowed MAC addresses"
+#~ msgstr "Allowed MAC addresses"
+
+#~ msgid "List of MAC addresses for which MAC authentication will be performed"
+#~ msgstr ""
+#~ "List of MAC addresses for which MAC authentication will be performed"
+
+#~ msgid "Authenticate locally allowed MACs"
+#~ msgstr "Authenticate locally allowed MACs"
+
+#~ msgid "Authenticate allowed MAC addresses without the use of RADIUS"
+#~ msgstr "Authenticate allowed MAC addresses without the use of RADIUS"
+
+#~ msgid "Enable MAC authentification"
+#~ msgstr "Enable MAC authentification"
+
+#~ msgid "Try to authenticate all users based on their mac address alone"
+#~ msgstr "Try to authenticate all users based on their mac address alone"
+
+#~ msgid "Password"
+#~ msgstr "Password"
+
+#~ msgid "Password used when performing MAC authentication"
+#~ msgstr "Password used when performing MAC authentication"
+
+#~ msgid "Suffix"
+#~ msgstr "Suffix"
+
+#~ msgid "coovachilli_macauth_macsuffix_desc"
+#~ msgstr ""
+#~ "Suffix to add to the MAC address in order to form the User-Name, which is "
+#~ "sent to the radius server"
diff --git a/applications/luci-app-cshark/po/fi/cshark.po b/applications/luci-app-cshark/po/fi/cshark.po
new file mode 100644
index 000000000..257393c1c
--- /dev/null
+++ b/applications/luci-app-cshark/po/fi/cshark.po
@@ -0,0 +1,109 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:24
+msgid "Actions"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:72
+msgid "Capture URL"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:68
+msgid "Capture links"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:73
+msgid "Capture time"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:284
+msgid "Clear list"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/controller/cshark.lua:19
+#: applications/luci-app-cshark/luasrc/model/cbi/admin_network/cshark.lua:17
+msgid "CloudShark"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/model/cbi/admin_network/cshark.lua:27
+msgid "CloudShark API token"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/model/cbi/admin_network/cshark.lua:26
+msgid "CloudShark URL"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:23
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:51
+msgid "Filter"
+msgstr ""
+
+#: applications/luci-app-cshark/root/usr/share/rpcd/acl.d/luci-app-cshark.json:3
+msgid "Grant UCI access for luci-app-cshark"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:21
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:28
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:92
+msgid "Loading"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/model/cbi/admin_network/cshark.lua:22
+msgid "Options"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:54
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:196
+msgid "Start capture"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:17
+msgid "Start network capture"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:181
+msgid "Stop capture"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:93
+msgid "Waiting for capture to complete..."
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:93
+msgid "Waiting for upload to complete..."
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:39
+msgid "any"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:47
+msgid "bytes"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:46
+msgid "packets"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:45
+msgid "seconds"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:22
+msgid "seconds, packets, bytes"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:44
+msgid "timeout, bytes, seconds"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:151
+msgid "value for [seconds, packets, bytes] must be Integer"
+msgstr ""
diff --git a/applications/luci-app-dcwapd/po/fi/dcwapd.po b/applications/luci-app-dcwapd/po/fi/dcwapd.po
new file mode 100644
index 000000000..c26c1fd82
--- /dev/null
+++ b/applications/luci-app-dcwapd/po/fi/dcwapd.po
@@ -0,0 +1,119 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:72
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:121
+msgid "Bridge"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:45
+msgid "Channel Sets"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:89
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:102
+msgid "Data Channels"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:102
+msgid "Define data channels over which outbound filtered packets will flow."
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:179
+msgid ""
+"Define filter rules to apply to outbound packets. Matching packets will flow "
+"over the data channel."
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:45
+msgid "Define primary channels and their corresponding data channels."
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:213
+msgid "Destination port"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:21
+msgid "Dual Channel Wi-Fi AP Daemon"
+msgstr ""
+
+#: applications/luci-app-dcwapd/root/usr/share/luci/menu.d/luci-app-dcwapd.json:3
+msgid "Dual Channel WiFi"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:34
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:52
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:154
+msgid "Filter Sets"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:166
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:179
+msgid "Filters"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:27
+msgid "General"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:27
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-dcwapd/root/usr/share/rpcd/acl.d/luci-app-dcwapd.json:3
+msgid "Grant UCI access for luci-app-dcwapd"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:138
+msgid "Interfaces"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:161
+msgid "MAC Address"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:186
+msgid "Packet size"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:204
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:58
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:107
+msgid "SSID"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:154
+msgid "Select filters to apply to matching MAC addresses."
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:192
+msgid "Source IP"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:198
+msgid "Source port"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:40
+msgid "Specify the temporary directory for dcwapd file storage."
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:40
+msgid "Temp Directory"
+msgstr ""
+
+#: applications/luci-app-dcwapd/luasrc/model/cbi/dcwapd/dcwapd.lua:22
+msgid ""
+"With <abbr title=\"Dual Channel Wi-Fi AP Daemon\">Dual Channel WiFi</abbr> "
+"you can use two simultaneous Wi-Fi connections to decrease wireless traffic "
+"congestion and increase throughput."
+msgstr ""
diff --git a/applications/luci-app-ddns/po/fi/ddns.po b/applications/luci-app-ddns/po/fi/ddns.po
new file mode 100644
index 000000000..4c16917fd
--- /dev/null
+++ b/applications/luci-app-ddns/po/fi/ddns.po
@@ -0,0 +1,797 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:967
+msgid "\"../\" not allowed in path for Security Reason."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:297
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:326
+msgid "Add new services..."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:446
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:936
+msgid "Allow non-public IP's"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:445
+msgid "Basic Settings"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:713
+msgid "Bind Network"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:226
+msgid "Binding to a specific network not supported"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:253
+msgid ""
+"BusyBox's nslookup and Wget do not support to specify the IP version to use "
+"for communication with DDNS Provider!"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:264
+msgid ""
+"BusyBox's nslookup and hostip do not support to specify to use TCP instead "
+"of default UDP when requesting DNS server!"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:275
+msgid ""
+"BusyBox's nslookup in the current compiled version does not handle given DNS "
+"Servers correctly!"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:332
+msgid "Cancel"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:797
+msgid "Check Interval"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:27
+msgid "Configuration"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:91
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:401
+msgid "Configuration Error"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:927
+msgid ""
+"Configure here the details for all Dynamic DNS services including this LuCI "
+"application."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:345
+msgid "Create service"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:949
+msgid "Current setting:"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:75
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:166
+msgid "Currently DDNS updates are not started at boot or on interface events."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:539
+msgid "Custom update script to be used for updating your DDNS Provider."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:528
+msgid "Custom update-URL"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:538
+msgid "Custom update-script"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:73
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:169
+msgid "DDNS Autostart disabled"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:72
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:169
+msgid "DDNS Autostart enabled"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:482
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:504
+msgid "DDNS Service provider"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:185
+msgid "DDns"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:430
+msgid "DDns Service"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:263
+msgid "DNS requests via TCP not supported"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:736
+msgid "DNS-Server"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:945
+msgid "Date format"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:656
+msgid "Defines the Web page to read systems IP-Address from<br />"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:666
+msgid "Defines the interface to read systems IP-Address from"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:647
+msgid "Defines the network to read systems IP-Address from"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:606
+msgid ""
+"Defines the source to read systems IP-Address from, that will be send to the "
+"DDNS provider"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:471
+msgid "Defines which IP address 'IPv4/IPv6' is send to the DDNS provider"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:961
+msgid "Directory contains Log files for each running section."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:955
+msgid ""
+"Directory contains PID and other status information for each running section."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:18
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:547
+msgid "Domain"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:151
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:7
+#: applications/luci-app-ddns/root/usr/share/luci/menu.d/luci-app-ddns.json:3
+msgid "Dynamic DNS"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:157
+msgid "Dynamic DNS Version"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:354
+msgid "Edit"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:586
+msgid "Enable secure communication with DDNS provider"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:409
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:453
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:780
+msgid "Error"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:862
+msgid "Error Retry Counter"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:873
+msgid "Error Retry Interval"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:684
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:695
+msgid "Event Network"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:657
+msgid "Example for IPv4: http://checkip.dyndns.com"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:658
+msgid "Example for IPv6: http://checkipv6.dyndns.com"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:790
+msgid "File"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:932
+msgid "For detailed information about parameter settings look here."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:947
+msgid "For supported codes look here"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:725
+msgid "Force IP Version"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:252
+msgid "Force IP Version not supported"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:824
+msgid "Force Interval"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:749
+msgid "Force TCP on DNS"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:761
+msgid "Format"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:738
+msgid "Format: IP or FQDN"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:231
+msgid ""
+"GNU Wget will use the IP of given network, cURL will use the physical "
+"interface."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:926
+msgid "Global Configuration"
+msgstr ""
+
+#: applications/luci-app-ddns/root/usr/share/rpcd/acl.d/luci-app-ddns.json:3
+msgid "Grant access to ddns procedures"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
+msgid "HTTPS not supported"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:462
+msgid "Hostname/FQDN to validate, if IP update happen or necessary"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:605
+msgid "IP address source"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:470
+msgid "IP address version"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:476
+msgid "IPv4-Address"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:762
+msgid "IPv6 address must be given in square brackets"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:205
+msgid "IPv6 is currently not (fully) supported by this system"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:204
+msgid "IPv6 not supported"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:478
+msgid "IPv6-Address"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:980
+msgid ""
+"If Wget and cURL package are installed, Wget is used for communication by "
+"default."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:453
+msgid ""
+"If this service section is disabled it could not be started.<br />Neither "
+"from LuCI interface nor from console"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:287
+msgid "If using secure communication you should verify server certificates!"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:219
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:233
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:245
+msgid ""
+"In some versions cURL/libcurl in OpenWrt is compiled without proxy support."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:777
+msgid "Info"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:153
+msgid "Information"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:289
+msgid ""
+"Install 'ca-certificates' package or needed certificates by hand into /etc/"
+"ssl/certs default directory"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:612
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:665
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:825
+msgid ""
+"Interval to force updates send to DDNS Provider<br />Setting this parameter "
+"to 0 will force the script to only run once"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:815
+msgid "Interval unit to check for changed IP"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:852
+msgid "Interval unit to force updates send to DDNS Provider"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:929
+msgid "It is NOT recommended for casual users to change settings on this page."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:414
+msgid "Last Update"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:448
+msgid "Log File Viewer"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:960
+msgid "Log directory"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:972
+msgid "Log length"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:784
+msgid "Log to file"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:771
+msgid "Log to syslog"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:397
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:461
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
+msgid "Lookup Hostname"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:314
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:391
+msgid "Name"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:227
+msgid ""
+"Neither GNU Wget with SSL nor cURL installed to select a network to use for "
+"communication."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
+msgid ""
+"Neither GNU Wget with SSL nor cURL installed to support secure updates via "
+"HTTPS protocol."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:610
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:646
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:31
+msgid "Network"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:685
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:696
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:715
+msgid "Network on which the ddns-updater scripts will be started"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:93
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:418
+msgid "Never"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:317
+msgid "New DDns Service…"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:414
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
+msgid "Next Update"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:92
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:402
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
+msgid "No Data"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:286
+msgid "No certificates found"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:776
+msgid "No logging"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:937
+msgid "Non-public and by default blocked IP's"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:95
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:436
+msgid "Not Running"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:778
+msgid "Notice"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:973
+msgid "Number of last lines stored in log files"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:726
+msgid "OPTIONAL: Force the usage of pure IPv4/IPv6 only communication."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:750
+msgid "OPTIONAL: Force the use of TCP instead of default UDP on DNS requests."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:714
+msgid "OPTIONAL: Network to use for communication"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:760
+msgid "OPTIONAL: Proxy-Server for detection and updates."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:737
+msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:885
+msgid "On Error the script will retry the failed action after given time"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:863
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:874
+msgid "On Error the script will stop execution after given number of retrys"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:570
+msgid "Optional Encoded Parameter"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:577
+msgid "Optional Parameter"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:571
+msgid "Optional: Replaces [PARAMENC] in Update-URL (URL-encoded)"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:578
+msgid "Optional: Replaces [PARAMOPT] in Update-URL (NOT URL-encoded)"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:759
+msgid "PROXY-Server"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:562
+msgid "Password"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:591
+msgid "Path to CA-Certificate"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:206
+msgid ""
+"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:919
+msgid "Please press [Read] button"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:905
+msgid "Read / Reread log file"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:397
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
+msgid "Registered IP"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:382
+msgid "Reload"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:362
+msgid "Reload this service"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:563
+msgid "Replaces [PASSWORD] in Update-URL (URL-encoded)"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:548
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:555
+msgid "Replaces [USERNAME] in Update-URL (URL-encoded)"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:196
+msgid "Restart DDns"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:17
+msgid "Run once"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:106
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:439
+msgid "Running"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:613
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:675
+msgid "Script"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:294
+msgid "Services"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:68
+msgid "Start DDNS"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:162
+msgid "State"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:433
+msgid "Status"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:954
+msgid "Status directory"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:381
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:68
+msgid "Stop DDNS"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:370
+msgid "Stop this service"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:19
+msgid "Stopped"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:865
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:876
+msgid "The default setting of '0' will retry infinite."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:320
+msgid "The service name is already used"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:43
+msgid "There is no service configured."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:918
+msgid "This is the current content of the log file in"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:76
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:167
+msgid ""
+"This is the default if you run DDNS scripts by yourself (i.e. via cron with "
+"force_interval set to '0')"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:702
+msgid "This will be autoset to the selected interface"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:447
+msgid "Timer Settings"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:611
+msgid "URL"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:655
+msgid "URL to detect"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:94
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:418
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
+msgid "Unknown"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:529
+msgid ""
+"Update URL to be used for updating your DDNS Provider.<br />Follow "
+"instructions you will find on their WEB page."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:585
+msgid "Use HTTP Secure"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:979
+msgid "Use cURL"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:676
+msgid "User defined script to read systems IP-Address"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:554
+msgid "Username"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:274
+msgid "Using specific DNS Server not supported"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:807
+msgid "Values below 5 minutes == 300 seconds are not supported"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:844
+msgid "Values lower 'Check Interval' except '0' are not supported"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:16
+msgid "Verify"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:779
+msgid "Warning"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:789
+msgid ""
+"Writes detailed messages to log file. File will be truncated automatically."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:772
+msgid ""
+"Writes log messages to syslog. Critical Errors will always be written to "
+"syslog."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:278
+msgid ""
+"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' "
+"package, if you need to specify a DNS server to detect your registered IP."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:267
+msgid ""
+"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS "
+"requests."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:255
+msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
+msgid ""
+"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-"
+"*ssl' package."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
+msgid "You should install 'wget' or 'curl' package."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:243
+msgid ""
+"You should install 'wget' or 'uclient-fetch' package or replace libcurl."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:241
+msgid "cURL is installed, but libcurl was compiled without proxy support."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:240
+msgid "cURL without Proxy Support"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:489
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:511
+msgid "custom"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:858
+msgid "days"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:592
+msgid "directory or path/file"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:820
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:857
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:819
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:856
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:890
+msgid "minutes"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:593
+msgid "or"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:207
+msgid "or update your system to the latest OpenWrt Release"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:818
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:889
+msgid "seconds"
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:594
+msgid "to run HTTPS without verification of server certificates (insecure)"
+msgstr ""
diff --git a/applications/luci-app-dnscrypt-proxy/po/fi/dnscrypt-proxy.po b/applications/luci-app-dnscrypt-proxy/po/fi/dnscrypt-proxy.po
new file mode 100644
index 000000000..8dac58a13
--- /dev/null
+++ b/applications/luci-app-dnscrypt-proxy/po/fi/dnscrypt-proxy.po
@@ -0,0 +1,309 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:139
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:161
+msgid "-------"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:21
+msgid "Advanced"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:215
+msgid "Alternate Resolver List"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:258
+msgid ""
+"Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.<br />"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:228
+msgid "Blacklist"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:233
+msgid "Block IPv6"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:169
+msgid ""
+"By default the DNSCrypt-Proxy startup will be triggered by ifup events of "
+"'All' available network interfaces.<br />"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:59
+msgid "Configuration of the DNSCrypt-Proxy package."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:146
+msgid ""
+"Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS "
+"upstream timeouts with multiple DNSCrypt instances.<br />"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:150
+msgid "Create Config File"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:145
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:158
+msgid "Create Custom Config File"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:245
+msgid "DNS Query Logfile"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:15
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:58
+msgid "DNSCrypt-Proxy"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:39
+msgid "DNSCrypt-Proxy Logfile"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:30
+msgid "DNSCrypt-Proxy Resolver List"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:102
+msgid "Default Resolver List"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:234
+msgid "Disable IPv6 to speed up DNSCrypt-Proxy."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:254
+msgid "Dnsmasq Options"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:124
+msgid ""
+"Download the current resolver list from 'github.com/dyne/dnscrypt-proxy'."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:22
+msgid "Edit DNSCrypt-Proxy Configuration"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:23
+msgid "Edit Dnsmasq Configuration"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:24
+msgid "Edit Resolvcrypt Configuration"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:240
+msgid "Enable Caching to speed up DNSCcrypt-Proxy."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:220
+msgid "Ephemeral Keys"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:114
+msgid "File Checksum"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:106
+msgid "File Date"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:60
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:147
+msgid ""
+"For further information <a href=\"%s\" target=\"_blank\">see the wiki "
+"online</a>"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:97
+msgid "General Options"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/root/usr/share/rpcd/acl.d/luci-app-dnscrypt-proxy.json:3
+msgid "Grant UCI access for luci-app-dnscrypt-proxy"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:189
+msgid "IP Address"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:221
+msgid "Improve privacy by using an ephemeral public key for each query."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:9
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:9
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:9
+msgid "Input file not found, please check your configuration."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:185
+msgid "Instance Options"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:239
+msgid "Local Cache"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:229
+msgid ""
+"Local blacklists allow you to block abuse sites by domains or ip addresses."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:246
+msgid ""
+"Log the received DNS queries to a file, so you can watch in real-time what "
+"is happening on the network."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:201
+msgid ""
+"Name of the remote DNS service for resolving queries incl. Location, DNSSEC- "
+"and NOLOG-Flag."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:137
+msgid "No SSL support available.<br />"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:21
+msgid "No default resolver list and no SSL support available.<br />"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:19
+msgid "Overview"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:160
+msgid "Please edit the file manually in the 'Advanced' section."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:138
+msgid ""
+"Please install a 'libustream-ssl' library to download the current resolver "
+"list from 'github.com/dyne/dnscrypt-proxy'."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:22
+msgid ""
+"Please install a resolver list to '/usr/share/dnscrypt-proxy/dnscrypt-"
+"resolvers.csv' to use this package."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:259
+msgid ""
+"Please note: This may change the values for 'noresolv', 'resolvfile', "
+"'allservers' and the list 'server' settings."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:194
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:125
+msgid "Refresh List"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:123
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:136
+msgid "Refresh Resolver List"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:200
+msgid "Resolver (LOC/SEC/NOLOG)"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:17
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:17
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:17
+msgid "Save"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:216
+msgid "Specify a non-default Resolver List."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:168
+msgid "Startup Trigger"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:159
+msgid "The config file '/etc/resolv-crypt.conf' already exist.<br />"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:195
+msgid "The listening port for DNS queries."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:190
+msgid ""
+"The local IPv4 or IPv6 address. The latter one should be specified within "
+"brackets, e.g. '[::1]'."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:230
+msgid ""
+"The value for this property is the blocklist type and path to the file, e."
+"g.'domains:/path/to/dbl.txt' or 'ips:/path/to/ipbl.txt'."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:21
+msgid ""
+"This form allows you to modify the content of the main DNSCrypt-Proxy "
+"configuration file (/etc/config/dnscrypt-proxy)."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:21
+msgid ""
+"This form allows you to modify the content of the main Dnsmasq configuration "
+"file (/etc/config/dhcp)."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:21
+msgid ""
+"This form allows you to modify the content of the resolv-crypt configuration "
+"file (/etc/resolv-crypt.conf)."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/view_reslist.htm:10
+msgid "This form shows the content of the current DNSCrypt Resolver List."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/logread.htm:10
+msgid ""
+"This form shows the syslog output, pre-filtered for DNSCrypt-Proxy related "
+"messages only."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:222
+msgid ""
+"This option requires extra CPU cycles and is useless with most DNSCrypt "
+"server."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:170
+msgid ""
+"To restrict the trigger, select only the relevant network interface. Usually "
+"the 'wan' interface should work for most users."
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:257
+msgid "Transfer Options To Dnsmasq"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:20
+msgid "View Logfile"
+msgstr ""
+
+#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:25
+msgid "View Resolver List"
+msgstr ""
diff --git a/applications/luci-app-dump1090/po/fi/dump1090.po b/applications/luci-app-dump1090/po/fi/dump1090.po
new file mode 100644
index 000000000..df40579d2
--- /dev/null
+++ b/applications/luci-app-dump1090/po/fi/dump1090.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:123
+msgid "Absolute maximum range for position decoding"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:184
+msgid "Accuracy of receiver location in json metadata"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:112
+msgid "Allow forwarding of received mlat results to output ports"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:193
+msgid "Apply a 1Hz DC filter to input data"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:172
+msgid "Base directory for the internal HTTP server"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:148
+msgid "Collect/show range histogram"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:34
+msgid "Data file"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:165
+msgid "Debug mode flags"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:39
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:185
+msgid "Default"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:133
+msgid "Disable messages with broken CRC"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:130
+msgid "Disable single-bits error correction using CRC"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:142
+msgid "Display raw messages in Beast ascii mode"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:109
+msgid "Do not apply CRC corrections to messages we forward"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:27
+msgid "Enable automatic gain control"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:52
+msgid "Enable decoding of SSR Modes 3/A & 3/C"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:58
+msgid "Enable just networking, no RTL device or file used"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:50
+msgid "Enable networking"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:136
+msgid "Enable phase enhancement"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:127
+msgid "Enable single-bits error correction using CRC"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:10
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:89
+msgid "FlightAware TSV output port"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:30
+msgid "Frequency"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:23
+msgid "Gain (-10 for auto-gain)"
+msgstr ""
+
+#: applications/luci-app-dump1090/root/usr/share/rpcd/acl.d/luci-app-dump1090.json:3
+msgid "Grant UCI access for luci-app-dump1090"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:65
+msgid "HTTP server port"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:61
+msgid "IP address to bind to"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:196
+msgid "Measure noise power"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:139
+msgid "More CPU for more messages"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:176
+msgid "Periodically write json output to a directory"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:145
+msgid "Print stats at exit"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:19
+msgid "RTL device index"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:115
+msgid "Reference/receiver latitude for surface posn"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:119
+msgid "Reference/receiver longitude for surface posn"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:16
+msgid "Respawn"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:38
+msgid "Sample format for data file"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:168
+msgid "Set receiver error in parts per million"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:151
+msgid "Show and reset stats every seconds"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:155
+msgid "Show only ICAO addresses"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:47
+msgid "Show only messages hex values"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:161
+msgid "Strip IQ file removing samples"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:77
+msgid "TCP BaseStation output listen port"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:81
+msgid "TCP Beast input listen port"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:85
+msgid "TCP Beast output listen port"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:105
+msgid "TCP buffer size 64Kb * (2^n)"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:101
+msgid "TCP heartbeat rate in seconds"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:69
+msgid "TCP raw input listen port"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:55
+msgid "TCP raw output in Beast binary format"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:73
+msgid "TCP raw output listen port"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:97
+msgid "TCP raw output memory flush rate in seconds"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:93
+msgid "TCP raw output minimum size"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:158
+msgid "Use metric units"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:190
+msgid "Use the 2.4MHz demodulator"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:44
+msgid "When reading from a file play back in realtime, not at max speed"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:180
+msgid "Write json output every t seconds"
+msgstr ""
+
+#: applications/luci-app-dump1090/root/usr/share/luci/menu.d/luci-app-dump1090.json:3
+msgid "dump1090"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:4
+msgid ""
+"dump1090 is a Mode S decoder specifically designed for RTLSDR devices, here "
+"you can configure the settings."
+msgstr ""
diff --git a/applications/luci-app-dynapoint/po/fi/dynapoint.po b/applications/luci-app-dynapoint/po/fi/dynapoint.po
new file mode 100644
index 000000000..e54b00dba
--- /dev/null
+++ b/applications/luci-app-dynapoint/po/fi/dynapoint.po
@@ -0,0 +1,133 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:90
+msgid "Activate this wVIF if status is:"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:31
+msgid "Append hostname to ssid"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:31
+msgid "Append the router's hostname to the SSID when connectivity check fails"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:18
+msgid "Check Internet connectivity via HTTP header download"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:18
+msgid "Configuration"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:44
+msgid "Curl is currently not installed. Please install the package in the"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:71
+msgid "Device"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:66
+#: applications/luci-app-dynapoint/luasrc/view/dynapoint/cbi_color.htm:5
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-dynapoint/root/usr/share/luci/menu.d/luci-app-dynapoint.json:3
+msgid "DynaPoint"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:54
+msgid "Dynamic Access Point Manager"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:67
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:27
+msgid ""
+"Failure counter after how many failed download attempts, the state is "
+"considered as offline"
+msgstr ""
+
+#: applications/luci-app-dynapoint/root/usr/share/rpcd/acl.d/luci-app-dynapoint.json:3
+msgid "Grant UCI access for luci-app-dynapoint"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:56
+msgid "List of Wireless Virtual Interfaces (wVIF)"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:20
+msgid "List of host addresses"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:20
+msgid ""
+"List of host addresses (url or IP) to track and request http headers from"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:85
+msgid "Mode"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:94
+msgid "Not used by DynaPoint"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:93
+msgid "Offline"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:92
+msgid "Online"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:87
+msgid "SSID"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:47
+msgid "Software Section"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:27
+msgid "Switch_to_offline threshold"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:23
+msgid "Test-run interval"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:23
+msgid "Time interval in seconds to re-start a new test run"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:36
+msgid "Use curl"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:44
+msgid "Use curl instead of wget"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:36
+msgid "Use curl instead of wget for testing the connectivity."
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:39
+msgid "Used interface"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:39
+msgid "Which interface should curl use. (Use ifconfig to find out)"
+msgstr ""
+
+#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:61
+msgid "WiFi Status"
+msgstr ""
diff --git a/applications/luci-app-firewall/po/fi/firewall.po b/applications/luci-app-firewall/po/fi/firewall.po
new file mode 100644
index 000000000..0a58b88f2
--- /dev/null
+++ b/applications/luci-app-firewall/po/fi/firewall.po
@@ -0,0 +1,1134 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-30 17:00+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:433
+msgid "-- add IP --"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:481
+msgid "-- add MAC --"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:81
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:225
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:229
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:158
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:208
+msgid "Action"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261
+msgid ""
+"Additional raw <em>iptables</em> arguments to classify zone destination "
+"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
+"traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:251
+msgid ""
+"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
+"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:223
+msgid "Allow \"invalid\" traffic"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:323
+msgid "Allow forward from <em>source zones</em>:"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:282
+msgid "Allow forward to <em>destination zones</em>:"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:508
+msgid "Any"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:274
+msgid "Any day"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+msgid ""
+"Apply a bitwise XOR of the given value and the existing mark value on "
+"established connections. Format is value[/mask]. If a mask is specified then "
+"those bits set in the mask are zeroed out."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+msgid "Apply the given DSCP class or value to established connections."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
+msgid "Automatic helper assignment"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
+msgid ""
+"Automatically assign conntrack helpers based on traffic protocol and port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+msgid "Conntrack Settings"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:230
+msgid "Conntrack helpers"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16
+msgid "Contents have been saved."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:653
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+msgid "Covered devices"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152
+msgid "Covered networks"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:198
+msgid "Covered subnets"
+msgstr ""
+
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:54
+msgid "Custom Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26
+msgid ""
+"Custom rules allow you to execute arbitrary iptables commands which are not "
+"otherwise covered by the firewall framework. The commands are executed after "
+"each firewall restart, right after the default ruleset has been loaded."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:374
+msgid "DSCP classification"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:262
+msgid "DSCP mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:296
+msgid "DSCP mark required"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
+msgid "Destination address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
+msgid "Destination port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:349
+msgid "Destination zone"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
+msgid "Device name"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:223
+msgid ""
+"Do not install extra rules to reject forwarded traffic with conntrack state "
+"<em>invalid</em>. This may be required for complex asymmetric route setups."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
+msgid "Drop invalid packets"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+msgid "Enable NAT Loopback"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
+msgid "Enable SYN-flood protection"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+msgid "Enable logging on this zone"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:338
+msgid "Expecting: %s"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63
+msgid "Experimental feature. Not fully compatible with QoS/SQM."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:230
+msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
+msgid "External IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
+msgid "External port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
+msgid "Extra arguments"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261
+msgid "Extra destination arguments"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:95
+msgid "Extra iptables arguments"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:251
+msgid "Extra source arguments"
+msgstr ""
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/zones.lua #
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+#
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3
+msgid "Firewall"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25
+msgid "Firewall - Custom Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
+msgid "Firewall - NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
+msgid "Firewall - Port Forwards"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
+msgid "Firewall - Traffic Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
+msgid "Firewall - Zone Settings"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:646
+msgid "Firewall configuration migration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:50
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:132
+msgid "Forward"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:30
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "Friday"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3
+msgid "Grant access to firewall configuration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
+msgid "Hardware flow offloading"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+msgid "IPv4 and IPv6"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
+msgid "IPv4 only"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:274
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:206
+msgid "IPv6 only"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+msgid "Inbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:38
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
+msgid "Input"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
+msgid "Internal IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+msgid "Internal port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:228
+msgid "Internal zone"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:304
+msgid "Invalid DSCP mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:372
+msgid "Invalid limit value"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:382
+msgid "Limit burst"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+msgid "Limit log messages"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:348
+msgid "Limit matching"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:75
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:68
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+msgid "Limits traffic matching to the specified rate."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:253
+msgid "Loopback source IP"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:149
+msgid "MSS clamping"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:146
+msgid "Masquerading"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:147
+msgid "Match"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:262
+msgid "Match DSCP"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:285
+msgid "Match ICMP type"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+msgid "Match device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:200
+msgid ""
+"Match forwarded traffic directed at the given destination port or port range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186
+msgid ""
+"Match forwarded traffic originating from the given source port or port range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:221
+msgid ""
+"Match incoming traffic directed at the given destination port or port range "
+"on this host"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:240
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+msgid "Matches traffic carrying the specified DSCP marking."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid ""
+"Maximum initial number of packets to match: this number gets recharged by "
+"one every time the limit specified above is not reached, up to this number."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
+msgid "Monday"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+msgid "Month Days"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:130
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:128
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108
+msgid "Name"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:216
+msgid "Only match incoming traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:197
+msgid "Only match incoming traffic from these MACs."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:202
+msgid "Only match incoming traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+msgid ""
+"Only match incoming traffic originating from the given source port or port "
+"range on the client host"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:245
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
+msgid "Outbound zone"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+msgid "Output"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:285
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
+msgid "Passes additional arguments to iptables. Use with care!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:248
+msgid ""
+"Passing raw iptables arguments to source and destination traffic "
+"classification rules allows to match packets based on other criteria than "
+"interfaces or subnets. These options should be used with extreme care as "
+"invalid values could render the firewall ruleset broken, completely exposing "
+"all services."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:132
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26
+msgid "Port Forwards"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+msgid ""
+"Port forwarding allows remote computers on the Internet to connect to a "
+"specific computer or service within the private LAN."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+msgid ""
+"Redirect matched incoming traffic to the given port on the internal host"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:235
+msgid "Redirect matched incoming traffic to the specified internal host"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:75
+msgid "Requires hardware NAT support. Implemented at least for mt7621"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:216
+msgid "Restrict Masquerading to given destination subnets"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:209
+msgid "Restrict Masquerading to given source subnets"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203
+msgid "Restrict to address family"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+msgid "Rewrite matched traffic to the specified source port or port range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
+msgid "Routing/NAT Offloading"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:437
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "Saturday"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+msgid "Set mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317
+msgid ""
+"Set the given mark value on established connections. Format is value[/mask]. "
+"If a mask is specified then only those bits set in the mask are modified."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
+msgid "Software based offloading for routing/NAT"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
+msgid "Software flow offloading"
+msgstr ""
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/rrule.lua #
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+#
+# msgid "Traffic Redirection"
+# msgstr ""
+#
+# msgid ""
+# "Traffic redirection allows you to change the destination address of "
+# "forwarded packets."
+# msgstr ""
+#
+# msgid "Overview"
+# msgstr ""
+#
+# msgid "Name"
+# msgstr ""
+#
+# msgid "Source zone"
+# msgstr ""
+#
+# msgid "Source MAC-address"
+# msgstr ""
+#
+# msgid "Source port"
+# msgstr ""
+#
+# msgid "Protocol"
+# msgstr ""
+#
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
+msgid "Source IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+msgid "Source MAC address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
+msgid "Source address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
+msgid "Source port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+msgid "Source zone"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:262
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:253
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:289
+msgid "Start Date (yyyy-mm-dd)"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:281
+msgid "Start Time (hh.mm.ss)"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:293
+msgid "Stop Date (yyyy-mm-dd)"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:285
+msgid "Stop Time (hh.mm.ss)"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
+msgid "Sunday"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:647
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38
+msgid ""
+"The firewall creates zones over your network interfaces to control network "
+"traffic flow."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
+msgid ""
+"The options below control the forwarding policies between this zone (%s) and "
+"other zones. <em>Destination zones</em> cover forwarded traffic "
+"<strong>originating from %q</strong>. <em>Source zones</em> match forwarded "
+"traffic from other zones <strong>targeted at %q</strong>. The forwarding "
+"rule is <em>unidirectional</em>, e.g. a forward from lan to wan does "
+"<em>not</em> imply a permission to forward from wan to lan as well."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:104
+msgid ""
+"This section defines common properties of %q. The <em>input</em> and "
+"<em>output</em> options set the default policies for traffic entering and "
+"leaving this zone while the <em>forward</em> option describes the policy for "
+"forwarded traffic between different networks within the zone. <em>Covered "
+"networks</em> specifies which available networks are members of this zone."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
+msgid "Thursday"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:137
+msgid "Time Restrictions"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297
+msgid "Time in UTC"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+msgid ""
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35
+msgid "Traffic Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174
+msgid ""
+"Traffic rules define policies for packets traveling between different zones, "
+"for example to reject traffic between certain hosts or to open WAN ports on "
+"the router."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
+msgid "Tuesday"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19
+msgid "Unable to save contents: %s"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:277
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
+msgid "Unknown or not installed conntrack helper \"%s\""
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:140
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:144
+msgid "Unnamed NAT"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:145
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:159
+msgid "Unnamed forward"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:215
+msgid "Unnamed rule"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:109
+msgid "Unnamed zone"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:648
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:257
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
+msgid "Use internal IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+msgid ""
+"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
+"network devices."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:198
+msgid ""
+"Use this option to classify zone traffic by source or destination subnet "
+"instead of networks or devices."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:330
+msgid "Valid firewall mark required"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+msgid "Wednesday"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
+msgid "Week Days"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+msgid "XOR firewall mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+msgid "XOR mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+msgid "Zone ⇒ Forwardings"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:81
+msgid "Zones"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:56
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:138
+msgid "accept"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:243
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:264
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:290
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:203
+msgid "any"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:82
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:40
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:50
+msgid "any zone"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+msgid "apply firewall mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+msgid "assign conntrack helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:68
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:61
+msgid "day"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:234
+msgid "do not rewrite"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
+msgid "don't track"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+msgid "drop"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:68
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:61
+msgid "hour"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:68
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:61
+msgid "minute"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136
+msgid "reject"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:68
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:61
+msgid "second"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:82
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:50
+msgid "this device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277
+msgid "this new zone"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:353
+msgid "unlimited"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:338
+msgid "valid firewall mark"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/fi/frpc.po b/applications/luci-app-frpc/po/fi/frpc.po
new file mode 100644
index 000000000..1cfed7318
--- /dev/null
+++ b/applications/luci-app-frpc/po/fi/frpc.po
@@ -0,0 +1,359 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frps/po/fi/frps.po b/applications/luci-app-frps/po/fi/frps.po
new file mode 100644
index 000000000..7bb794ccb
--- /dev/null
+++ b/applications/luci-app-frps/po/fi/frps.po
@@ -0,0 +1,317 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:14
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "Allow ports"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "Bind address"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "Bind port"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:14
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "Custom 404 page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "Dashboard address"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "Dashboard password"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "Dashboard port"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "Dashboard user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/root/usr/share/rpcd/acl.d/luci-app-frps.json:3
+msgid "Grant access to LuCI app frps"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "KCP bind port"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "Log file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "Log max days"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "Max ports per client"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "Proxy bind address"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "Subdomain host"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "UDP bind port"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "Vhost HTTP port"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "Vhost HTTP timeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "Vhost HTTPS port"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-fwknopd/po/fi/fwknopd.po b/applications/luci-app-fwknopd/po/fi/fwknopd.po
new file mode 100644
index 000000000..6430f4bf9
--- /dev/null
+++ b/applications/luci-app-fwknopd/po/fi/fwknopd.po
@@ -0,0 +1,119 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2015-05-12 21:03-0500\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\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"
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:48
+msgid ""
+"Allow SPA clients to request access to services through an iptables firewall "
+"instead of just to it."
+msgstr ""
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:49
+msgid "Allow SPA clients to request forwarding destination by DNS name."
+msgstr ""
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:22
+msgid "Base64 key"
+msgstr ""
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:33
+msgid ""
+"Define a set of ports and protocols (tcp or udp) that will be opened if a "
+"valid knock sequence is seen. If this entry is not set, fwknopd will attempt "
+"to honor any proto/port request specified in the SPA data (unless of it "
+"matches any “RESTRICT_PORTS” entries). Multiple entries are comma-separated."
+msgstr ""
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:36
+msgid ""
+"Define the length of time access will be granted by fwknopd through the "
+"firewall after a valid knock sequence from a source IP address. If "
+"“FW_ACCESS_TIMEOUT” is not set then the default timeout of 30 seconds will "
+"automatically be set."
+msgstr ""
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:18
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:20
+msgid ""
+"Define the symmetric key used for decrypting an incoming SPA packet that is "
+"encrypted by the fwknop client with Rijndael."
+msgstr ""
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:6
+msgid "Enable Uci/Luci control"
+msgstr ""
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:8
+msgid "Enable config overwrite"
+msgstr ""
+
+#: applications/luci-app-fwknopd/root/usr/share/luci/menu.d/luci-app-fwknopd.json:3
+msgid "Firewall Knock Daemon"
+msgstr ""
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:4
+msgid "Firewall Knock Operator"
+msgstr ""
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:39
+msgid ""
+"Force all SPA packets to contain a real IP address within the encrypted "
+"data. This makes it impossible to use the -s command line argument on the "
+"fwknop client command line, so either -R has to be used to automatically "
+"resolve the external address (if the client behind a NAT) or the client must "
+"know the external IP and set it via the -a argument."
+msgstr ""
+
+#: applications/luci-app-fwknopd/root/usr/share/rpcd/acl.d/luci-app-fwknopd.json:3
+msgid "Grant UCI access for luci-app-fwknopd"
+msgstr ""
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:46
+msgid ""
+"Maximum age in seconds that an SPA packet will be accepted. Defaults to 120 "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:19
+msgid "Normal Key"
+msgstr ""
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:47
+msgid "Specify the ethernet interface on which fwknopd will sniff packets."
+msgstr ""
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:28
+msgid "The base64 hmac key"
+msgstr ""
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:17
+msgid "Use ANY for any source IP"
+msgstr ""
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:8
+msgid ""
+"When unchecked, the config files in /etc/fwknopd will be used as is, "
+"ignoring any settings here."
+msgstr ""
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:10
+msgid "access.conf stanzas"
+msgstr ""
+
+#: applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua:44
+msgid "fwknopd.conf config options"
+msgstr ""
+
+#~ msgid "Enter custom access.conf variables below:"
+#~ msgstr "Enter custom access.conf variables below:"
+
+#~ msgid "Enter custom fwknopd.conf variables below:"
+#~ msgstr "Enter custom fwknopd.conf variables below:"
diff --git a/applications/luci-app-https-dns-proxy/po/fi/https-dns-proxy.po b/applications/luci-app-https-dns-proxy/po/fi/https-dns-proxy.po
new file mode 100644
index 000000000..9f8ced1c5
--- /dev/null
+++ b/applications/luci-app-https-dns-proxy/po/fi/https-dns-proxy.po
@@ -0,0 +1,187 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:58
+msgid "%s is not installed or not found"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3
+msgid "AdGuard (Family Protection)"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3
+msgid "AdGuard (Standard)"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.family.lua:3
+msgid "CIRA Canadian Shield (Family)"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.private.lua:3
+msgid "CIRA Canadian Shield (Private)"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.protected.lua:3
+msgid "CIRA Canadian Shield (Protected)"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3
+msgid "CleanBrowsing (Adult Filter)"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3
+msgid "CleanBrowsing (Family Filter)"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3
+msgid "CleanBrowsing (Security Filter)"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3
+msgid "Cloudflare"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4
+msgid "DNS HTTPS Proxy"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:92
+msgid "DNS HTTPS Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3
+msgid "DNS.SB"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3
+msgid "Digitale Gesellschaft"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:57
+msgid "Disable"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:163
+msgid "EDNS client subnet"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:54
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:13
+msgid "For more information on different options check"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3
+msgid "Google"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/root/usr/share/rpcd/acl.d/luci-app-https-dns-proxy.json:3
+msgid "Grant UCI access for luci-app-https-dns-proxy"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:112
+msgid "Instances"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh.lua:3
+msgid "LibreDNS"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh-ads.lua:3
+msgid "LibreDNS (No Ads)"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146
+msgid "Listen address"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:159
+msgid "Listen port"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52
+msgid "Loading"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3
+msgid "ODVR (nic.cz)"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:166
+msgid "Proxy server"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3
+msgid "Quad 9 (Recommended)"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3
+msgid "Quad 9 (Secured with ECS Support)"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3
+msgid "Quad 9 (Secured)"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3
+msgid "Quad 9 (Unsecured)"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:44
+msgid "Reload"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:119
+msgid "Resolver"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:84
+msgid "Running: %s DoH at %s:%s"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:96
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:94
+msgid "Service Status [%s %s]"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41
+msgid "Start"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:47
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:62
+msgid "Stopped"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:49
+msgid "Unknown Provider"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:113
+msgid ""
+"When you add/remove any instances below, they will be used to override the "
+"'DNS forwardings' section of %sDHCP and DNS%s."
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:34
+msgid "and"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64
+msgid "disabled"
+msgstr ""
+
+#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3
+msgid "rubyfish.cn"
+msgstr ""
diff --git a/applications/luci-app-ksmbd/po/fi/ksmbd.po b/applications/luci-app-ksmbd/po/fi/ksmbd.po
new file mode 100644
index 000000000..b83917d39
--- /dev/null
+++ b/applications/luci-app-ksmbd/po/fi/ksmbd.po
@@ -0,0 +1,114 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:86
+msgid "Allow guests"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:43
+msgid "Allow legacy (insecure) protocols/authentication."
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:44
+msgid ""
+"Allow legacy smb(v1)/Lanman connections, needed for older devices without "
+"smb(v2.1/3) support."
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:83
+msgid "Allowed users"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:70
+msgid "Browse-able"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:102
+msgid "Create mask"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:40
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:108
+msgid "Directory mask"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:32
+msgid "Edit Template"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:47
+msgid "Edit the template that is used for generating the ksmbd configuration."
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:81
+msgid "Force Root"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:31
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-ksmbd/root/usr/share/rpcd/acl.d/luci-app-ksmbd.json:3
+msgid "Grant access to LuCI app ksmbd"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:97
+msgid "Hide dot files"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:92
+msgid "Inherit owner"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:34
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:35
+msgid "Listen only on the given interface or, if unspecified, on lan"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:64
+msgid "Name"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:20
+#: applications/luci-app-ksmbd/root/usr/share/luci/menu.d/luci-app-ksmbd.json:3
+msgid "Network Shares"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:65
+msgid "Path"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:60
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:75
+msgid "Read-only"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:59
+msgid "Shared Directories"
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:48
+msgid ""
+"This is the content of the file '/etc/ksmbd/smb.conf.template' from which "
+"your ksmbd configuration will be generated. Values enclosed by pipe symbols "
+"('|') should not be changed. They get their values from the 'General "
+"Settings' tab."
+msgstr ""
+
+#: applications/luci-app-ksmbd/htdocs/luci-static/resources/view/ksmbd.js:37
+msgid "Workgroup"
+msgstr ""
diff --git a/applications/luci-app-ltqtapi/po/fi/ltqtapi.po b/applications/luci-app-ltqtapi/po/fi/ltqtapi.po
new file mode 100644
index 000000000..75978c6bb
--- /dev/null
+++ b/applications/luci-app-ltqtapi/po/fi/ltqtapi.po
@@ -0,0 +1,88 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-ltqtapi/luasrc/controller/ltqtapi.lua:17
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/account.lua:7
+msgid "Account"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/view/telephony_status.htm:28
+msgid "Collecting data..."
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/contact.lua:7
+msgid "Contact"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/controller/ltqtapi.lua:18
+msgid "Contacts"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/view/telephony_status.htm:20
+msgid "Current Telephony State"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/contact.lua:14
+msgid "Dial"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/account.lua:14
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/root/usr/share/rpcd/acl.d/luci-app-ltqtapi.json:3
+msgid "Grant UCI access for luci-app-ltqtapi"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/account.lua:7
+msgid "Here You can specify the SIP account that you want to use."
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/contact.lua:7
+msgid "Here You can specify the SIP contacts that you want to use."
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/contact.lua:12
+msgid "Name"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/account.lua:13
+msgid "Password"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/view/telephony_status.htm:24
+msgid "Port1"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/view/telephony_status.htm:25
+msgid "Port2"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/account.lua:11
+msgid "Realm"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/contact.lua:13
+msgid "Shortdial"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/contact.lua:16
+msgid "Type"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/view/telephony_status.htm:23
+msgid "Uplink"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/account.lua:12
+msgid "Username"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/controller/ltqtapi.lua:13
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/account.lua:4
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/contact.lua:4
+msgid "VoIP"
+msgstr ""
diff --git a/applications/luci-app-lxc/po/fi/lxc.po b/applications/luci-app-lxc/po/fi/lxc.po
new file mode 100644
index 000000000..d2e44dee6
--- /dev/null
+++ b/applications/luci-app-lxc/po/fi/lxc.po
@@ -0,0 +1,108 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:18
+msgid ""
+"<b>Please note:</b> LXC Containers require features not available on OpenWrt "
+"images for devices with small flash.<br />"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:29
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:47
+msgid "Actions"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:19
+msgid "Also you may want to install 'kmod-veth' for optional network support."
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:23
+msgid "Available Containers"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:25
+msgid "Containers URL"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:53
+msgid "Create"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:41
+msgid "Create New Container"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:133
+msgid "Delete"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:31
+msgid "Enable SSL"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:32
+msgid ""
+"Enable optional SSL encryption support. This requires additional packages "
+"like 'wget', 'ca-certificates', 'gnupg' and 'gnupg-utils'."
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:50
+msgid "Enter new name"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:36
+msgid "Free Space Threshold"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:42
+msgid "Free Temp Threshold"
+msgstr ""
+
+#: applications/luci-app-lxc/root/usr/share/rpcd/acl.d/luci-app-lxc.json:3
+msgid "Grant UCI access for luci-app-lxc"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/controller/lxc.lua:31
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:17
+msgid "LXC Containers"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:73
+msgid "Loading"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:37
+msgid "Minimum required free space for LXC Container creation in KB"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:43
+msgid "Minimum required free temp space for LXC Container creation in KB"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:27
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:45
+msgid "Name"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:22
+msgid "Options"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:131
+msgid "Start"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:28
+msgid "Status"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:132
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:46
+msgid "Template"
+msgstr ""
diff --git a/applications/luci-app-minidlna/po/fi/minidlna.po b/applications/luci-app-minidlna/po/fi/minidlna.po
new file mode 100644
index 000000000..e185c6582
--- /dev/null
+++ b/applications/luci-app-minidlna/po/fi/minidlna.po
@@ -0,0 +1,239 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\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"
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:51
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:80
+msgid "Album art names"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:97
+msgid "Allow wide links"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:109
+msgid "Announced UUID"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:112
+msgid "Announced model number"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:106
+msgid "Announced serial number"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:73
+msgid "Browse directory"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:88
+msgid "Database directory"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:53
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:95
+msgid "Enable TIVO"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:92
+msgid "Enable inotify"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:69
+msgid "Friendly name"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:50
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-minidlna/root/usr/share/rpcd/acl.d/luci-app-minidlna.json:3
+msgid "Grant access to minidlna status and configuration"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:59
+msgid "Interfaces"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:90
+msgid "Log directory"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:78
+msgid "Media directories"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:36
+msgid ""
+"MiniDLNA is server software with the aim of being fully compliant with DLNA/"
+"UPnP-AV clients."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:112
+msgid ""
+"Model number the miniDLNA daemon will report to clients in its XML "
+"description."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:74
+msgid "Music"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:59
+msgid "Network interfaces to serve."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:103
+msgid "Notify interval"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:103
+msgid "Notify interval in seconds."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:76
+msgid "Pictures"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:55
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:56
+msgid "Port for HTTP (descriptions, SOAP, media transfer) traffic."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:101
+msgid "Presentation URL"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:71
+msgid "Root container"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:106
+msgid ""
+"Serial number the miniDLNA daemon will report to clients in its XML "
+"description."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:69
+msgid ""
+"Set this if you want to customize the name that shows up on your clients."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:88
+msgid ""
+"Set this if you would like to specify the directory where you want MiniDLNA "
+"to store its database and album art cache."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:90
+msgid ""
+"Set this if you would like to specify the directory where you want MiniDLNA "
+"to store its log file."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:97
+msgid ""
+"Set this to allow serving content outside the media root (via symlinks)."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:92
+msgid ""
+"Set this to enable inotify monitoring to automatically discover new files."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:95
+msgid ""
+"Set this to enable support for streaming .jpg and .mp3 files to a TiVo "
+"supporting HMO."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:99
+msgid ""
+"Set this to strictly adhere to DLNA standards. This will allow server-side "
+"downscaling of very large JPEG images, which may hurt JPEG serving "
+"performance on (at least) Sony DLNA products."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:78
+msgid ""
+"Set this to the directory you want scanned. If you want to restrict the "
+"directory to a specific content type, you can prepend the type ('A' for "
+"audio, 'V' for video, 'P' for images), followed by a comma, to the directory "
+"(eg. A,/mnt/media/Music). Multiple directories can be specified."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:115
+msgid "Specify the path to the MiniSSDPd socket."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:72
+msgid "Standard container"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:39
+msgid "Status"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:99
+msgid "Strict to DLNA standard"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:25
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/status/include/80_minidlna.js:28
+msgid ""
+"The miniDLNA service is active, serving %d audio, %d video and %d image "
+"files."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:18
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/status/include/80_minidlna.js:22
+msgid "The miniDLNA service is not running."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:80
+msgid "This is a list of file names to check for when searching for album art."
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:75
+msgid "Video"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:36
+#: applications/luci-app-minidlna/root/usr/share/luci/menu.d/luci-app-minidlna.json:3
+msgid "miniDLNA"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/status/include/80_minidlna.js:7
+msgid "miniDLNA Status"
+msgstr ""
+
+#: applications/luci-app-minidlna/htdocs/luci-static/resources/view/minidlna.js:115
+msgid "miniSSDP socket"
+msgstr ""
+
+#~ msgid "Network interfaces to serve, comma delimited list."
+#~ msgstr "Network interfaces to serve, comma delimited list."
+
+#~ msgid ""
+#~ "This is a list of file names to check for when searching for album art. "
+#~ "Note: names must be delimited with a forward slash '/'"
+#~ msgstr ""
+#~ "This is a list of file names to check for when searching for album art. "
+#~ "Note: names must be delimited with a forward slash '/'"
diff --git a/applications/luci-app-mjpg-streamer/po/fi/mjpg-streamer.po b/applications/luci-app-mjpg-streamer/po/fi/mjpg-streamer.po
new file mode 100644
index 000000000..15bd45566
--- /dev/null
+++ b/applications/luci-app-mjpg-streamer/po/fi/mjpg-streamer.po
@@ -0,0 +1,204 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:217
+msgid "Allow ringbuffer to exceed limit by this amount"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:95
+msgid "Ask for username and password on connect"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:95
+msgid "Authentication required"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:83
+msgid "Auto"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:69
+msgid "Automatic disabling of MJPEG mode"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:82
+msgid "Blink"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:220
+msgid "Command to run"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:43
+msgid "Device"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:77
+msgid "Do not initialize dynctrls of Linux-UVC driver"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:77
+msgid "Don't initialize dynctrls"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:74
+msgid "Drop frames smaller than this limit"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:12
+msgid "Enable MJPG-streamer"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:69
+msgid "Enable YUYV format"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:12
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:217
+msgid "Exceed"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:220
+msgid ""
+"Execute command after saving picture. Mjpg-streamer parses the filename as "
+"first parameter to your script."
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:34
+msgid "File output"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:203
+msgid "Folder"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:108
+msgid "Folder that contains webpages"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:64
+msgid "Frames per second"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:8
+msgid "General"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/root/usr/share/rpcd/acl.d/luci-app-mjpg-streamer.json:3
+msgid "Grant UCI access for luci-app-mjpg-streamer"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:33
+msgid "HTTP output"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:14
+msgid "Input plugin"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:209
+msgid "Interval between saving pictures"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:71
+msgid "JPEG compression quality"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:79
+msgid "Led control"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:222
+msgid "Link newest picture to fixed file name"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:222
+msgid "Link the last picture in ringbuffer to fixed named file provided."
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/root/usr/share/luci/menu.d/luci-app-mjpg-streamer.json:3
+msgid "MJPG-streamer"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:213
+msgid "Max. number of pictures to hold"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:81
+msgid "Off"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:80
+msgid "On"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:20
+msgid "Output plugin"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:102
+msgid "Password"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:29
+msgid "Plugin settings"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:91
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:51
+msgid "Resolution"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:213
+msgid "Ring buffer size"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:203
+msgid "Set folder to save pictures"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:209
+msgid "Set the interval in millisecond"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:74
+msgid ""
+"Set the minimum size if the webcam produces small-sized garbage frames. May "
+"happen under low light conditions"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:71
+msgid ""
+"Set the quality in percent. This setting activates YUYV format, disables "
+"MJPEG"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:91
+msgid "TCP port for this HTTP server"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:35
+msgid "UVC input"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:98
+msgid "Username"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:108
+msgid "WWW folder"
+msgstr ""
+
+#: applications/luci-app-mjpg-streamer/luasrc/model/cbi/mjpg-streamer.lua:4
+msgid ""
+"mjpg streamer is a streaming application for Linux-UVC compatible webcams"
+msgstr ""
diff --git a/applications/luci-app-mwan3/po/fi/mwan3.po b/applications/luci-app-mwan3/po/fi/mwan3.po
new file mode 100644
index 000000000..3587e2da8
--- /dev/null
+++ b/applications/luci-app-mwan3/po/fi/mwan3.po
@@ -0,0 +1,802 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:176
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:192
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:212
+msgid "%d hour"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:171
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:187
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:207
+msgid "%d minute"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:172
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:173
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:174
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:175
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:188
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:189
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:190
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:191
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:208
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:209
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:210
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:211
+msgid "%d minutes"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:48
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:152
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:165
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:181
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:201
+msgid "%d second"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:49
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:50
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:51
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:52
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:153
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:154
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:155
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:156
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:157
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:158
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:159
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:160
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:161
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:166
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:167
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:168
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:169
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:170
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:182
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:183
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:184
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:185
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:186
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:202
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:203
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:204
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:205
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:206
+msgid "%d seconds"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:58
+msgid "-- Please choose --"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:66
+msgid ""
+"Acceptable values: 1-100. This many Tracking IP addresses must respond for "
+"the link to be deemed up"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/memberconfig.lua:30
+msgid "Acceptable values: 1-1000. Defaults to 1 if not set"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/memberconfig.lua:26
+msgid "Acceptable values: 1-256. Defaults to 1 if not set"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:32
+msgid "Alert"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/controller/mwan3.lua:177
+msgid "All required IP rules for interface %s found"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:57
+msgid "Also scan this Routing table for connected networks"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm:73
+msgid "Check IP rules"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:104
+msgid "Check link quality"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm:74
+msgid "Check routing table"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/overview_status_interface.htm:97
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_detail.htm:34
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_troubleshooting.htm:34
+msgid "Collecting data..."
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:33
+msgid "Critical"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:38
+msgid "Debug"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua:81
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:29
+msgid "Destination address"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua:87
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:33
+msgid "Destination port"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_detail.htm:11
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm:11
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_interface.htm:11
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_troubleshooting.htm:11
+msgid "Detail"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_detail.htm:12
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm:12
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_interface.htm:12
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_troubleshooting.htm:12
+msgid "Diagnostics"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/overview_status_interface.htm:50
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:229
+msgid ""
+"Downed interface will be deemed up after this many successful ping tests"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:31
+msgid "Emergency"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:59
+msgid "Enable ssl tracking"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:160
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:23
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:64
+msgid ""
+"Enables firewall rule logging (global mwan3 logging must also be enabled)"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:23
+msgid "Enables global firewall logging"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:60
+msgid "Enables https tracking on ssl port 443"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:16
+msgid "Enter value in hex, starting with <code>0x</code>"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:34
+msgid "Error"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm:81
+msgid "Execute"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:27
+msgid "Expect interface state on up event"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:178
+msgid "Failure interval"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:29
+msgid "Firewall loglevel"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:15
+msgid "Firewall mask"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:242
+msgid "Flush conntrack table"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:243
+msgid "Flush global firewall conntrack table on interface events"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/controller/mwan3.lua:45
+msgid "Globals"
+msgstr ""
+
+#: applications/luci-app-mwan3/root/usr/share/rpcd/acl.d/luci-app-mwan3.json:3
+msgid "Grant UCI access for luci-app-mwan3"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm:76
+msgid "Hotplug ifdown"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm:75
+msgid "Hotplug ifup"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:45
+msgid "How often should rtmon update the interface routing table"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_detail.htm:29
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm:56
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_troubleshooting.htm:29
+msgid "INFO: MWAN not running"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:56
+msgid "IPset"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:34
+msgid "IPv4"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:35
+msgid "IPv6"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:37
+msgid "Info"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:26
+msgid "Initial state"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:150
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/member.lua:27
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/memberconfig.lua:18
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_detail.htm:10
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm:10
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm:62
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_interface.htm:10
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_troubleshooting.htm:10
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:208
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:214
+msgid "Interface down"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:219
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:228
+msgid "Interface up"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:215
+msgid "Interface will be deemed down after this many failed ping tests"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/controller/mwan3.lua:48
+msgid "Interfaces"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:32
+msgid "Internet Protocol"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:194
+msgid "Keep failure interval"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:195
+msgid "Keep ping failure interval during failure state"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/policy.lua:75
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/policyconfig.lua:25
+msgid "Last resort"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/controller/mwan3.lua:19
+#: applications/luci-app-mwan3/luasrc/controller/mwan3.lua:41
+msgid "Load Balancing"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/overview_status_interface.htm:96
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_detail.htm:33
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm:36
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_troubleshooting.htm:33
+msgid "Loading"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:22
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:63
+msgid "Logging"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:28
+msgid "Loglevel"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:8
+msgid "MWAN - Globals"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:139
+msgid "MWAN - Interfaces"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/member.lua:9
+msgid "MWAN - Members"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/notify.lua:11
+msgid "MWAN - Notification"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/policy.lua:38
+msgid "MWAN - Policies"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua:42
+msgid "MWAN - Rules"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:16
+msgid "MWAN Interface Configuration - %s"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/overview_status_interface.htm:94
+msgid "MWAN Interfaces"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/memberconfig.lua:11
+msgid "MWAN Member Configuration - %s"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/policyconfig.lua:11
+msgid "MWAN Policy Configuration - %s"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:15
+msgid "MWAN Rule Configuration - %s"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_detail.htm:27
+msgid "MWAN Status - Detail"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm:54
+msgid "MWAN Status - Diagnostics"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_troubleshooting.htm:27
+msgid "MWAN Status - Troubleshooting"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:143
+msgid ""
+"MWAN supports up to 252 physical and/or logical interfaces<br />MWAN "
+"requires that all interfaces have a unique metric configured in /etc/config/"
+"network<br />Names must match the interface name found in /etc/config/"
+"network<br />Names may contain characters A-Z, a-z, 0-9, _ and no spaces<br /"
+">Interfaces may not share the same name as configured members, policies or "
+"rules"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:92
+msgid "Max TTL"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:108
+msgid "Max packet latency [ms]"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:120
+msgid "Max packet loss [%]"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:27
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:34
+msgid ""
+"May be entered as a single or multiple port(s) (eg \"22\" or \"80,443\") or "
+"as a portrange (eg \"1024:2048\") without quotes"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/member.lua:17
+msgid "Member"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/policyconfig.lua:18
+msgid "Member used"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/controller/mwan3.lua:51
+msgid "Members"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/member.lua:12
+msgid ""
+"Members are profiles attaching a metric and weight to an MWAN interface<br /"
+">Names may contain characters A-Z, a-z, 0-9, _ and no spaces<br />Members "
+"may not share the same name as configured interfaces, policies or rules"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/policy.lua:61
+msgid "Members assigned"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:230
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:249
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/member.lua:33
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/memberconfig.lua:25
+msgid "Metric"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:129
+msgid "Min packet latency [ms]"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:141
+msgid "Min packet loss [%]"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/controller/mwan3.lua:190
+msgid "Missing both IP rules for interface %s"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:57
+msgid ""
+"Name of IPset rule. Requires IPset rule in /etc/dnsmasq.conf (eg \"ipset=/"
+"youtube.com/youtube\")"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:166
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:50
+msgid "No"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/overview_status_interface.htm:76
+msgid "No MWAN interfaces found"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/controller/mwan3.lua:159
+msgid "No gateway for interface %s found."
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/controller/mwan3.lua:168
+msgid "No tracking Hosts for interface %s defined."
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:36
+msgid "Notice"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/controller/mwan3.lua:60
+msgid "Notification"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:30
+#: applications/luci-app-mwan3/luasrc/view/mwan/overview_status_interface.htm:42
+msgid "Offline"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:29
+#: applications/luci-app-mwan3/luasrc/view/mwan/overview_status_interface.htm:34
+msgid "Online"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/controller/mwan3.lua:182
+#: applications/luci-app-mwan3/luasrc/controller/mwan3.lua:186
+msgid "Only one IP rules for interface %s found"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:70
+msgid "Ping count"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm:71
+msgid "Ping default gateway"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:192
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:163
+msgid "Ping interval"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:179
+msgid "Ping interval during failure detection"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:199
+msgid "Ping interval during failure recovering"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:78
+msgid "Ping size"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:150
+msgid "Ping timeout"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm:72
+msgid "Ping tracking IP"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/controller/mwan3.lua:54
+msgid "Policies"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/policy.lua:42
+msgid ""
+"Policies are profiles grouping one or more members controlling how MWAN "
+"distributes traffic<br />Member interfaces with lower metrics are used "
+"first<br />Member interfaces with the same metric will be load-balanced<br /"
+">Load-balanced member interfaces distribute more traffic out those with "
+"higher weights<br />Names may contain characters A-Z, a-z, 0-9, _ and no "
+"spaces<br />Names must be 15 characters or less<br />Policies may not share "
+"the same name as configured interfaces, members or rules"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/policy.lua:51
+msgid "Policy"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua:99
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:66
+msgid "Policy assigned"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua:93
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:36
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:198
+msgid "Recovery interval"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:59
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:60
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:61
+msgid "Routing table %d"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/controller/mwan3.lua:196
+msgid "Routing table %s for interface %s found"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/controller/mwan3.lua:200
+msgid "Routing table %s for interface %s not found"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:56
+msgid "Routing table lookup"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua:59
+msgid "Rule"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/controller/mwan3.lua:57
+msgid "Rules"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua:47
+msgid ""
+"Rules specify which traffic will use a particular MWAN policy<br />Rules are "
+"based on IP address, port or protocol<br />Rules are matched from top to "
+"bottom<br />Rules below a matching rule are ignored<br />Traffic not "
+"matching any rule is routed using the main routing table<br />Traffic "
+"destined for known (other than default) networks is handled by the main "
+"routing table<br />Traffic matching a rule, but all WAN interfaces for that "
+"policy are down will be blackholed<br />Names may contain characters A-Z, a-"
+"z, 0-9, _ and no spaces<br />Rules may not share the same name as configured "
+"interfaces, members or policies"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:53
+msgid "Seconds. Acceptable values: 1-1000000. Defaults to 600 if not set"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua:69
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:22
+msgid "Source address"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua:75
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:26
+msgid "Source port"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:46
+msgid "Sticky"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:52
+msgid "Sticky timeout"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:23
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:30
+msgid "Supports CIDR notation (eg \"192.168.100.0/24\") without quotes"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm:69
+msgid "Task"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:15
+msgid "There are currently %d of %d supported interfaces configured"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:250
+msgid ""
+"This displays the metric assigned to this interface in /etc/config/network"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:38
+msgid ""
+"This hostname or IP address will be pinged to determine if the link is up or "
+"down. Leave blank to assume interface is always online"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/notify.lua:14
+msgid ""
+"This section allows you to modify the content of \"/etc/mwan3.user\".<br /"
+">The file is also preserved during sysupgrade.<br /><br />Notes:<br />This "
+"file is interpreted as a shell script.<br />The first line of the script "
+"must be &#34;#!/bin/sh&#34; without quotes.<br />Lines beginning with # are "
+"comments and are not executed.<br />Put your custom mwan3 action here, they "
+"will<br />be executed with each netifd hotplug interface event<br />on "
+"interfaces for which mwan3 is enabled.<br /><br />There are three main "
+"environment variables that are passed to this script.<br /><br />$ACTION "
+"<br />* \"ifup\" Is called by netifd and mwan3track <br />* \"ifdown\" Is "
+"called by netifd and mwan3track <br />* \"connected\" Is only called by "
+"mwan3track if tracking was successful <br />* \"disconnected\" Is only "
+"called by mwan3track if tracking has failed <br />$INTERFACE Name of the "
+"interface which went up or down (e.g. \"wan\" or \"wwan\")<br />$DEVICE "
+"Physical device name which interface went up or down (e.g. \"eth0\" or "
+"\"wwan0\")<br /><br />"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:37
+msgid "Tracking hostname or IP address"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:170
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:41
+msgid "Tracking method"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:181
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:65
+msgid "Tracking reliability"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:47
+msgid ""
+"Traffic from the same source IP address that previously matched this rule "
+"within the sticky timeout period will use the same WAN interface"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_detail.htm:13
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm:13
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_interface.htm:13
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_troubleshooting.htm:13
+msgid "Troubleshooting"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:44
+msgid "Update interval"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:37
+msgid "View the content of /etc/protocols for protocol description"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:19
+msgid "WARNING: %d interfaces are configured exceeding the maximum of %d!"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:26
+msgid "WARNING: Interface %s are not found in /etc/config/network"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:45
+msgid "WARNING: Interface %s has a duplicate metric %s configured"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:38
+msgid ""
+"WARNING: Interface %s has a higher reliability requirement than tracking "
+"hosts (%d)"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:32
+msgid "WARNING: Interface %s has no default route in the main routing table"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/policy.lua:30
+msgid "WARNING: Policy %s has exceeding the maximum name of 15 characters"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/rule.lua:34
+msgid ""
+"WARNING: Rule %s have a port configured with no or improper protocol "
+"specified!"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm:37
+msgid "Waiting for command to complete..."
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua:35
+msgid "Warning"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/member.lua:39
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/memberconfig.lua:29
+msgid "Weight"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/policyconfig.lua:26
+msgid ""
+"When all policy members are offline use this behavior for matched traffic"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua:164
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:49
+msgid "Yes"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/policy.lua:80
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/policyconfig.lua:29
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:73
+msgid "blackhole (drop)"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:246
+msgid "connected (mwan3)"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/policy.lua:82
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/policyconfig.lua:30
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:74
+msgid "default (use main routing table)"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:247
+msgid "disconnected (mwan3)"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:245
+msgid "ifdown (netifd)"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua:244
+msgid "ifup (netifd)"
+msgstr ""
+
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/policy.lua:84
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/policyconfig.lua:28
+#: applications/luci-app-mwan3/luasrc/model/cbi/mwan/ruleconfig.lua:72
+msgid "unreachable (reject)"
+msgstr ""
diff --git a/applications/luci-app-nextdns/po/fi/nextdns.po b/applications/luci-app-nextdns/po/fi/nextdns.po
new file mode 100644
index 000000000..ee3b369a4
--- /dev/null
+++ b/applications/luci-app-nextdns/po/fi/nextdns.po
@@ -0,0 +1,95 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:36
+msgid ""
+"Available locations are: Switzerland, Iceland, Finland, Panama and Hong Kong."
+msgstr ""
+
+#: applications/luci-app-nextdns/root/usr/share/luci/menu.d/luci-app-nextdns.json:24
+msgid "Configuration"
+msgstr ""
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:23
+msgid "Configuration ID"
+msgstr ""
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:19
+msgid "Enable NextDNS."
+msgstr ""
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:18
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:29
+msgid "Expose LAN clients information in NextDNS analytics."
+msgstr ""
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:12
+msgid ""
+"For further information, go to <a href=\"https://nextdns.io\" target=\"_blank"
+"\">nextdns.io</a>."
+msgstr ""
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:15
+msgid "General"
+msgstr ""
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:26
+msgid "Go to nextdns.io to create a configuration."
+msgstr ""
+
+#: applications/luci-app-nextdns/root/usr/share/rpcd/acl.d/luci-app-nextdns.json:3
+msgid "Grant logread access to LuCI app nextdns"
+msgstr ""
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:33
+msgid "Hardened Privacy"
+msgstr ""
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:39
+msgid "Log Queries"
+msgstr ""
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:40
+msgid "Log individual queries to system log."
+msgstr ""
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:9
+#: applications/luci-app-nextdns/root/usr/share/luci/menu.d/luci-app-nextdns.json:3
+msgid "NextDNS"
+msgstr ""
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:10
+msgid "NextDNS Configuration."
+msgstr ""
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/logread.js:15
+msgid "No nextdns related logs yet!"
+msgstr ""
+
+#: applications/luci-app-nextdns/root/usr/share/luci/menu.d/luci-app-nextdns.json:15
+msgid "Overview"
+msgstr ""
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:28
+msgid "Report Client Info"
+msgstr ""
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:24
+msgid "The ID of your NextDNS configuration."
+msgstr ""
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/logread.js:24
+msgid "The syslog output, pre-filtered for nextdns related messages only."
+msgstr ""
+
+#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:34
+msgid ""
+"When enabled, use DNS servers located in jurisdictions with strong privacy "
+"laws."
+msgstr ""
diff --git a/applications/luci-app-nft-qos/po/fi/nft-qos.po b/applications/luci-app-nft-qos/po/fi/nft-qos.po
new file mode 100644
index 000000000..53b5e1326
--- /dev/null
+++ b/applications/luci-app-nft-qos/po/fi/nft-qos.po
@@ -0,0 +1,237 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm:136
+#: applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm:155
+msgid "Bytes Total"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm:141
+#: applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm:160
+msgid "Collecting data..."
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:224
+msgid "Comment"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:48
+msgid "Default Download Rate"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:53
+msgid "Default Download Unit"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:107
+msgid "Default Network Interface"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:60
+msgid "Default Upload Rate"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:65
+msgid "Default Upload Unit"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:53
+msgid "Default unit for download rate"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:65
+msgid "Default unit for upload rate"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:75
+msgid "Default value for download bandwidth"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:48
+msgid "Default value for download rate"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:80
+msgid "Default value for upload bandwidth"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:60
+msgid "Default value for upload rate"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:75
+msgid "Download Bandwidth (Mbps)"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm:135
+msgid "Download Rate"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:38
+msgid "Enable Limit Rate Feature"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:103
+msgid "Enable Traffic Priority"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:103
+msgid "Enable this feature"
+msgstr ""
+
+#: applications/luci-app-nft-qos/root/usr/share/rpcd/acl.d/luci-app-nft-qos.json:3
+msgid "Grant UCI access for luci-app-nft-qos"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:121
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:158
+msgid "Hostname"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm:134
+#: applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm:153
+msgid "IP Address"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:126
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:163
+msgid "IP Address (v4 / v6)"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:128
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:165
+msgid "IP Address (v4 Only)"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:38
+msgid "Limit Enable"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:42
+msgid "Limit Type"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:135
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:172
+msgid "MAC (optional)"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm:48
+msgid "MB"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:28
+msgid "NFT-QoS Settings"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:107
+msgid "Network Interface for Traffic Shaping, e.g. br-lan, eth0.1, eth0, etc."
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:85
+msgid "Network to be applied, e.g. 192.168.1.0/24, 10.2.0.0/16, etc."
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:91
+msgid "Network to be applied, e.g. AAAA::BBBB/64, CCCC::1/128, etc."
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm:65
+msgid "No information available"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm:137
+#: applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm:156
+msgid "Packets Total"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:207
+msgid "Priority"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:199
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/controller/nft-qos.lua:21
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:23
+msgid "QoS over Nftables"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/controller/nft-qos.lua:13
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:139
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:176
+msgid "Rate"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm:130
+msgid "Realtime Download Rate"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm:125
+msgid "Realtime Rate"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm:149
+msgid "Realtime Upload Rate"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:221
+msgid "Service"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:116
+msgid "Static QoS-Download Rate"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:153
+msgid "Static QoS-Upload Rate"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:85
+msgid "Target Network (IPv4/MASK)"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:91
+msgid "Target Network6 (IPv6/MASK)"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm:127
+msgid "This page gives an overview over currently download/upload rate."
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:194
+msgid "Traffic Priority Settings"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:42
+msgid "Type of Limit Rate"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:144
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:181
+msgid "Unit"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:80
+msgid "Upload Bandwidth (Mbps)"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm:154
+msgid "Upload Rate"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:96
+msgid "White List for Limit Rate"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/model/cbi/nft-qos/nft-qos.lua:221
+msgid "e.g. https, 23, (separator is comma)"
+msgstr ""
+
+#: applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm:44
+msgid "kB"
+msgstr ""
diff --git a/applications/luci-app-nlbwmon/po/fi/nlbwmon.po b/applications/luci-app-nlbwmon/po/fi/nlbwmon.po
new file mode 100644
index 000000000..6d39ac053
--- /dev/null
+++ b/applications/luci-app-nlbwmon/po/fi/nlbwmon.po
@@ -0,0 +1,550 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:550
+msgid "%d IPv4-only hosts"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:557
+msgid "%d IPv6-only hosts"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:564
+msgid "%d dual-stack hosts"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:114
+msgid "%s and %s"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:112
+msgid "%s, %s and %s"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:93
+msgid "-1 - Restart every last day of month"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:94
+msgid "-7 - Restart a week before end of month"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:92
+msgid "1 - Restart every 1st of month"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:158
+msgid "10m - frequent commits at the expense of flash wear"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:157
+msgid "12h - compromise between risk of data loss and flash wear"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:156
+msgid "24h - least flash wear at the expense of data loss risk"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:163
+msgid "30s - refresh twice per minute for reasonably current stats"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:164
+msgid "5m - rarely refresh to avoid frequently clearing conntrack counters"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:159
+msgid "60s - commit minutely, useful for non-flash storage"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:839
+msgid "<big id=\"conn-total\">0</big> connections"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:836
+msgid "<big id=\"host-total\">0</big> hosts"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:915
+msgid "<big id=\"ipv6-hosts\">0%</big> IPv6 support rate among hosts"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:917
+msgid "<big id=\"ipv6-rx\">0B</big> total IPv6 download"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:916
+msgid "<big id=\"ipv6-share\">0%</big> of the total traffic is IPv6"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:918
+msgid "<big id=\"ipv6-tx\">0B</big> total IPv6 upload"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:879
+msgid "<big id=\"layer7-most-conn\">0</big> cause the most connections"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:877
+msgid "<big id=\"layer7-most-rx\">0</big> cause the most download"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:878
+msgid "<big id=\"layer7-most-tx\">0</big> cause the most upload"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:876
+msgid "<big id=\"layer7-total\">0</big> different application protocols"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:837
+msgid "<big id=\"rx-total\">0</big> download"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:838
+msgid "<big id=\"tx-total\">0</big> upload"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:63
+msgid "Accounting period"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:60
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:886
+msgid "Application"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:862
+msgid "Application Protocols"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/root/usr/share/luci/menu.d/luci-app-nlbwmon.json:33
+msgid "Backup"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/root/usr/share/luci/menu.d/luci-app-nlbwmon.json:3
+msgid "Bandwidth Monitor"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:953
+msgid "CSV, grouped by IP"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:947
+msgid "CSV, grouped by MAC"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:959
+msgid "CSV, grouped by protocol"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:76
+msgid ""
+"Changing the accounting interval type will invalidate existing databases!"
+"<br /><strong><a href=\"%s\">Download backup</a></strong>."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:64
+msgid ""
+"Choose \"Day of month\" to restart the accounting period monthly on a "
+"specific date, e.g. every 3rd. Choose \"Fixed interval\" to restart the "
+"accounting period exactly every N days, beginning at a given date."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:856
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:895
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:935
+msgid "Collecting data..."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:154
+msgid "Commit interval"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:148
+msgid "Compress database"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/root/usr/share/luci/menu.d/luci-app-nlbwmon.json:24
+msgid "Configuration"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:615
+msgid "Conn."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:848
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:887
+msgid "Connections"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:830
+msgid "Connections / Host"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:166
+msgid "Database directory"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:167
+msgid ""
+"Database storage directory. One file per accounting period will be placed "
+"into this directory."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:72
+msgid "Day of month"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:84
+msgid ""
+"Day of month to restart the accounting period. Use negative values to count "
+"towards the end of month, e.g. \"-5\" to specify the 27th of July or the "
+"24th of February."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/backup.js:24
+msgid "Dismiss"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/root/usr/share/luci/menu.d/luci-app-nlbwmon.json:15
+msgid "Display"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:616
+msgid "Down. (Bytes)"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:617
+msgid "Down. (Pkts.)"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:598
+msgid "Download"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:849
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:888
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:928
+msgid "Download (Bytes)"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:850
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:889
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:929
+msgid "Download (Packets)"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:865
+msgid "Download / Application"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/backup.js:58
+msgid "Download Database Backup"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:909
+msgid "Dualstack enabled hosts"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:83
+msgid "Due date"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:941
+msgid "Export"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:791
+msgid "Failed to commit database: %s"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/backup.js:45
+msgid "Failed to download backup archive: %s"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:780
+msgid "Failed to download traffic data: %s"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/backup.js:28
+msgid "Failed to restore backup archive: %s"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:927
+msgid "Family"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:73
+msgid "Fixed interval"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:367
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:424
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:528
+msgid "Force reload…"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:59
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/backup.js:62
+msgid "Generate Backup"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/root/usr/share/rpcd/acl.d/luci-app-nlbwmon.json:3
+msgid "Grant UCI access for luci-app-nlbwmon"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:846
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:925
+msgid "Host"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:607
+msgid "Hostname: <big id=\"bubble-hostname\">example.org</big>"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:513
+msgid "IPv4"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:904
+msgid "IPv4 vs. IPv6"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:514
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:901
+msgid "IPv6"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:108
+msgid "Interval"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:155
+msgid ""
+"Interval at which the temporary in-memory database is committed to the "
+"persistent database directory."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:162
+msgid ""
+"Interval at which traffic counters of still established connections are "
+"refreshed from netlink information."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:965
+msgid "JSON dump"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:109
+msgid "Length of accounting interval in days."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:120
+msgid "Local interfaces"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:129
+msgid "Local subnets"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:847
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:926
+msgid "MAC"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:76
+msgid "Malformed data received"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:141
+msgid "Maximum entries"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:152
+msgid ""
+"Maximum number of accounting periods to keep, use zero to keep databases "
+"forever."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:818
+msgid "Netlink Bandwidth Monitor"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/backup.js:51
+msgid "Netlink Bandwidth Monitor - Backup / Restore"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:52
+msgid "Netlink Bandwidth Monitor - Configuration"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:363
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:423
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:527
+msgid "No data recorded yet."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:121
+msgid "Only conntrack streams from or to any of these networks are counted."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:130
+msgid "Only conntrack streams from or to any of these subnets are counted."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:144
+msgid "Preallocate database"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:339
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:61
+msgid "Protocol Mapping"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:61
+msgid ""
+"Protocol mappings to distinguish traffic types per host, one mapping per "
+"line. The first value specifies the IP protocol, the second value the port "
+"number and the third column is the name of the mapped protocol."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:161
+msgid "Refresh interval"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/backup.js:56
+msgid "Restore"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/backup.js:52
+msgid "Restore Database Backup"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/backup.js:20
+msgid "Restore complete"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:285
+msgid "Select accounting period:"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:334
+msgid "Source IP"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:96
+msgid "Start date"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:97
+msgid "Start date of the first accounting period, e.g. begin of ISP contract."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:151
+msgid "Stored periods"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:53
+msgid ""
+"The Netlink Bandwidth Monitor (nlbwmon) is a lightweight, efficient traffic "
+"accounting program keeping track of bandwidth usage per host and protocol."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/backup.js:21
+msgid "The following database files have been restored:"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:142
+msgid ""
+"The maximum amount of entries that should be put into the database, setting "
+"the limit to 0 will allow databases to grow indefinitely."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:825
+msgid "Traffic / Host"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:822
+msgid "Traffic Distribution"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:92
+msgid "Unable to fetch traffic statistic data: %s"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:618
+msgid "Up. (Bytes)"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:619
+msgid "Up. (Pkts.)"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:602
+msgid "Upload"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:851
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:890
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:930
+msgid "Upload (Bytes)"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:852
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:891
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:931
+msgid "Upload (Packets)"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:870
+msgid "Upload / Application"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:608
+msgid "Vendor: <big id=\"bubble-vendor\">Example Corp.</big>"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:75
+msgid "Warning"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:149
+msgid ""
+"Whether to gzip compress archive databases. Compressing the database files "
+"makes accessing old data slightly slower but helps to reduce storage "
+"requirements."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/config.js:145
+msgid ""
+"Whether to preallocate the maximum possible database size in memory. This is "
+"mainly useful for memory constrained systems which might not be able to "
+"satisfy memory allocation after longer uptime periods."
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:130
+msgid "no traffic"
+msgstr ""
+
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:335
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:394
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:407
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:412
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:628
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:640
+#: applications/luci-app-nlbwmon/htdocs/luci-static/resources/view/nlbw/display.js:645
+msgid "other"
+msgstr ""
diff --git a/applications/luci-app-noddos/po/fi/noddos.po b/applications/luci-app-noddos/po/fi/noddos.po
new file mode 100644
index 000000000..c1893b449
--- /dev/null
+++ b/applications/luci-app-noddos/po/fi/noddos.po
@@ -0,0 +1,131 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-noddos/luasrc/view/noddos/clients.htm:48
+msgid "Class"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/model/cbi/noddos.lua:5
+msgid "Client Firewall"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/view/noddos/clients.htm:35
+msgid "Clients"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/view/noddos/clients.htm:83
+msgid "DHCP Hostname"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/view/noddos/clients.htm:82
+msgid "DHCP Vendor"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/model/cbi/noddos.lua:25
+msgid "Don't monitor these IPv4 addresses"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/model/cbi/noddos.lua:33
+msgid "Don't monitor these IPv6 addresses"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/model/cbi/noddos.lua:40
+msgid "Don't monitor these MAC addresses"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/model/cbi/noddos.lua:24
+msgid "Excluded IPv4 addresses"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/model/cbi/noddos.lua:32
+msgid "Excluded IPv6 addresses"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/model/cbi/noddos.lua:39
+msgid "Excluded MAC addresses"
+msgstr ""
+
+#: applications/luci-app-noddos/root/usr/share/rpcd/acl.d/luci-app-noddos.json:3
+msgid "Grant UCI access for luci-app-noddos"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/view/noddos/clients.htm:43
+#: applications/luci-app-noddos/luasrc/view/noddos/clients.htm:77
+msgid "Hostname"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/view/noddos/clients.htm:44
+#: applications/luci-app-noddos/luasrc/view/noddos/clients.htm:78
+msgid "IPv4"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/view/noddos/clients.htm:45
+#: applications/luci-app-noddos/luasrc/view/noddos/clients.htm:79
+msgid "MAC"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/view/noddos/clients.htm:46
+#: applications/luci-app-noddos/luasrc/view/noddos/clients.htm:80
+msgid "Manufacturer"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/view/noddos/clients.htm:47
+#: applications/luci-app-noddos/luasrc/view/noddos/clients.htm:81
+msgid "Model"
+msgstr ""
+
+#: applications/luci-app-noddos/root/usr/share/luci/menu.d/luci-app-noddos.json:15
+msgid "Noddos Client Tracking"
+msgstr ""
+
+#: applications/luci-app-noddos/root/usr/share/luci/menu.d/luci-app-noddos.json:3
+msgid "Noddos Clients"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/model/cbi/noddos.lua:6
+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 ""
+
+#: applications/luci-app-noddos/luasrc/model/cbi/noddos.lua:15
+msgid "Private networks"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/view/noddos/clients.htm:39
+msgid "Recognized Clients"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/model/cbi/noddos.lua:16
+msgid ""
+"Report traffic to private networks (10/8, 172.16/12, 192.168/16, "
+"fd75:6b5d:352c:ed05::/64)"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/model/cbi/noddos.lua:10
+msgid "Server Settings"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/view/noddos/clients.htm:36
+msgid ""
+"The following clients have been discovered on the network. The last "
+"discovery was completed at"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/view/noddos/clients.htm:73
+msgid "Unrecognized Clients"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/model/cbi/noddos.lua:19
+msgid "Upload anonimized traffic stats"
+msgstr ""
+
+#: applications/luci-app-noddos/luasrc/model/cbi/noddos.lua:20
+msgid ""
+"Uploading your statistics helps improving device recognition and discovering "
+"hacked devices & botnets"
+msgstr ""
diff --git a/applications/luci-app-ntpc/po/fi/ntpc.po b/applications/luci-app-ntpc/po/fi/ntpc.po
new file mode 100644
index 000000000..e3fec8785
--- /dev/null
+++ b/applications/luci-app-ntpc/po/fi/ntpc.po
@@ -0,0 +1,76 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-04-14 13:24+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpc.lua:21
+msgid "Clock Adjustment"
+msgstr ""
+
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpc.lua:17
+msgid "Count of time measurements"
+msgstr ""
+
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpc.lua:11
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpcmini.lua:12
+msgid "Current system time"
+msgstr ""
+
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpc.lua:7
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpcmini.lua:8
+msgid "General"
+msgstr ""
+
+#: applications/luci-app-ntpc/root/usr/share/rpcd/acl.d/luci-app-ntpc.json:3
+msgid "Grant UCI access for luci-app-ntpc"
+msgstr ""
+
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpc.lua:34
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpcmini.lua:23
+msgid "Hostname"
+msgstr ""
+
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpc.lua:25
+msgid "Offset frequency"
+msgstr ""
+
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpc.lua:35
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpcmini.lua:24
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpc.lua:5
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpcmini.lua:6
+msgid "Synchronizes the system time"
+msgstr ""
+
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpcmini.lua:18
+msgid "Time Server"
+msgstr ""
+
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpc.lua:29
+msgid "Time Servers"
+msgstr ""
+
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpc.lua:5
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpcmini.lua:6
+#: applications/luci-app-ntpc/root/usr/share/luci/menu.d/luci-app-ntpc.json:3
+msgid "Time Synchronisation"
+msgstr ""
+
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpc.lua:13
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpcmini.lua:14
+msgid "Update interval (in seconds)"
+msgstr ""
+
+#: applications/luci-app-ntpc/luasrc/model/cbi/ntpc/ntpc.lua:17
+msgid "empty = infinite"
+msgstr ""
diff --git a/applications/luci-app-nut/po/fi/nut.po b/applications/luci-app-nut/po/fi/nut.po
new file mode 100644
index 000000000..6770e0282
--- /dev/null
+++ b/applications/luci-app-nut/po/fi/nut.po
@@ -0,0 +1,601 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2019-01-09 06:58-0500\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\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"
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:216
+msgid "Additional Shutdown Time(s)"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:37
+msgid "Addresses on which to listen"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:23
+msgid "Allowed actions"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:20
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:188
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:217
+msgid "As configured by NUT"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:150
+msgid "Bytes to read from interrupt pipe"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:174
+msgid "CA Certificate path"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:73
+msgid "Certificate file (SSL)"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:63
+msgid "Communications lost message"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:60
+msgid "Communications restored message"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:35
+msgid "Control UPS via CGI"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:43
+msgid "Deadtime"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:87
+msgid "Default for UPSes without this field."
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:177
+msgid "Delay for kill power command"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:181
+msgid "Delay to power on UPS if power returns after kill power"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:129
+msgid "Description (Display)"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:32
+msgid "Display name"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:169
+msgid "Don't lock port when starting driver"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:132
+msgid "Driver"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:114
+msgid "Driver Configuration"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:77
+msgid "Driver Global Settings"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:83
+msgid "Driver Path"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:212
+msgid "Driver Shutdown Order"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:106
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:244
+msgid "Driver waits for data to be consumed by upsd before publishing more."
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:59
+msgid "Drop privileges to this user"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:40
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:138
+msgid ""
+"Enables a hotplug script that makes all ttyUSB devices (e.g. serial USB) "
+"group read-write as user 'nut'"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:93
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:102
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:110
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:118
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:126
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:134
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:142
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:150
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:158
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:166
+msgid "Execute notify command"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:26
+msgid "Forced Shutdown"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:57
+msgid "Forced shutdown message"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:10
+msgid "Global Settings"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:13
+msgid "Go to NUT CGI"
+msgstr ""
+
+#: applications/luci-app-nut/root/usr/share/rpcd/acl.d/luci-app-nut.json:3
+msgid "Grant UCI access for luci-app-nut"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:16
+msgid "Host"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:23
+msgid "Hostname or IP address"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:191
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:220
+msgid "Hostname or address of UPS"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:39
+msgid "Hot Sync"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:41
+msgid "IP Address"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:95
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:104
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:112
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:120
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:128
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:136
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:144
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:152
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:160
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:168
+msgid "Ignore"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:142
+msgid "Ignore Low Battery"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:29
+msgid "Instant commands"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:146
+msgid "Interrupt Only"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:150
+msgid "Interrupt Size"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:54
+msgid "Low battery message"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:163
+msgid "Manufacturer (Display)"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:34
+msgid "Master"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:154
+msgid "Max USB HID Length Reported"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:54
+msgid "Maximum Age of Data"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:91
+msgid "Maximum Retries"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:87
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:158
+msgid "Maximum Start Delay"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:67
+msgid "Maximum connections"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:91
+msgid "Maximum number of times to try starting a driver."
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:101
+msgid "Maximum time in seconds between refresh of UPS status"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:17
+msgid "Minimum required number or power supplies"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:166
+msgid "Model (Display)"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:9
+msgid "NUT CGI Access"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:12
+msgid "NUT Users"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:188
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:217
+msgid "Name of UPS"
+msgstr ""
+
+#: applications/luci-app-nut/root/usr/share/luci/menu.d/luci-app-nut.json:3
+msgid "Network UPS Tools"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:6
+#: applications/luci-app-nut/root/usr/share/luci/menu.d/luci-app-nut.json:44
+msgid "Network UPS Tools (CGI)"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:7
+#: applications/luci-app-nut/root/usr/share/luci/menu.d/luci-app-nut.json:31
+msgid "Network UPS Tools (Monitor)"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:9
+#: applications/luci-app-nut/root/usr/share/luci/menu.d/luci-app-nut.json:18
+msgid "Network UPS Tools (Server)"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:7
+msgid "Network UPS Tools CGI Configuration"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:8
+msgid "Network UPS Tools Monitoring Configuration"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:10
+msgid "Network UPS Tools Server Configuration"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:169
+msgid "No Lock"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:72
+msgid "No communications message"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:173
+msgid "No low/high voltage transfer OIDs"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:75
+msgid "No parent message"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:90
+msgid "Notification defaults"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:26
+msgid "Notify command"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:99
+msgid "Notify when back online"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:163
+msgid "Notify when battery needs replacing"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:147
+msgid "Notify when communications lost"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:139
+msgid "Notify when communications restored"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:131
+msgid "Notify when force shutdown"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:115
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:123
+msgid "Notify when low battery"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:107
+msgid "Notify when on battery"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:155
+msgid "Notify when shutting down"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:177
+msgid "Off Delay(s)"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:181
+msgid "On Delay(s)"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:51
+msgid "On battery message"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:48
+msgid "Online message"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:208
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:237
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:19
+msgid "Password"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:174
+msgid "Path containing ca certificates to match against host certificate"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:83
+msgid "Path to drivers (instead of default)"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:63
+msgid "Path to state file"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:54
+msgid "Period after which data is considered stale"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:101
+msgid "Poll Interval"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:29
+msgid "Poll frequency"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:34
+msgid "Poll frequency alert"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:197
+msgid "Polling Frequency(s)"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:27
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:195
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:224
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:46
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:202
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:200
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:229
+msgid "Power value"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:206
+msgid "Product (regex)"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:69
+msgid "Replace battery message"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:178
+msgid "Require SSL and make sure server CN matches hostname"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:96
+msgid "Retry Delay"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:32
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:80
+msgid "Run drivers in a chroot(2) environment"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:14
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:59
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:110
+msgid "RunAs User"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:125
+msgid "SNMP Community"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:222
+msgid "SNMP retries"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:226
+msgid "SNMP timeout(s)"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:230
+msgid "SNMP version"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:232
+msgid "SNMPv1"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:233
+msgid "SNMPv2c"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:234
+msgid "SNMPv3"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:219
+msgid "Serial Number"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:138
+msgid "Set USB serial port permissions"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:25
+msgid "Set variables"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:22
+msgid "Shutdown command"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:66
+msgid "Shutdown message"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:33
+msgid "Slave"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:106
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:244
+msgid "Synchronous Communication"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:115
+msgid "The name of this section will be used as UPS name elsewhere"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:96
+msgid "Time in seconds between driver start retry attempts."
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:158
+msgid "Time in seconds that upsdrvctl will wait for driver to finish starting"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:183
+msgid "UPS Master"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:51
+msgid "UPS Server Global Settings"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:212
+msgid "UPS Slave"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_cgi.lua:20
+msgid "UPS name"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:121
+msgid "USB Bus(es) (regex)"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:209
+msgid "USB Product Id"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:241
+msgid "USB Vendor Id"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:29
+msgid ""
+"Use upscmd -l to see full list which the commands your UPS supports "
+"(requires upscmd package)"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:110
+msgid ""
+"User as which to execute driver; requires device file accessed by driver to "
+"be read-write for that user."
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:205
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:234
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:16
+msgid "Username"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:238
+msgid "Vendor (regex)"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:178
+msgid "Verify all connection with SSL"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:154
+msgid "Workaround for buggy firmware"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:94
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:103
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:111
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:119
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:127
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:135
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:143
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:151
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:159
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:167
+msgid "Write to syslog"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_server.lua:80
+msgid "chroot"
+msgstr ""
+
+#: applications/luci-app-nut/luasrc/model/cbi/nut_monitor.lua:14
+msgid "upsmon drops privileges to this user"
+msgstr ""
+
+#~ msgid "Maxium Start Delay"
+#~ msgstr "Maxium Start Delay"
diff --git a/applications/luci-app-ocserv/po/fi/ocserv.po b/applications/luci-app-ocserv/po/fi/ocserv.po
new file mode 100644
index 000000000..2d8a62fa6
--- /dev/null
+++ b/applications/luci-app-ocserv/po/fi/ocserv.po
@@ -0,0 +1,322 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:124
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:80
+msgid ""
+"<abbr title=\"Classless Inter-Domain Routing\">CIDR</abbr>-Notation: address/"
+"prefix"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:48
+msgid "Active OpenConnect Users"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:61
+msgid "Active users"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:74
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:64
+msgid "AnyConnect client compatibility"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:17
+msgid "Available users"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:13
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:13
+msgid "CA certificate"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:72
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:57
+msgid "Cipher"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:62
+msgid "Collecting data..."
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:132
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:111
+msgid "DNS servers"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:60
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:54
+msgid "Dead peer detection time (secs)"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:70
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:55
+msgid "Device"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:14
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:14
+msgid "Edit Template"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:80
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:85
+msgid "Edit the template that is used for generating the ocserv configuration."
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:70
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:60
+msgid "Enable UDP"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:71
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:61
+msgid ""
+"Enable UDP channel support; this must be enabled unless you know what you "
+"are doing"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:66
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:67
+msgid "Enable compression"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:106
+msgid "Enable proxy arp"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:16
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:16
+msgid "Enable server"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:75
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:65
+msgid "Enable support for CISCO AnyConnect clients"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:44
+msgid "Firewall Zone"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:12
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:12
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-ocserv/root/usr/share/rpcd/acl.d/luci-app-ocserv.json:3
+msgid "Grant UCI access for luci-app-ocserv"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:23
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:67
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:52
+msgid "Group"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:65
+msgid "ID"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:68
+msgid "IP"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:138
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:149
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:117
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:128
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:53
+msgid "IP Address"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:58
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:52
+msgid "Max clients"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:59
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:53
+msgid "Max same clients"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:22
+msgid "Name"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:151
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:131
+msgid "Netmask (or IPv6-prefix)"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/controller/ocserv.lua:14
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:7
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:7
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:7
+msgid "OpenConnect VPN"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:24
+msgid "Password"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:56
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:50
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:62
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:56
+msgid "Predictable IPs"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:107
+msgid ""
+"Provide addresses to clients from a subnet of LAN; if enabled the network "
+"below must be a subnet of LAN. Note that the first address of the specified "
+"subnet will be reserved by ocserv, so it should not be in use. If you have a "
+"network in LAN covering 192.168.1.0/24 use 192.168.1.192/26 to reserve the "
+"upper 62 addresses."
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:143
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:122
+msgid "Routing table"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/controller/ocserv.lua:20
+msgid "Server Settings"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:20
+msgid "Server's Public Key ID"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:73
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:58
+msgid "Status"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:112
+msgid "The DNS servers to be provided to clients; can be either IPv6 or IPv4"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:133
+msgid ""
+"The DNS servers to be provided to clients; can be either IPv6 or IPv4. "
+"Typically you should include the address of this device"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:111
+msgid ""
+"The IPv4 subnet address to provide to clients; this should be some private "
+"network different than the LAN addresses unless proxy ARP is enabled. Leave "
+"empty to attempt auto-configuration."
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:125
+msgid ""
+"The IPv6 subnet address to provide to clients; leave empty to attempt auto-"
+"configuration."
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:63
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:57
+msgid "The assigned IPs will be selected deterministically"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:50
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:38
+msgid ""
+"The authentication method for the users. The simplest is plain with a single "
+"username-password pair. Use PAM modules to authenticate using another server "
+"(e.g., LDAP, Radius)."
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:45
+msgid "The firewall zone that the VPN clients will be set to"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:116
+msgid "The mask of the subnet above."
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:144
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:123
+msgid ""
+"The routing table to be provided to clients; you can mix IPv4 and IPv6 "
+"routes, the server will send only the appropriate. Leave empty to set a "
+"default route"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:57
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:51
+msgid "The same UDP and TCP ports will be used"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:21
+msgid ""
+"The value to be communicated to the client to verify the server's "
+"certificate; this value only depends on the public key"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:41
+msgid "There are no active users."
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:71
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:56
+msgid "Time"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:51
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:49
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:37
+msgid "User Authentication"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/controller/ocserv.lua:25
+msgid "User Settings"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:66
+msgid "Username"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:115
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:72
+msgid "VPN <abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:110
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:68
+msgid ""
+"VPN <abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Network-Address"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:124
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:80
+msgid ""
+"VPN <abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Network-Address"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:69
+msgid "VPN IP"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:54
+msgid "VPN IP Address"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:95
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:100
+msgid ""
+"View the CA certificate used by this server. You will need to save it as 'ca."
+"pem' and import it into the clients."
+msgstr ""
diff --git a/applications/luci-app-olsr-services/po/fi/olsr-services.po b/applications/luci-app-olsr-services/po/fi/olsr-services.po
new file mode 100644
index 000000000..daaff6224
--- /dev/null
+++ b/applications/luci-app-olsr-services/po/fi/olsr-services.po
@@ -0,0 +1,35 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:159
+msgid "Internal services"
+msgstr ""
+
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:56
+msgid ""
+"No services can be shown, because olsrd is not running or the olsrd-"
+"nameservice Plugin is not loaded."
+msgstr ""
+
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:131
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:163
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-olsr-services/luasrc/controller/services.lua:13
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:156
+msgid "Services"
+msgstr ""
+
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:132
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:164
+msgid "Source"
+msgstr ""
+
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:130
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:162
+msgid "Url"
+msgstr ""
diff --git a/applications/luci-app-olsr-viz/po/fi/olsr-viz.po b/applications/luci-app-olsr-viz/po/fi/olsr-viz.po
new file mode 100644
index 000000000..036470cd0
--- /dev/null
+++ b/applications/luci-app-olsr-viz/po/fi/olsr-viz.po
@@ -0,0 +1,13 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-olsr-viz/root/usr/share/luci/menu.d/luci-app-olsr-viz.json:3
+msgid "OLSR-Viz"
+msgstr ""
+
+#: applications/luci-app-olsr-viz/luasrc/view/olsr-viz/olsr-viz.htm:4
+msgid "You need to allow javascript in your browser to show this page."
+msgstr ""
diff --git a/applications/luci-app-olsr/po/fi/olsr.po b/applications/luci-app-olsr/po/fi/olsr.po
new file mode 100644
index 000000000..944efa731
--- /dev/null
+++ b/applications/luci-app-olsr/po/fi/olsr.po
@@ -0,0 +1,1126 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-05-19 19:35+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 1.1.1\n"
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/mid.htm:13
+msgid "Active MID announcements"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/topology.htm:14
+msgid "Active OLSR nodes"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/hna.htm:82
+msgid "Active host net announcements"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:45
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:45
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:147
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:141
+msgid "Allow gateways with NAT"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:147
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:141
+msgid "Allow the selection of an outgoing IPv4 gateway with NAT"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:155
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:149
+msgid "Announce uplink"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/hna.htm:39
+#: applications/luci-app-olsr/luasrc/view/status-olsr/hna.htm:90
+#: applications/luci-app-olsr/luasrc/view/status-olsr/routes.htm:47
+#: applications/luci-app-olsr/luasrc/view/status-olsr/routes.htm:107
+msgid "Announced network"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:11
+msgid "Bad (ETX > 10)"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:20
+msgid "Bad (SNR < 5)"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdhna.lua:12
+msgid "Both values must use the dotted decimal notation."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:30
+msgid "Broadcast address"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:265
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:90
+msgid "Can only be a valid IPv4 or IPv6 address or 'default'"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:259
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:90
+msgid "Can only be a valid IPv6 address or 'default'"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm:198
+msgid "Configuration"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm:56
+msgid ""
+"Could not get any data. Make sure the jsoninfo plugin is installed and "
+"allows connections from localhost."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:24
+msgid "Device"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/controller/olsr.lua:76
+msgid "Display"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:60
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:112
+msgid "Downlink"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm:203
+msgid "Download Config"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:57
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:109
+#: applications/luci-app-olsr/luasrc/view/status-olsr/topology.htm:26
+msgid "ETX"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:140
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:365
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:134
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:346
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:35
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:35
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins.lua:15
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins6.lua:15
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:140
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:134
+msgid ""
+"Enable SmartGateway. If it is disabled, then all other SmartGateway "
+"parameters are ignored. Default is \"no\"."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:36
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:36
+msgid "Enable this interface."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins.lua:249
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins6.lua:249
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:5
+msgid "Expected retransmission count"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:71
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:65
+msgid "FIB metric"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:72
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:66
+msgid ""
+"FIBMetric controls the metric value of the host-routes OLSRd sets. \"flat\" "
+"means that the metric value is always 2. This is the preferred value because "
+"it helps the Linux kernel routing to clean up older routes. \"correct\" uses "
+"the hopcount as the metric value. \"approx\" uses the hopcount as the metric "
+"value too, but does only update the hopcount if the nexthop changes too. "
+"Default is \"flat\"."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:112
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:106
+msgid "Fisheye mechanism for TCs (checked means on). Default is \"on\""
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:55
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:107
+msgid "Gateway"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:42
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:222
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:42
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:216
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:31
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:31
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:39
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:39
+msgid "General settings"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:9
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:18
+msgid "Good (30 > SNR > 20)"
+msgstr ""
+
+#: applications/luci-app-olsr/root/usr/share/rpcd/acl.d/luci-app-olsr.json:3
+msgid "Grant UCI access for luci-app-olsr"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:8
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:17
+msgid "Green"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/controller/olsr.lua:54
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:402
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:383
+#: applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm:178
+msgid "HNA"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/controller/olsr4.lua:25
+msgid "HNA Announcements"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:341
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:322
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:165
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:152
+msgid "HNA interval"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:347
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:328
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:171
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:158
+msgid "HNA validity time"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/controller/olsr6.lua:25
+msgid "HNA6 Announcements"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:381
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:362
+msgid "Hello"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:305
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:286
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:129
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:116
+msgid "Hello interval"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:311
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:292
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:135
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:122
+msgid "Hello validity time"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/common_js.htm:12
+#: applications/luci-app-olsr/luasrc/view/status-olsr/common_js.htm:20
+msgid "Hide IPv4"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/common_js.htm:13
+#: applications/luci-app-olsr/luasrc/view/status-olsr/common_js.htm:28
+msgid "Hide IPv6"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdhna.lua:12
+msgid "Hna4"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdhna.lua:28
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdhna6.lua:10
+msgid "Hna6"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:58
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:110
+msgid "Hops"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm:61
+#: applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm:127
+msgid "Hostname"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdhna.lua:8
+msgid ""
+"Hosts in an OLSR routed network can announce connectivity to external "
+"networks using HNA messages."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdhna6.lua:7
+msgid ""
+"Hosts in an OLSR routed network can announce connectivity to external "
+"networks using HNA6 messages."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:117
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:111
+msgid ""
+"Hysteresis for link sensing (only for hopcount metric). Hysteresis adds more "
+"robustness to the link sensing but delays neighbor registration. Defaults is "
+"\"yes\""
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:223
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:217
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:32
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:32
+msgid "IP Addresses"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:48
+msgid ""
+"IP-version to use. If 6and4 is selected then one olsrd instance is started "
+"for each protocol."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:61
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:113
+msgid "IPv4"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:278
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:103
+msgid "IPv4 broadcast"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:279
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:104
+msgid ""
+"IPv4 broadcast address for outgoing OLSR packets. One useful example would "
+"be 255.255.255.255. Default is \"0.0.0.0\", which triggers the usage of the "
+"interface broadcast IP."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:291
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:116
+msgid "IPv4 source"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:292
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:117
+msgid ""
+"IPv4 src address for outgoing OLSR packages. Default is \"0.0.0.0\", which "
+"triggers usage of the interface IP."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:62
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:114
+msgid "IPv6"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:285
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:272
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:110
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:103
+msgid "IPv6 multicast"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:286
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:273
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:111
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:104
+msgid ""
+"IPv6 multicast address. Default is \"FF02::6D\", the manet-router linklocal "
+"multicast."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdhna.lua:28
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdhna6.lua:10
+msgid ""
+"IPv6 network must be given in full notation, prefix must be in CIDR notation."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:297
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:278
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:122
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:109
+msgid "IPv6 source"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:298
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:279
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:123
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:110
+msgid ""
+"IPv6 src prefix. OLSRd will choose one of the interface IPs which matches "
+"the prefix of this parameter. Default is \"0::/0\", which triggers the usage "
+"of a not-linklocal interface IP."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:184
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:178
+msgid "IPv6-Prefix of the uplink"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:202
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:196
+msgid ""
+"If the route to the current gateway is to be changed, the ETX value of this "
+"gateway is multiplied with this value before it is compared to the new one. "
+"The parameter can be a value between 0.1 and 1.0, but should be close to 1.0 "
+"if changed.<br /><b>WARNING:</b> This parameter should not be used together "
+"with the etx_ffeth metric!<br />Defaults to \"1.0\"."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:166
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:160
+msgid ""
+"If this Node uses NAT for connections to the internet. Default is \"yes\"."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:27
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:27
+#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:23
+#: applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm:62
+#: applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm:128
+#: applications/luci-app-olsr/luasrc/view/status-olsr/routes.htm:49
+#: applications/luci-app-olsr/luasrc/view/status-olsr/routes.htm:109
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:227
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:221
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:52
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:52
+msgid ""
+"Interface mode is used to prevent unnecessary packet forwarding on switched "
+"ethernet interfaces. Valid modes are \"mesh\" and \"ether\". Default is "
+"\"mesh\"."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/controller/olsr.lua:71
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:354
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:335
+#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:14
+#: applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm:163
+msgid "Interfaces"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:218
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:212
+msgid "Interfaces Defaults"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:47
+msgid "Internet protocol"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:60
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:54
+msgid ""
+"Interval to poll network interfaces for configuration changes (in seconds). "
+"Default is \"2.5\"."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:268
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:262
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:93
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:93
+msgid "Invalid Value for LQMult-Value. Must be between 0.01 and 1.0."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:271
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:265
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:96
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:96
+msgid ""
+"Invalid Value for LQMult-Value. You must use a decimal number between 0.01 "
+"and 1.0 here."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/routes.htm:98
+msgid "Known OLSR routes"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/topology.htm:24
+msgid "LQ"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:90
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:84
+msgid "LQ aging"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:96
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:90
+msgid "LQ algorithm"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:111
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:105
+msgid "LQ fisheye"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:82
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:76
+msgid "LQ level"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:262
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:256
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:87
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:87
+msgid ""
+"LQMult requires two values (IP address or 'default' and multiplicator) "
+"separated by space."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/topology.htm:23
+msgid "Last hop"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:1
+msgid "Legend"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins.lua:23
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins.lua:257
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins6.lua:23
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins6.lua:257
+msgid "Library"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:43
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:43
+msgid "Link Quality Settings"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:91
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:85
+msgid ""
+"Link quality aging factor (only for lq level 2). Tuning parameter for "
+"etx_float and etx_fpm, smaller values mean slower changes of ETX value. "
+"(allowed values are between 0.01 and 1.0)"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:97
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:91
+msgid ""
+"Link quality algorithm (only for lq level 2).<br /><b>etx_float</b>: "
+"floating point ETX with exponential aging<br /><b>etx_fpm</b> : same as "
+"etx_float, but with integer arithmetic<br /><b>etx_ff</b> : ETX freifunk, an "
+"etx variant which use all OLSR traffic (instead of only hellos) for ETX "
+"calculation<br /><b>etx_ffeth</b>: incompatible variant of etx_ff that "
+"allows ethernet links with ETX 0.1.<br />Defaults to \"etx_ff\""
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:83
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:77
+msgid ""
+"Link quality level switch between hopcount and cost-based (mostly ETX) "
+"routing.<br /><b>0</b> = do not use link quality<br /><b>2</b> = use link "
+"quality for MPR selection and routing<br />Default is \"2\""
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:245
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:239
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:70
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:70
+msgid "LinkQuality Multiplicator"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm:188
+msgid "Links per node (average)"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm:183
+msgid "Links total"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm:63
+#: applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm:129
+msgid "Local interface IP"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/controller/olsr.lua:59
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:395
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:376
+msgid "MID"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:329
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:310
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:153
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:140
+msgid "MID interval"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:335
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:316
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:159
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:146
+msgid "MID validity time"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:26
+msgid "MTU"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:132
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:126
+msgid "Main IP"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/error_olsr.htm:10
+msgid ""
+"Make sure that OLSRd is running, the \"jsoninfo\" plugin is loaded, "
+"configured on port 9090 and accepts connections from \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/routes.htm:50
+#: applications/luci-app-olsr/luasrc/view/status-olsr/routes.htm:110
+msgid "Metric"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:226
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:376
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:220
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:357
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:51
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:51
+msgid "Mode"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:246
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:71
+msgid ""
+"Multiply routes with the factor given here. Allowed values are between 0.01 "
+"and 1.0. It is only used when LQ-Level is greater than 0. Examples:<br /"
+">reduce LQ to 192.168.0.1 by half: 192.168.0.1 0.5<br />reduce LQ to all "
+"nodes on this interface by 20%: default 0.8"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:240
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:71
+msgid ""
+"Multiply routes with the factor given here. Allowed values are between 0.01 "
+"and 1.0. It is only used when LQ-Level is greater than 0. Examples:<br /"
+">reduce LQ to fd91:662e:3c58::1 by half: fd91:662e:3c58::1 0.5<br />reduce "
+"LQ to all nodes on this interface by 20%: default 0.8"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:201
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:195
+msgid "NAT threshold"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/topology.htm:25
+msgid "NLQ"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm:168
+msgid "Neighbors"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm:60
+#: applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm:126
+msgid "Neighbour IP"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/controller/olsr.lua:38
+msgid "Neighbours"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdhna.lua:21
+#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:29
+msgid "Netmask"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:373
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:354
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:44
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:44
+#: applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm:160
+msgid "Network"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdhna.lua:17
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdhna.lua:34
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdhna6.lua:16
+msgid "Network address"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:59
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:53
+msgid "Nic changes poll interval"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm:173
+msgid "Nodes"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/controller/olsr.lua:27
+msgid "OLSR"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrddisplay.lua:4
+msgid "OLSR - Display Options"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdhna.lua:8
+msgid "OLSR - HNA-Announcements"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdhna6.lua:7
+msgid "OLSR - HNA6-Announcements"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins.lua:9
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins.lua:216
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins6.lua:9
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins6.lua:216
+msgid "OLSR - Plugins"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:12
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:12
+#: applications/luci-app-olsr/luasrc/view/status-olsr/error_olsr.htm:8
+msgid "OLSR Daemon"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:14
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:14
+msgid "OLSR Daemon - Interface"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm:117
+msgid "OLSR connections"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/hna.htm:40
+#: applications/luci-app-olsr/luasrc/view/status-olsr/hna.htm:91
+#: applications/luci-app-olsr/luasrc/view/status-olsr/routes.htm:48
+#: applications/luci-app-olsr/luasrc/view/status-olsr/routes.htm:108
+msgid "OLSR gateway"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/mid.htm:20
+#: applications/luci-app-olsr/luasrc/view/status-olsr/topology.htm:22
+msgid "OLSR node"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:10
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:19
+msgid "Orange"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm:157
+msgid "Overview"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/hna.htm:87
+msgid "Overview of currently active OLSR host net announcements"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm:122
+msgid "Overview of currently established OLSR connections"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/topology.htm:19
+msgid "Overview of currently known OLSR nodes"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/routes.htm:103
+msgid "Overview of currently known routes to other OLSR nodes"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:19
+msgid "Overview of interfaces where OLSR is running"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/mid.htm:17
+msgid "Overview of known multiple interface announcements"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:104
+msgid "Overview of smart gateways in this network"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins.lua:11
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins6.lua:11
+msgid "Plugin configuration"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/controller/olsr4.lua:30
+#: applications/luci-app-olsr/luasrc/controller/olsr6.lua:30
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins.lua:240
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdplugins6.lua:240
+msgid "Plugins"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:54
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:48
+msgid "Polling rate for OLSR sockets in seconds. Default is 0.05."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:53
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:47
+msgid "Pollrate"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:126
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:120
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdhna.lua:38
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdhna6.lua:20
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:63
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:115
+msgid "Prefix"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:11
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:20
+msgid "Red"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrddisplay.lua:9
+msgid "Resolve"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrddisplay.lua:10
+msgid ""
+"Resolve hostnames on status pages. It is generally safe to allow this, but "
+"if you use public IPs and have unstable DNS-Setup then those pages will load "
+"really slow. In this case disable it here."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/controller/olsr.lua:44
+msgid "Routes"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/mid.htm:21
+msgid "Secondary OLSR interfaces"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:56
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:108
+msgid "Selected"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:133
+msgid ""
+"Sets the main IP (originator ip) of the router. This IP will NEVER change "
+"during the uptime of olsrd. Default is 0.0.0.0, which triggers usage of the "
+"IP of the first interface."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:127
+msgid ""
+"Sets the main IP (originator ip) of the router. This IP will NEVER change "
+"during the uptime of olsrd. Default is ::, which triggers usage of the IP of "
+"the first interface."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/common_js.htm:20
+msgid "Show IPv4"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/common_js.htm:28
+msgid "Show IPv6"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:14
+msgid "Signal Noise Ratio in dB"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/controller/olsr.lua:65
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:44
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:44
+msgid "SmartGW"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:97
+msgid "SmartGW announcements"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:150
+msgid "SmartGateway is not configured on this system."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:28
+msgid "Source address"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:176
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:170
+msgid ""
+"Specifies the speed of the uplink in kilobits/s. First parameter is "
+"upstream, second parameter is downstream. Default is \"128 1024\"."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:176
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:170
+msgid "Speed of the uplink"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:25
+msgid "State"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:19
+msgid "Still usable (20 > SNR > 5)"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:10
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:3
+msgid "Success rate of packages received from the neighbour"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:4
+msgid "Success rate of packages sent to the neighbour"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:388
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:369
+msgid "TC"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:317
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:298
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:141
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:128
+msgid "TC interval"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:323
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:304
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:147
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:134
+msgid "TC validity time"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:65
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:59
+msgid "TOS value"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:13
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:13
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:15
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:15
+msgid ""
+"The OLSR daemon is an implementation of the Optimized Link State Routing "
+"protocol. As such it allows mesh routing for any network equipment. It runs "
+"on any wifi card that supports ad-hoc mode and of course on any ethernet "
+"device. Visit <a href='http://www.olsr.org'>olsrd.org</a> for help and "
+"documentation."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:194
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:188
+msgid ""
+"The fixed willingness to use. If not set willingness will be calculated "
+"dynamically based on battery/power status. Default is \"3\"."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:45
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:45
+msgid "The interface OLSRd should serve."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:127
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:121
+msgid ""
+"The port OLSR uses. This should usually stay at the IANA assigned port 698. "
+"It can have a value between 1 and 65535."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:184
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:178
+msgid ""
+"This can be used to signal the external IPv6 prefix of the uplink to the "
+"clients. This might allow a client to change it's local IPv6 address to use "
+"the IPv6 gateway without any kind of address translation. The maximum prefix "
+"length is 64 bits. Default is \"::/0\" (no prefix)."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:224
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:218
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:33
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:33
+msgid "Timing and Validity"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/controller/olsr.lua:49
+msgid "Topology"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:66
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:60
+msgid ""
+"Type of service value for the IP header of control traffic. Default is "
+"\"16\"."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/error_olsr.htm:9
+msgid "Unable to connect to the OLSR daemon!"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:59
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:111
+msgid "Uplink"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:166
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:160
+msgid "Uplink uses NAT"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:116
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:110
+msgid "Use hysteresis"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/hna.htm:41
+#: applications/luci-app-olsr/luasrc/view/status-olsr/hna.htm:92
+msgid "Validity Time"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm:200
+msgid "Version"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:8
+msgid "Very good (ETX < 2)"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:17
+msgid "Very good (SNR > 30)"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:27
+msgid "WLAN"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:44
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:44
+msgid ""
+"Warning: kmod-ipip is not installed. Without kmod-ipip SmartGateway will not "
+"work, please install it."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:235
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:229
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:60
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:60
+msgid "Weight"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:236
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:230
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:61
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:61
+msgid ""
+"When multiple links exist between hosts the weight of interface is used to "
+"determine the link to use. Normally the weight is automatically calculated "
+"by olsrd based on the characteristics of the interface, but here you can "
+"specify a fixed value. Olsrd will choose links with the lowest value.<br /"
+"><b>Note:</b> Interface weight is used only when LinkQualityLevel is set to "
+"0. For any other value of LinkQualityLevel, the interface ETX value is used "
+"instead."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:155
+msgid ""
+"Which kind of uplink is exported to the other mesh nodes. An uplink is "
+"detected by looking for a local HNA of 0.0.0.0/0, ::ffff:0:0/96 or 2000::/3. "
+"Default setting is \"both\"."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:149
+msgid ""
+"Which kind of uplink is exported to the other mesh nodes. An uplink is "
+"detected by looking for a local HNA6 ::ffff:0:0/96 or 2000::/3. Default "
+"setting is \"both\"."
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:193
+#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:187
+msgid "Willingness"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:9
+#: applications/luci-app-olsr/luasrc/view/status-olsr/legend.htm:18
+msgid "Yellow"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:38
+msgid "down"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:30
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:134
+msgid "infinite"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:40
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:29
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:34
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:35
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:133
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:138
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:139
+msgid "no"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:38
+msgid "up"
+msgstr ""
+
+#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:40
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:29
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:34
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:35
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:133
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:138
+#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:139
+msgid "yes"
+msgstr ""
+
+#~ msgid ""
+#~ "Make sure that OLSRd is running, the \"txtinfo\" plugin is loaded, "
+#~ "configured on port 2006 and accepts connections from \"127.0.0.1\"."
+#~ msgstr ""
+#~ "Make sure that OLSRd is running, the \"txtinfo\" plugin is loaded, "
+#~ "configured on port 2006 and accepts connections from \"127.0.0.1\"."
diff --git a/applications/luci-app-omcproxy/po/fi/omcproxy.po b/applications/luci-app-omcproxy/po/fi/omcproxy.po
new file mode 100644
index 000000000..5a726fb0a
--- /dev/null
+++ b/applications/luci-app-omcproxy/po/fi/omcproxy.po
@@ -0,0 +1,70 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-omcproxy/htdocs/luci-static/resources/view/omcproxy.js:18
+msgid "Add instance"
+msgstr ""
+
+#: applications/luci-app-omcproxy/htdocs/luci-static/resources/view/omcproxy.js:35
+msgid "Downlink interface"
+msgstr ""
+
+#: applications/luci-app-omcproxy/htdocs/luci-static/resources/view/omcproxy.js:13
+msgid "Embedded IGMPv3 and MLDv2 proxy"
+msgstr ""
+
+#: applications/luci-app-omcproxy/htdocs/luci-static/resources/view/omcproxy.js:20
+msgid "Minimum multicast scope to proxy (only affects IPv6 multicast)"
+msgstr ""
+
+#: applications/luci-app-omcproxy/htdocs/luci-static/resources/view/omcproxy.js:15
+msgid "Proxy Instance"
+msgstr ""
+
+#: applications/luci-app-omcproxy/htdocs/luci-static/resources/view/omcproxy.js:20
+msgid "Scope"
+msgstr ""
+
+#: applications/luci-app-omcproxy/htdocs/luci-static/resources/view/omcproxy.js:31
+msgid "Uplink interface"
+msgstr ""
+
+#: applications/luci-app-omcproxy/htdocs/luci-static/resources/view/omcproxy.js:31
+msgid "Where does the multicast come from?"
+msgstr ""
+
+#: applications/luci-app-omcproxy/htdocs/luci-static/resources/view/omcproxy.js:35
+msgid "Where does the multicast go to?"
+msgstr ""
+
+#: applications/luci-app-omcproxy/htdocs/luci-static/resources/view/omcproxy.js:26
+msgid "admin-local"
+msgstr ""
+
+#: applications/luci-app-omcproxy/htdocs/luci-static/resources/view/omcproxy.js:22
+msgid "default"
+msgstr ""
+
+#: applications/luci-app-omcproxy/htdocs/luci-static/resources/view/omcproxy.js:23
+msgid "global"
+msgstr ""
+
+#: applications/luci-app-omcproxy/htdocs/luci-static/resources/view/omcproxy.js:13
+#: applications/luci-app-omcproxy/root/usr/share/luci/menu.d/luci-app-omcproxy.json:3
+msgid "omcproxy"
+msgstr ""
+
+#: applications/luci-app-omcproxy/htdocs/luci-static/resources/view/omcproxy.js:24
+msgid "organization-local"
+msgstr ""
+
+#: applications/luci-app-omcproxy/htdocs/luci-static/resources/view/omcproxy.js:27
+msgid "realm"
+msgstr ""
+
+#: applications/luci-app-omcproxy/htdocs/luci-static/resources/view/omcproxy.js:25
+msgid "site-local"
+msgstr ""
diff --git a/applications/luci-app-openvpn/po/fi/openvpn.po b/applications/luci-app-openvpn/po/fi/openvpn.po
new file mode 100644
index 000000000..0077a7d35
--- /dev/null
+++ b/applications/luci-app-openvpn/po/fi/openvpn.po
@@ -0,0 +1,837 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-05-19 19:35+0200\n"
+"PO-Revision-Date: 2012-04-03 08:45+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\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.4\n"
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:364
+msgid "'net30', 'p2p', or 'subnet'"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:481
+msgid "Accept options pushed from server"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:92
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:225
+msgid "Add route after establishing connection"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:92
+msgid "Add template based configuration"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:746
+msgid "Additional authentication over TLS"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:417
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:57
+msgid "Allow client-to-client traffic"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:422
+msgid "Allow multiple clients with same certificate"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:738
+msgid "Allow only one session"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:193
+msgid "Allow remote to change its IP or port"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:457
+msgid "Allowed maximum of connected clients"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:462
+msgid "Allowed maximum of internal"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:467
+msgid "Allowed maximum of new connections"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:68
+msgid "Append log to file"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:486
+msgid "Authenticate using username/password"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:556
+msgid "Automatically redirect default route"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:11
+msgid "Below is a list of configured OpenVPN instances and their current state"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:120
+msgid "Call down cmd/script before TUN/TAP close"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:658
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:77
+msgid "Certificate authority"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:80
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:17
+msgid "Change process priority"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:40
+msgid "Change to directory before initialization"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:774
+msgid "Check peer certificate against a CRL"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:44
+msgid "Chroot to directory after initialization"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:392
+msgid "Client is disabled"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/view/openvpn/pageswitch.htm:20
+msgid "Configuration category"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:477
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:53
+msgid "Configure client mode"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:377
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:37
+msgid "Configure server bridge"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:372
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:33
+msgid "Configure server mode"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:540
+msgid "Connect through Socks5 proxy"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:520
+msgid "Connect to remote host through an HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:515
+msgid "Connection retry interval"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:564
+msgid "Cryptography"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:233
+msgid "Delay n seconds after connection"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:112
+msgid "Delay tun/tap open and up script execution"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:662
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:81
+msgid "Diffie-Hellman parameters"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:427
+msgid "Directory for custom client config files"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:24
+msgid "Disable Paging"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:28
+msgid "Disable options consistency check"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:197
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:41
+msgid "Do not bind to local address and port"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:217
+msgid "Don't actually execute ifconfig"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:237
+msgid "Don't add routes automatically"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:758
+msgid "Don't cache --askpass or --auth-user-pass passwords"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:245
+msgid "Don't drop incoming tun packets with same destination as host"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:387
+msgid "Don't inherit global push options"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:72
+msgid "Don't log timestamps"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:241
+msgid "Don't pull routes automatically"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:332
+msgid "Don't re-read key on restart"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:261
+msgid "Don't use adaptive lzo compression"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:221
+msgid "Don't warn on ifconfig inconsistencies"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:88
+msgid "Echo parameters to log"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:253
+msgid "Empirically measure MTU"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:632
+msgid "Enable OpenSSL hardware crypto engines"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:249
+msgid "Enable Path MTU discovery"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:568
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:65
+msgid "Enable Static Key encryption mode (non-TLS)"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:653
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:678
+msgid "Enable TLS and assume client role"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:648
+msgid "Enable TLS and assume server role"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:165
+msgid "Enable a compression algorithm"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:278
+msgid "Enable internal datagram fragmentation"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:345
+msgid "Enable management interface on <em>IP</em> <em>port</em>"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:104
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:750
+msgid "Encrypt and authenticate all control channel packets with the key"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
+msgid "Encryption cipher for packets"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:128
+msgid "Execute shell cmd after routes are added"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:132
+msgid "Execute shell command on remote IP change"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:157
+msgid ""
+"Executed in server mode on new client connections, when the client is still "
+"untrusted"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:153
+msgid ""
+"Executed in server mode whenever an IPv4 address/route or MAC address is "
+"added to OpenVPN's internal routing table"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:742
+msgid "Exit on TLS negotiation failure"
+msgstr ""
+
+#: applications/luci-app-openvpn/root/usr/share/rpcd/acl.d/luci-app-openvpn.json:3
+msgid "Grant access to OpenVPN configuration"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:573
+msgid "HMAC authentication for packets"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:491
+msgid "Handling of authentication failures"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:308
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:49
+msgid ""
+"Helper directive to simplify the expression of --ping and --ping-restart in "
+"server mode configurations"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:551
+msgid "If hostname resolve fails, retry"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/view/openvpn/pageswitch.htm:12
+msgid "Instance \"%s\""
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:18
+#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:46
+msgid "Instance with that name already exists!"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:336
+msgid "Keep local IP address on restart"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:340
+msgid "Keep remote IP address on restart"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:328
+msgid "Keep tun/tap device open on restart"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:734
+msgid "Key transition window"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:104
+msgid "Limit repeated log messages"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:666
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:85
+msgid "Local certificate"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:177
+msgid "Local host name or IP address"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:670
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:89
+msgid "Local private key"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:173
+msgid "Major mode"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:452
+msgid "Maximum number of queued TCP output packets"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:168
+msgid "Networking"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:447
+msgid "Number of allocated broadcast buffers"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:360
+msgid "Number of lines for log file history"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:95
+msgid "OVPN configuration file upload"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:762
+msgid "Only accept connections from given X509 name"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:324
+msgid "Only process ping timeouts if routes exist"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/controller/openvpn.lua:8
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:10
+msgid "OpenVPN"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:11
+msgid "OpenVPN instances"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:84
+msgid "Optimize TUN/TAP/UDP writes"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/view/openvpn/pageswitch.htm:11
+msgid "Overview"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:674
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:73
+msgid "PKCS#12 file containing keys"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:137
+msgid "Pass environment variables to script"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:644
+msgid "Persist replay-protection state"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:402
+msgid "Persist/unpersist ifconfig-pool"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:312
+msgid "Ping remote every n seconds over TCP/UDP port"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-file.lua:28
+msgid "Please edit this file directly in a terminal session."
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:51
+msgid "Please select a valid OVPN config file to upload!"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:23
+msgid "Please select a valid VPN template!"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:161
+msgid "Policy level over usage of external programs and scripts"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:141
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:156
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:530
+msgid "Proxy timeout in seconds"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:407
+msgid "Push an ifconfig option to remote"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:382
+msgid "Push options to peer"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:350
+msgid "Query management channel for private key"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:505
+msgid "Randomly choose remote server"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:432
+msgid "Refuse connection if no custom client config"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:92
+msgid "Remap SIGUSR1 signals"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:501
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
+msgid "Remote host name or IP address"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:316
+msgid "Remote ping timeout"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:718
+msgid "Renegotiate data chan. key after bytes"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:722
+msgid "Renegotiate data chan. key after packets"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:726
+msgid "Renegotiate data chan. key after seconds"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:636
+msgid "Replay protection sliding window size"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:766
+msgid "Require explicit designation on certificate"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:770
+msgid "Require explicit key usage on certificate"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:320
+msgid "Restart after remote ping timeout"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:794
+msgid "Restrict the allowed ciphers to be negotiated"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:714
+msgid "Retransmit timeout on TLS control channel"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:525
+msgid "Retry indefinitely on HTTP proxy errors"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:546
+msgid "Retry indefinitely on Socks proxy errors"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:412
+msgid "Route subnet to client"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:145
+msgid "Run script cmd on client connection"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:149
+msgid "Run script cmd on client disconnection"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:124
+msgid "Run up/down scripts for all restarts"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-file.lua:37
+msgid "Save"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-file.lua:61
+msgid ""
+"Section to add an optional 'auth-user-pass' file with your credentials (%s)"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-file.lua:40
+msgid "Section to modify the OVPN config file (%s)"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:85
+msgid "Select template ..."
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:496
+msgid "Send notification to peer on disconnect"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:15
+msgid "Service"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:266
+msgid "Set TCP/UDP MTU"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:397
+msgid "Set aside a pool of subnets"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:535
+msgid "Set extended HTTP proxy options"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:20
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:13
+msgid "Set output verbosity"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:442
+msgid "Set size of real and virtual address hash tables"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:292
+msgid "Set the TCP/UDP receive buffer size"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:288
+msgid "Set the TCP/UDP send buffer size"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:296
+msgid "Set tun/tap TX queue length"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:213
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:29
+msgid "Set tun/tap adapter parameters"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:270
+msgid "Set tun/tap device MTU"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:274
+msgid "Set tun/tap device overhead"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:283
+msgid "Set upper bound on TCP MSS"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:300
+msgid "Shaping for peer bandwidth"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:108
+msgid "Shell cmd to execute after tun device open"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:116
+msgid "Shell cmd to run after tun device close"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:141
+msgid "Shell command to verify X509 name"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:640
+msgid "Silence the output of replay warnings"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:627
+msgid "Size of cipher key"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:229
+msgid "Specify a default gateway for routes"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:561
+msgid "Specify whether the client is required to supply a valid certificate"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:355
+msgid "Start OpenVPN in a hibernating state"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:117
+msgid "Start/Stop"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:106
+msgid "Started"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:100
+msgid "Status file format version"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/view/openvpn/pageswitch.htm:15
+msgid "Switch to advanced configuration"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/view/openvpn/pageswitch.htm:18
+msgid "Switch to basic configuration"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:181
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:21
+msgid "TCP/UDP port # for both local and remote"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:185
+msgid "TCP/UDP port # for local (default=1194)"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:189
+msgid "TCP/UDP port # for remote (default=1194)"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:710
+msgid "TLS 1.3 or newer cipher"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:702
+msgid "TLS cipher"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:56
+msgid "TOS passthrough (applies to IPv4 only)"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:78
+msgid "Template based configuration"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:437
+msgid "Temporary directory for client-connect return file"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:12
+#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:40
+msgid "The 'Name' field must not be empty!"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-file.lua:18
+msgid ""
+"The OVPN config file (%s) could not be found, please check your "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:782
+msgid "The highest supported TLS version"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:786
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
+msgid "The key direction for 'tls-auth' and 'secret' options"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:778
+msgid "The lowest supported TLS version"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-file.lua:27
+msgid ""
+"The size of the OVPN config file (%s) is too large for online editing in "
+"LuCI (&ge; 100 KB)."
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:790
+msgid "This completely disables cipher negotiation"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:730
+msgid "Timeframe for key exchange"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:205
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:25
+msgid "Type of used device"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:104
+msgid "Upload"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm:104
+msgid "Upload ovpn file"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:257
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:45
+msgid "Use fast LZO compression"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:510
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:97
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:103
+msgid "Use protocol"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:209
+msgid "Use tun/tap device node"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:472
+msgid "Use username as common name"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:368
+msgid "VPN"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:64
+msgid "Write log to file"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:96
+msgid "Write status to file every n seconds"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:112
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:114
+msgid "no"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:201
+msgid "tun/tap device"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:304
+msgid "tun/tap inactivity timeout"
+msgstr ""
+
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua:111
+msgid "yes (%i)"
+msgstr ""
+
+#~ msgid "Daemonize after initialization"
+#~ msgstr "Daemonize after initialization"
+
+#~ msgid "Get PEM password from controlling tty before we daemonize"
+#~ msgstr "Get PEM password from controlling tty before we daemonize"
+
+#~ msgid "Output to syslog and do not daemonize"
+#~ msgstr "Output to syslog and do not daemonize"
+
+#~ msgid "Run as an inetd or xinetd server"
+#~ msgstr "Run as an inetd or xinetd server"
+
+#~ msgid "Set GID to group"
+#~ msgstr "Set GID to group"
+
+#~ msgid "Set UID to user"
+#~ msgstr "Set UID to user"
+
+#~ msgid "Write process ID to file"
+#~ msgstr "Write process ID to file"
diff --git a/applications/luci-app-opkg/po/fi/opkg.po b/applications/luci-app-opkg/po/fi/opkg.po
new file mode 100644
index 000000000..f577bd40c
--- /dev/null
+++ b/applications/luci-app-opkg/po/fi/opkg.po
@@ -0,0 +1,339 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-06-10 03:40+0200\n"
+"PO-Revision-Date: 2019-12-07 10:44+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\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: Weblate 3.10-dev\n"
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1044
+msgid "Actions"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:850
+msgid "Automatically remove unused dependencies"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1054
+msgid "Available"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:775
+msgid ""
+"Below is a listing of the various configuration files used by <em>opkg</em>. "
+"Use <em>opkg.conf</em> for global settings and <em>customfeeds.conf</em> for "
+"custom repository entries. The configuration in the other files may be "
+"changed but is usually not preserved by <em>sysupgrade</em>."
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:697
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:743
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:790
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:856
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:949
+msgid "Cancel"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1031
+msgid "Clear"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1048
+msgid "Configure opkg…"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:669
+msgid "Dependencies"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:675
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:835
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1072
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:680
+msgid "Details for package <em>%h</em>"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:923
+msgid "Dismiss"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:332
+msgid "Displaying %d-%d of %d"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1036
+msgid "Download and install package"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:901
+msgid "Errors"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:878
+msgid "Executing package manager"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1028
+msgid "Filter"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1023
+msgid "Free space"
+msgstr ""
+
+#: applications/luci-app-opkg/root/usr/share/rpcd/acl.d/luci-app-opkg.json:3
+msgid "Grant access to opkg management"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:705
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:721
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:959
+msgid "Install"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:283
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:494
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1055
+msgid "Installed"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:727
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:936
+msgid ""
+"Installing packages from untrusted sources is a potential security risk! "
+"Really attempt to install <em>%h</em>?"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:272
+msgid "Install…"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:754
+msgid "Loading configuration data…"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:977
+msgid "Loading package information…"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:939
+msgid "MD5"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:737
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:935
+msgid "Manually install package"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:482
+msgid "Needs upgrade"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1063
+msgid "Next page"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:345
+msgid "No information available"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:333
+msgid "No packages"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:349
+msgid "No packages matching \"<strong>%h</strong>\"."
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:514
+msgid "Not available"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:499
+msgid "Not installed"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1039
+msgid "OK"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:753
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:801
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:815
+msgid "OPKG Configuration"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:692
+msgid "Overwrite files from other package(s)"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1069
+msgid "Package name"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1038
+msgid "Package name or URL…"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1061
+msgid "Previous page"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:734
+msgid "Really attempt to install <em>%h</em>?"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:864
+msgid "Remove"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:840
+msgid "Remove package <em>%h</em>"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:260
+msgid "Remove…"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:665
+msgid "Require approx. %.1024mB size for %d package(s) to install."
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:489
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:507
+msgid "Require version %h %h, installed %h"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:512
+msgid ""
+"Required dependency package <em>%h</em> is not available in any repository."
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:480
+msgid "Requires update to %h %h"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:350
+msgid "Reset"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:940
+msgid "SHA256"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:812
+msgid "Save"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:802
+msgid "Saving configuration data…"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:683
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:843
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:938
+msgid "Size"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1071
+msgid "Size (.ipk)"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1019
+#: applications/luci-app-opkg/root/usr/share/luci/menu.d/luci-app-opkg.json:3
+msgid "Software"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:906
+msgid "The <em>opkg %h</em> command failed with code <code>%d</code>."
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:485
+msgid ""
+"The installed version of package <em>%h</em> is not compatible, require %s "
+"while %s is installed."
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:730
+msgid "The package <em>%h</em> is not available in any configured repository."
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:502
+msgid ""
+"The repository version of package <em>%h</em> is not compatible, require %s "
+"but only %s is available."
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1030
+msgid "Type to filter…"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:925
+msgid "Unable to execute <em>opkg %s</em> command: %s"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:768
+msgid "Unable to read %s: %s"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:807
+msgid "Unable to save %s: %s"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1046
+msgid "Update lists…"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1056
+msgid "Updates"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:249
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:278
+msgid "Upgrade…"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1047
+msgid "Upload Package…"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:682
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:842
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1070
+msgid "Version"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:491
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:509
+msgid "Version incompatible"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:880
+msgid "Waiting for the <em>opkg %h</em> command to complete…"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:643
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:831
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:1024
+msgid "unknown"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:641
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:829
+msgid "~%.1024mB compressed"
+msgstr ""
+
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:639
+#: applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js:827
+msgid "~%.1024mB installed"
+msgstr ""
diff --git a/applications/luci-app-p910nd/po/fi/p910nd.po b/applications/luci-app-p910nd/po/fi/p910nd.po
new file mode 100644
index 000000000..6132ea9a7
--- /dev/null
+++ b/applications/luci-app-p910nd/po/fi/p910nd.po
@@ -0,0 +1,63 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-05-19 19:35+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 1.1.1\n"
+
+#: applications/luci-app-p910nd/luasrc/model/cbi/p910nd.lua:47
+msgid "Bidirectional mode"
+msgstr ""
+
+#: applications/luci-app-p910nd/luasrc/model/cbi/p910nd.lua:20
+msgid "Device"
+msgstr ""
+
+#: applications/luci-app-p910nd/luasrc/model/cbi/p910nd.lua:10
+msgid ""
+"First you have to install the packages to get support for USB (kmod-usb-"
+"printer) or parallel port (kmod-lp)."
+msgstr ""
+
+#: applications/luci-app-p910nd/root/usr/share/rpcd/acl.d/luci-app-p910nd.json:3
+msgid "Grant UCI access for luci-app-p910nd"
+msgstr ""
+
+#: applications/luci-app-p910nd/luasrc/model/cbi/p910nd.lua:22
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-p910nd/luasrc/model/cbi/p910nd.lua:41
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-p910nd/luasrc/model/cbi/p910nd.lua:14
+msgid "Settings"
+msgstr ""
+
+#: applications/luci-app-p910nd/luasrc/model/cbi/p910nd.lua:22
+msgid "Specifies the interface to listen on."
+msgstr ""
+
+#: applications/luci-app-p910nd/luasrc/model/cbi/p910nd.lua:41
+msgid "TCP listener port."
+msgstr ""
+
+#: applications/luci-app-p910nd/luasrc/model/cbi/p910nd.lua:18
+msgid "enable"
+msgstr ""
+
+#: applications/luci-app-p910nd/luasrc/model/cbi/p910nd.lua:9
+#: applications/luci-app-p910nd/root/usr/share/luci/menu.d/luci-app-p910nd.json:3
+msgid "p910nd - Printer server"
+msgstr ""
+
+#~ msgid "p910nd listens on port 910+N. E.g. 9100 for the first printer."
+#~ msgstr "p910nd listens on port 910+N. E.g. 9100 for the first printer."
diff --git a/applications/luci-app-pagekitec/po/fi/pagekitec.po b/applications/luci-app-pagekitec/po/fi/pagekitec.po
new file mode 100644
index 000000000..92e128f1a
--- /dev/null
+++ b/applications/luci-app-pagekitec/po/fi/pagekitec.po
@@ -0,0 +1,67 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-pagekitec/htdocs/luci-static/resources/view/pagekitec.js:5
+msgid ""
+"<p/>Note: you need a working PageKite account, or at least, your own running "
+"front end for this form to work. Visit <a href='https://pagekite.net/"
+"home/'>your account</a> to set up a name for your router and get a secret "
+"key for the connection.<p/><em>Note: this web configurator only supports "
+"some very very basic uses of pagekite.</em>"
+msgstr ""
+
+#: applications/luci-app-pagekitec/htdocs/luci-static/resources/view/pagekitec.js:29
+msgid "Basic HTTP"
+msgstr ""
+
+#: applications/luci-app-pagekitec/htdocs/luci-static/resources/view/pagekitec.js:30
+msgid "Basic SSH"
+msgstr ""
+
+#: applications/luci-app-pagekitec/htdocs/luci-static/resources/view/pagekitec.js:31
+msgid "Basic WebSockets"
+msgstr ""
+
+#: applications/luci-app-pagekitec/htdocs/luci-static/resources/view/pagekitec.js:19
+msgid "Configuration"
+msgstr ""
+
+#: applications/luci-app-pagekitec/htdocs/luci-static/resources/view/pagekitec.js:31
+msgid "Enable a WebSockets tunnel on a given local port"
+msgstr ""
+
+#: applications/luci-app-pagekitec/htdocs/luci-static/resources/view/pagekitec.js:29
+msgid ""
+"Enable a tunnel to the local HTTP server (in most cases, this admin "
+"interface)"
+msgstr ""
+
+#: applications/luci-app-pagekitec/htdocs/luci-static/resources/view/pagekitec.js:30
+msgid "Enable a tunnel to the local SSH server"
+msgstr ""
+
+#: applications/luci-app-pagekitec/htdocs/luci-static/resources/view/pagekitec.js:22
+msgid "Kite Name"
+msgstr ""
+
+#: applications/luci-app-pagekitec/htdocs/luci-static/resources/view/pagekitec.js:23
+msgid "Kite Secret"
+msgstr ""
+
+#: applications/luci-app-pagekitec/htdocs/luci-static/resources/view/pagekitec.js:17
+#: applications/luci-app-pagekitec/root/usr/share/luci/menu.d/luci-app-pagekitec.json:3
+msgid "PageKite"
+msgstr ""
+
+#: applications/luci-app-pagekitec/htdocs/luci-static/resources/view/pagekitec.js:26
+msgid "Static setup"
+msgstr ""
+
+#: applications/luci-app-pagekitec/htdocs/luci-static/resources/view/pagekitec.js:27
+msgid ""
+"Static setup, disable FE failover and DDNS updates, set this if you are "
+"running your own frontend without a pagekite.me account"
+msgstr ""
diff --git a/applications/luci-app-polipo/po/fi/polipo.po b/applications/luci-app-polipo/po/fi/polipo.po
new file mode 100644
index 000000000..b5efcc44f
--- /dev/null
+++ b/applications/luci-app-polipo/po/fi/polipo.po
@@ -0,0 +1,328 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-05-19 19:35+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 1.1.1\n"
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:121
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:35
+msgid "Allowed clients"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:67
+msgid "Always use system DNS resolver"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:88
+msgid ""
+"Basic HTTP authentication supported. Provide username and password in "
+"username:password format."
+msgstr ""
+
+#: applications/luci-app-polipo/root/usr/share/luci/menu.d/luci-app-polipo.json:24
+msgid "Configuration"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:11
+msgid "DNS and Query Settings"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:46
+msgid "DNS server address"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:154
+msgid "Delete cache files time"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:125
+msgid "Disk cache location"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:60
+msgid "Do not query IPv6"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:133
+msgid "Enable if cache (proxy) is shared by multiple users."
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:173
+msgid "First PMM segment size (in bytes)"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:10
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:120
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-polipo/root/usr/share/rpcd/acl.d/luci-app-polipo.json:3
+msgid "Grant UCI access for luci-app-polipo"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:113
+msgid "How much RAM should Polipo use for its cache."
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:112
+msgid "In RAM cache size (in bytes)"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:18
+msgid "Listen address"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:26
+msgid "Listen port"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:126
+msgid ""
+"Location where polipo will cache files permanently. Use of external storage "
+"devices is recommended, because the cache can grow considerably. Leave it "
+"empty to disable on-disk cache."
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:103
+msgid "Log file location"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:96
+msgid "Log to syslog"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:13
+msgid "Logging and RAM"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:73
+msgid "Never use system DNS resolver"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:119
+msgid "On-Disk Cache"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:169
+msgid "PMM segments size (in bytes)"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:12
+msgid "Parent Proxy"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:78
+msgid "Parent proxy address"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:79
+msgid ""
+"Parent proxy address (in host:port format), to which Polipo will forward the "
+"requests."
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:87
+msgid "Parent proxy authentication"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:4
+#: applications/luci-app-polipo/root/usr/share/luci/menu.d/luci-app-polipo.json:3
+msgid "Polipo"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/view/polipo_status.htm:12
+msgid "Polipo Status"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:5
+msgid "Polipo is a small and fast caching web proxy."
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:163
+msgid "Poor Man's Multiplexing"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:164
+msgid ""
+"Poor Man's Multiplexing (PMM) is a technique that simulates multiplexing by "
+"requesting an instance in multiple segments. It tries to lower the latency "
+"caused by the weakness of HTTP protocol. NOTE: some sites may not work with "
+"PMM enabled."
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:27
+msgid "Port on which Polipo will listen"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:8
+msgid "Proxy"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:64
+msgid "Query DNS by hostname"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:72
+msgid "Query DNS directly, fallback to system resolver"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:69
+msgid "Query DNS directly, for unknown hosts fall back to system resolver"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:54
+msgid "Query DNS for IPv6"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:59
+msgid "Query IPv4 and IPv6, prefer IPv4"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:58
+msgid "Query IPv4 and IPv6, prefer IPv6"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:57
+msgid "Query only IPv6"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:47
+msgid ""
+"Set the DNS server address to use, if you want Polipo to use different DNS "
+"server than the host system."
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:132
+msgid "Shared cache"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:174
+msgid ""
+"Size of the first PMM segment. If not defined, it defaults to twice the PMM "
+"segment size."
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:138
+msgid "Size to which cached files should be truncated"
+msgstr ""
+
+#: applications/luci-app-polipo/root/usr/share/luci/menu.d/luci-app-polipo.json:15
+msgid "Status"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:99
+msgid "Syslog facility"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:19
+msgid ""
+"The interface on which Polipo will listen. To listen on all interfaces use "
+"0.0.0.0 or :: (IPv6)."
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:155
+msgid "Time after which cached files will be deleted"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:147
+msgid "Time after which cached files will be truncated"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:170
+msgid "To enable PMM, PMM segment size must be set to some positive value."
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:137
+msgid "Truncate cache files size (in bytes)"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:146
+msgid "Truncate cache files time"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:104
+msgid ""
+"Use of external storage device is recommended, because the log file is "
+"written frequently and can grow considerably."
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:36
+msgid ""
+"When listen address is set to 0.0.0.0 or :: (IPv6), you must list clients "
+"that are allowed to connect. The format is IP address or network address "
+"(192.168.1.123, 192.168.1.0/24, 2001:660:116::/48 (IPv6))"
+msgstr ""
+
+#: applications/luci-app-polipo/luasrc/model/cbi/polipo.lua:16
+msgid "enable"
+msgstr ""
+
+#~ msgid ""
+#~ "To enable polipo on-disk cache cleaning (highly recommended), you should "
+#~ "add a cron job in Scheduled Tasks services that will execute /usr/sbin/"
+#~ "polipo_purge script. For example to perform disk cache cleanup every day "
+#~ "at 6:00 in the morning you should add the following line in Scheduled "
+#~ "Tasks \"0 6 * * *\\t/usr/sbin/polipo_purge\" (without quotes)."
+#~ msgstr ""
+#~ "To enable polipo on-disk cache cleaning (highly recommended), you should "
+#~ "add a cron job in Scheduled Tasks services that will execute /usr/sbin/"
+#~ "polipo_purge script. For example to perform disk cache cleanup every day "
+#~ "at 6:00 in the morning you should add the following line in Scheduled "
+#~ "Tasks \"0 6 * * *\t/usr/sbin/polipo_purge\" (without quotes)."
+
+#~ msgid ""
+#~ "Size to which cached files should be truncated. (default value: 1048576)"
+#~ msgstr ""
+#~ "Size to which cached files should be truncated. (default value: 1048576)"
+
+#~ msgid ""
+#~ "Time after which cached files will be truncated. (default value: 4d12h)"
+#~ msgstr ""
+#~ "Time after which cached files will be truncated. (default value: 4d12h)"
+
+#~ msgid "Time after which cached files will be deleted. (default value: 32d)"
+#~ msgstr "Time after which cached files will be deleted. (default value: 32d)"
+
+#~ msgid "General"
+#~ msgstr "General"
+
+#~ msgid ""
+#~ "When listen address is set to 0.0.0.0 or :: (IPv6), you must list clients "
+#~ "that are allowed to connect. The format is IP address or network address "
+#~ "(192.168.1.123, 192.168.1.0/24, 2001:660:116::/48 (IPv6))."
+#~ msgstr ""
+#~ "When listen address is set to 0.0.0.0 or :: (IPv6), you must list clients "
+#~ "that are allowed to connect. The format is IP address or network address "
+#~ "(192.168.1.123, 192.168.1.0/24, 2001:660:116::/48 (IPv6))."
+
+#~ msgid ""
+#~ "false = Do not query IPv6; reluctantly = Query both, prefer IPv4; happily "
+#~ "= Query both, prefer IPv6; true = Query only IPv6"
+#~ msgstr ""
+#~ "false = Do not query IPv6; reluctantly = Query both, prefer IPv4; happily "
+#~ "= Query both, prefer IPv6; true = Query only IPv6"
+
+#~ msgid ""
+#~ "false = Never use system DNS resolver; reluctantly = Query DNS directly, "
+#~ "if DNS server is unavailable fail to system DNS resolver; happily = Query "
+#~ "DNS directly, if host could not be found fallback to system DNS resolver; "
+#~ "true = Always use system DNS resolver"
+#~ msgstr ""
+#~ "false = Never use system DNS resolver; reluctantly = Query DNS directly, "
+#~ "if DNS server is unavailable fail to system DNS resolver; happily = Query "
+#~ "DNS directly, if host could not be found fallback to system DNS resolver; "
+#~ "true = Always use system DNS resolver"
+
+#~ msgid "Port on which Polipo will listen. (default value: 8123)"
+#~ msgstr "Port on which Polipo will listen. (default value: 8123)"
diff --git a/applications/luci-app-privoxy/po/fi/privoxy.po b/applications/luci-app-privoxy/po/fi/privoxy.po
new file mode 100644
index 000000000..e90d343aa
--- /dev/null
+++ b/applications/luci-app-privoxy/po/fi/privoxy.po
@@ -0,0 +1,596 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:236
+msgid ""
+"A URL to be displayed in the error page that users will see if access to an "
+"untrusted page is denied."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:226
+msgid ""
+"A URL to documentation about the local Privoxy setup, configuration or "
+"policies."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:325
+msgid "A directory where Privoxy can create temporary files."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:84
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:87
+msgid "Access Control"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:337
+msgid "Actions that are applied to all sites and maybe overruled later on."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:308
+msgid "An alternative directory where the templates are loaded from."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:206
+msgid "An email address to reach the Privoxy administrator."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:691
+msgid ""
+"Assumed server-side keep-alive timeout (in seconds) if not specified by the "
+"server."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:151
+msgid "Boot delay"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:869
+msgid "CGI user interface"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:857
+msgid "Common Log Format"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:92
+msgid ""
+"Configure here the routing of HTTP requests through a chain of multiple "
+"proxies. Note that parent proxies can severely decrease your privacy level. "
+"Also specified here are SOCKS proxies."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:851
+msgid "Debug GIF de-animation"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:833
+msgid "Debug force feature"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:845
+msgid "Debug redirects"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:839
+msgid "Debug regular expression filters"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:152
+msgid "Delay (in seconds) during system boot before Privoxy start"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:261
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:298
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:315
+msgid "Directory does not exist!"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:557
+msgid "Disabled == Transparent Proxy Mode"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:66
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:71
+msgid "Documentation"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:154
+msgid "During delay ifup-events are not monitored !"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:599
+msgid "Enable proxy authentication forwarding"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:135
+msgid ""
+"Enable/Disable autostart of Privoxy on system startup and interface events"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:555
+msgid "Enable/Disable filtering when Privoxy starts."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:134
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:602
+msgid ""
+"Enabling this option is NOT recommended if there is no parent proxy that "
+"requires authentication!"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:368
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:404
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:442
+msgid "File '%s' not found inside Configuration Directory"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:915
+#: applications/luci-app-privoxy/luasrc/view/privoxy/detail_logview.htm:12
+msgid "File not found or empty"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:75
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:80
+msgid "Files and Directories"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:36
+msgid "For help use link at the relevant option"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:91
+msgid "Forwarding"
+msgstr ""
+
+#: applications/luci-app-privoxy/root/usr/share/rpcd/acl.d/luci-app-privoxy.json:3
+msgid "Grant UCI access for luci-app-privoxy"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:589
+msgid ""
+"If enabled, Privoxy hides the 'go there anyway' link. The user obviously "
+"should not be able to bypass any blocks."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:67
+msgid ""
+"If you intend to operate Privoxy for more users than just yourself, it might "
+"be a good idea to let them know how to reach you, what you block and why you "
+"do that, your policies, etc."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:215
+msgid "Invalid email address"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:416
+msgid "It is NOT recommended for the casual user."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:194
+msgid "Location of the Privoxy User Manual."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:108
+msgid "Log File Viewer"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:895
+msgid "Log all data read from the network"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:827
+msgid "Log all data written to the network"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:901
+msgid "Log the applying actions"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:803
+msgid ""
+"Log the destination for each request Privoxy let through. See also 'Debug "
+"1024'."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:863
+msgid ""
+"Log the destination for requests Privoxy didn't let through, and the reason "
+"why."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:104
+msgid "Logging"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:339
+msgid "Main actions file"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:461
+msgid "Mandatory Input: No Data given!"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:259
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:296
+msgid "Mandatory Input: No Directory given!"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:279
+msgid "Mandatory Input: No File given!"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:479
+msgid "Mandatory Input: No Port given!"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:345
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:381
+msgid "Mandatory Input: No files given!"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:482
+msgid "Mandatory Input: No valid IPv4 address or host given!"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:470
+msgid "Mandatory Input: No valid IPv6 address given!"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:472
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:484
+msgid "Mandatory Input: No valid Port given!"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:733
+msgid "Maximum number of client connections that will be served."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:535
+msgid "Maximum size (in KB) of the buffer for content filtering."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:97
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:100
+msgid "Miscellaneous"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:51
+msgid "NOT installed"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:254
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:291
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:310
+msgid "No trailing '/', please."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:881
+msgid "Non-fatal errors - *we highly recommended enabling this*"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:714
+msgid ""
+"Number of seconds after which a socket times out if no data is received."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:668
+msgid ""
+"Number of seconds after which an open connection will no longer be reused."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:327
+msgid ""
+"Only when using 'external filters', Privoxy has to create temporary files."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:81
+msgid "Please install current version !"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:913
+msgid "Please press [Read] button"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:518
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:527
+msgid "Please read Privoxy manual for details!"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:92
+msgid "Please update to the current version!"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:24
+msgid "Privoxy WEB proxy"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:76
+msgid ""
+"Privoxy can (and normally does) use a number of other files for additional "
+"configuration, help and logging. This section of the configuration file "
+"tells Privoxy where to find those other files."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:32
+msgid ""
+"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
+"enhancing privacy, modifying web page data and HTTP headers, controlling "
+"access, and removing ads and other obnoxious Internet junk."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:908
+msgid "Read / Reread log file"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:815
+msgid "Show I/O status"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:809
+msgid "Show each connection status"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:821
+msgid "Show header parsing"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:76
+msgid "Software package '%s' is not installed."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:85
+msgid "Software package '%s' is outdated."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:125
+#: applications/luci-app-privoxy/luasrc/view/privoxy/detail_startstop.htm:10
+msgid "Start"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:115
+msgid "Start / Stop"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:116
+msgid "Start/Stop Privoxy WEB Proxy"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:875
+msgid "Startup banner and warnings."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:455
+msgid "Syntax:"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:786
+msgid "Syntax: Client header names delimited by spaces."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:612
+msgid "Syntax: target_pattern http_parent[:port]"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:620
+msgid "Syntax: target_pattern socks_proxy[:port] http_parent[:port]"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:59
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:62
+msgid "System"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:335
+msgid ""
+"The actions file(s) to use. Multiple actionsfile lines are permitted, and "
+"are in fact recommended!"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:453
+msgid ""
+"The address and TCP port on which Privoxy will listen for client requests."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:766
+msgid ""
+"The compression level that is passed to the zlib library when compressing "
+"buffered content."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:252
+msgid ""
+"The directory where all logging takes place (i.e. where the logfile is "
+"located)."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:289
+msgid "The directory where the other configuration files are located."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:377
+msgid ""
+"The filter files contain content modification rules that use regular "
+"expressions."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:183
+msgid "The hostname shown on the CGI pages."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:274
+msgid "The log file to use. File name, relative to log directory."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:784
+msgid "The order in which client headers are sorted before forwarding them."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:751
+msgid ""
+"The status code Privoxy returns for pages blocked with +handle-as-empty-"
+"document."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:413
+msgid ""
+"The trust mechanism is an experimental feature for building white-lists and "
+"should be used with care."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:238
+msgid ""
+"The value of this option only matters if the experimental trust mechanism "
+"has been activated."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:796
+msgid ""
+"This option is only there for debugging purposes. It will drastically reduce "
+"performance."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:574
+msgid ""
+"This option will be removed in future releases as it has been obsoleted by "
+"the more general header taggers."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:85
+msgid ""
+"This tab controls the security-relevant aspects of Privoxy's configuration."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:618
+msgid ""
+"Through which SOCKS proxy (and optionally to which parent HTTP proxy) "
+"specific requests should be routed."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:610
+msgid "To which parent HTTP proxy specific requests should be routed."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:341
+msgid "User customizations"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:166
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:543
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:673
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:696
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:720
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:739
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:772
+msgid "Value is not a number"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:168
+msgid "Value not between 0 and 300"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:774
+msgid "Value not between 0 and 9"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:545
+msgid "Value not between 1 and 4096"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:675
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:698
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:722
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:741
+msgid "Value not greater 0 or empty"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:537
+msgid "Value range 1 to 4096, no entry defaults to 4096"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:45
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:47
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:50
+msgid "Version"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:43
+msgid "Version Information"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:646
+msgid "Whether intercepted requests should be treated as valid."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:572
+msgid ""
+"Whether or not Privoxy recognizes special HTTP headers to change toggle "
+"state."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:758
+msgid "Whether or not buffered content is compressed before delivery."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:706
+msgid ""
+"Whether or not outgoing connections that have been kept alive should be "
+"shared between different incoming connections."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:683
+msgid "Whether or not pipelined requests should be served."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:600
+msgid "Whether or not proxy authentication through Privoxy should work."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:582
+msgid "Whether or not the web-based actions file editor may be used."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:565
+msgid "Whether or not the web-based toggle feature may be used."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:653
+msgid "Whether requests to Privoxy's CGI pages can be blocked or redirected."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:660
+msgid ""
+"Whether the CGI interface should stay compatible with broken HTTP clients."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:794
+msgid "Whether to run only one server thread."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:516
+#: applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua:525
+msgid "Who can access what."
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:49
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:87
+msgid "installed"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:48
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:78
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:89
+msgid "or higher"
+msgstr ""
+
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:46
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:78
+#: applications/luci-app-privoxy/luasrc/controller/privoxy.lua:89
+msgid "required"
+msgstr ""
diff --git a/applications/luci-app-qos/po/fi/qos.po b/applications/luci-app-qos/po/fi/qos.po
new file mode 100644
index 000000000..cb1d33b1d
--- /dev/null
+++ b/applications/luci-app-qos/po/fi/qos.po
@@ -0,0 +1,120 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-25 22:10+0100\n"
+"PO-Revision-Date: 2010-03-25 22:10+0100\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:23
+msgid "Calculate overhead"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:33
+msgid "Classification Rules"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:19
+msgid "Classification group"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:79
+msgid "Comment"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:61
+msgid "Destination host"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:27
+msgid "Download speed (kbit/s)"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:16
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-qos/root/usr/share/rpcd/acl.d/luci-app-qos.json:3
+msgid "Grant UCI access for luci-app-qos"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:25
+msgid "Half-duplex"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:12
+msgid "Interfaces"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:77
+msgid "Number of bytes"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:73
+msgid "Ports"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:66
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-qos/root/usr/share/luci/menu.d/luci-app-qos.json:3
+msgid "QoS"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:7
+msgid "Quality of Service"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:56
+msgid "Source host"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:39
+msgid "Target"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:30
+msgid "Upload speed (kbit/s)"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:8
+msgid ""
+"With <abbr title=\"Quality of Service\">QoS</abbr> you can prioritize "
+"network traffic selected by addresses, ports or services."
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:58
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:63
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:67
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:75
+msgid "all"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:20
+msgid "default"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:41
+msgid "express"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:43
+msgid "low"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:42
+msgid "normal"
+msgstr ""
+
+#: applications/luci-app-qos/luasrc/model/cbi/qos/qos.lua:40
+msgid "priority"
+msgstr ""
+
+#~ msgid "Service"
+#~ msgstr "Service"
diff --git a/applications/luci-app-radicale/po/fi/radicale.po b/applications/luci-app-radicale/po/fi/radicale.po
new file mode 100644
index 000000000..e37629a21
--- /dev/null
+++ b/applications/luci-app-radicale/po/fi/radicale.po
@@ -0,0 +1,521 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:268
+msgid ""
+"'AUTO' selects the highest protocol version that client and server support."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:223
+msgid ""
+"'Hostname:Port' or 'IPv4:Port' or '[IPv6]:Port' Radicale should listen on"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:272
+msgid "AUTO"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:706
+msgid "Additional HTTP headers"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:222
+msgid "Address:Port"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:80
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:341
+msgid "Authentication"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:87
+msgid ""
+"Authentication login is matched against the 'user' key, and collection's "
+"path is matched against the 'collection' key."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:352
+msgid "Authentication method"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:342
+msgid "Authentication method to allow access to Radicale server."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:173
+msgid "Auto-start"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:190
+msgid "Boot delay"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:23
+msgid "CalDAV/CardDAV"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:33
+msgid ""
+"Calendars and address books are available for both local and remote access, "
+"possibly limited through authentication policies."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:284
+msgid "Certificate file"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:677
+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 ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:544
+msgid "Console Log level"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:419
+msgid "Control the access to data collections."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:552
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:574
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:596
+msgid "Critical"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:707
+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 ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:548
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:570
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:592
+msgid "Debug"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:191
+msgid "Delay (in seconds) during system boot before Radicale start"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:508
+msgid "Directory"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:524
+msgid "Directory not exists/found !"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:527
+msgid "Directory required !"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:611
+msgid "Directory where the rotating log-files are stored"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:193
+msgid "During delay ifup-events are not monitored !"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:251
+msgid "Enable HTTPS"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:174
+msgid ""
+"Enable/Disable auto-start of Radicale on system start-up and interface events"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:676
+msgid "Encoding"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:689
+msgid "Encoding for responding requests."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:698
+msgid "Encoding for storing local collections."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:385
+msgid "Encryption method"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:551
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:573
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:595
+msgid "Error"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:120
+msgid "File '%s' not found !"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:588
+msgid "File Log level"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:300
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:325
+msgid "File not found !"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:488
+msgid "File-system"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:92
+msgid ""
+"For example, for the 'user' key, '.+' means 'authenticated user' and '.*' "
+"means 'anybody' (including anonymous users)."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:435
+msgid "Full access for Owner only"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:434
+msgid "Full access for authenticated Users"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:433
+msgid "Full access for everybody (including anonymous)"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:285
+msgid "Full path and file name of certificate"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:310
+msgid "Full path and file name of private key"
+msgstr ""
+
+#: applications/luci-app-radicale/root/usr/share/rpcd/acl.d/luci-app-radicale.json:3
+msgid "Grant UCI access for luci-app-radicale"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:549
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:571
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:593
+msgid "Info"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:83
+msgid "Keep in mind to use the correct hashing algorithm !"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:97
+msgid "Leading or ending slashes are trimmed from collection's path."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:653
+msgid "Log-backup Count"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:77
+msgid "Log-file Viewer"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:610
+msgid "Log-file directory"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:630
+msgid "Log-file size"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:533
+msgid "Logging"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:235
+msgid "Logon message"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:631
+msgid "Maximum size of each rotation log-file."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:236
+msgid "Message displayed in the client when a password is needed."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:46
+msgid "NOT installed"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:356
+msgid "None"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:654
+msgid "Number of backup files of log to create."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/view/radicale/tabmap_nsections.htm:50
+msgid "One or more missing/invalid fields on tab"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:436
+msgid "Owner allow write, authenticated users allow read"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:303
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:328
+msgid "Path/File required !"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:81
+msgid ""
+"Place here the 'user:password' pairs for your users which should have access "
+"to Radicale."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:67
+msgid "Please install current version !"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:78
+msgid "Please press [Reload] button below to reread the file."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:78
+msgid "Please update to current version !"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:225
+msgid "Port numbers below 1024 (Privileged ports) are not supported"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:309
+msgid "Private key file"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:19
+msgid "Radicale CalDAV/CardDAV Server"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:459
+msgid "Radicale uses '/etc/radicale/rights' as regexp-based file."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:404
+msgid "Radicale uses '/etc/radicale/users' as htpasswd file."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:402
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:457
+msgid "Read only!"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:455
+msgid "RegExp file"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:56
+msgid "Reload"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:688
+msgid "Response Encoding"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:86
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:418
+msgid "Rights"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:437
+msgid "Rights are based on a regexp-based file"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:429
+msgid "Rights backend"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:392
+msgid "SHA-1"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:267
+msgid "SSL Protocol"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:62
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:65
+msgid "Save"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:95
+msgid "Section names are only used for naming the rule."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:211
+msgid "Server"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:633
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:656
+msgid "Setting this parameter to '0' will disable rotation of log-file."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:62
+msgid "Software package '%s' is not installed."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:71
+msgid "Software package '%s' is outdated."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:26
+msgid "Software update required"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:164
+#: applications/luci-app-radicale/luasrc/view/radicale/btn_startstop.htm:10
+msgid "Start"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:155
+msgid "Start / Stop"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:156
+msgid "Start/Stop Radicale server"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:473
+msgid "Storage"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:697
+msgid "Storage Encoding"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:484
+msgid "Storage backend"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:566
+msgid "Syslog Log level"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:141
+msgid "System"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:32
+msgid ""
+"The Radicale Project is a complete CalDAV (calendar) and CardDAV (contact) "
+"server solution."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:34
+msgid ""
+"They can be viewed and edited by calendar and contact clients on mobile "
+"phones or computers."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:408
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:463
+msgid "To edit the file follow this link!"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:615
+msgid "To view latest log file follow this link!"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:201
+msgid "Value is not a number"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:644
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:667
+msgid "Value is not an Integer >= 0 !"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:203
+msgid "Value not between 0 and 300"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:647
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:670
+msgid "Value required ! Integer >= 0 !"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:40
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:42
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:45
+msgid "Version"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:38
+msgid "Version Information"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:485
+msgid ""
+"WARNING: Only 'File-system' is documented and tested by Radicale development"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:550
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:572
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:594
+msgid "Warning"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:90
+msgid ""
+"You can also get groups from the user regex in the collection with {0}, {1}, "
+"etc."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:89
+msgid ""
+"You can use Python's ConfigParser interpolation values %(login)s and "
+"%(path)s."
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:390
+msgid "crypt"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:357
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:400
+msgid "htpasswd file"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:44
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:73
+msgid "installed"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:623
+msgid "no valid path given!"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:43
+msgid "or higher"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:391
+msgid "plain"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:41
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:64
+#: applications/luci-app-radicale/luasrc/controller/radicale.lua:75
+msgid "required"
+msgstr ""
+
+#: applications/luci-app-radicale/luasrc/model/cbi/radicale.lua:393
+msgid "salted SHA-1"
+msgstr ""
diff --git a/applications/luci-app-radicale2/po/fi/radicale2.po b/applications/luci-app-radicale2/po/fi/radicale2.po
new file mode 100644
index 000000000..7487812ad
--- /dev/null
+++ b/applications/luci-app-radicale2/po/fi/radicale2.po
@@ -0,0 +1,488 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: luci-app-radicale 2\n"
+"PO-Revision-Date: 2019-01-09 06:32-0500\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\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"
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:8
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:4
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:8
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:7
+msgid "A lightweight CalDAV/CardDAV server"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:30
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:74
+msgid "Allowed Ciphers"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:10
+msgid "Authentication"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/controller/radicale2.lua:21
+msgid "Authentication / Users"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:14
+msgid "Authentication Type"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:171
+msgid "Based on settings in 'Rights File'"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:128
+msgid "CORS"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:62
+msgid "Certificate"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:70
+msgid "Client Certificate Authority"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:38
+msgid "Close Lock File"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:38
+msgid "Close the lock file when no more clients are waiting"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:44
+msgid "Command that is run after changes to storage"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:80
+msgid "Confirm Plaintext Password"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:105
+msgid "DNS Lookup"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:26
+msgid "Debug"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:15
+msgid "Default (htpasswd file from users below)"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:14
+msgid "Default (multifilesystem)"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:167
+msgid "Default (owner only)"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:31
+msgid "Delete sync token that are older (seconds)"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:132
+msgid "Document Encoding"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:30
+msgid "Dump Environment"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:52
+msgid "Enable SSL connections"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:136
+msgid "Encoding for responding to requests/events"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:140
+msgid "Encoding for storing local collections"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:110
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
+msgid "Encrypted Password"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:29
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:23
+msgid "Filename"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:19
+msgid "Folder"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:19
+msgid "Folder in which to store collections"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:70
+msgid "For verifying client certificates"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:29
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
+msgid ""
+"Generate this field using a generator for Apache htpasswd-style "
+"authentication files (for the hash format you have chosen above), or install "
+"python3-passlib to enable the ability to create the hash by entering the "
+"plaintext in a field that will appear on this page if python3-passlib is "
+"installed."
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/view/cbi/raduigo.htm:24
+msgid "Go to Radicale 2.x Web UI"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:14
+msgid "Go to Radicale v2 Web UI"
+msgstr ""
+
+#: applications/luci-app-radicale2/root/usr/share/rpcd/acl.d/luci-app-radicale2.json:3
+msgid "Grant UCI access for luci-app-radicale2"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:109
+msgid "HTTP(S) Basic Authentication Realm"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:124
+msgid "HTTP(S) Headers"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:32
+msgid "HTTP(S) Listeners (address:port)"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:128
+msgid "Header: X-Access-Control-Allow-Origin"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:124
+msgid "Headers"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:44
+msgid "Hook"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:110
+msgid ""
+"If 'Plaintext Password' filled and matches 'Confirm Plaintext Password' then "
+"this field becomes of hash of that password, otherwise this field remains "
+"the existing hash (you can also put your own hash value for the type of hash "
+"listed above)."
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:30
+msgid "Include full environment in logs"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:46
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:48
+msgid "Insecure hashes"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:102
+msgid "Install package python3-openssl to support SSL connections"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:46
+msgid "Install python3-passlib and python3-bcrypt to enable a secure hash"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:12
+msgid ""
+"Log configuration file (no file means default procd which ends up in syslog"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/controller/radicale2.lua:29
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:6
+msgid "Logging"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:12
+msgid "Logging File"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:105
+msgid "Lookup reverse DNS for clients for logging"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:34
+msgid "Mask Passwords"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:36
+msgid "Max Connections"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:42
+msgid "Max Content Length"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:31
+msgid "Max Sync Token Age"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:36
+msgid "Maximum number of simultaneous connections"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:42
+msgid "Maximum size of request body (bytes)"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:15
+msgid "Multiple files on filesystem"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:17
+msgid "No authentication"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:98
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:105
+msgid "Password and confirmation do not match"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:29
+msgid "Password encryption method"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:32
+msgid "Plaintext"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:76
+msgid "Plaintext Password"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:25
+msgid ""
+"Prevent other instances or processes from modifying collections while in use"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:66
+msgid "Private Key"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:18
+msgid "REMOTE_USER from web server"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:172
+msgid "RO: All, RW: All"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:170
+msgid "RO: Authenticated Users, RW: Owner"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:169
+msgid "RO: None, RW: Authenticated Users"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:168
+msgid "RO: None, RW: Owner"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/controller/radicale2.lua:13
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:7
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:3
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:7
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:6
+msgid "Radicale 2.x"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:10
+msgid "Radicale v2 Web UI"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:109
+msgid "Realm"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:34
+msgid "Redact passwords in logs"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:84
+msgid "Remove configuration for certificate, key, and CA"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:16
+msgid "Remove configuration for logging"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:181
+msgid "Remove configuration for rights file"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:136
+msgid "Request"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:57
+msgid "Required time between a failed authentication attempt and trying again"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:57
+msgid "Retry Delay"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:162
+msgid "Rights"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:176
+msgid "Rights File"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:166
+msgid "Rights Type"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:33
+msgid "SHA1"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:34
+msgid "SSHA"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:52
+msgid "SSL"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:102
+msgid "SSL not available"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:74
+msgid "See python3-openssl documentation for available ciphers"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:78
+msgid "See python3-openssl documentation for available protocols"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:48
+msgid "Select bcrypt above to enable a secure hash"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:26
+msgid "Send debug information to logs"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/controller/radicale2.lua:17
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:18
+msgid "Server Settings"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:47
+msgid "Socket timeout (seconds)"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/controller/radicale2.lua:25
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:140
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:9
+msgid "Storage"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:13
+msgid "Storage Type"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:17
+msgid "This permanently deletes configuration for logging"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:85
+msgid "This permanently deletes the cert, key, and configuration to use same."
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:182
+msgid "This permanently deletes the rights file and configuration to use same."
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:47
+msgid "Timeout"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:25
+msgid "Use File Locks"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:78
+msgid "Use Protocol"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:66
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:162
+msgid "User-based ACL Settings"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:70
+msgid "Username"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:66
+msgid "Users and Passwords"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:113
+msgid "Web UI"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:117
+msgid "Web UI Type"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:19
+msgid "X-Remote-User from web server"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:39
+msgid "bcrypt"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:35
+msgid "crypt"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:16
+msgid "htpasswd file (manually populated)"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:23
+msgid "htpasswd-formatted file filename"
+msgstr ""
+
+#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:37
+msgid "md5"
+msgstr ""
diff --git a/applications/luci-app-rp-pppoe-server/po/fi/rp-pppoe-server.po b/applications/luci-app-rp-pppoe-server/po/fi/rp-pppoe-server.po
new file mode 100644
index 000000000..e9751822c
--- /dev/null
+++ b/applications/luci-app-rp-pppoe-server/po/fi/rp-pppoe-server.po
@@ -0,0 +1,104 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2019-01-09 07:01-0500\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\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"
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:19
+msgid "Access Concentrator Name"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:32
+msgid "First remote IP"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/root/usr/share/rpcd/acl.d/luci-app-rp-pppoe-server.json:3
+msgid "Grant UCI access for luci-app-rp-pppoe-server"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:29
+msgid "IP of listening side"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:44
+msgid ""
+"Instead of starting at beginning and going to end, randomize session number"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:15
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:15
+msgid "Interface on which to listen."
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:62
+msgid "MSS"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:35
+msgid "Maximum sessions"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:25
+msgid "Maximum sessions per peer"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:52
+msgid "Offset"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:40
+msgid "Options file"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:52
+msgid "PPP offset"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:47
+msgid "PPP unit number"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:9
+msgid "PPPoE Server Configuration"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/root/usr/share/luci/menu.d/luci-app-rp-pppoe-server.json:3
+msgid "RP PPPoE Server"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:44
+msgid "Random session selection"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:8
+msgid "Roaring Penguin PPPoE Server"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:11
+msgid "Server Configuration"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:22
+msgid "Service Name"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:68
+msgid "Sync"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:57
+msgid "Timeout"
+msgstr ""
+
+#: applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua:47
+msgid "Unit"
+msgstr ""
diff --git a/applications/luci-app-samba4/po/fi/samba4.po b/applications/luci-app-samba4/po/fi/samba4.po
new file mode 100644
index 000000000..fb5aac87d
--- /dev/null
+++ b/applications/luci-app-samba4/po/fi/samba4.po
@@ -0,0 +1,184 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-22 15:23+0100\n"
+"PO-Revision-Date: 2011-10-25 21:26+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\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.4\n"
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:101
+msgid "Allow guests"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:48
+msgid "Allow legacy (insecure) protocols/authentication."
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:49
+msgid ""
+"Allow legacy smb(v1)/Lanman connections, needed for older devices without "
+"smb(v2.1/3) support."
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:98
+msgid "Allowed users"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:132
+msgid "Apple Time-machine share"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:85
+msgid "Browse-able"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:117
+msgid "Create mask"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:39
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:123
+msgid "Directory mask"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:55
+msgid "Disable Active Directory Domain Controller"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:52
+msgid "Disable Netbios"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:58
+msgid "Disable Winbind"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:31
+msgid "Edit Template"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:62
+msgid "Edit the template that is used for generating the samba configuration."
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:45
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:46
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:96
+msgid "Force Root"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:42
+msgid "Force synchronous I/O"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:30
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-samba4/root/usr/share/rpcd/acl.d/luci-app-samba4.json:3
+msgid "Grant access to LuCI app samba4"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:107
+msgid "Guests only"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:112
+msgid "Inherit owner"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:33
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:34
+msgid "Listen only on the given interface or, if unspecified, on lan"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:79
+msgid "Name"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:22
+#: applications/luci-app-samba4/root/usr/share/luci/menu.d/luci-app-samba4.json:3
+msgid "Network Shares"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:43
+msgid ""
+"On lower-end devices may increase speeds, by forceing synchronous I/O "
+"instead of the default asynchronous."
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:80
+msgid "Path"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:75
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:90
+msgid "Read-only"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:74
+msgid "Shared Directories"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:63
+msgid ""
+"This is the content of the file '/etc/samba/smb.conf.template' from which "
+"your samba configuration will be generated. Values enclosed by pipe symbols "
+"('|') should not be changed. They get their values from the 'General "
+"Settings' tab."
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:134
+msgid "Time-machine size in GB"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:129
+msgid "Vfs objects"
+msgstr ""
+
+#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:36
+msgid "Workgroup"
+msgstr ""
+
+#~ msgid ""
+#~ "Allow system users to reach their home directories via network shares"
+#~ msgstr ""
+#~ "Allow system users to reach their home directories via network shares"
+
+#~ msgid "Hostname"
+#~ msgstr "Hostname"
+
+#~ msgid "Share home-directories"
+#~ msgstr "Share home-directories"
+
+#~ msgid "Mask for new directories"
+#~ msgstr "Mask for new directories"
+
+#~ msgid "Mask for new files"
+#~ msgstr "Mask for new files"
diff --git a/applications/luci-app-ser2net/po/fi/ser2net.po b/applications/luci-app-ser2net/po/fi/ser2net.po
new file mode 100644
index 000000000..9553ddcc9
--- /dev/null
+++ b/applications/luci-app-ser2net/po/fi/ser2net.po
@@ -0,0 +1,202 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:72
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:71
+msgid "Allow the RFC 2217 protocol"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:38
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:37
+msgid "Baud rate"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:25
+msgid "Binding address"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/leds.js:23
+msgid "Blink duration."
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:19
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:29
+msgid "Control port"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:51
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:50
+msgid "Data bits"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:34
+msgid "Default settings"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/leds.js:19
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:34
+msgid "Device"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/leds.js:15
+msgid "Driver"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/leds.js:23
+msgid "Duration"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:15
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:15
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:22
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:60
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:59
+msgid "Even"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:73
+msgid "Extra options"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:12
+msgid "Global switch"
+msgstr ""
+
+#: applications/luci-app-ser2net/root/usr/share/rpcd/acl.d/luci-app-ser2net.json:3
+msgid "Grant access to LuCI app ser2net"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:71
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:70
+msgid "Ignore modem control signals"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/leds.js:11
+msgid "LED redirect"
+msgstr ""
+
+#: applications/luci-app-ser2net/root/usr/share/luci/menu.d/luci-app-ser2net.json:32
+msgid "LEDs"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:59
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:58
+msgid "None"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:61
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:60
+msgid "Odd"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:27
+msgid "Off"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:57
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:56
+msgid "Parity"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:22
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:11
+#: applications/luci-app-ser2net/root/usr/share/luci/menu.d/luci-app-ser2net.json:23
+msgid "Proxies"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:75
+msgid "RX LED configuration"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:24
+msgid "Raw"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:25
+msgid "Rawlp"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:18
+msgid "Service port"
+msgstr ""
+
+#: applications/luci-app-ser2net/root/usr/share/luci/menu.d/luci-app-ser2net.json:14
+msgid "Settings"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/leds.js:27
+msgid "State"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:64
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:63
+msgid "Stop bits"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:74
+msgid "TX LED configuration"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:26
+msgid "Telnet"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:18
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:29
+msgid "The TCP port to listen on."
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:30
+msgid ""
+"The amount of seconds of inactivity before a disconnect occurs.<br/>A value "
+"of zero means wait indefinitely."
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/leds.js:19
+msgid "The device itself."
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/leds.js:15
+msgid "The driver required for the device."
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:34
+msgid ""
+"The name of the device to connect to.<br/>This must be in the form of /dev/"
+"<device>."
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:25
+msgid "The network to listen from."
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:22
+msgid "The protocol to listen to."
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:38
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:37
+msgid "The speed the device port should operate at."
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:30
+msgid "Timeout"
+msgstr ""
+
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/proxies.js:70
+#: applications/luci-app-ser2net/htdocs/luci-static/resources/view/ser2net/settings.js:69
+msgid "Use RTS and CTS lines"
+msgstr ""
+
+#: applications/luci-app-ser2net/root/usr/share/luci/menu.d/luci-app-ser2net.json:3
+msgid "ser2net"
+msgstr ""
diff --git a/applications/luci-app-shadowsocks-libev/po/fi/shadowsocks-libev.po b/applications/luci-app-shadowsocks-libev/po/fi/shadowsocks-libev.po
new file mode 100644
index 000000000..0596164eb
--- /dev/null
+++ b/applications/luci-app-shadowsocks-libev/po/fi/shadowsocks-libev.po
@@ -0,0 +1,345 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js:45
+msgid "-- instance type --"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:212
+msgid "<hidden>"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js:78
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js:88
+msgid "Bind address"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:88
+msgid "Bypass ss-redir for packets with dst address in this list"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:74
+msgid "Bypass ss-redir for packets with src address in this list"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/servers.js:28
+msgid "Cancel"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:80
+msgid ""
+"Continue to have dst address checked for packets with src address in this "
+"list"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:60
+msgid "Default action for locally generated TCP packets"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:104
+msgid ""
+"Default action for packets whose dst address do not match any of the dst ip "
+"list"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:83
+msgid ""
+"Default action for packets whose src address do not match any of the src ip/"
+"net list"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/servers.js:15
+msgid ""
+"Definition of remote shadowsocks servers. Disable any of them will also "
+"disable instances referring to it."
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:44
+msgid "Destination Settings"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js:79
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:46
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/servers.js:65
+msgid "Disable"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js:130
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:103
+msgid "Dst default"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:87
+msgid "Dst ip/net bypass"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:95
+msgid "Dst ip/net bypass file"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:90
+msgid "Dst ip/net forward"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:99
+msgid "Dst ip/net forward file"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:182
+msgid "Enable SO_REUSEPORT"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:180
+msgid "Enable TCP Fast Open"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:181
+msgid "Enable TCP_NODELAY"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js:123
+msgid "Enable/Disable"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js:133
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:69
+msgid "Extra arguments"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:96
+msgid ""
+"File containing ip/net for the purposes as with <em>Dst ip/net bypass</em>"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:100
+msgid ""
+"File containing ip/net for the purposes as with <em>Dst ip/net forward</em>"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:119
+msgid "Forward recentrst"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:120
+msgid ""
+"Forward those packets whose dst have recently sent to us multiple tcp-rst"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:91
+msgid "Forward through ss-redir for packets with dst address in this list"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:77
+msgid "Forward through ss-redir for packets with src address in this list"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js:77
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:42
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/root/usr/share/rpcd/acl.d/luci-app-shadowsocks-libev.json:3
+msgid "Grant service list access to LuCI app shadowsocks-libev"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:179
+msgid "IPv6 First"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/servers.js:51
+msgid "Import"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/servers.js:22
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/servers.js:59
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/servers.js:61
+msgid "Import Links"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:63
+msgid "Ingress interfaces"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:236
+msgid "Install package"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:112
+msgid "Install package iptables-mod-conntrack-extra"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js:27
+msgid ""
+"Instances of shadowsocks-libev components, e.g. ss-local, ss-redir, ss-"
+"tunnel, ss-server, etc. To enable an instance it is required to enable both "
+"the instance itself and the remote server it refers to."
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:156
+msgid "Key (base64)"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js:26
+#: applications/luci-app-shadowsocks-libev/root/usr/share/luci/menu.d/luci-app-shadowsocks-libev.json:14
+msgid "Local Instances"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:114
+msgid "Local address"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:118
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:59
+msgid "Local-out default"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:172
+msgid "MTU"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:147
+msgid "Method"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:167
+msgid "Mode of operation"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:32
+msgid ""
+"On this page you can configure how traffics are to be forwarded to ss-redir "
+"instances. If enabled, packets will first have their src ip addresses "
+"checked against <em>Src ip/net bypass</em>, <em>Src ip/net forward</em>, "
+"<em>Src ip/net checkdst</em> and if none matches <em>Src default</em> will "
+"give the default action to be taken. If the prior check results in action "
+"<em>checkdst</em>, packets will continue to have their dst addresses checked."
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:64
+msgid "Only apply rules on packets from these network interfaces"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js:106
+msgid "Overview"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:235
+msgid "Package is not installed"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:70
+msgid "Passes additional arguments to iptables. Use with care!"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:152
+msgid "Password"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:162
+msgid "Plugin"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:164
+msgid "Plugin Options"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:179
+msgid "Prefer IPv6 addresses when resolving names"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:31
+#: applications/luci-app-shadowsocks-libev/root/usr/share/luci/menu.d/luci-app-shadowsocks-libev.json:32
+msgid "Redir Rules"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/servers.js:14
+#: applications/luci-app-shadowsocks-libev/root/usr/share/luci/menu.d/luci-app-shadowsocks-libev.json:23
+msgid "Remote Servers"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:112
+msgid "Remote server"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:176
+msgid "Run as"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js:118
+msgid "Running"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:139
+msgid "Server"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:143
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/root/usr/share/luci/menu.d/luci-app-shadowsocks-libev.json:3
+msgid "Shadowsocks-libev"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:43
+msgid "Source Settings"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:82
+msgid "Src default"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:73
+msgid "Src ip/net bypass"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:79
+msgid "Src ip/net checkdst"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:76
+msgid "Src ip/net forward"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js:89
+msgid "The address ss-server will initiate connection from"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js:98
+msgid "The address ss-tunnel will forward traffic to"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:174
+msgid "Timeout (sec)"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js:97
+msgid "Tunnel address"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:178
+msgid "Verbose"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:52
+msgid "ss-redir for TCP"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/rules.js:55
+msgid "ss-redir for UDP"
+msgstr ""
diff --git a/applications/luci-app-shairplay/po/fi/shairplay.po b/applications/luci-app-shairplay/po/fi/shairplay.po
new file mode 100644
index 000000000..8a2f3dc4f
--- /dev/null
+++ b/applications/luci-app-shairplay/po/fi/shairplay.po
@@ -0,0 +1,60 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-shairplay/luasrc/model/cbi/shairplay.lua:47
+msgid "AO Device ID"
+msgstr ""
+
+#: applications/luci-app-shairplay/luasrc/model/cbi/shairplay.lua:44
+msgid "AO Device Name"
+msgstr ""
+
+#: applications/luci-app-shairplay/luasrc/model/cbi/shairplay.lua:33
+msgid "AO Driver"
+msgstr ""
+
+#: applications/luci-app-shairplay/luasrc/model/cbi/shairplay.lua:18
+msgid "Airport Name"
+msgstr ""
+
+#: applications/luci-app-shairplay/luasrc/model/cbi/shairplay.lua:34
+#: applications/luci-app-shairplay/luasrc/model/cbi/shairplay.lua:49
+msgid "Default"
+msgstr ""
+
+#: applications/luci-app-shairplay/luasrc/model/cbi/shairplay.lua:10
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-shairplay/root/usr/share/rpcd/acl.d/luci-app-shairplay.json:3
+msgid "Grant UCI access for luci-app-shairplay"
+msgstr ""
+
+#: applications/luci-app-shairplay/luasrc/model/cbi/shairplay.lua:29
+msgid "HW Address"
+msgstr ""
+
+#: applications/luci-app-shairplay/luasrc/model/cbi/shairplay.lua:25
+msgid "Password"
+msgstr ""
+
+#: applications/luci-app-shairplay/luasrc/model/cbi/shairplay.lua:21
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-shairplay/luasrc/model/cbi/shairplay.lua:15
+msgid "Respawn"
+msgstr ""
+
+#: applications/luci-app-shairplay/root/usr/share/luci/menu.d/luci-app-shairplay.json:3
+msgid "Shairplay"
+msgstr ""
+
+#: applications/luci-app-shairplay/luasrc/model/cbi/shairplay.lua:4
+msgid ""
+"Shairplay is a simple AirPlay server implementation, here you can configure "
+"the settings."
+msgstr ""
diff --git a/applications/luci-app-simple-adblock/po/fi/simple-adblock.po b/applications/luci-app-simple-adblock/po/fi/simple-adblock.po
new file mode 100644
index 000000000..271da84cf
--- /dev/null
+++ b/applications/luci-app-simple-adblock/po/fi/simple-adblock.po
@@ -0,0 +1,430 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:161
+msgid "%s Error: %s"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:159
+msgid "%s Error: %s %s"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:142
+msgid "%s is blocking %s domains (with %s)."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:76
+msgid "%s is not installed or not found"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:234
+msgid "Add IPv6 entries"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:232
+msgid "Add IPv6 entries to block-list."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:202
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:256
+msgid ""
+"Attempt to create a compressed cache of block-list in the persistent memory."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:174
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:284
+msgid "Blacklisted Domain URLs"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:274
+msgid "Blacklisted Domains"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:289
+msgid "Blacklisted Hosts URLs"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:132
+msgid "Cache file containing %s domains found."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:152
+msgid "Collected Errors"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:136
+msgid "Compressed cache file found."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:172
+msgid "Configuration"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:176
+msgid "Controls system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:247
+msgid "Curl download retry"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:218
+msgid "DNS Service"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:220
+msgid "DNSMASQ Additional Hosts"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:221
+msgid "DNSMASQ Config"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:223
+msgid "DNSMASQ IP Set"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:225
+msgid "DNSMASQ Servers File"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:239
+msgid "Delay (in seconds) for on-boot start"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm:68
+msgid "Disable"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:262
+msgid "Disable Debugging"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:233
+msgid "Do not add IPv6 entries"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:257
+msgid "Do not store compressed cache"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:252
+msgid "Do not use simultaneous processing"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:243
+msgid "Download time-out (in seconds)"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:81
+msgid "Downloading"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm:65
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:261
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:263
+msgid "Enable Debugging"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:261
+msgid "Enables debug output to /tmp/simple-adblock.log."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:82
+msgid "Error"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:84
+msgid "Fail"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm:55
+msgid "Force Re-Download"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:80
+msgid "Force Reloading"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:182
+msgid "Force Router DNS"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:184
+msgid "Force Router DNS server to all local devices"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:182
+msgid "Forces Router DNS use on local devices, also known as DNS Hijacking."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/root/usr/share/rpcd/acl.d/luci-app-simple-adblock.json:3
+msgid "Grant UCI access for luci-app-simple-adblock"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:232
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:247
+msgid ""
+"If curl is installed and detected, it would retry download this many times "
+"on timeout/fail."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:274
+msgid "Individual domains to be blacklisted."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:269
+msgid "Individual domains to be whitelisted."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:130
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:134
+msgid "Info"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:193
+msgid "LED to indicate status"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:251
+msgid ""
+"Launch all lists downloads and processing simultaneously, reducing service "
+"start time."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:183
+msgid "Let local devices use their own DNS servers if set"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/view/simple-adblock/js.htm:51
+msgid "Loading"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:147
+msgid "Message"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:176
+msgid "Output Verbosity Setting"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:204
+msgid ""
+"Pick the DNS resolution option to create the adblock list for, see the <a "
+"href=\"%s#dns-resolution-option\" target=\"_blank\">README</a> for details."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:194
+msgid "Pick the LED not already used in %sSystem LED Configuration%s."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:207
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:208
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:209
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:210
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:212
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:215
+msgid "Please note that %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:79
+msgid "Restarting"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:239
+msgid "Run service after set delay on boot."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:116
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:126
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:139
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:110
+msgid "Service Status [%s]"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/controller/simple-adblock.lua:4
+#: applications/luci-app-simple-adblock/root/usr/share/luci/menu.d/luci-app-simple-adblock.json:3
+msgid "Simple AdBlock"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:104
+msgid "Simple AdBlock Settings"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:251
+msgid "Simultaneous processing"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:178
+msgid "Some output"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm:52
+msgid "Start"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:78
+msgid "Starting"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm:58
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:243
+msgid "Stop the download if it is stalled for set number of seconds."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:77
+msgid "Stopped"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:258
+msgid "Store compressed cache"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:256
+msgid "Store compressed cache file on router"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:85
+msgid "Success"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:177
+msgid "Suppress output"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:120
+msgid "Task"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:284
+msgid "URLs to lists of domains to be blacklisted."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:279
+msgid "URLs to lists of domains to be whitelisted."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:289
+msgid "URLs to lists of hosts to be blacklisted."
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:228
+msgid "Unbound AdBlock List"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:253
+msgid "Use simultaneous processing"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:179
+msgid "Verbose output"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:83
+msgid "Warning"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:267
+msgid "Whitelist and Blocklist Management"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:279
+msgid "Whitelisted Domain URLs"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:269
+msgid "Whitelisted Domains"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:88
+msgid "failed to access shared memory"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:86
+msgid "failed to create '%s' file"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:98
+msgid "failed to create blocklist or restart DNS resolver"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:94
+msgid "failed to create compressed cache"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:101
+msgid "failed to download"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:92
+msgid "failed to format data file"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:97
+msgid "failed to move '%s' to '%s'"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:93
+msgid "failed to move temporary data file to '%s'"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:90
+msgid "failed to optimize data file"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:102
+msgid "failed to parse"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:91
+msgid "failed to process whitelist"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:100
+msgid "failed to reload/restart DNS resolver"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:95
+msgid "failed to remove temporary files"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:87
+msgid "failed to restart/reload DNS resolver"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:89
+msgid "failed to sort data file"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:99
+msgid "failed to stop %s"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:96
+msgid "failed to unpack compressed cache"
+msgstr ""
+
+#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:196
+msgid "none"
+msgstr ""
diff --git a/applications/luci-app-splash/po/fi/splash.po b/applications/luci-app-splash/po/fi/splash.po
new file mode 100644
index 000000000..f0dd6669b
--- /dev/null
+++ b/applications/luci-app-splash/po/fi/splash.po
@@ -0,0 +1,410 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-05-11 07:19+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 2.5.1\n"
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:53
+msgid "%s with the operator of this access point."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:65
+#: applications/luci-app-splash/luasrc/view/splash_splash/splash.htm:13
+msgid "Accept"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:79
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:112
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:199
+msgid "Active Clients"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:70
+msgid "Allowed hosts/subnets"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splashtext.lua:36
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:18
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:95
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:62
+msgid "Blacklist"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/blocked.htm:12
+msgid "Blocked"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:56
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:10
+msgid "Clearance time"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/controller/splash/splash.lua:8
+#: applications/luci-app-splash/luasrc/controller/splash/splash.lua:20
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:5
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:197
+msgid "Client-Splash"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:5
+msgid ""
+"Client-Splash is a hotspot authentication system for wireless mesh networks."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:11
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:15
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:10
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:14
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/blocked.htm:15
+msgid "Contact the owner"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash_splash/splash.htm:12
+msgid "Decline"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:71
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:97
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:15
+msgid "Download limit"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splashtext.lua:12
+msgid "Edit the complete splash text"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:121
+msgid "Fair Use Policy"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:29
+msgid "Firewall zone"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:7
+msgid "General"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:54
+msgid "Get in contact"
+msgstr ""
+
+#: applications/luci-app-splash/root/usr/share/rpcd/acl.d/luci-app-splash.json:3
+msgid "Grant UCI access for luci-app-splash"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:205
+msgid "Hostname"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:76
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:206
+msgid "IP Address"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:98
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:93
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splashtext.lua:35
+msgid "Include your own text in the default splash"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:38
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:21
+msgid "Interfaces"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:21
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:49
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:115
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:118
+msgid "Legally Prohibited content"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:59
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:68
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:207
+msgid "MAC Address"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:63
+msgid "MAC addresses in this list are blocked."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:54
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:77
+msgid "Netmask"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:37
+msgid "Network"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:147
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:261
+msgid "No clients connected"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:78
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:210
+msgid "Policy"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:11
+msgid "Redirect target"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:124
+msgid "Safety"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:182
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:248
+msgid "Save"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:30
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/controller/splash/splash.lua:9
+msgid "Splashtext"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:125
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:110
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:128
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:116
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:119
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:122
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:111
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:208
+msgid "Time remaining"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/blocked.htm:15
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:209
+msgid "Traffic in/out"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:14
+msgid "Upload limit"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:108
+msgid "Usage Agreement"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:75
+msgid "Welcome"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:53
+msgid "Whitelist"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:77
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splashtext.lua:13
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/blocked.htm:14
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:48
+msgid "Your bandwidth is limited to"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:176
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:178
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:243
+msgid "blacklisted"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:235
+msgid "expired"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua:77
+msgid "optional when using host addresses"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:85
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:170
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:173
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:242
+msgid "splashed"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:171
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:245
+msgid "temporarily blocked"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:230
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:231
+msgid "unknown"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:83
+msgid "use filesharing applications on this network"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/splash/splash.htm:84
+msgid "waste bandwidth with unnecessary downloads or streams"
+msgstr ""
+
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:165
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:167
+#: applications/luci-app-splash/luasrc/view/admin_status/splash.htm:241
+msgid "whitelisted"
+msgstr ""
diff --git a/applications/luci-app-sqm/po/fi/sqm.po b/applications/luci-app-sqm/po/fi/sqm.po
new file mode 100644
index 000000000..71d31f2ac
--- /dev/null
+++ b/applications/luci-app-sqm/po/fi/sqm.po
@@ -0,0 +1,193 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:206
+msgid ""
+"Advanced option string to pass to the egress queueing disciplines; no error "
+"checking, use very carefully."
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:202
+msgid ""
+"Advanced option string to pass to the ingress queueing disciplines; no error "
+"checking, use very carefully."
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:33
+msgid "Basic Settings"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:88
+msgid ""
+"Create log file for this SQM instance under /var/run/sqm/${Interface_name}."
+"[start|stop]-sqm.log."
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:80
+msgid ""
+"Download speed (kbit/s) (ingress) set to 0 to selectively disable ingress "
+"shaping:"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:40
+msgid "Enable this SQM instance."
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:157
+msgid ""
+"Explicit congestion notification (ECN) status on inbound packets (ingress):"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:164
+msgid ""
+"Explicit congestion notification (ECN) status on outbound packets (egress)."
+msgstr ""
+
+#: applications/luci-app-sqm/root/usr/share/rpcd/acl.d/luci-app-sqm.json:3
+msgid "Grant UCI access for luci-app-sqm"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:183
+msgid "Hard limit on egress queues; leave empty for default."
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:176
+msgid "Hard limit on ingress queues; leave empty for default."
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:150
+msgid "Ignore DSCP on ingress:"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:64
+msgid "Interface name"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:195
+msgid ""
+"Latency target for egress, e.g. 5ms [units: s, ms, or us]; leave empty for "
+"automatic selection, put in the word default for the qdisc's default."
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:190
+msgid ""
+"Latency target for ingress, e.g 5ms [units: s, ms, or us]; leave empty for "
+"automatic selection, put in the word default for the qdisc's default."
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:35
+msgid "Link Layer Adaptation"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:231
+msgid ""
+"Maximal Size for size and rate calculations, tcMTU (byte); needs to be >= "
+"interface MTU + overhead:"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:245
+msgid ""
+"Minimal packet size, MPU (byte); needs to be > 0 for ethernet size tables:"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:238
+msgid ""
+"Number of entries in size/rate tables, TSIZE; for ATM choose TSIZE = (tcMTU "
+"+ 1) / 16:"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:217
+msgid "Per Packet Overhead (byte):"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:34
+msgid "Queue Discipline"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:122
+msgid "Queue setup script"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:32
+msgid "Queues"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:108
+msgid ""
+"Queuing disciplines useable on this system. After installing a new qdisc, "
+"you need to restart the router to see updates!"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/controller/sqm.lua:24
+msgid "SQM QoS"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:226
+msgid ""
+"Show Advanced Linklayer Options, (only needed if MTU > 1500). Advanced "
+"options will only be used as long as this box is checked."
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:139
+msgid ""
+"Show and Use Advanced Configuration. Advanced options will only be used as "
+"long as this box is checked."
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:171
+msgid ""
+"Show and Use Dangerous Configuration. Dangerous options will only be used as "
+"long as this box is checked."
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:25
+msgid "Smart Queue Management"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:143
+msgid "Squash DSCP on inbound packets (ingress):"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:54
+msgid ""
+"The SQM GUI has just enabled the sqm initscript on your behalf. Remember to "
+"disable the sqm initscript manually under System Startup menu in case this "
+"change was not wished for."
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:84
+msgid ""
+"Upload speed (kbit/s) (egress) set to 0 to selectively disable egress "
+"shaping:"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:92
+msgid "Verbosity of SQM's output into the system log."
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:211
+msgid "Which link layer to account for:"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:252
+msgid "Which linklayer adaptation mechanism to use; for testing only"
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:26
+msgid ""
+"With <abbr title=\"Smart Queue Management\">SQM</abbr> you can enable "
+"traffic shaping, better mixing (Fair Queueing), active queue length "
+"management (AQM) and prioritisation on one network interface."
+msgstr ""
+
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:96
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:109
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:158
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:165
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:212
+#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:253
+msgid "default"
+msgstr ""
diff --git a/applications/luci-app-squid/po/fi/squid.po b/applications/luci-app-squid/po/fi/squid.po
new file mode 100644
index 000000000..2a0e266af
--- /dev/null
+++ b/applications/luci-app-squid/po/fi/squid.po
@@ -0,0 +1,34 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-squid/luasrc/model/cbi/squid.lua:42
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-squid/luasrc/model/cbi/squid.lua:38
+msgid "Coredump files directory"
+msgstr ""
+
+#: applications/luci-app-squid/luasrc/model/cbi/squid.lua:28
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-squid/root/usr/share/rpcd/acl.d/luci-app-squid.json:3
+msgid "Grant UCI access for luci-app-squid"
+msgstr ""
+
+#: applications/luci-app-squid/luasrc/model/cbi/squid.lua:30
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-squid/luasrc/model/cbi/squid.lua:21
+#: applications/luci-app-squid/root/usr/share/luci/menu.d/luci-app-squid.json:3
+msgid "Squid"
+msgstr ""
+
+#: applications/luci-app-squid/luasrc/model/cbi/squid.lua:34
+msgid "Visible Hostname"
+msgstr ""
diff --git a/applications/luci-app-statistics/po/fi/statistics.po b/applications/luci-app-statistics/po/fi/statistics.po
new file mode 100644
index 000000000..a620c5c32
--- /dev/null
+++ b/applications/luci-app-statistics/po/fi/statistics.po
@@ -0,0 +1,1514 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-05-19 19:35+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 1.1.1\n"
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/apcups.js:7
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/apcups.json:2
+msgid "APC UPS"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/apcups.js:6
+msgid "APCUPS Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/memory.js:14
+msgid "Absolute values"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iptables.js:68
+msgid "Add IPv4 rule selector"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iptables.js:68
+msgid "Add IPv6 rule selector"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/exec.js:16
+msgid "Add command for reading values"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/exec.js:36
+msgid "Add notification command"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/ping.js:19
+msgid "Address family"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/openvpn.js:18
+msgid "Aggregate number of connected users"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js:228
+msgid "Apply interval »"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/email.js:47
+msgid "Awaiting email input at %s"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:59
+msgid "Base Directory"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/netlink.js:16
+msgid "Basic monitoring"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/processes.js:25
+msgid "Basic process monitoring enabled"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/cpu.js:15
+msgid "By setting this, CPU is not aggregate of all processors on the system"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/contextswitch.js:6
+msgid "CPU Context Switches Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/cpufreq.js:8
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/cpufreq.json:2
+msgid "CPU Frequency"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/cpufreq.js:6
+msgid "CPU Frequency Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/cpu.js:6
+msgid "CPU Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/cpu.js:32
+msgid "CPU monitoring is enabled"
+msgstr ""
+
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/csv.json:2
+msgid "CSV Output"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/csv.js:6
+msgid "CSV Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:69
+msgid "Cache collected data for"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iptables.js:99
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/unixsock.js:19
+msgid "Change the ownership of the socket file to the specified group."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/olsrd.js:21
+msgid "CollectLinks"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/olsrd.js:28
+msgid "CollectRoutes"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/olsrd.js:35
+msgid "CollectTopology"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:46
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:49
+msgid "Collectd Settings"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/exec.js:57
+msgid "Command monitoring enabled"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iptables.js:137
+msgid "Comment / Rule Number"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:174
+msgid "Configure…"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/conntrack.js:7
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/conntrack.json:2
+msgid "Conntrack"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/conntrack.js:6
+msgid "Conntrack Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/conntrack.js:10
+msgid "Conntrack monitoring enabled"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/contextswitch.js:7
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/contextswitch.json:2
+msgid "Context Switches"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/contextswitch.js:10
+msgid "Context switch monitoring enabled"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/syslog.js:23
+msgid "Controls which notifications should be sent to syslog."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:28
+msgid "Create statistics about the network plugin itself"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/df.js:7
+msgid "DF Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/dns.js:10
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/dns.json:2
+msgid "DNS"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/dns.js:7
+msgid "DNS Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:74
+msgid "Data collection interval"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:71
+msgid "Datasets definition file"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/cpufreq.js:22
+msgid "Detailled CPU frequency monitoring enabled"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:65
+msgid "Directory for collectd plugins"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:62
+msgid "Directory for sub-configurations"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/disk.js:7
+msgid "Disk Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/df.js:7
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/df.json:2
+msgid "Disk Space Usage"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/disk.js:10
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/disk.json:2
+msgid "Disk Usage"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js:212
+msgid "Display Host »"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js:220
+msgid "Display timespan »"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js:195
+msgid "Do not refresh"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/email.js:7
+msgid "E-Mail Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/email.json:2
+msgid "Email"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/thermal.js:15
+msgid "Empty value = monitor all"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/curl.js:21
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:25
+msgid "Enable forwarding"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:28
+msgid "Enable statistics"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/apcups.js:12
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/cpu.js:12
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/cpufreq.js:12
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/csv.js:12
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/curl.js:11
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/df.js:13
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/disk.js:13
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/dns.js:13
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/email.js:13
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/exec.js:13
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/interface.js:13
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iptables.js:14
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/irq.js:13
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iwinfo.js:13
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/memory.js:12
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/netlink.js:13
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:12
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/nut.js:12
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/olsrd.js:12
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/openvpn.js:13
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/ping.js:12
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/processes.js:12
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:12
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/sensors.js:21
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/syslog.js:12
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/tcpconns.js:12
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/thermal.js:13
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/unixsock.js:13
+msgid "Enable this plugin"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:113
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/entropy.js:10
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/entropy.json:2
+msgid "Entropy"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/entropy.js:6
+msgid "Entropy Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/entropy.js:10
+msgid "Entropy monitoring enabled"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js:197
+msgid "Every 30 seconds"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js:196
+msgid "Every 5 seconds"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js:198
+msgid "Every minute"
+msgstr ""
+
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/exec.json:2
+msgid "Exec"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/exec.js:7
+msgid "Exec Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:66
+msgid "Expecting decimal value lower than one"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/email.js:33
+msgid "Expecting permssions in octal notation"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:48
+msgid "Expecting valid time range"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/cpufreq.js:15
+msgid "Extra items"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/curl.js:14
+msgid "Fetch pages"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/netlink.js:36
+msgid "Filter class monitoring"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/iptables.js:7
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/iptables.json:2
+msgid "Firewall"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/ip6tables.js:7
+msgid "Firewall (IPv6)"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:89
+msgid "Flush cache after"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:25
+msgid "Forwarding between listen and server addresses"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/openvpn.js:21
+msgid "Gather compression statistics"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:86
+msgid "General plugins"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/openvpn.js:15
+msgid "Generate a separate graph for each logged user"
+msgstr ""
+
+#: applications/luci-app-statistics/root/usr/share/rpcd/acl.d/luci-app-statistics.json:3
+msgid "Grant access to statistics resources"
+msgstr ""
+
+#: applications/luci-app-statistics/root/usr/share/luci/menu.d/luci-app-statistics.json:15
+msgid "Graphs"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/exec.js:31
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/exec.js:51
+msgid "Group"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/exec.js:17
+msgid ""
+"Here you can define external commands which will be started by collectd in "
+"order to read certain values. The values will be read from stdout."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/exec.js:37
+msgid ""
+"Here you can define external commands which will be started by collectd when "
+"certain threshold values have been reached. The values leading to invocation "
+"will be fed to the the called programs stdin."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iptables.js:21
+msgid ""
+"Here you can define various criteria by which the monitored iptables rules "
+"are selected."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/olsrd.js:14
+msgid "Host"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:51
+msgid "Hostname"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/olsrd.js:15
+msgid "IP or hostname where to get the txtinfo output from"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/irq.js:7
+msgid "IRQ Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/dns.js:21
+msgid "Ignore source addresses"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iptables.js:70
+msgid "Instance name"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/interface.js:7
+msgid "Interface Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/interface.js:7
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/interface.json:2
+msgid "Interfaces"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/irq.js:7
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/irq.json:2
+msgid "Interrupts"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/ping.js:31
+msgid "Interval for pings"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iptables.js:8
+msgid "Iptables Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iwinfo.js:15
+msgid "Leave unselected to automatically determine interfaces to monitor."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:40
+msgid "Listen host"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:44
+msgid "Listen port"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:32
+msgid "Listener interfaces"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/load.js:6
+msgid "Load Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/load.js:10
+msgid "Load monitoring enabled"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js:30
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js:108
+msgid "Loading data…"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/syslog.js:14
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iptables.js:20
+msgid "Match IPv4 iptables rules"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iptables.js:20
+msgid "Match IPv6 iptables rules"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:35
+msgid ""
+"Max values for a period can be used instead of averages when not using 'only "
+"average RRAs'"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/email.js:38
+msgid "Maximum allowed connections"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:20
+msgid "Maximum packet size"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/memory.js:10
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/memory.json:2
+msgid "Memory"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/memory.js:6
+msgid "Memory Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/memory.js:23
+msgid "Memory monitoring enabled"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/df.js:89
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/disk.js:32
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/interface.js:20
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/irq.js:45
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iwinfo.js:25
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/netlink.js:41
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/sensors.js:47
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/thermal.js:34
+msgid "Monitor all except specified"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/tcpconns.js:14
+msgid "Monitor all local listen ports"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/thermal.js:15
+msgid "Monitor device(s) / thermal zone(s)"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/df.js:15
+msgid "Monitor devices"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/disk.js:15
+msgid "Monitor disks and partitions"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/df.js:59
+msgid "Monitor filesystem types"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/apcups.js:14
+msgid "Monitor host"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/ping.js:14
+msgid "Monitor hosts"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/dns.js:15
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/interface.js:15
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iwinfo.js:15
+msgid "Monitor interfaces"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/irq.js:15
+msgid "Monitor interrupts"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/tcpconns.js:19
+msgid "Monitor local ports"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/df.js:37
+msgid "Monitor mount points"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/processes.js:14
+msgid "Monitor processes"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/tcpconns.js:24
+msgid "Monitor remote ports"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/tcpconns.js:37
+msgid "Monitoring %s and %s"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/df.js:103
+msgid "Monitoring %s, %s, %s"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/apcups.js:29
+msgid "Monitoring APC UPS at host %s, port %d"
+msgid_plural "Monitoring APC UPS at hosts %s, port %d"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/dns.js:31
+msgid "Monitoring DNS queries on all interfaces"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/dns.js:33
+msgid "Monitoring DNS queries on one interface"
+msgid_plural "Monitoring DNS queries on %d interfaces"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/olsrd.js:44
+msgid "Monitoring OLSRd status at %s:%d"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/disk.js:43
+msgid "Monitoring all but one disk"
+msgid_plural "Monitoring all but %d disks"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/interface.js:31
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iwinfo.js:36
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/netlink.js:54
+msgid "Monitoring all but one interface"
+msgid_plural "Monitoring all but %d interfaces"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/irq.js:56
+msgid "Monitoring all but one interrupt"
+msgid_plural "Monitoring all but %d interrupts"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/sensors.js:56
+msgid "Monitoring all but one sensor"
+msgid_plural "Monitoring all but %d sensors"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/disk.js:41
+msgid "Monitoring all disks"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/df.js:103
+msgid "Monitoring all except %s, %s, %s"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/interface.js:29
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iwinfo.js:34
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/netlink.js:52
+msgid "Monitoring all interfaces"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/irq.js:54
+msgid "Monitoring all interrupts"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/df.js:101
+msgid "Monitoring all partitions"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/sensors.js:60
+msgid "Monitoring all sensors"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/thermal.js:50
+msgid "Monitoring all thermal zones"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/thermal.js:46
+msgid "Monitoring all thermal zones except %s"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/tcpconns.js:35
+msgid "Monitoring local listen ports"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/openvpn.js:44
+msgid "Monitoring one OpenVPN instance"
+msgid_plural "Monitoring %d OpenVPN instances"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/nut.js:21
+msgid "Monitoring one UPS"
+msgid_plural "Monitoring %d UPSes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/disk.js:45
+msgid "Monitoring one disk"
+msgid_plural "Monitoring %d disks"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/ping.js:41
+msgid "Monitoring one host"
+msgid_plural "Monitoring %d hosts"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/interface.js:33
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iwinfo.js:38
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/netlink.js:56
+msgid "Monitoring one interface"
+msgid_plural "Monitoring %d interfaces"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/irq.js:58
+msgid "Monitoring one interrupt"
+msgid_plural "Monitoring %d interrupts"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/processes.js:23
+msgid "Monitoring one process"
+msgid_plural "Monitoring %d processes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/sensors.js:58
+msgid "Monitoring one sensor"
+msgid_plural "Monitoring %d sensors"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/splash_leases.js:10
+msgid "Monitoring splash leases"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/thermal.js:47
+msgid "Monitoring thermal zones %s"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/cpufreq.js:16
+msgid "More details about frequency usage and transitions"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/curl.js:25
+msgid "Name"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/netlink.js:7
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/netlink.json:2
+msgid "Netlink"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/netlink.js:7
+msgid "Netlink Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/network.json:2
+msgid "Network"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:6
+msgid "Network Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:69
+msgid "Network communication enabled"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:87
+msgid "Network plugins"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js:169
+msgid "No RRD data found"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:15
+msgid ""
+"Note: as pages are rendered by user 'nobody', the *.rrd files, the storage "
+"directory and all its parent directories need to be world readable."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/syslog.js:23
+msgid "Notify level"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:77
+msgid "Number of threads for data collection"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/olsrd.js:10
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/olsrd.json:2
+msgid "OLSRd"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/olsrd.js:6
+msgid "OLSRd Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:29
+msgid "Only create average RRAs"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/openvpn.js:7
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/openvpn.json:2
+msgid "OpenVPN"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/openvpn.js:7
+msgid "OpenVPN Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/openvpn.js:27
+msgid "OpenVPN status files"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:88
+msgid "Output plugins"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js:60
+msgid "Overview"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/memory.js:18
+msgid "Percent values"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/ping.js:7
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/ping.json:2
+msgid "Ping"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/ping.js:6
+msgid "Ping Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:136
+msgid "Plugin is disabled"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/olsrd.js:18
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/apcups.js:19
+msgid "Port for apcupsd communication"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/processes.js:7
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/processes.json:2
+msgid "Processes"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/processes.js:6
+msgid "Processes Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/cpu.js:8
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/cpu.json:2
+msgid "Processor"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/netlink.js:26
+msgid "Qdisc monitoring"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:56
+msgid "RRD XFiles Factor"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:24
+msgid "RRD heart beat interval"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:19
+msgid "RRD step interval"
+msgstr ""
+
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/rrdtool.json:2
+msgid "RRDTool"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:6
+msgid "RRDTool Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/cpu.js:14
+msgid "Report by CPU"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/cpu.js:20
+msgid "Report by state"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/cpu.js:26
+msgid "Report in percent"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:51
+msgid "Rows per RRA"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iptables.js:161
+msgid "Rule monitoring enabled"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/exec.js:24
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/exec.js:44
+msgid "Script"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:74
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/ping.js:31
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:19
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:24
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:69
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:89
+msgid "Seconds"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/sensors.js:23
+msgid "Sensor list"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/sensors.js:7
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/sensors.json:2
+msgid "Sensors"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/sensors.js:15
+msgid "Sensors Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:58
+msgid "Server host"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:50
+msgid "Server interfaces"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:62
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:20
+msgid "Set the maximum size for datagrams sent over the network"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/syslog.js:14
+msgid "Sets the syslog log-level."
+msgstr ""
+
+#: applications/luci-app-statistics/root/usr/share/luci/menu.d/luci-app-statistics.json:24
+msgid "Setup"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js:176
+msgid "Setup collectd"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/netlink.js:31
+msgid "Shaping class monitoring"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:34
+msgid "Show max values instead of averages"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/cpufreq.js:23
+msgid "Simple CPU frequency monitoring enabled"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/unixsock.js:34
+msgid "Socket %s active"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/email.js:15
+msgid "Socket file"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/email.js:19
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/unixsock.js:19
+msgid "Socket group"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/unixsock.js:15
+msgid "Socket path"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/email.js:24
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/unixsock.js:25
+msgid "Socket permissions"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/olsrd.js:22
+msgid "Specifies what information to collect about links."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/olsrd.js:29
+msgid "Specifies what information to collect about routes."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/olsrd.js:36
+msgid "Specifies what information to collect about the global topology."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/splash_leases.js:10
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/splash_leases.json:2
+msgid "Splash Leases"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/splash_leases.js:6
+msgid "Splash Leases Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js:204
+#: applications/luci-app-statistics/root/usr/share/luci/menu.d/luci-app-statistics.json:3
+msgid "Statistics"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:127
+msgid "Status"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:14
+msgid "Storage directory"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/csv.js:14
+msgid "Storage directory for the csv files"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/csv.js:18
+msgid "Store data values as rates instead of absolute values"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:38
+msgid "Stored timespans"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/csv.js:24
+msgid "Storing CSV data in %s"
+msgstr ""
+
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/syslog.json:2
+msgid "Syslog"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/syslog.js:6
+msgid "Syslog Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/syslog.js:32
+msgid "Syslog enabled"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/load.js:7
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/load.json:2
+msgid "System Load"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/tcpconns.js:7
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/tcpconns.json:2
+msgid "TCP Connections"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/tcpconns.js:6
+msgid "TCPConns Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:15
+msgid "TTL for network packets"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/ping.js:26
+msgid "TTL for ping packets"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iptables.js:85
+msgid "Table"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/apcups.js:7
+msgid "The APCUPS plugin collects statistics about the APC UPS."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/nut.js:7
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/olsrd.js:7
+msgid ""
+"The OLSRd plugin reads information about meshed networks from the txtinfo "
+"plugin of OLSRd."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/openvpn.js:8
+msgid ""
+"The OpenVPN plugin gathers information about the current vpn connection "
+"status."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/syslog.js:7
+msgid ""
+"The SysLog plugin receives log messages from the daemon and dispatches them "
+"to syslog."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iptables.js:132
+msgid "The chain name must not contain spaces"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iptables.js:153
+msgid "The comment to match must not contain spaces"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/conntrack.js:7
+msgid ""
+"The conntrack plugin collects statistics about the number of tracked "
+"connections."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/cpu.js:7
+msgid "The cpu plugin collects basic statistics about the processor usage."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/csv.js:7
+msgid ""
+"The csv plugin stores collected data in csv file format for further "
+"processing by external programs."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/df.js:8
+msgid ""
+"The df plugin collects statistics about the disk space usage on different "
+"devices, mount points or filesystem types."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/disk.js:8
+msgid ""
+"The disk plugin collects detailed usage statistics for selected partitions "
+"or whole disks."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/dns.js:8
+msgid ""
+"The dns plugin collects detailed statistics about dns related traffic on "
+"selected interfaces."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/email.js:8
+msgid ""
+"The email plugin creates a unix socket which can be used to transmit email-"
+"statistics to a running collectd daemon. This plugin is primarily intended "
+"to be used in conjunction with Mail::SpamAssasin::Plugin::Collectd but can "
+"be used in other ways as well."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/entropy.js:7
+msgid "The entropy plugin collects statistics about the available entropy."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/exec.js:8
+msgid ""
+"The exec plugin starts external commands to read values from or to notify "
+"external processes when certain threshold values have been reached."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iptables.js:80
+msgid "The instance name must not contain spaces"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/interface.js:8
+msgid ""
+"The interface plugin collects traffic statistics on selected interfaces."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iptables.js:9
+msgid ""
+"The iptables plugin will monitor selected firewall rules and collect "
+"information about processed bytes and packets per rule."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/irq.js:8
+msgid ""
+"The irq plugin will monitor the rate of issues per second for each selected "
+"interrupt. If no interrupt is selected then all interrupts are monitored."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iwinfo.js:8
+msgid ""
+"The iwinfo plugin collects statistics about wireless signal strength, noise "
+"and quality."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/load.js:7
+msgid "The load plugin collects statistics about the general system load."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/memory.js:7
+msgid "The memory plugin collects statistics about the memory usage."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/netlink.js:8
+msgid ""
+"The netlink plugin collects extended information like qdisc-, class- and "
+"filter-statistics for selected interfaces."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:7
+msgid ""
+"The network plugin provides network based communication between different "
+"collectd instances. Collectd can operate both in client and server mode. In "
+"client mode locally collected data is transferred to a collectd server "
+"instance, in server mode the local instance receives data from other hosts."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/ping.js:7
+msgid ""
+"The ping plugin will send icmp echo replies to selected hosts and measure "
+"the roundtrip time for each host."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/processes.js:7
+msgid ""
+"The processes plugin collects information like cpu time, page faults and "
+"memory usage of selected processes."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:7
+msgid ""
+"The rrdtool plugin stores the collected data in rrd database files, the "
+"foundation of the diagrams.<br /><br /><strong>Warning: Setting the wrong "
+"values will result in a very high memory consumption in the temporary "
+"directory. This can render the device unusable!</strong>"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/sensors.js:16
+msgid ""
+"The sensors plugin uses the Linux Sensors framework to gather environmental "
+"statistics."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/splash_leases.js:7
+msgid ""
+"The splash leases plugin uses libuci to collect statistics about splash "
+"leases."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/tcpconns.js:7
+msgid ""
+"The tcpconns plugin collects information about open tcp connections on "
+"selected ports."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/thermal.js:8
+msgid ""
+"The thermal plugin will monitor temperature of the system. Data is typically "
+"read from /sys/class/thermal/*/temp ( '*' denotes the thermal device to be "
+"read, e.g. thermal_zone1 )"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/unixsock.js:8
+msgid ""
+"The unixsock plugin creates a unix socket which can be used to read "
+"collected data from a running collectd instance."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/uptime.js:7
+msgid "The uptime plugin collects statistics about the uptime of the system."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js:170
+msgid "There is no RRD data available yet to render graphs."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/thermal.js:7
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/thermal.json:2
+msgid "Thermal"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/thermal.js:7
+msgid "Thermal Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/contextswitch.js:7
+msgid "This plugin collects statistics about the processor context switches."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/cpufreq.js:7
+msgid "This plugin collects statistics about the processor frequency scaling."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:33
+msgid ""
+"This section defines on which interfaces collectd will wait for incoming "
+"connections."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/network.js:51
+msgid ""
+"This section defines to which servers the locally collected data is sent to."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:80
+msgid "Try to lookup fully qualified hostname"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/nut.js:7
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/nut.js:14
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/nut.json:2
+msgid "UPS"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/nut.js:6
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/nut.js:14
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/curl.js:27
+msgid "URL"
+msgstr ""
+
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/unixsock.json:2
+msgid "UnixSock"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/unixsock.js:7
+msgid "Unixsock Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/uptime.js:15
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/uptime.json:2
+msgid "Uptime"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/uptime.js:6
+msgid "Uptime Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/uptime.js:10
+msgid "Uptime monitoring enabled"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/openvpn.js:24
+msgid "Use improved naming schema"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:68
+msgid "Used PID file"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/exec.js:27
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/exec.js:47
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/netlink.js:21
+msgid "Verbose monitoring"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/disk.js:16
+msgid "When none selected, all disks will be monitored."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/dns.js:16
+msgid "When none selected, all interfaces will be monitored."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/cpu.js:21
+msgid "When set to true, reports per-state metric (system, user, idle)"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/memory.js:14
+msgid "When set to true, we request absolute values"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/cpu.js:27
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/memory.js:18
+msgid "When set to true, we request percentage values"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/iwinfo.js:7
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/iwinfo.json:2
+msgid "Wireless"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/iwinfo.js:7
+msgid "Wireless iwinfo Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:96
+msgid "Writing *.rrd files to %s"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js:171
+msgid ""
+"You need to configure <em>collectd</em> to gather data into <em>.rrd</em> "
+"files."
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/curl.js:31
+msgid "cURL plugin enabled"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/curl.js:10
+#: applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/curl.json:2
+msgid "cUrl"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/curl.js:6
+msgid "cUrl Plugin Configuration"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js:139
+msgid "none"
+msgstr ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/df.js:104
+msgid "one device"
+msgid_plural "%d devices"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/df.js:106
+msgid "one filesystem type"
+msgid_plural "%d filesystem types"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/tcpconns.js:38
+msgid "one local port"
+msgid_plural "%d local ports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/df.js:105
+msgid "one mount"
+msgid_plural "%d mounts"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/tcpconns.js:39
+msgid "one remote port"
+msgid_plural "%d remote ports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/rrdtool.js:29
+msgid "reduces rrd size"
+msgstr ""
+
+#~ msgid "Cache flush interval"
+#~ msgstr "Cache flush interval"
+
+#~ msgid "Action (target)"
+#~ msgstr "Action (target)"
+
+#~ msgid "Add matching rule"
+#~ msgstr "Add matching rule"
+
+#~ msgid ""
+#~ "Collectd is a small daemon for collecting data from various sources "
+#~ "through different plugins. On this page you can change general settings "
+#~ "for the collectd daemon."
+#~ msgstr ""
+#~ "Collectd is a small daemon for collecting data from various sources "
+#~ "through different plugins. On this page you can change general settings "
+#~ "for the collectd daemon."
+
+#~ msgid "Destination ip range"
+#~ msgstr "Destination ip range"
+
+#~ msgid "Incoming interface"
+#~ msgstr "Incoming interface"
+
+#~ msgid "Name of the rule"
+#~ msgstr "Name of the rule"
+
+#~ msgid "Network protocol"
+#~ msgstr "Network protocol"
+
+#~ msgid "Options"
+#~ msgstr "Options"
+
+#~ msgid "Outgoing interface"
+#~ msgstr "Outgoing interface"
+
+#~ msgid "Source ip range"
+#~ msgstr "Source ip range"
+
+#~ msgid "e.g. br-ff"
+#~ msgstr "e.g. br-ff"
+
+#~ msgid "e.g. br-lan"
+#~ msgstr "e.g. br-lan"
+
+#~ msgid "e.g. reject-with tcp-reset"
+#~ msgstr "e.g. reject-with tcp-reset"
+
+#~ msgid "max. 16 chars"
+#~ msgstr "max. 16 chars"
+
+#~ msgid "seconds; multiple separated by space"
+#~ msgstr "seconds; multiple separated by space"
+
+#~ msgid "server interfaces"
+#~ msgstr "server interfaces"
diff --git a/applications/luci-app-tinyproxy/po/fi/tinyproxy.po b/applications/luci-app-tinyproxy/po/fi/tinyproxy.po
new file mode 100644
index 000000000..4440fe78f
--- /dev/null
+++ b/applications/luci-app-tinyproxy/po/fi/tinyproxy.po
@@ -0,0 +1,410 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-05-19 19:35+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 1.1.1\n"
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:219
+msgid ""
+"<em>Via proxy</em> routes requests to the given target via the specified "
+"upstream proxy, <em>Reject access</em> disables any upstream proxy for the "
+"target"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:108
+msgid ""
+"Adds an \"X-Tinyproxy\" HTTP header with the client IP address to forwarded "
+"requests"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:126
+msgid "Allowed clients"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:133
+msgid "Allowed connect ports"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:47
+msgid "Bind address"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:149
+msgid ""
+"By default, basic POSIX expressions are used for filtering. Enable this to "
+"activate extended regular expressions"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:153
+msgid ""
+"By default, filter strings are treated as case-insensitive. Enable this to "
+"make the matching case-sensitive"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:145
+msgid ""
+"By default, filtering is done based on domain names. Enable this to match "
+"against URLs instead"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:157
+msgid ""
+"By default, the filter rules act as blacklist. Enable this option to only "
+"allow matched URLs or domain names"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:226
+msgid ""
+"Can be either an IP address or range, a domain name or \".\" for any host "
+"without domain"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/root/usr/share/luci/menu.d/luci-app-tinyproxy.json:23
+msgid "Configuration"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:164
+msgid "Connection timeout"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:156
+msgid "Default deny"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:17
+msgid "Enable Tinyproxy server"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:55
+msgid "Error page"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/view/tinyproxy_status.htm:36
+msgid "Failed to retrieve statistics from url:"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:148
+msgid "Filter by RegExp"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:144
+msgid "Filter by URLs"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:152
+msgid "Filter case-sensitive"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:140
+msgid "Filter file"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:13
+msgid "Filtering and ACLs"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:11
+msgid "General settings"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/root/usr/share/rpcd/acl.d/luci-app-tinyproxy.json:3
+msgid "Grant UCI access for luci-app-tinyproxy"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:97
+msgid "Group"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:63
+msgid "HTML template file to serve for stat host requests"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:56
+msgid "HTML template file to serve when HTTP errors occur"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:118
+msgid "Header whitelist"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:127
+msgid ""
+"List of IP addresses or ranges which are allowed to use the proxy server"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:134
+msgid ""
+"List of allowed ports for the CONNECT method. A single value \"0\" allows "
+"all ports"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:39
+msgid "Listen address"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:31
+msgid "Listen port"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:73
+msgid "Log file"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:74
+msgid "Log file to use for dumping messages"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:80
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:81
+msgid "Logging verbosity of the Tinyproxy process"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:172
+msgid "Max. clients"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:200
+msgid "Max. requests per server"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:186
+msgid "Max. spare servers"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:173
+msgid "Maximum allowed number of concurrently connected clients"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:201
+msgid ""
+"Maximum allowed number of requests per process. If it is exeeded, the "
+"process is restarted. Zero means unlimited."
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:187
+msgid "Maximum number of prepared idle processes"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:165
+msgid "Maximum number of seconds an inactive connection is held open"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:179
+msgid "Min. spare servers"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:180
+msgid "Minimum number of prepared idle processes"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:194
+msgid "Number of idle processes to start when launching Tinyproxy"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:141
+msgid "Plaintext file with URLs or domains to filter. One entry per line"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:218
+msgid "Policy"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:12
+msgid "Privacy settings"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:222
+msgid "Reject access"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:8
+msgid "Server Settings"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:14
+msgid "Server limits"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:119
+msgid ""
+"Specifies HTTP header names which are allowed to pass-through, all others "
+"are discarded. Leave empty to disable header filtering"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:32
+msgid "Specifies the HTTP port Tinyproxy is listening on for requests"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:112
+msgid "Specifies the Tinyproxy hostname to use in the Via HTTP header"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:48
+msgid ""
+"Specifies the address Tinyproxy binds to for outbound forwarded requests"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:40
+msgid "Specifies the addresses Tinyproxy is listening on for requests"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:98
+msgid "Specifies the group name the Tinyproxy process is running as"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:234
+msgid ""
+"Specifies the upstream proxy to use for accessing the target host. Format is "
+"<code>address:port</code>"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:92
+msgid "Specifies the user name the Tinyproxy process is running as"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:193
+msgid "Start spare servers"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:62
+msgid "Statistics page"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/root/usr/share/luci/menu.d/luci-app-tinyproxy.json:14
+msgid "Status"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:225
+msgid "Target host"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:5
+#: applications/luci-app-tinyproxy/root/usr/share/luci/menu.d/luci-app-tinyproxy.json:3
+msgid "Tinyproxy"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/view/tinyproxy_status.htm:51
+msgid "Tinyproxy Status"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:6
+msgid "Tinyproxy is a small and fast non-caching HTTP(S)-Proxy"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:211
+msgid "Upstream Proxies"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:212
+msgid ""
+"Upstream proxy rules define proxy servers to use when accessing certain IP "
+"addresses or domains."
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:69
+msgid "Use syslog"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:91
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:111
+msgid "Via hostname"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:221
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:233
+msgid "Via proxy"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:70
+msgid "Writes log messages to syslog instead of a log file"
+msgstr ""
+
+#: applications/luci-app-tinyproxy/luasrc/model/cbi/tinyproxy.lua:107
+msgid "X-Tinyproxy header"
+msgstr ""
+
+#~ msgid "Allow access from"
+#~ msgstr "Allow access from"
+
+#~ msgid "Allowed headers for anonymous proxy"
+#~ msgstr "Allowed headers for anonymous proxy"
+
+#~ msgid "Bind outgoing traffic to address"
+#~ msgstr "Bind outgoing traffic to address"
+
+#~ msgid "Ports allowed for CONNECT method"
+#~ msgstr "Ports allowed for CONNECT method"
+
+#~ msgid "0 = disabled, empty = all"
+#~ msgstr "0 = disabled, empty = all"
+
+#~ msgid "Error document"
+#~ msgstr "Error document"
+
+#~ msgid "Filter list"
+#~ msgstr "Filter list"
+
+#~ msgid "Case sensitive filters"
+#~ msgstr "Case sensitive filters"
+
+#~ msgid "Filter list is a whitelist"
+#~ msgstr "Filter list is a whitelist"
+
+#~ msgid "Extended regular expression filters"
+#~ msgstr "Extended regular expression filters"
+
+#~ msgid "Filter URLs instead of domains"
+#~ msgstr "Filter URLs instead of domains"
+
+#~ msgid "Listen on address"
+#~ msgstr "Listen on address"
+
+#~ msgid "Logfile"
+#~ msgstr "Logfile"
+
+#~ msgid "Maximum number of clients"
+#~ msgstr "Maximum number of clients"
+
+#~ msgid "Maximum requests per thread"
+#~ msgstr "Maximum requests per thread"
+
+#~ msgid "Spare servers to start with"
+#~ msgstr "Spare servers to start with"
+
+#~ msgid "Statistic document"
+#~ msgstr "Statistic document"
+
+#~ msgid "Write to syslog"
+#~ msgstr "Write to syslog"
+
+#~ msgid "Connection Timeout"
+#~ msgstr "Connection Timeout"
+
+#~ msgid "Value of Via-Header"
+#~ msgstr "Value of Via-Header"
+
+#~ msgid "Include client IP"
+#~ msgstr "Include client IP"
+
+#~ msgid "Upstream Control"
+#~ msgstr "Upstream Control"
+
+#~ msgid "Type"
+#~ msgstr "Type"
+
+#~ msgid "Upstream Proxy"
+#~ msgstr "Upstream Proxy"
diff --git a/applications/luci-app-transmission/po/fi/transmission.po b/applications/luci-app-transmission/po/fi/transmission.po
new file mode 100644
index 000000000..0c79c0b5a
--- /dev/null
+++ b/applications/luci-app-transmission/po/fi/transmission.po
@@ -0,0 +1,430 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-05-11 07:11+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 2.5.1\n"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:69
+msgid "Alternative download speed"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:63
+msgid "Alternative speed enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:281
+msgid "Alternative speed time begin"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:287
+msgid "Alternative speed time day"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:284
+msgid "Alternative speed time end"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:278
+msgid "Alternative speed timing enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:66
+msgid "Alternative upload speed"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:117
+msgid "Automatically start added torrents"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:60
+msgid "Bandwidth settings"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:178
+msgid "Binding address IPv4"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:180
+msgid "Binding address IPv6"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:90
+msgid "Block list enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:93
+msgid "Blocklist URL"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:87
+msgid "Blocklists"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:135
+msgid "Cache size in MB"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
+msgid "Config file directory"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:57
+msgid "Custom Web UI directory"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:137
+msgid "DHT enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:155
+msgid "Debug"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:101
+msgid "Download directory"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:215
+msgid "Download queue enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:221
+msgid "Download queue size"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:125
+msgid "Enable watch directory"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:51
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
+msgid "Error"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
+msgid "Fast"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:98
+msgid "Files and Locations"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:112
+msgid "Full"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:187
+msgid "Global peer limit"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:48
+msgid "Global settings"
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/rpcd/acl.d/luci-app-transmission.json:3
+msgid "Grant UCI access for luci-app-transmission"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:293
+msgid "Idle seeding limit"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:290
+msgid "Idle seeding limit enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:106
+msgid "Incomplete directory"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:103
+msgid "Incomplete directory enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
+msgid "Info"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:148
+msgid "LPD enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:145
+msgid "Lazy bitfield enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
+msgid "Message level"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:132
+msgid "Miscellaneous"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
+msgid "None"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:287
+msgid ""
+"Number/bitfield. Start with 0, then for each day you want the scheduler "
+"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
+"8, Thursday - 16, Friday - 32, Saturday - 64"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
+msgid "Off"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:42
+msgid "Open Web Interface"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:157
+msgid "PEX enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:194
+msgid "Peer Port settings"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid "Peer congestion algorithm"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:189
+msgid "Peer limit per torrent"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:197
+msgid "Peer port"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:202
+msgid "Peer port random high"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:205
+msgid "Peer port random low"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:199
+msgid "Peer port random on start"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:175
+msgid "Peer settings"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:191
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:208
+msgid "Port forwarding enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Prefer encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer unencrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:160
+msgid "Prefetch enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:218
+msgid "Queue stalled enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:227
+msgid "Queue stalled minutes"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:212
+msgid "Queueing"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:246
+msgid "RPC URL"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:263
+msgid "RPC authentication required"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:240
+msgid "RPC bind address"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:237
+msgid "RPC enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:253
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:249
+msgid "RPC host whitelist enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:270
+msgid "RPC password"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:243
+msgid "RPC port"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:234
+msgid "RPC settings"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:267
+msgid "RPC username"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:260
+msgid "RPC whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:256
+msgid "RPC whitelist enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:299
+msgid "Ratio limit"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:296
+msgid "Ratio limit enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:185
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:114
+msgid "Rename partial files"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:143
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:275
+msgid "Scheduling"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:162
+msgid "Scrape paused torrents enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:165
+msgid "Script torrent done enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:168
+msgid "Script torrent done filename"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:224
+msgid "Seed queue enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:230
+msgid "Seed queue size"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:75
+msgid "Speed limit down"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:72
+msgid "Speed limit down enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:81
+msgid "Speed limit up"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:78
+msgid "Speed limit up enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:183
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
+msgid "Transmission"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:46
+msgid ""
+"Transmission daemon is a simple bittorrent client, here you can configure "
+"the settings."
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:120
+msgid "Trash original torrent files"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:84
+msgid "Upload slots per torrent"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:128
+msgid "Watch directory"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:278
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:185
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:281
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:284
+msgid "in minutes from midnight"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:171
+msgid "uTP enabled"
+msgstr ""
diff --git a/applications/luci-app-travelmate/po/fi/travelmate.po b/applications/luci-app-travelmate/po/fi/travelmate.po
new file mode 100644
index 000000000..59a38b0ed
--- /dev/null
+++ b/applications/luci-app-travelmate/po/fi/travelmate.po
@@ -0,0 +1,570 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm:206
+msgid "AP on"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm:113
+#: applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm:45
+msgid "Action"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:74
+msgid "Add Open Uplinks"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm:75
+msgid "Add Uplink"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:13
+msgid "Add Wireless Uplink Configuration"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:118
+msgid ""
+"Additional trigger delay in seconds before travelmate processing begins."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/controller/travelmate.lua:25
+msgid "Advanced"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:92
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:74
+msgid "Authentication"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:162
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:154
+msgid "Auto Login Script"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:79
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:138
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:61
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:126
+msgid "Automatic"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:75
+msgid ""
+"Automatically add open uplinks like hotel captive portals to your wireless "
+"config."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:112
+msgid ""
+"Automatically resets the 'Faulty Stations' list after n minutes. Default is "
+"'0' which means no expiry."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:53
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:30
+#: applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm:111
+msgid "BSSID"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:15
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:12
+#: applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm:84
+msgid "Back to overview"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:148
+msgid "Buffer size in bytes to prepare nearby scan results."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:58
+msgid "Captive Portal Detection"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:59
+msgid ""
+"Check the internet availability, log captive portal redirections and keep "
+"the uplink connection 'alive'."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:78
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:137
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:60
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:125
+msgid "Cipher"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:14
+msgid ""
+"Configuration of the travelmate package to to enable travel router "
+"functionality."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:123
+msgid "Connection Limit"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:25
+msgid "Create Uplink interface"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:26
+msgid ""
+"Create a new wireless wan uplink interface, configure it to use dhcp and"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm:109
+msgid "Device"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm:132
+msgid "Down"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:85
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:67
+msgid "EAP-Method"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm:133
+msgid "Edit"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/controller/travelmate.lua:29
+msgid "Edit Firewall Configuration"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/controller/travelmate.lua:28
+msgid "Edit Network Configuration"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/controller/travelmate.lua:26
+msgid "Edit Travelmate Configuration"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/controller/travelmate.lua:27
+msgid "Edit Wireless Configuration"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:10
+msgid "Edit Wireless Uplink Configuration"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm:133
+msgid "Edit this Uplink"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:54
+msgid "Enable Travelmate"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:103
+msgid "Enable Verbose Debug Logging"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:60
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:72
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:128
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:42
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:54
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:116
+#: applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm:112
+#: applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm:43
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:163
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:155
+msgid ""
+"External script reference which will be called for automated captive portal "
+"logins."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:100
+msgid "Extra Options"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm:128
+msgid "Faulty Stations"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm:148
+msgid "Find and join network on"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm:217
+msgid "For QR-Code support please install package 'qrencode'!"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:15
+msgid ""
+"For further information <a href=\"%s\" target=\"_blank\">see online "
+"documentation</a>"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:80
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:139
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:62
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:127
+msgid "Force CCMP (AES)"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:81
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:140
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:63
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:128
+msgid "Force TKIP"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:82
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:141
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:64
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:129
+msgid "Force TKIP and CCMP (AES)"
+msgstr ""
+
+#: applications/luci-app-travelmate/root/usr/share/rpcd/acl.d/luci-app-travelmate.json:3
+msgid "Grant UCI access for luci-app-travelmate"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:136
+msgid ""
+"How long should travelmate wait for a successful wlan uplink connection."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:105
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:87
+msgid "Identity"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:46
+msgid "Ignore BSSID"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_firewall_tab.lua:9
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_network_tab.lua:9
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_wireless_tab.lua:9
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/configuration_tab.lua:9
+msgid "Input file not found, please check your configuration."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:135
+msgid "Interface Timeout"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:24
+msgid "Interface Wizard"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm:140
+msgid "Last Run"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:111
+msgid "List Auto Expiry"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm:62
+msgid "Loading"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:130
+msgid ""
+"Minimum signal quality threshold as percent for conditional uplink (dis-) "
+"connections."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm:132
+msgid "Move down"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm:131
+msgid "Move up"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:80
+msgid "Name of the used uplink interface."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:63
+msgid "Net Error Check"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:164
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:156
+msgid "Optional Arguments"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:101
+msgid ""
+"Options for further tweaking in case the defaults are not suitable for you."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:141
+msgid "Overall Timeout"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:142
+msgid "Overall retry timeout in seconds."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/controller/travelmate.lua:22
+msgid "Overview"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:49
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:90
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:135
+msgid "Passphrase"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:107
+msgid "Password"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:122
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:109
+msgid "Password of Private Key"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:111
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:95
+msgid "Path to CA-Certificate"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:114
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:99
+msgid "Path to Client-Certificate"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:118
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:104
+msgid "Path to Private Key"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:69
+msgid "ProActive Uplink Switch"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:70
+msgid ""
+"Proactively scan and switch to a higher prioritized uplink, despite of an "
+"already existing connection."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm:103
+msgid ""
+"Provides an overview of all configured uplinks for the travelmate interface "
+"(%s). You can edit, remove or re-order/prioritize existing uplinks or scan "
+"for new ones. The currently used uplink is emphasized in blue, faulty "
+"stations in red."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:107
+msgid "Radio Selection / Order"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm:134
+msgid "Remove"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm:134
+msgid "Remove this Uplink"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm:89
+msgid "Repeat scan"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm:15
+#: applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm:149
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm:147
+msgid "Restart Travelmate"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:108
+msgid ""
+"Restrict travelmate to a single radio (e.g. 'radio1') or change the overall "
+"scanning order (e.g. 'radio1 radio2 radio0')."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:124
+msgid "Retry limit to connect to an uplink."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm:102
+msgid "Runtime Information"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:41
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:26
+#: applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm:110
+msgid "SSID"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:39
+msgid "SSID (hidden)"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_firewall_tab.lua:15
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_network_tab.lua:15
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_wireless_tab.lua:15
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/configuration_tab.lua:17
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:14
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:11
+msgid "Save"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm:148
+msgid "Scan"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:147
+msgid "Scan Buffer Size"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm:156
+msgid "Show/Hide QR-Codes"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:129
+msgid "Signal Quality Threshold"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm:44
+msgid "Signal strength"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:165
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua:157
+msgid ""
+"Space separated list of additional arguments passed to the Auto Login "
+"Script, i.e. username and password"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm:116
+msgid "Station ID (RADIO/SSID/BSSID)"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm:122
+msgid "Station Interface"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:54
+msgid ""
+"The BSSID information '%s' is optional and only required for hidden networks"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm:31
+msgid "The syslog output, pre-filtered for travelmate related messages only."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_firewall_tab.lua:19
+msgid ""
+"This form allows you to modify the content of the main firewall "
+"configuration file (/etc/config/firewall)."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_network_tab.lua:19
+msgid ""
+"This form allows you to modify the content of the main network configuration "
+"file (/etc/config/network)."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/configuration_tab.lua:21
+msgid ""
+"This form allows you to modify the content of the main travelmate "
+"configuration file (/etc/config/travelmate)."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/cfg_wireless_tab.lua:19
+msgid ""
+"This form allows you to modify the content of the main wireless "
+"configuration file (/etc/config/wireless)."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:28
+msgid "This step has only to be done once."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/controller/travelmate.lua:18
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:13
+msgid "Travelmate"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm:104
+msgid "Travelmate Status (Quality)"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm:110
+msgid "Travelmate Version"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:64
+msgid "Treat missing internet availability as an error."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:117
+msgid "Trigger Delay"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm:131
+msgid "Up"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:79
+msgid "Uplink / Trigger interface"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm:42
+msgid "Uplink BSSID"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm:41
+msgid "Uplink SSID"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm:154
+msgid "View AP QR-Codes"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/controller/travelmate.lua:24
+msgid "View Logfile"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:67
+msgid "WEP-Passphrase"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm:134
+msgid "WPA Capabilities"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua:147
+msgid "WPA-Passphrase"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm:37
+msgid "Wireless Scan"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/controller/travelmate.lua:23
+msgid "Wireless Stations"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua:27
+msgid "add it to the wan zone of the firewall."
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm:50
+msgid "hidden"
+msgstr ""
+
+#: applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm:206
+msgid "with SSID"
+msgstr ""
diff --git a/applications/luci-app-ttyd/po/fi/ttyd.po b/applications/luci-app-ttyd/po/fi/ttyd.po
new file mode 100644
index 000000000..363d19acb
--- /dev/null
+++ b/applications/luci-app-ttyd/po/fi/ttyd.po
@@ -0,0 +1,207 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:56
+msgid "Accept only one client and exit on disconnection"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:15
+msgid "Add instance"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:40
+msgid "Allow URL args"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:40
+msgid ""
+"Allow client to send command line arguments in URL (eg: http://"
+"localhost:7681?arg=foo&arg=bar)"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:50
+msgid "Check origin"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:44
+msgid "Client option"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:76
+msgid "Command"
+msgstr ""
+
+#: applications/luci-app-ttyd/root/usr/share/luci/menu.d/luci-app-ttyd.json:23
+msgid "Config"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:28
+msgid "Credential"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:28
+msgid "Credential for Basic Authentication"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:58
+msgid "Custom index.html path"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:73
+msgid "Debug"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:42
+msgid "Do not allow clients to write to the TTY"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:50
+msgid "Do not allow websocket connection from different origin"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:17
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:60
+msgid "Enable IPv6 support"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:62
+msgid "Enable SSL"
+msgstr ""
+
+#: applications/luci-app-ttyd/root/usr/share/rpcd/acl.d/luci-app-ttyd.json:3
+msgid "Grant UCI access for luci-app-ttyd"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:34
+msgid "Group ID"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:34
+msgid "Group id to run with"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:60
+msgid "IPv6"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:58
+msgid "Index"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:24
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:52
+msgid "Max clients"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:52
+msgid "Maximum clients to support (default: 0, no limit)"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:24
+msgid ""
+"Network interface to bind (eg: eth0), or UNIX domain socket path (eg: /var/"
+"run/ttyd.sock)"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:56
+msgid "Once"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:20
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:20
+msgid "Port to listen (default: 7681, use `0` for random port)"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/term.js:14
+msgid ""
+"Random ttyd port (port=0) is not supported.<br>Change to a fixed port and "
+"try again."
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:42
+msgid "Read-only"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:62
+msgid "SSL"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:70
+msgid "SSL CA file path for client certificate verification"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:70
+msgid "SSL ca"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:64
+msgid "SSL cert"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:64
+msgid "SSL certificate file path"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:67
+msgid "SSL key"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:67
+msgid "SSL key file path"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:44
+msgid "Send option to client"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:73
+msgid "Set log level (default: 7)"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:37
+msgid "Signal"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:37
+msgid "Signal to send to the command when exit it (default: 1, SIGHUP)"
+msgstr ""
+
+#: applications/luci-app-ttyd/root/usr/share/luci/menu.d/luci-app-ttyd.json:14
+msgid "Terminal"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:47
+msgid "Terminal type"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:47
+msgid "Terminal type to report (default: xterm-256color)"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:31
+msgid "User ID"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:31
+msgid "User id to run with"
+msgstr ""
+
+#: applications/luci-app-ttyd/root/usr/share/luci/menu.d/luci-app-ttyd.json:3
+msgid "ttyd"
+msgstr ""
+
+#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:12
+msgid "ttyd Instance"
+msgstr ""
diff --git a/applications/luci-app-udpxy/po/fi/udpxy.po b/applications/luci-app-udpxy/po/fi/udpxy.po
new file mode 100644
index 000000000..42504a8d1
--- /dev/null
+++ b/applications/luci-app-udpxy/po/fi/udpxy.po
@@ -0,0 +1,75 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-udpxy/luasrc/model/cbi/udpxy.lua:23
+msgid "Bind IP/Interface"
+msgstr ""
+
+#: applications/luci-app-udpxy/luasrc/model/cbi/udpxy.lua:47
+msgid "Buffer messages"
+msgstr ""
+
+#: applications/luci-app-udpxy/luasrc/model/cbi/udpxy.lua:43
+msgid "Buffer size"
+msgstr ""
+
+#: applications/luci-app-udpxy/luasrc/model/cbi/udpxy.lua:51
+msgid "Buffer time"
+msgstr ""
+
+#: applications/luci-app-udpxy/luasrc/model/cbi/udpxy.lua:10
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-udpxy/root/usr/share/rpcd/acl.d/luci-app-udpxy.json:3
+msgid "Grant UCI access for luci-app-udpxy"
+msgstr ""
+
+#: applications/luci-app-udpxy/luasrc/model/cbi/udpxy.lua:39
+msgid "Log file"
+msgstr ""
+
+#: applications/luci-app-udpxy/luasrc/model/cbi/udpxy.lua:35
+msgid "Max clients"
+msgstr ""
+
+#: applications/luci-app-udpxy/luasrc/model/cbi/udpxy.lua:59
+msgid "Multicast subscription renew"
+msgstr ""
+
+#: applications/luci-app-udpxy/luasrc/model/cbi/udpxy.lua:55
+msgid "Nice increment"
+msgstr ""
+
+#: applications/luci-app-udpxy/luasrc/model/cbi/udpxy.lua:27
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-udpxy/luasrc/model/cbi/udpxy.lua:15
+msgid "Respawn"
+msgstr ""
+
+#: applications/luci-app-udpxy/luasrc/model/cbi/udpxy.lua:31
+msgid "Source IP/Interface"
+msgstr ""
+
+#: applications/luci-app-udpxy/luasrc/model/cbi/udpxy.lua:21
+msgid "Status"
+msgstr ""
+
+#: applications/luci-app-udpxy/luasrc/model/cbi/udpxy.lua:18
+msgid "Verbose"
+msgstr ""
+
+#: applications/luci-app-udpxy/root/usr/share/luci/menu.d/luci-app-udpxy.json:3
+msgid "udpxy"
+msgstr ""
+
+#: applications/luci-app-udpxy/luasrc/model/cbi/udpxy.lua:4
+msgid ""
+"udpxy is a UDP-to-HTTP multicast traffic relay daemon, here you can "
+"configure the settings."
+msgstr ""
diff --git a/applications/luci-app-uhttpd/po/fi/uhttpd.po b/applications/luci-app-uhttpd/po/fi/uhttpd.po
new file mode 100644
index 000000000..3492723d9
--- /dev/null
+++ b/applications/luci-app-uhttpd/po/fi/uhttpd.po
@@ -0,0 +1,259 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2019-01-09 07:00-0500\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\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"
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:135
+msgid ""
+"(/old/path=/new/path) or (just /old/path which becomes /cgi-prefix/old/path)"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:145
+msgid "404 Error"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:7
+msgid "A lightweight single-threaded HTTP(S) server"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:20
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:135
+msgid "Aliases"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:149
+msgid "Base directory for files to be served"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:22
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:50
+msgid "Bind to specific interface:port (by specifying interface address"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:126
+msgid "CGI filetype handler"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:153
+msgid "CGI is disabled if not present."
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:142
+msgid "Config file (e.g. for credentials for Basic Auth)"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:187
+msgid "Connection reuse"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:221
+msgid "Country"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:173
+msgid "Disable JSON-RPC authorization via ubus session API"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:129
+msgid "Do not follow symlinks outside document root"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:132
+msgid "Do not generate directory listings."
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:148
+msgid "Document root"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:122
+msgid "E.g specify with index.html and index.php when using PHP"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:160
+msgid "Embedded Lua interpreter is disabled if not present."
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:169
+msgid "Enable JSON-RPC Cross-Origin Resource Support"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:19
+msgid "For settings primarily geared to serving more than the web UI"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:19
+msgid "Full Web Server Settings"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:160
+msgid "Full real path to handler for Lua scripts"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:18
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-uhttpd/root/usr/share/rpcd/acl.d/luci-app-uhttpd.json:3
+msgid "Grant UCI access for luci-app-uhttpd"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:22
+msgid "HTTP listeners (address:port)"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:94
+msgid "HTTPS Certificate (DER Encoded)"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:96
+msgid "HTTPS Private Key (DER Encoded)"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:50
+msgid "HTTPS listener (address:port)"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:90
+msgid "Ignore private IPs on public interface"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:122
+msgid "Index page(s)"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:126
+msgid ""
+"Interpreter to associate with file endings ('suffix=handler', e.g. '.php=/"
+"usr/bin/php-cgi')"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:214
+msgid "Length of key in bits"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:227
+msgid "Location"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:197
+msgid "Maximum number of connections"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:201
+msgid "Maximum number of script requests"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:177
+msgid "Maximum wait time for Lua, CGI, or ubus execution"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:182
+msgid "Maximum wait time for network activity"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:166
+msgid "Override path for ubus socket"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:153
+msgid "Path prefix for CGI scripts"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:90
+msgid ""
+"Prevent access from private (RFC1918) IPs on an interface if it has an "
+"public IP address"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:138
+msgid "Realm for Basic Auth"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:86
+msgid "Redirect all HTTP to HTTPS"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:109
+msgid "Remove configuration for certificate and key"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:98
+msgid "Remove old certificate and key"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:218
+msgid "Server Hostname"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:20
+msgid ""
+"Settings which are either rarely needed or which affect serving the WebUI"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:224
+msgid "State"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:192
+msgid "TCP Keepalive"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:110
+msgid "This permanently deletes the cert, key, and configuration to use same."
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:210
+msgid "Valid for # of Days"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:145
+msgid ""
+"Virtual URL or CGI script to display on status '404 Not Found'. Must begin "
+"with '/'"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:156
+msgid "Virtual path prefix for Lua scripts"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:163
+msgid "Virtual path prefix for ubus via JSON-RPC integration"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:142
+msgid "Will not use HTTP authentication if not present"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:218
+msgid "a.k.a CommonName"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:6
+#: applications/luci-app-uhttpd/root/usr/share/luci/menu.d/luci-app-uhttpd.json:3
+msgid "uHTTPd"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:205
+msgid "uHTTPd Self-signed Certificate Parameters"
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:99
+msgid ""
+"uHTTPd will generate a new self-signed certificate using the configuration "
+"shown below."
+msgstr ""
+
+#: applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua:163
+msgid "ubus integration is disabled if not present"
+msgstr ""
diff --git a/applications/luci-app-unbound/po/fi/unbound.po b/applications/luci-app-unbound/po/fi/unbound.po
new file mode 100644
index 000000000..28d766c13
--- /dev/null
+++ b/applications/luci-app-unbound/po/fi/unbound.po
@@ -0,0 +1,753 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:96
+msgid "(root)"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:202
+msgid ", and <var>%s</var> entries"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:172
+msgid ", and try <var>%s</var>"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:78
+msgid "AXFR"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:67
+msgid "Accept queries only from local subnets"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:216
+msgid "Adblock domain list is too large to display in LuCI."
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:46
+msgid "Advanced"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:245
+msgid "Aggressive"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:34
+msgid "Allow open recursion when record not in zone"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:38
+msgid "Authoritative (zone file)"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:41
+msgid "Basic"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:250
+msgid "Break down query components for limited added privacy"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:77
+msgid "Break the loop where DNSSEC needs NTP and NTP needs DNS"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:83
+msgid "Choose Unbounds listening port"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:221
+msgid "Chose the IP versions used upstream and downstream"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:56
+msgid "Connect to servers using TLS"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:47
+msgid "DHCP"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:139
+msgid "DHCP Link"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:147
+msgid "DHCPv4 to SLAAC"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:57
+msgid "DNS Cache"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:55
+msgid "DNS over TLS"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:106
+msgid "DNS64 Prefix"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:76
+msgid "DNSSEC NTP Fix"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:222
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:233
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:243
+msgid "Default"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:164
+msgid "Denied (nxdomain)"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:22
+msgid "Directed Zone"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:77
+msgid "Directory only part of URL"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:114
+msgid "Domain Insecure"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:72
+msgid "Domain name to verify TLS certificate"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:154
+msgid "Domain suffix for this router and DHCP clients"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:262
+msgid "EDNS Size"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/manual.lua:15
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/uciedit.lua:14
+msgid "Edit '"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/server.lua:15
+msgid "Edit 'server:' clause options for 'include:"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:23
+msgid ""
+"Edit a forward, stub, or zone-file-cache zone for Unbound to use instead of "
+"recursion."
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/extended.lua:15
+msgid "Edit clauses such as 'forward-zone:' for 'include:"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:86
+msgid "Edit: Extended"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:83
+msgid "Edit: Server"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:71
+msgid "Edit: UCI"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:78
+msgid "Edit: Unbound"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:39
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:101
+msgid "Enable DNS64"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:71
+msgid "Enable DNSSEC"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:53
+msgid "Enable Unbound"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:211
+msgid "Enable access for unbound-control"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:102
+msgid "Enable the DNS64 module"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:72
+msgid "Enable the DNSSEC validator module"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:54
+msgid "Enable the initialization scripts for Unbound"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:30
+msgid "Enable this directed zone"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:29
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:274
+msgid "Extended Statistics"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:275
+msgid "Extended statistics are printed from unbound-control"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:196
+msgid "Extra DNS"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:33
+msgid "Fall Back"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:36
+msgid "Fallback"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:66
+msgid "Files"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:98
+msgid "Filter Entire Subnet"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:89
+msgid "Filter Localhost Rebind"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:97
+msgid "Filter Private Address"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:94
+msgid "Filter Private Rebind"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:71
+msgid "Forward"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:40
+msgid "Forward (simple handoff)"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:68
+msgid "Forward TLS"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:52
+msgid "Forward to upstream nameservers (ISP)"
+msgstr ""
+
+#: applications/luci-app-unbound/root/usr/share/rpcd/acl.d/luci-app-unbound.json:3
+msgid "Grant UCI access for luci-app-unbound"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:178
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:190
+msgid "Host FQDN, All Addresses"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:200
+msgid "Host Records"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:201
+msgid "Host/MX/SRV RR"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:202
+msgid "Host/MX/SRV/CNAME RR"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:177
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:189
+msgid "Hostname, All Addresses"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:176
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:188
+msgid "Hostname, Primary Address"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:173
+msgid "How to enter the LAN or local network router in DNS"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:162
+msgid "How to treat queries of this local domain"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:224
+msgid "IP4 All and IP6 Local"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:223
+msgid "IP4 Only"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:227
+msgid "IP4 and IP6"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:225
+msgid "IP6 Only*"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:226
+msgid "IP6 Preferred"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:199
+msgid "Ignore"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:179
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:191
+msgid "Interface FQDN, All Addresses"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:172
+msgid "LAN DNS"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:237
+msgid "Large"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:120
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:281
+msgid "Limit days between RFC5011 copies to reduce flash writes"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:263
+msgid "Limit extended DNS packet size"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:140
+msgid "Link to supported programs to load DHCP into DNS"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:115
+msgid "List domains to bypass checks of DNSSEC"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:82
+msgid "Listening Port"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:51
+msgid "Local Data"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:153
+msgid "Local Domain"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:161
+msgid "Local Domain Type"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:215
+msgid "Local Host, Encrypted"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:214
+msgid "Local Host, No Encryption"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:66
+msgid "Local Service"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:216
+msgid "Local Subnet, Encrypted"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:217
+msgid "Local Subnet, Static Encryption"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:54
+msgid "Local Zones"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:42
+msgid "Log"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:57
+msgid "Manual Conf"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:236
+msgid "Medium"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:231
+msgid "Memory Resource"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:130
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:291
+msgid "Networks that may trigger Unbound to reload (avoid wan6)"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:175
+msgid "No Entry"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:96
+msgid "No Filter"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:141
+msgid "No Link"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:213
+msgid "No Remote Control"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:45
+msgid ""
+"Note: SSL/TLS library is missing an API. Please review syslog. >> logread ..."
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:35
+msgid ""
+"Note: local DNS is configured to look at odhpcd, but odhpcd UCI lease "
+"trigger is incorrectly set:"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:16
+msgid ""
+"Organize directed forward, stub, and authoritative zones <a href=\"%s\" "
+"target=\"_blank\">(help)</a>."
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:185
+msgid "Override the WAN side router entry in DNS"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:244
+msgid "Passive"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:60
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:66
+msgid "Port servers will receive queries on"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:107
+msgid "Prefix for generated DNS64 addresses"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:269
+msgid "Prevent excessively short cache periods"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:90
+msgid "Protect against upstream response of 127.0.0.0/8"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:95
+msgid "Protect against upstream responses within local subnets"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:249
+msgid "Query Minimize"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:75
+msgid "Recurse"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:220
+msgid "Recursion Protocol"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:241
+msgid "Recursion Strength"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:242
+msgid "Recursion activity affects memory growth and CPU load"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:21
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:24
+msgid "Recursive DNS"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:165
+msgid "Refused"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:48
+msgid "Resource"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:119
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:280
+msgid "Root DSKEY Age"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/extended.lua:11
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/manual.lua:11
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/server.lua:11
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/uciedit.lua:11
+msgid "Save"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:59
+msgid "Server Port"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:65
+msgid "Server TLS Port"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:47
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:33
+msgid "Servers"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:48
+msgid "Servers for this zone; see README.md for optional form"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:97
+msgid "Show: Adblock"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:91
+msgid "Show: DHCP"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:74
+msgid "Show: Unbound"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:58
+msgid "Skip UCI and use /etc/unbound/unbound.conf"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:235
+msgid "Small"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:166
+msgid "Static (local only)"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:48
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:60
+msgid "Statistics"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:39
+msgid "Status"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:256
+msgid "Strict Minimize"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:257
+msgid "Strict version of 'query minimize' but it can break DNS"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:39
+msgid "Stub (forced recursion)"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:71
+msgid "TLS Name Index"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:268
+msgid "TTL Minimum"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:105
+msgid "This could display more statistics with the unbound-control package."
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:188
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:199
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:224
+msgid "This shows '"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:175
+msgid ""
+"This shows 'ubound-control dump_cache' for auditing records including DNSSEC."
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:139
+msgid ""
+"This shows Unbound 'local-data:' entries from default, .conf, or control."
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:151
+msgid ""
+"This shows Unbound 'local-zone:' entries from default, .conf, or control."
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:127
+msgid "This shows Unbound self reported performance statistics."
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:115
+msgid "This shows syslog filtered for events involving Unbound."
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:234
+msgid "Tiny"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:167
+msgid "Transparent (local/global)"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:129
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:290
+msgid "Trigger Networks"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:27
+msgid "Type"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:27
+msgid "Unbound"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:25
+msgid ""
+"Unbound <a href=\"%s\" target=\"_blank\">(NLnet Labs)</a> is a validating, "
+"recursive, and caching DNS resolver <a href=\"%s\" target=\"_blank\">(help)</"
+"a>."
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:210
+msgid "Unbound Control App"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:168
+msgid "Unbound cache is too large to display in LuCI."
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:81
+msgid "Undefined"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:51
+msgid "Use 'resolv.conf.auto'"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:148
+msgid "Use DHCPv4 MAC to discover IP6 hosts SLAAC (EUI64)"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:187
+msgid "Use Upstream"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:197
+msgid "Use extra DNS entries found in /etc/config/dhcp"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:232
+msgid "Use menu System/Processes to observe any memory growth"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:184
+msgid "WAN DNS"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:44
+msgid "Zone (Domain) names included in this zone combination"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:76
+msgid "Zone Download URL"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:43
+msgid "Zone Names"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zone-details.lua:37
+msgid "Zone Type"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/controller/unbound.lua:33
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:30
+msgid "Zones"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:112
+msgid "accept upstream results for"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:123
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:284
+msgid "default"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:175
+msgid "download from <var>%s</var>"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:126
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua:287
+msgid "never"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:118
+msgid "prefetch zone files for"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:115
+msgid "select recursion for"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:121
+msgid "unknown action for"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:206
+msgid "use <var>%s</var> nameservers"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:156
+msgid "use nameservers"
+msgstr ""
+
+#: applications/luci-app-unbound/luasrc/model/cbi/unbound/zones.lua:165
+msgid "with default certificate for <var>%s</var>"
+msgstr ""
diff --git a/applications/luci-app-upnp/po/fi/upnp.po b/applications/luci-app-upnp/po/fi/upnp.po
new file mode 100644
index 000000000..26434056e
--- /dev/null
+++ b/applications/luci-app-upnp/po/fi/upnp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-05-19 19:36+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 1.1.1\n"
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:171
+msgid ""
+"ACLs specify which external ports may be redirected to which internal "
+"addresses and ports"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:191
+msgid "Action"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:31
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
+msgid "Active UPnP Redirects"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:119
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
+msgid "Allow adding forwards only to requesting ip addresses"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:150
+msgid "Announced model number"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
+msgid "Announced serial number"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:160
+msgid "Clean rules interval"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:156
+msgid "Clean rules threshold"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
+msgid "Client Address"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:87
+msgid "Client Port"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:177
+msgid "Comment"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:66
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:62
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:106
+msgid "Delete"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:88
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:148
+msgid "Device UUID"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
+msgid "Downlink"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
+msgid "Enable IGDv1 mode"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
+msgid "Enable NAT-PMP functionality"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
+msgid "Enable UPnP functionality"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
+msgid "Enable additional logging"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
+msgid "Enable secure mode"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
+msgid "External Port"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:179
+msgid "External ports"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-upnp/root/usr/share/rpcd/acl.d/luci-app-upnp.json:3
+msgid "Grant access to upnp procedures"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:86
+msgid "Host"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:183
+msgid "Internal addresses"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:187
+msgid "Internal ports"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:170
+msgid "MiniUPnP ACLs"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
+msgid "MiniUPnP settings"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:152
+msgid "Notify interval"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:142
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
+msgid "Presentation URL"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+msgid "Puts extra debugging information into the system log"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
+msgid "Report system instead of daemon uptime"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
+msgid "Start UPnP and NAT-PMP service"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:70
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:66
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
+msgid "There are no active redirects."
+msgstr ""
+
+#: applications/luci-app-upnp/root/usr/share/luci/menu.d/luci-app-upnp.json:3
+msgid "UPnP"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:76
+msgid ""
+"UPnP allows clients in the local network to automatically configure the "
+"router."
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
+msgid "UPnP lease file"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:75
+msgid "Universal Plug & Play"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:60
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:56
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:100
+msgid "Unknown"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
+msgid "Uplink"
+msgstr ""
+
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:140
+msgid "Value in KByte/s, informational only"
+msgstr ""
+
+#~ msgid ""
+#~ "UPNP allows clients in the local network to automatically configure the "
+#~ "router."
+#~ msgstr ""
+#~ "UPNP allows clients in the local network to automatically configure the "
+#~ "router."
+
+#~ msgid "Log output"
+#~ msgstr "Log output"
+
+#~ msgid ""
+#~ "UPNP should only be enabled if absolutely necessary as it can result in "
+#~ "high security risks for your network."
+#~ msgstr ""
+#~ "UPNP should only be enabled if absolutely necessary as it can result in "
+#~ "high security risks for your network."
diff --git a/applications/luci-app-vnstat/po/fi/vnstat.po b/applications/luci-app-vnstat/po/fi/vnstat.po
new file mode 100644
index 000000000..c979b1686
--- /dev/null
+++ b/applications/luci-app-vnstat/po/fi/vnstat.po
@@ -0,0 +1,79 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2010-11-16 20:54+0100\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\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"
+
+#: applications/luci-app-vnstat/root/usr/share/luci/menu.d/luci-app-vnstat.json:23
+msgid "Configuration"
+msgstr ""
+
+#: applications/luci-app-vnstat/luasrc/view/vnstat.htm:68
+msgid "Daily traffic"
+msgstr ""
+
+#: applications/luci-app-vnstat/root/usr/share/rpcd/acl.d/luci-app-vnstat.json:3
+msgid "Grant UCI access for luci-app-vnstat"
+msgstr ""
+
+#: applications/luci-app-vnstat/root/usr/share/luci/menu.d/luci-app-vnstat.json:14
+msgid "Graphs"
+msgstr ""
+
+#: applications/luci-app-vnstat/luasrc/view/vnstat.htm:67
+msgid "Hourly traffic"
+msgstr ""
+
+#: applications/luci-app-vnstat/luasrc/model/cbi/vnstat.lua:49
+msgid "Monitor selected interfaces"
+msgstr ""
+
+#: applications/luci-app-vnstat/luasrc/view/vnstat.htm:69
+msgid "Monthly traffic"
+msgstr ""
+
+#: applications/luci-app-vnstat/luasrc/view/vnstat.htm:97
+msgid ""
+"No database has been set up yet. Go to the VnStat configuration and enable "
+"monitoring for one or more interfaces."
+msgstr ""
+
+#: applications/luci-app-vnstat/luasrc/model/cbi/vnstat.lua:22
+msgid "Restart VnStat"
+msgstr ""
+
+#: applications/luci-app-vnstat/luasrc/view/vnstat.htm:65
+msgid "Summary display"
+msgstr ""
+
+#: applications/luci-app-vnstat/luasrc/view/vnstat.htm:66
+msgid "Top 10 display"
+msgstr ""
+
+#: applications/luci-app-vnstat/luasrc/view/vnstat.htm:72
+msgid "Update »"
+msgstr ""
+
+#: applications/luci-app-vnstat/luasrc/model/cbi/vnstat.lua:19
+msgid "VnStat"
+msgstr ""
+
+#: applications/luci-app-vnstat/luasrc/view/vnstat.htm:60
+msgid "VnStat Graphs"
+msgstr ""
+
+#: applications/luci-app-vnstat/root/usr/share/luci/menu.d/luci-app-vnstat.json:3
+msgid "VnStat Traffic Monitor"
+msgstr ""
+
+#: applications/luci-app-vnstat/luasrc/model/cbi/vnstat.lua:20
+msgid ""
+"VnStat is a network traffic monitor for Linux that keeps a log of network "
+"traffic for the selected interface(s)."
+msgstr ""
diff --git a/applications/luci-app-vnstat2/po/fi/vnstat2.po b/applications/luci-app-vnstat2/po/fi/vnstat2.po
new file mode 100644
index 000000000..ec3ad6fa4
--- /dev/null
+++ b/applications/luci-app-vnstat2/po/fi/vnstat2.po
@@ -0,0 +1,128 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/graphs.js:57
+msgid "5 Minute"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/config.js:21
+msgid "Cancel"
+msgstr ""
+
+#: applications/luci-app-vnstat2/root/usr/share/luci/menu.d/luci-app-vnstat2.json:27
+msgid "Configuration"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/graphs.js:59
+msgid "Daily"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/config.js:26
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/config.js:82
+msgid "Delete"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/config.js:15
+msgid "Delete interface <em>%h</em>"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/config.js:95
+msgid "Delete…"
+msgstr ""
+
+#: applications/luci-app-vnstat2/root/usr/share/rpcd/acl.d/luci-app-vnstat2.json:3
+msgid "Grant access to LuCI app vnstat2"
+msgstr ""
+
+#: applications/luci-app-vnstat2/root/usr/share/luci/menu.d/luci-app-vnstat2.json:18
+msgid "Graphs"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/graphs.js:58
+msgid "Hourly"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/config.js:81
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/config.js:45
+msgid "Interfaces"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/graphs.js:15
+msgid "Loading graphs…"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/config.js:49
+msgid "Monitor interfaces"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/graphs.js:60
+msgid "Monthly"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/graphs.js:62
+msgid ""
+"No monitored interfaces have been found. Go to the configuration to enable "
+"monitoring for one or more interfaces."
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/config.js:99
+msgid "No unconfigured interfaces found in database."
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/graphs.js:55
+msgid "Summary"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/config.js:16
+msgid ""
+"The interface will be removed from the database permanently. This cannot be "
+"undone."
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/config.js:49
+msgid ""
+"The selected interfaces are automatically added to the vnStat database upon "
+"startup."
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/config.js:104
+msgid ""
+"These interfaces are present in the vnStat database, but are not configured "
+"above."
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/graphs.js:56
+msgid "Top"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/config.js:102
+msgid "Unconfigured interfaces"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/graphs.js:61
+msgid "Yearly"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/config.js:43
+msgid "vnStat"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/graphs.js:53
+msgid "vnStat Graphs"
+msgstr ""
+
+#: applications/luci-app-vnstat2/root/usr/share/luci/menu.d/luci-app-vnstat2.json:3
+msgid "vnStat Traffic Monitor"
+msgstr ""
+
+#: applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/config.js:43
+msgid ""
+"vnStat is a network traffic monitor for Linux that keeps a log of network "
+"traffic for the selected interface(s)."
+msgstr ""
diff --git a/applications/luci-app-vpn-policy-routing/po/fi/vpn-policy-routing.po b/applications/luci-app-vpn-policy-routing/po/fi/vpn-policy-routing.po
new file mode 100644
index 000000000..cc1ae150d
--- /dev/null
+++ b/applications/luci-app-vpn-policy-routing/po/fi/vpn-policy-routing.po
@@ -0,0 +1,441 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:49
+msgid "%s (disabled)"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:44
+msgid "%s (strict mode)"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:38
+msgid "%s is not installed or not found"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:183
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:200
+msgid ""
+"Add an ip rule, not an iptables entry for policies with just the local "
+"address. Use with caution to manipulte policies priorities."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:182
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:185
+msgid ""
+"Allows to specify the list of interface names (in lower case) to be "
+"explicitly supported by the service. Can be useful if your OpenVPN tunnels "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:188
+msgid ""
+"Allows to specify the list of interface names (in lower case) to be ignored "
+"by the service. Can be useful if running both VPN server and VPN client on "
+"the router."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:196
+msgid "Append"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:213
+msgid "Append local IP Tables rules"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:216
+msgid "Append remote IP Tables rules"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:150
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:191
+msgid "Boot Time-out"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:324
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
+msgid ""
+"Checkmark represents the default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:275
+msgid "Comment"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:258
+msgid ""
+"Comment, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:154
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:145
+msgid "Configuration"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:152
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:358
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:351
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:346
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:204
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:57
+msgid "Disable"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:166
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:174
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:178
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:201
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:237
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:241
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:248
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:252
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:244
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:160
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:54
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:179
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:202
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:238
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:242
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:249
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:253
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:269
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:365
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:229
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:204
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/root/usr/share/rpcd/acl.d/luci-app-vpn-policy-routing.json:3
+msgid "Grant UCI access for luci-app-vpn-policy-routing"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:200
+msgid "IP Rules Support"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:195
+msgid "IPTables rule option"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:177
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:188
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:197
+msgid "Insert"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:333
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/js.htm:51
+msgid "Loading"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:280
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:287
+msgid "Local ports"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:277
+msgid "Name"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:205
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:152
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:368
+msgid "Path"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:165
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:173
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:258
+msgid "Policies"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:304
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:292
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:297
+msgid "Remote ports"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:44
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:359
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:42
+msgid "Running"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:159
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:195
+msgid "Select Append for -A and Insert for -I."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:130
+msgid "Service Errors"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:224
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:229
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:125
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:121
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:120
+msgid "Service Status [%s %s]"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:135
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:347
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:247
+msgid "Show Chain Column"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:236
+msgid "Show Enable Column"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:240
+msgid "Show Protocol Column"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:251
+msgid "Show Up/Down Buttons"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:251
+msgid ""
+"Shows the Up/Down buttons for policies, allowing you to move a policy up or "
+"down in the list."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:247
+msgid ""
+"Shows the chain column for policies, allowing you to assign a PREROUTING, "
+"FORWARD, INPUT or OUTPUT chain to a policy."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:236
+msgid ""
+"Shows the enable checkbox column for policies, allowing you to quickly "
+"enable/disable specific policy without deleting it."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:240
+msgid ""
+"Shows the protocol column for policies, allowing you to assign a specific "
+"protocol to a policy."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:213
+msgid ""
+"Special instructions to append iptables rules for local IPs/netmasks/devices."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:216
+msgid "Special instructions to append iptables rules for remote IPs/netmasks."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:41
+msgid "Start"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:224
+msgid ""
+"Starting (WAN) FW Mark for marks used by the service. High starting mark is "
+"used to avoid conflict with SQM/QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:219
+msgid "Starting (WAN) Table ID number for tables created by the service."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:47
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:47
+msgid "Stopped"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:158
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:161
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:185
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:244
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:153
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:172
+msgid "The ipset option for local policies"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:164
+msgid "The ipset option for remote policies"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:191
+msgid ""
+"Time (in seconds) for service to wait for WAN gateway discovery on boot."
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:168
+msgid "Use DNSMASQ ipset"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:167
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:175
+msgid "Use ipset command"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/controller/vpn-policy-routing.lua:4
+msgid "VPN"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/controller/vpn-policy-routing.lua:8
+msgid "VPN Policy Routing"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:118
+msgid "VPN and WAN Policy-Based Routing"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
+msgid "Verbose output"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:206
+msgid "WAN"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:224
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:229
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:219
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:234
+msgid "Web UI Configuration"
+msgstr ""
diff --git a/applications/luci-app-vpnbypass/po/fi/vpnbypass.po b/applications/luci-app-vpnbypass/po/fi/vpnbypass.po
new file mode 100644
index 000000000..b536565d8
--- /dev/null
+++ b/applications/luci-app-vpnbypass/po/fi/vpnbypass.po
@@ -0,0 +1,119 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:26
+msgid "%s (disabled)"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:10
+msgid "%s is not installed or not found"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/view/vpnbypass/buttons.htm:57
+msgid "Disable"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:74
+msgid "Domains to Bypass"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:75
+msgid ""
+"Domains to be accessed directly (outside of the VPN tunnel), see %sREADME%s "
+"for syntax"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/view/vpnbypass/buttons.htm:54
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/root/usr/share/rpcd/acl.d/luci-app-vpnbypass.json:3
+msgid "Grant UCI access for luci-app-vpnbypass"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/view/vpnbypass/js.htm:51
+msgid "Loading"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:57
+msgid "Local IP Addresses to Bypass"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:57
+msgid ""
+"Local IP addresses or subnets with direct internet access (outside of the "
+"VPN tunnel)"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:43
+msgid "Local Ports to Bypass"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:43
+msgid "Local ports to trigger VPN Bypass"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:64
+msgid "Remote IP Addresses to Bypass"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:64
+msgid ""
+"Remote IP addresses or subnets which will be accessed directly (outside of "
+"the VPN tunnel)"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:50
+msgid "Remote Ports to Bypass"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:50
+msgid "Remote ports to trigger VPN Bypass"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/view/vpnbypass/buttons.htm:44
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:22
+msgid "Running"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:33
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:32
+msgid "Service Status [%s %s]"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/view/vpnbypass/buttons.htm:41
+msgid "Start"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/view/vpnbypass/buttons.htm:47
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:24
+msgid "Stopped"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/controller/vpnbypass.lua:4
+msgid "VPN"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/controller/vpnbypass.lua:8
+msgid "VPN Bypass"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:41
+msgid "VPN Bypass Rules"
+msgstr ""
+
+#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:30
+msgid "VPN Bypass Settings"
+msgstr ""
diff --git a/applications/luci-app-watchcat/po/fi/watchcat.po b/applications/luci-app-watchcat/po/fi/watchcat.po
new file mode 100644
index 000000000..af423ba69
--- /dev/null
+++ b/applications/luci-app-watchcat/po/fi/watchcat.po
@@ -0,0 +1,70 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\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"
+
+#: applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua:21
+msgid "Forced reboot delay"
+msgstr ""
+
+#: applications/luci-app-watchcat/root/usr/share/rpcd/acl.d/luci-app-watchcat.json:3
+msgid "Grant UCI access for luci-app-watchcat"
+msgstr ""
+
+#: applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua:40
+msgid "Host address to ping"
+msgstr ""
+
+#: applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua:47
+msgid ""
+"How often to check internet connection. Default unit is seconds, you can you "
+"use the suffix 'm' for minutes, 'h' for hours or 'd' for days"
+msgstr ""
+
+#: applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua:31
+msgid ""
+"In periodic mode, it defines the reboot period. In internet mode, it defines "
+"the longest period of time without internet access before a reboot is "
+"engaged.Default unit is seconds, you can use the suffix 'm' for minutes, 'h' "
+"for hours or 'd' for days"
+msgstr ""
+
+#: applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua:15
+msgid "Operating mode"
+msgstr ""
+
+#: applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua:30
+msgid "Period"
+msgstr ""
+
+#: applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua:39
+msgid "Ping host"
+msgstr ""
+
+#: applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua:46
+msgid "Ping period"
+msgstr ""
+
+#: applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua:5
+#: applications/luci-app-watchcat/root/usr/share/luci/menu.d/luci-app-watchcat.json:3
+msgid "Watchcat"
+msgstr ""
+
+#: applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua:6
+msgid ""
+"Watchcat allows configuring a periodic reboot when the Internet connection "
+"has been lost for a certain period of time."
+msgstr ""
+
+#: applications/luci-app-watchcat/luasrc/model/cbi/watchcat/watchcat.lua:22
+msgid ""
+"When rebooting the system, the watchcat will trigger a soft reboot. Entering "
+"a non zero value here will trigger a delayed hard reboot if the soft reboot "
+"fails. Enter a number of seconds to enable, use 0 to disable"
+msgstr ""
diff --git a/applications/luci-app-wifischedule/po/fi/wifischedule.po b/applications/luci-app-wifischedule/po/fi/wifischedule.po
new file mode 100644
index 000000000..acc653f77
--- /dev/null
+++ b/applications/luci-app-wifischedule/po/fi/wifischedule.po
@@ -0,0 +1,142 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:81
+msgid "Activate wifi"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:65
+msgid "Could not find required /usr/bin/wifi_schedule.sh or /sbin/wifi"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:244
+msgid "Could not find required program /usr/bin/iwinfo"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua:45
+msgid "Cron Jobs"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:154
+msgid "Day(s) of Week"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:39
+msgid "Defines a schedule when to turn on and off wifi."
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:133
+msgid "Determine Modules Automatically"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:88
+msgid "Disable wifi gracefully"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:95
+msgid "Disabled wifi forced"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:148
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:55
+msgid "Enable Wifi Schedule"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:74
+msgid "Enable logging"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:235
+msgid "Force disabling wifi even if stations associated"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:161
+msgid "Friday"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:48
+msgid "Global Settings"
+msgstr ""
+
+#: applications/luci-app-wifischedule/root/usr/share/rpcd/acl.d/luci-app-wifischedule.json:3
+msgid "Grant UCI access for luci-app-wifischedule"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:157
+msgid "Monday"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:162
+msgid "Saturday"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua:31
+msgid "Schedule"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:142
+msgid "Schedule events"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:196
+msgid "Start Time"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:167
+msgid "Start WiFi"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:230
+msgid "Stop Time"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:201
+msgid "Stop WiFi"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:163
+msgid "Sunday"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:33
+msgid "The value %s is invalid"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:160
+msgid "Thursday"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:158
+msgid "Tuesday"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:102
+msgid "Unload Modules (experimental; saves more power)"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua:33
+msgid "View Cron Jobs"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua:32
+msgid "View Logfile"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:159
+msgid "Wednesday"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua:27
+#: applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua:39
+msgid "Wifi Schedule"
+msgstr ""
+
+#: applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua:39
+msgid "Wifi Schedule Logfile"
+msgstr ""
diff --git a/applications/luci-app-wireguard/po/fi/wireguard.po b/applications/luci-app-wireguard/po/fi/wireguard.po
new file mode 100644
index 000000000..36c9acc38
--- /dev/null
+++ b/applications/luci-app-wireguard/po/fi/wireguard.po
@@ -0,0 +1,110 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:149
+msgid "Allowed IPs"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:225
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:259
+msgid "Collecting data..."
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:220
+msgid "Configuration"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:170
+msgid "Data Received"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:171
+msgid "Data Transmitted"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:144
+msgid "Endpoint"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:131
+msgid "Firewall Mark"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:189
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:116
+msgid "Interface does not have a public key!"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:166
+msgid "Latest Handshake"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:125
+msgid "Listen Port"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:81
+msgid "Never"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:251
+msgid "Peer"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:156
+msgid "Persistent Keepalive"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:119
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:139
+msgid "Public Key"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:191
+msgid "Show/Hide QR-Code"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:211
+msgid ""
+"The QR-Code works per wg interface, it will be refreshed with every manual "
+"page reload and transfers the following information:"
+msgstr ""
+
+#: applications/luci-app-wireguard/root/usr/share/luci/menu.d/luci-app-wireguard.json:3
+msgid "WireGuard Status"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:212
+msgid ""
+"[Interface] A random, on the fly generated 'PrivateKey', the key will not be "
+"saved on the router"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:213
+msgid ""
+"[Peer] The 'PublicKey' of that wg interface and the 'AllowedIPs' with the "
+"default of '0.0.0.0/0, ::/0' to allow sending traffic to any IPv4 and IPv6 "
+"address"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:91
+msgid "h ago"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:89
+msgid "m ago"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:93
+msgid "over a day ago"
+msgstr ""
+
+#: applications/luci-app-wireguard/luasrc/view/wireguard.htm:87
+msgid "s ago"
+msgstr ""
diff --git a/applications/luci-app-wol/po/fi/wol.po b/applications/luci-app-wol/po/fi/wol.po
new file mode 100644
index 000000000..956e40add
--- /dev/null
+++ b/applications/luci-app-wol/po/fi/wol.po
@@ -0,0 +1,78 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-04-19 00:29+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-wol/htdocs/luci-static/resources/view/wol.js:65
+msgid "Choose the host to wake up or enter a custom MAC address to use"
+msgstr ""
+
+#: applications/luci-app-wol/htdocs/luci-static/resources/view/wol.js:118
+msgid "Dismiss"
+msgstr ""
+
+#: applications/luci-app-wol/root/usr/share/rpcd/acl.d/luci-app-wol.json:3
+msgid "Grant access to wake-on-lan executables"
+msgstr ""
+
+#: applications/luci-app-wol/htdocs/luci-static/resources/view/wol.js:64
+msgid "Host to wake up"
+msgstr ""
+
+#: applications/luci-app-wol/htdocs/luci-static/resources/view/wol.js:52
+msgid "Network interface to use"
+msgstr ""
+
+#: applications/luci-app-wol/htdocs/luci-static/resources/view/wol.js:89
+msgid "No target host specified!"
+msgstr ""
+
+#: applications/luci-app-wol/htdocs/luci-static/resources/view/wol.js:45
+msgid ""
+"Sometimes only one of the two tools works. If one fails, try the other one"
+msgstr ""
+
+#: applications/luci-app-wol/htdocs/luci-static/resources/view/wol.js:53
+msgid "Specifies the interface the WoL packet is sent on"
+msgstr ""
+
+#: applications/luci-app-wol/htdocs/luci-static/resources/view/wol.js:38
+#: applications/luci-app-wol/root/usr/share/luci/menu.d/luci-app-wol.json:3
+msgid "Wake on LAN"
+msgstr ""
+
+#: applications/luci-app-wol/htdocs/luci-static/resources/view/wol.js:39
+msgid ""
+"Wake on LAN is a mechanism to remotely boot computers in the local network."
+msgstr ""
+
+#: applications/luci-app-wol/htdocs/luci-static/resources/view/wol.js:135
+msgid "Wake up host"
+msgstr ""
+
+#: applications/luci-app-wol/htdocs/luci-static/resources/view/wol.js:106
+#: applications/luci-app-wol/htdocs/luci-static/resources/view/wol.js:111
+msgid "Waking host"
+msgstr ""
+
+#: applications/luci-app-wol/htdocs/luci-static/resources/view/wol.js:124
+msgid "Waking host failed:"
+msgstr ""
+
+#: applications/luci-app-wol/htdocs/luci-static/resources/view/wol.js:44
+msgid "WoL program"
+msgstr ""
+
+#~ msgid "Broadcast on all interfaces"
+#~ msgstr "Broadcast on all interfaces"
+
+#~ msgid "Starting WoL utility:"
+#~ msgstr "Starting WoL utility:"
diff --git a/applications/luci-app-yggdrasil/po/fi/yggdrasil.po b/applications/luci-app-yggdrasil/po/fi/yggdrasil.po
new file mode 100644
index 000000000..92d9398ff
--- /dev/null
+++ b/applications/luci-app-yggdrasil/po/fi/yggdrasil.po
@@ -0,0 +1,327 @@
+msgid ""
+msgstr ""
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/status.js:33
+msgid "Active peers"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:56
+msgid "Address to listen for incoming connections"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/session_firewall.js:16
+msgid "Allow from direct"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/session_firewall.js:18
+msgid "Allow from remote"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/session_firewall.js:17
+msgid "Allow network traffic from directly connected peers"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/session_firewall.js:19
+msgid ""
+"Allow network traffic from remote nodes on the network that you are not "
+"directly peered with"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/session_firewall.js:21
+msgid ""
+"Allow outbound network traffic regardless of AllowFromDirect or "
+"AllowFromRemote"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:14
+msgid ""
+"Allow tunneling non-Yggdrasil traffic over Yggdrasil. This effectively "
+"allows you to use Yggdrasil to route to, or to bridge other networks, "
+"similar to a VPN tunnel. Tunnelling works between any two nodes and does not "
+"require them to be directly peered."
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/session_firewall.js:21
+msgid "Always allow outbound"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/session_firewall.js:31
+msgid "Blacklisted public keys"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:23
+msgid ""
+"By default, nodeinfo contains some defaults including the platform, "
+"architecture and Yggdrasil version. These can help when surveying the "
+"network and diagnosing network routing problems. Enabling nodeinfo privacy "
+"prevents this, so that only items specified in \"NodeInfo\" are sent back if "
+"specified."
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:22
+msgid "Enable NodeInfo privacy"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/session_firewall.js:14
+msgid "Enable session firewall"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/keys.js:11
+#: applications/luci-app-yggdrasil/root/usr/share/luci/menu.d/luci-app-yggdrasil.json:41
+msgid "Encryption keys"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/keys.js:15
+msgid "Encryption private key"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/keys.js:14
+msgid "Encryption public key"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:11
+msgid "General settings"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/root/usr/share/rpcd/acl.d/luci-app-yggdrasil.json:3
+msgid "Grant access to LuCI app yggdrasil"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:26
+msgid "IPv4 local subnet"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:19
+msgid "IPv4 remote subnet"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:22
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:29
+msgid "IPv4 subnet"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:20
+msgid "IPv4 subnets belonging to remote nodes, mapped to the node's public"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:27
+msgid ""
+"IPv4 subnets belonging to this node's end of the tunnels. Only traffic from "
+"these ranges will be tunnelled."
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:40
+msgid "IPv6 local subnet"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:33
+msgid "IPv6 remote subnet"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:36
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:44
+msgid "IPv6 subnet"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:34
+msgid "IPv6 subnets belonging to remote nodes, mapped to the node's public"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:41
+msgid ""
+"IPv6 subnets belonging to this node's end of the tunnels. Only traffic from "
+"these ranges (or the Yggdrasil node's IPv6 address/subnet) will be tunnelled."
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/session_firewall.js:15
+msgid ""
+"If disabled, network traffic from any node will be allowed. If enabled, the "
+"below rules apply"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/peers.js:25
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:45
+msgid "Interface name"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/peers.js:20
+msgid "Interface peers"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/keys.js:16
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/keys.js:19
+msgid "Keep this private. When compromised, generate a new keypair and IPv6."
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:21
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:35
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:15
+msgid "Link-local TCP port"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/peers.js:21
+msgid ""
+"List of connection strings for outbound peer connections in URI format, "
+"arranged by source interface, e.g. { \"eth0\": [ tcp://a.b.c.d:e ] }. Note "
+"that SOCKS peerings will NOT be affected by this option and should go in the "
+"\"Peers\" section instead."
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/peers.js:12
+msgid ""
+"List of connection strings for outbound peer connections in URI format, e.g. "
+"tcp://a.b.c.d:e or socks://a.b.c.d:e/f.g.h.i:j. These connections will obey "
+"the operating system routing table, therefore you should use this section "
+"when you may connect via different interfaces."
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:50
+msgid "Listen addresses"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:51
+msgid ""
+"Listen addresses for incoming connections. You will need to add listeners in "
+"order to accept incoming peerings from non-local nodes. Multicast peer "
+"discovery will work regardless of any listeners set here. Each listener "
+"should be specified in URI format as above, e.g. tcp://0.0.0.0:0 or tcp://"
+"[::]:0 to listen on all interfaces."
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:37
+msgid "MTU size for the interface"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:39
+msgid "Maximum size of all switch queues combined"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:41
+msgid "Multicast interfaces"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/session_firewall.js:25
+msgid ""
+"Network traffic is always accepted from those peers, regardless of "
+"AllowFromDirect or AllowFromRemote"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/session_firewall.js:32
+msgid ""
+"Network traffic is always rejected from those peers, regardless of "
+"AllowFromDirect or AllowFromRemote"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:29
+msgid "NodeInfo"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:30
+msgid ""
+"Optional node info. This must be a { \"key\": \"value\", ... } map or set as "
+"null. This is entirely optional but, if set, is visible to the whole network "
+"on request."
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/peers.js:11
+#: applications/luci-app-yggdrasil/root/usr/share/luci/menu.d/luci-app-yggdrasil.json:23
+msgid "Peers"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:21
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:35
+msgid "Public encryption key"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/session_firewall.js:26
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/session_firewall.js:33
+msgid "Public key"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:42
+msgid ""
+"Regular expressions for which interfaces multicast peer discovery should be "
+"enabled on. If none specified, multicast peer discovery is disabled. The "
+"default value is .* which uses all interfaces."
+msgstr ""
+
+#: applications/luci-app-yggdrasil/root/usr/share/luci/menu.d/luci-app-yggdrasil.json:50
+msgid "Session firewall"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/session_firewall.js:11
+msgid "Session firewall settings"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:46
+msgid "Set .* to multicast on all interfaces"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/root/usr/share/luci/menu.d/luci-app-yggdrasil.json:32
+msgid "Settings"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/keys.js:18
+msgid "Signing private key"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/keys.js:17
+msgid "Signing public key"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/root/usr/share/luci/menu.d/luci-app-yggdrasil.json:14
+msgid "Status"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:22
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:29
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:36
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:44
+msgid "Subnet"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:16
+msgid ""
+"The port number to be used for the link-local TCP listeners for the "
+"configured MulticastInterfaces. This option does not affect "
+"listenersspecified in the Listen option. Unless you plan to firewall link-"
+"localtraffic, it is best to leave this as the default value of 0. This "
+"option cannot currently be changed by reloading config during runtime."
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:11
+msgid "Tunnel Routing"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/root/usr/share/luci/menu.d/luci-app-yggdrasil.json:59
+msgid "Tunnel routing"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/session_firewall.js:24
+msgid "Whitelisted public keys"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/root/usr/share/luci/menu.d/luci-app-yggdrasil.json:3
+msgid "Yggdrasil"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/status.js:30
+msgid "Yggdrasil node status"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:14
+msgid "Yggdrasil's network interface name"
+msgstr ""
+
+#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:58
+msgid "e.g. tcp://0.0.0.0:0 or tcp://[::]:0"
+msgstr ""