summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--applications/luci-app-rp-pppoe-server/Makefile15
-rw-r--r--applications/luci-app-rp-pppoe-server/luasrc/controller/rp-pppoe-server.lua13
-rw-r--r--applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua72
-rw-r--r--applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua10
-rw-r--r--applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/cpufreq.lua14
-rw-r--r--applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/thermal.lua29
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/cpufreq.lua25
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/nut.lua42
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/thermal.lua20
-rw-r--r--applications/luci-app-statistics/root/etc/config/luci_statistics8
-rwxr-xr-xapplications/luci-app-statistics/root/usr/bin/stat-genconfig12
-rw-r--r--applications/luci-app-travelmate/Makefile13
-rw-r--r--applications/luci-app-travelmate/luasrc/controller/travelmate.lua11
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate.lua53
-rw-r--r--applications/luci-app-travelmate/po/templates/travelmate.pot56
-rwxr-xr-xapplications/luci-app-travelmate/root/etc/uci-defaults/40_luci-travelmate11
-rw-r--r--applications/luci-app-wifischedule/Makefile22
-rw-r--r--applications/luci-app-wifischedule/README.md86
-rw-r--r--applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua32
-rw-r--r--applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua259
-rw-r--r--applications/luci-app-wifischedule/luasrc/view/wifischedule/file_viewer.htm22
-rw-r--r--documentation/i18n.md16
-rw-r--r--luci.mk12
-rw-r--r--modules/luci-base/Makefile7
-rw-r--r--modules/luci-base/luasrc/sys/zoneinfo/tzdata.lua99
-rw-r--r--modules/luci-base/luasrc/sys/zoneinfo/tzoffset.lua41
-rw-r--r--modules/luci-base/po/ca/base.po18
-rw-r--r--modules/luci-base/po/cs/base.po18
-rw-r--r--modules/luci-base/po/de/base.po18
-rw-r--r--modules/luci-base/po/el/base.po13
-rw-r--r--modules/luci-base/po/en/base.po13
-rw-r--r--modules/luci-base/po/es/base.po18
-rw-r--r--modules/luci-base/po/fr/base.po18
-rw-r--r--modules/luci-base/po/he/base.po15
-rw-r--r--modules/luci-base/po/hu/base.po18
-rw-r--r--modules/luci-base/po/it/base.po18
-rw-r--r--modules/luci-base/po/ja/base.po18
-rw-r--r--modules/luci-base/po/ms/base.po8
-rw-r--r--modules/luci-base/po/no/base.po18
-rw-r--r--modules/luci-base/po/pl/base.po18
-rw-r--r--modules/luci-base/po/pt-br/base.po18
-rw-r--r--modules/luci-base/po/pt/base.po18
-rw-r--r--modules/luci-base/po/ro/base.po13
-rw-r--r--modules/luci-base/po/ru/base.po19
-rw-r--r--modules/luci-base/po/sk/base.po8
-rw-r--r--modules/luci-base/po/sv/base.po8
-rw-r--r--modules/luci-base/po/templates/base.pot8
-rw-r--r--modules/luci-base/po/tr/base.po8
-rw-r--r--modules/luci-base/po/uk/base.po18
-rw-r--r--modules/luci-base/po/vi/base.po8
-rw-r--r--modules/luci-base/po/zh-cn/base.po18
-rw-r--r--modules/luci-base/po/zh-tw/base.po18
-rw-r--r--modules/luci-base/root/etc/config/luci5
-rw-r--r--modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua2
-rw-r--r--modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi_add.lua6
-rwxr-xr-xmodules/luci-mod-admin-full/root/etc/uci-defaults/50_luci-mod-admin-full22
-rw-r--r--protocols/luci-proto-wireguard/Makefile16
-rw-r--r--protocols/luci-proto-wireguard/luasrc/model/cbi/admin_network/proto_wireguard.lua148
-rw-r--r--protocols/luci-proto-wireguard/luasrc/model/network/proto_wireguard.lua42
59 files changed, 1377 insertions, 255 deletions
diff --git a/applications/luci-app-rp-pppoe-server/Makefile b/applications/luci-app-rp-pppoe-server/Makefile
new file mode 100644
index 0000000000..6cf4595cea
--- /dev/null
+++ b/applications/luci-app-rp-pppoe-server/Makefile
@@ -0,0 +1,15 @@
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+LUCI_TITLE:=Roaring Penguing PPPoE Server
+LUCI_DEPENDS:=+rp-pppoe-server
+
+include ../../luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
diff --git a/applications/luci-app-rp-pppoe-server/luasrc/controller/rp-pppoe-server.lua b/applications/luci-app-rp-pppoe-server/luasrc/controller/rp-pppoe-server.lua
new file mode 100644
index 0000000000..105a80e28d
--- /dev/null
+++ b/applications/luci-app-rp-pppoe-server/luasrc/controller/rp-pppoe-server.lua
@@ -0,0 +1,13 @@
+-- Copyright 2015 Daniel Dickinson <openwrt@daniel.thecshore.com>
+-- Licensed to the public under the Apache License 2.0.
+
+module("luci.controller.rp-pppoe-server", package.seeall)
+
+function index()
+ if not nixio.fs.access("/etc/config/pppoe") then
+ return
+ end
+
+ entry({"admin", "services", "rp-pppoe-server"}, cbi("rp-pppoe-server"), _("RP PPPoE Server"))
+end
+
diff --git a/applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua b/applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua
new file mode 100644
index 0000000000..ef15ed6127
--- /dev/null
+++ b/applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua
@@ -0,0 +1,72 @@
+-- Copyright 2015 Daniel Dickinson <openwrt@daniel.thecshore.com>
+-- Licensed to the public under the Apache License 2.0.
+
+local m, s, o
+
+local nixio = require "nixio"
+
+m = Map("pppoe", translate("Roaring Penguin PPPoE Server"),
+ translate("PPPoE Server Configuration"))
+
+s = m:section(TypedSection, "pppoe_server", translate("Server Configuration"))
+s.addremove = false
+s.anonymous = true
+
+o = s:option(Value, "interface", translate("Interface"), translate("Interface on which to listen."))
+o.template = "cbi/network_ifacelist"
+o.nocreate = true
+
+o = s:option(Value, "ac_name", translate("Access Concentrator Name"))
+o.optional = true
+
+o = s:option(DynamicList, "service_name", translate("Service Name"))
+o.optional = true
+
+o = s:option(Value, "maxsessionsperpeer", translate("Maximum sessions per peer"))
+o.optional = true
+o.datatype = "uinteger"
+
+o = s:option(Value, "localip", translate("IP of listening side"))
+o.datetype = "ipaddr"
+
+o = s:option(Value, "firstremoteip", translate("First remote IP"))
+o.datatype = "ipaddr"
+
+o = s:option(Value, "maxsessions", translate("Maximum sessions"))
+o.datatype = "uinteger"
+o.default = 64
+o.optional = true
+
+o = s:option(Value, "optionsfile", translate("Options file"))
+o.default = "/etc/ppp/pppoe-server-options"
+o.optional = true
+
+o = s:option(Flag, "randomsessions", translate("Random session selection"), translate("Instead of starting at beginning and going to end, randomize session number"))
+o.optional = true
+
+o = s:option(Value, "unit", translate("Unit"), translate("PPP unit number"))
+o.optional = true
+o.datatype = "uinteger"
+o.default = 0
+
+o = s:option(Value, "offset", translate("Offset"), translate("PPP offset"))
+o.optional = true
+o.datatype = "uinteger"
+o.default = 0
+
+o = s:option(Value, "timeout", translate("Timeout"))
+o.optional = true
+o.datatype = "uinteger"
+o.default = 60
+
+o = s:option(Value, "mss", translate("MSS"))
+o.optional = true
+o.datatype = "uinteger"
+o.default = 1468
+
+
+o = s:option(Flag, "sync", translate("Sync"))
+o.optional = true
+o.default = false
+
+return m
diff --git a/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua b/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua
index 3f26aeed6f..36c5554d35 100644
--- a/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua
+++ b/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua
@@ -25,6 +25,7 @@ function index()
conntrack = _("Conntrack"),
cpu = _("Processor"),
+ cpufreq = _("CPU Frequency"),
csv = _("CSV Output"),
df = _("Disk Space Usage"),
disk = _("Disk Usage"),
@@ -49,6 +50,7 @@ function index()
sensors = _("Sensors"),
splash_leases = _("Splash Leases"),
tcpconns = _("TCP Connections"),
+ thermal = _("Thermal"),
unixsock = _("UnixSock"),
uptime = _("Uptime")
}
@@ -56,8 +58,12 @@ function index()
-- our collectd menu
local collectd_menu = {
output = { "csv", "network", "rrdtool", "unixsock" },
- general = { "cpu", "df", "disk", "email", "entropy", "exec", "irq", "load", "memory", "nut", "processes", "sensors", "uptime" },
- network = { "conntrack", "dns", "interface", "iptables", "netlink", "olsrd", "openvpn", "ping", "splash_leases", "tcpconns", "iwinfo" }
+ general = { "cpu", "cpufreq", "df", "disk", "email",
+ "entropy", "exec", "irq", "load", "memory",
+ "nut", "processes", "sensors", "thermal", "uptime" },
+ network = { "conntrack", "dns", "interface", "iptables",
+ "netlink", "olsrd", "openvpn", "ping",
+ "splash_leases", "tcpconns", "iwinfo" }
}
-- create toplevel menu nodes
diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/cpufreq.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/cpufreq.lua
new file mode 100644
index 0000000000..d1116630b4
--- /dev/null
+++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/cpufreq.lua
@@ -0,0 +1,14 @@
+-- Licensed to the public under the Apache License 2.0.
+
+m = Map("luci_statistics",
+ translate("CPU Frequency Plugin Configuration"),
+ translate("This plugin collects statistics about the processor frequency scaling."))
+
+-- collectd_cpufreq config section
+s = m:section( NamedSection, "collectd_cpufreq", "luci_statistics" )
+
+-- collectd_cpufreq.enable
+enable = s:option( Flag, "enable", translate("Enable this plugin") )
+enable.default = 0
+
+return m
diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/thermal.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/thermal.lua
new file mode 100644
index 0000000000..bdf41b79bc
--- /dev/null
+++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/thermal.lua
@@ -0,0 +1,29 @@
+-- Licensed to the public under the Apache License 2.0.
+
+m = Map("luci_statistics",
+ translate("Thermal Plugin Configuration"),
+ translate("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 )")
+ )
+
+-- collectd_thermal config section
+s = m:section( NamedSection, "collectd_thermal", "luci_statistics" )
+
+-- collectd_thermal.enable
+enable = s:option( Flag, "enable", translate("Enable this plugin") )
+enable.default = 0
+
+-- collectd_thermal.tz (Device)
+tz = s:option( Value, "Device", translate("Monitor device(s) / thermal zone(s)"),
+ translate("Empty value = monitor all") )
+tz.optional = true
+tz:depends( "enable", 1 )
+
+-- collectd_thermal.ignoreselected (IgnoreSelected)
+ignoreselected = s:option( Flag, "IgnoreSelected", translate("Monitor all except specified") )
+ignoreselected.default = 0
+ignoreselected.optional = true
+ignoreselected:depends( "enable", 1 )
+
+return m
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/cpufreq.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/cpufreq.lua
new file mode 100644
index 0000000000..25a72d2285
--- /dev/null
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/cpufreq.lua
@@ -0,0 +1,25 @@
+-- Licensed to the public under the Apache License 2.0.
+
+module("luci.statistics.rrdtool.definitions.cpufreq",package.seeall)
+
+function rrdargs( graph, plugin, plugin_instance, dtype )
+
+ return {
+ title = "%H: Processor frequency",
+ alt_autoscale = true,
+ vlabel = "Frequency (Hz)",
+ number_format = "%3.2lf%s",
+ data = {
+ sources = {
+ cpufreq = { "" }
+ },
+ options = {
+ cpufreq_0 = { color = "ff0000", title = "Core 0", noarea=true, overlay=true },
+ cpufreq_1 = { color = "0000ff", title = "Core 1", noarea=true, overlay=true },
+ cpufreq_2 = { color = "00ff00", title = "Core 2", noarea=true, overlay=true },
+ cpufreq_3 = { color = "00ffff", title = "Core 3", noarea=true, overlay=true }
+ }
+ }
+ }
+end
+
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/nut.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/nut.lua
index 8b04ab8b38..dd93196902 100644
--- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/nut.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/nut.lua
@@ -32,23 +32,24 @@ function rrdargs( graph, plugin, plugin_instance, dtype )
options = {
current_output = { color = "00e000", title = "Output current", noarea=true, overlay=true },
- current_battery = { color = "0000ff", title = "Battery current", noarea=true, overlay=true },
+ current_battery = { color = "0000ff", title = "Battery current", noarea=true, overlay=true }
}
}
}
local percentage = {
- title = "%H: Battery charge on UPS \"%pi\"",
+ title = "%H: Battery charge/load on UPS \"%pi\"",
vlabel = "Percent",
y_min = "0",
y_max = "100",
number_format = "%5.1lf%%",
data = {
instances = {
- percent = "charge"
+ percent = { "charge", "load" }
},
options = {
- percent_charge = { color = "00ff00", title = "Charge level" }
+ percent_charge = { color = "00ff00", title = "Charge level" },
+ percent_load = { color = "ff0000", title = "Load" }
}
}
}
@@ -78,10 +79,39 @@ function rrdargs( graph, plugin, plugin_instance, dtype )
timeleft = { "battery" }
},
options = {
- timeleft_battery = { color = "0000ff", title = "Time left", transform_rpn = "60,/" }
+ timeleft_battery = { color = "0000ff", title = "Time left", transform_rpn = "60,/", noarea=true }
}
}
}
- return { voltages, currents, percentage, temperature, timeleft }
+ local power = {
+ title = "%H: Power on UPS \"%pi\"",
+ vlabel = "Power",
+ number_format = "%5.1lf%%",
+ data = {
+ instances = {
+ power = { "ups" }
+ },
+ options = {
+ power_ups = { color = "00ff00", title = "Power level" }
+ }
+ }
+ }
+
+ local frequencies = {
+ title = "%H: Frequencies on UPS \"%pi\"",
+ vlabel = "Hz",
+ number_format = "%5.1lfHz",
+ data = {
+ instances = {
+ frequency = { "input", "output" }
+ },
+
+ options = {
+ frequency_output = { color = "00e000", title = "Output frequency", noarea=true, overlay=true },
+ frequency_input = { color = "ffb000", title = "Input frequency", noarea=true, overlay=true }
+ }
+ }
+ }
+ return { voltages, currents, percentage, temperature, timeleft, power, frequencies }
end
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/thermal.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/thermal.lua
new file mode 100644
index 0000000000..532246465e
--- /dev/null
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/thermal.lua
@@ -0,0 +1,20 @@
+-- Licensed to the public under the Apache License 2.0.
+
+module("luci.statistics.rrdtool.definitions.thermal",package.seeall)
+
+function rrdargs( graph, plugin, plugin_instance, dtype )
+
+ return {
+ title = "%H: Temperature of %pi",
+ alt_autoscale = true,
+ vlabel = "Celsius",
+ number_format = "%3.1lf%s",
+ data = {
+ types = { "temperature" },
+ options = {
+ temperature = { color = "ff0000", title = "Temperature", noarea=true },
+ }
+ }
+ }
+end
+
diff --git a/applications/luci-app-statistics/root/etc/config/luci_statistics b/applications/luci-app-statistics/root/etc/config/luci_statistics
index 4435d5c61e..774a8382e2 100644
--- a/applications/luci-app-statistics/root/etc/config/luci_statistics
+++ b/applications/luci-app-statistics/root/etc/config/luci_statistics
@@ -55,6 +55,9 @@ config statistics 'collectd_conntrack'
config statistics 'collectd_cpu'
option enable '1'
+config statistics 'collectd_cpufreq'
+ option enable '0'
+
config statistics 'collectd_df'
option enable '0'
option Devices '/dev/mtdblock/4'
@@ -151,6 +154,11 @@ config statistics 'collectd_tcpconns'
option ListeningPorts '0'
option LocalPorts '22 80'
+config statistics 'collectd_thermal'
+ option enable '0'
+ option IgnoreSelected '0'
+ option Device ''
+
config statistics 'collectd_uptime'
option enable '0'
diff --git a/applications/luci-app-statistics/root/usr/bin/stat-genconfig b/applications/luci-app-statistics/root/usr/bin/stat-genconfig
index 49d8a09935..df9af15261 100755
--- a/applications/luci-app-statistics/root/usr/bin/stat-genconfig
+++ b/applications/luci-app-statistics/root/usr/bin/stat-genconfig
@@ -273,6 +273,12 @@ plugins = {
{ }
},
+ cpufreq = {
+ { },
+ { },
+ { }
+ },
+
csv = {
{ "DataDir" },
{ "StoreRates" },
@@ -417,6 +423,12 @@ plugins = {
{ "LocalPorts", "RemotePorts" }
},
+ thermal = {
+ { },
+ { "IgnoreSelected" },
+ { "Device" }
+ },
+
unixsock = {
{ "SocketFile", "SocketGroup", "SocketPerms" },
{ },
diff --git a/applications/luci-app-travelmate/Makefile b/applications/luci-app-travelmate/Makefile
new file mode 100644
index 0000000000..f4b1b0a4e3
--- /dev/null
+++ b/applications/luci-app-travelmate/Makefile
@@ -0,0 +1,13 @@
+#
+# This is free software, licensed under the Apache License, Version 2.0 .
+#
+
+include $(TOPDIR)/rules.mk
+
+LUCI_TITLE:=LuCI support for Travelmate
+LUCI_DEPENDS:=+travelmate
+LUCI_PKGARCH:=all
+
+include ../../luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
diff --git a/applications/luci-app-travelmate/luasrc/controller/travelmate.lua b/applications/luci-app-travelmate/luasrc/controller/travelmate.lua
new file mode 100644
index 0000000000..27c19c4e52
--- /dev/null
+++ b/applications/luci-app-travelmate/luasrc/controller/travelmate.lua
@@ -0,0 +1,11 @@
+-- Licensed to the public under the Apache License 2.0.
+
+module("luci.controller.travelmate", package.seeall)
+
+function index()
+ if not nixio.fs.access("/etc/config/travelmate") then
+ return
+ end
+
+ entry({"admin", "services", "travelmate"}, cbi("travelmate"), _("Travelmate"), 60)
+end
diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate.lua
new file mode 100644
index 0000000000..9050ae9686
--- /dev/null
+++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate.lua
@@ -0,0 +1,53 @@
+-- Licensed to the public under the Apache License 2.0.
+
+m = Map("travelmate", translate("Travelmate"),
+ translate("Configuration of the Travelmate package to enable travel router functionality. ") .. [[</p>]] ..
+ translate("Brief advice: Create a wwan interface, configure it to use dhcp and " ..
+ "add it to the wan zone in firewall. Create the wifi interfaces to be used ('client' mode, " ..
+ "assigned to wwan network, left as disabled). Travelmate will try " ..
+ "to connect to the known wifi client interfaces in the defined order. ") ..
+ [[<a href="https://github.com/openwrt/packages/tree/master/net/travelmate/files/README.md" target="_blank">]]
+ .. translate("Link to detailed advice")
+ .. [[</a>]] )
+
+-- General options
+
+s = m:section(NamedSection, "global", "travelmate", translate("Global options"))
+
+o = s:option(Flag, "trm_enabled", translate("Enable Travelmate"))
+o.rmempty = false
+o.default = 0
+
+o = s:option(Value, "trm_loop", translate("Loop timeout in seconds for wlan monitoring"),
+ translate("Default 30, range 5-60"))
+o.rmempty = false
+o.default = 30
+o.datatype = "range(5,60)"
+
+o = s:option(Value, "trm_maxretry", translate("Max. number of connection retries to an uplink"),
+ translate("Default 3, range 0-10. Set to 0 to allow unlimited retries"))
+o.rmempty = false
+o.default = 3
+o.datatype = "range(0,10)"
+
+-- Extra options
+
+e = m:section(NamedSection, "global", "travelmate", translate("Extra options"))
+
+a = e:option(Flag, "trm_debug", translate("Debug logging"))
+a.rmempty = true
+a.default = a.disabled
+
+a = e:option(Value, "trm_device", translate("Use only one radio, e.g. 'radio0'"),
+ translate("Default: empty = use all radios."))
+a.rmempty = true
+a.default = ""
+a.datatype = "uciname"
+
+a = e:option(Flag, "trm_iw", translate("Use iw for scanning"),
+ translate("Disable this if you want to use iwinfo instead of iw"))
+a.rmempty = true
+a.default = a.enabled
+
+return m
+
diff --git a/applications/luci-app-travelmate/po/templates/travelmate.pot b/applications/luci-app-travelmate/po/templates/travelmate.pot
new file mode 100644
index 0000000000..533b3e2639
--- /dev/null
+++ b/applications/luci-app-travelmate/po/templates/travelmate.pot
@@ -0,0 +1,56 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+msgid ""
+"Brief advice: Create a wwan interface, configure it to use dhcp and add it "
+"to the wan zone in firewall. Create the wifi interfaces to be used ('client' "
+"mode, assigned to wwan network, left as disabled). Travelmate will try to "
+"connect to the known wifi client interfaces in the defined order."
+msgstr ""
+
+msgid ""
+"Configuration of the Travelmate package to enable travel router "
+"functionality."
+msgstr ""
+
+msgid "Debug logging"
+msgstr ""
+
+msgid "Default 3, range 0-10. Set to 0 to allow unlimited retries"
+msgstr ""
+
+msgid "Default 30, range 5-60"
+msgstr ""
+
+msgid "Default: empty = use all radios."
+msgstr ""
+
+msgid "Disable this if you want to use iwinfo instead of iw"
+msgstr ""
+
+msgid "Enable Travelmate"
+msgstr ""
+
+msgid "Extra options"
+msgstr ""
+
+msgid "Global options"
+msgstr ""
+
+msgid "Link to detailed advice"
+msgstr ""
+
+msgid "Loop timeout in seconds for wlan monitoring"
+msgstr ""
+
+msgid "Max. number of connection retries to an uplink"
+msgstr ""
+
+msgid "Travelmate"
+msgstr ""
+
+msgid "Use iw for scanning"
+msgstr ""
+
+msgid "Use only one radio, e.g. 'radio0'"
+msgstr ""
diff --git a/applications/luci-app-travelmate/root/etc/uci-defaults/40_luci-travelmate b/applications/luci-app-travelmate/root/etc/uci-defaults/40_luci-travelmate
new file mode 100755
index 0000000000..f7676774a1
--- /dev/null
+++ b/applications/luci-app-travelmate/root/etc/uci-defaults/40_luci-travelmate
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+uci -q batch <<-EOF >/dev/null
+ delete ucitrack.@travelmate[-1]
+ add ucitrack travelmate
+ set ucitrack.@travelmate[-1].init=travelmate
+ commit ucitrack
+EOF
+
+rm -f /tmp/luci-indexcache
+exit 0
diff --git a/applications/luci-app-wifischedule/Makefile b/applications/luci-app-wifischedule/Makefile
new file mode 100644
index 0000000000..1708562a4e
--- /dev/null
+++ b/applications/luci-app-wifischedule/Makefile
@@ -0,0 +1,22 @@
+# Copyright (c) 2016, prpl Foundation
+#
+# Permission to use, copy, modify, and/or distribute this software for any purpose with or without
+# fee is hereby granted, provided that the above copyright notice and this permission notice appear
+# in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+# FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+# Author: Nils Koenig <openwrt@newk.it>
+
+include $(TOPDIR)/rules.mk
+
+LUCI_TITLE:=Turns WiFi on and off according to a schedule
+LUCI_DEPENDS:=+wifischedule
+
+include ../../luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
diff --git a/applications/luci-app-wifischedule/README.md b/applications/luci-app-wifischedule/README.md
new file mode 100644
index 0000000000..591abb1049
--- /dev/null
+++ b/applications/luci-app-wifischedule/README.md
@@ -0,0 +1,86 @@
+# wifischedule
+Turns WiFi on and off according to a schedule on an openwrt router
+
+## Components
+* wifischedule: Shell script that creates cron jobs based on configuration provided in UCI and does all the other logic of enabling and disabling wifi with the use of `/sbin/wifi` and `/usr/bin/iwinfo`. Can be used standalone.
+* luci-app-wifischedule: LUCI frontend for creating the UCI configuration and triggering the actions. Depends on wifischedule.
+
+
+## Use cases
+You can create user-defined events when to enable or disable WiFi.
+There are various use cases why you would like to do so:
+
+1. Reduce power consumption and therefore reduce CO2 emissions.
+2. Reduce emitted electromagnatic radiation.
+3. Force busincess hours when WiFi is available.
+
+Regarding 1: Please note, that you need to unload the wireless driver modules in order to get the most effect of saving power.
+In my test scenario only disabling WiFi saves about ~0.4 Watt, unloading the modules removes another ~0.4 Watt.
+
+Regarding 2: Think of a wireless accesspoint e.g. in your bedrom, kids room where you want to remove the ammount of radiation emitted.
+
+Regarding 3: E.g. in a company, why would wireless need to be enabled weekends if no one is there working?
+Or think of an accesspoint in your kids room when you want the youngsters to sleep after 10 pm instead of facebooking...
+
+## Configuration
+You can create an arbitrary number of schedule events. Please note that there is on sanity check done wheather the start / stop times overlap or make sense.
+If start and stop time are equal, this leads to disabling the WiFi at the given time.
+
+Logging if enabled is done to the file `/var/log/wifi_schedule.log` and can be reviewed through the "View Logfile" tab.
+The cron jobs created can be reviewed through the "View Cron Jobs" tab.
+
+Please note that the "Unload Modules" function is currently considered as experimental. You can manually add / remove modules in the text field.
+The button "Determine Modules Automatically" tries to make a best guess determining regarding the driver module and its dependencies.
+When un-/loading the modules, there is a certain number of retries (`module_load`) performed.
+
+The option "Force disabling wifi even if stations associated" does what it says - when activated it simply shuts down WiFi.
+When unchecked, its checked every `recheck_interval` minutes if there are still stations associated. Once the stations disconnect, WiFi is disabled.
+
+Please note, that the parameters `module_load` and `recheck_interval` are only accessible through uci.
+
+## UCI Configuration `wifi_schedule`
+UCI configuration file: `/etc/config/wifi_schedule`:
+
+```
+config global
+ option logging '0'
+ option enabled '0'
+ option recheck_interval '10'
+ option modules_retries '10'
+
+config entry 'Businesshours'
+ option enabled '0'
+ option daysofweek 'Monday Tuesday Wednesday Thursday Friday'
+ option starttime '06:00'
+ option stoptime '22:00'
+ option forcewifidown '0'
+
+config entry 'Weekend'
+ option enabled '0'
+ option daysofweek 'Saturday Sunday'
+ option starttime '00:00'
+ option stoptime '00:00'
+ option forcewifidown '1'
+```
+
+## Script: `wifi_schedule.sh`
+This is the script that does the work. Make your changes to the UCI config file: `/etc/config/wifi_schedule`
+
+Then call the script as follows in order to get the necessary cron jobs created:
+
+`wifi_schedule.sh cron`
+
+All commands:
+
+```
+wifi_schedule.sh cron|start|stop|forcestop|recheck|getmodules|savemodules|help
+
+ cron: Create cronjob entries.
+ start: Start wifi.
+ stop: Stop wifi gracefully, i.e. check if there are stations associated and if so keep retrying.
+ forcestop: Stop wifi immediately.
+ recheck: Recheck if wifi can be disabled now.
+ getmodules: Returns a list of modules used by the wireless driver(s)
+ savemodules: Saves a list of automatic determined modules to UCI
+ help: This description.
+```
diff --git a/applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua b/applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua
new file mode 100644
index 0000000000..a33c7aab9a
--- /dev/null
+++ b/applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua
@@ -0,0 +1,32 @@
+-- Copyright (c) 2016, prpl Foundation
+--
+-- Permission to use, copy, modify, and/or distribute this software for any purpose with or without
+-- fee is hereby granted, provided that the above copyright notice and this permission notice appear
+-- in all copies.
+--
+-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
+-- INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+-- FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+-- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+-- ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+--
+-- Author: Nils Koenig <openwrt@newk.it>
+
+module("luci.controller.wifischedule.wifi_schedule", package.seeall)
+
+function index()
+ entry({"admin", "wifi_schedule"}, firstchild(), "Wifi Schedule", 60).dependent=false
+ entry({"admin", "wifi_schedule", "tab_from_cbi"}, cbi("wifischedule/wifi_schedule"), "Schedule", 1)
+ entry({"admin", "wifi_schedule", "wifi_schedule"}, call("wifi_schedule_log"), "View Logfile", 2)
+ entry({"admin", "wifi_schedule", "cronjob"}, call("view_crontab"), "View Cron Jobs", 3)
+end
+
+function wifi_schedule_log()
+ local logfile = luci.sys.exec("cat /tmp/log/wifi_schedule.log")
+ luci.template.render("wifischedule/file_viewer", {title="Wifi Schedule Logfile", content=logfile})
+end
+
+function view_crontab()
+ local crontab = luci.sys.exec("cat /etc/crontabs/root")
+ luci.template.render("wifischedule/file_viewer", {title="Cron Jobs", content=crontab})
+end
diff --git a/applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua b/applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua
new file mode 100644
index 0000000000..2cca476b4f
--- /dev/null
+++ b/applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua
@@ -0,0 +1,259 @@
+-- Copyright (c) 2016, prpl Foundation
+--
+-- Permission to use, copy, modify, and/or distribute this software for any purpose with or without
+-- fee is hereby granted, provided that the above copyright notice and this permission notice appear
+-- in all copies.
+--
+-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
+-- INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+-- FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+-- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+-- ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+--
+-- Author: Nils Koenig <openwrt@newk.it>
+
+function file_exists(name)
+ local f=io.open(name,"r")
+ if f~=nil then io.close(f) return true else return false end
+end
+
+
+function time_validator(self, value, desc)
+ if value ~= nil then
+
+ h_str, m_str = string.match(value, "^(%d%d?):(%d%d?)$")
+ h = tonumber(h_str)
+ m = tonumber(m_str)
+ if ( h ~= nil and
+ h >= 0 and
+ h <= 23 and
+ m ~= nil and
+ m >= 0 and
+ m <= 59) then
+ return value
+ end
+ end
+ return nil, translate("The value '" .. desc .. "' is invalid")
+end
+
+-- -------------------------------------------------------------------------------------------------
+
+-- BEGIN Map
+m = Map("wifi_schedule", translate("Wifi Schedule"), translate("Defines a schedule when to turn on and off wifi."))
+function m.on_commit(self)
+ luci.sys.exec("/usr/bin/wifi_schedule.sh cron")
+end
+-- END Map
+
+-- BEGIN Global Section
+global_section = m:section(TypedSection, "global", "Global Settings")
+global_section.optional = false
+global_section.rmempty = false
+global_section.anonymous = true
+-- END Section
+
+-- BEGIN Global Enable Checkbox
+global_enable = global_section:option(Flag, "enabled", translate("Enable Wifi Schedule"))
+global_enable.optional=false;
+global_enable.rmempty = false;
+
+function global_enable.validate(self, value, global_section)
+ if value == "1" then
+ if ( file_exists("/sbin/wifi") and
+ file_exists("/usr/bin/wifi_schedule.sh") )then
+ return value
+ else
+ return nil, translate("Could not find required /usr/bin/wifi_schedule.sh or /sbin/wifi")
+ end
+ else
+ return "0"
+ end
+end
+-- END Global Enable Checkbox
+
+
+-- BEGIN Global Logging Checkbox
+global_logging = global_section:option(Flag, "logging", translate("Enable logging"))
+global_logging.optional=false;
+global_logging.rmempty = false;
+global_logging.default = 0
+-- END Global Enable Checkbox
+
+-- BEGIN Global Activate WiFi Button
+enable_wifi = global_section:option(Button, "enable_wifi", translate("Activate wifi"))
+function enable_wifi.write()
+ luci.sys.exec("/usr/bin/wifi_schedule.sh start manual")
+end
+-- END Global Activate Wifi Button
+
+-- BEGIN Global Disable WiFi Gracefully Button
+disable_wifi_gracefully = global_section:option(Button, "disable_wifi_gracefully", translate("Disable wifi gracefully"))
+function disable_wifi_gracefully.write()
+ luci.sys.exec("/usr/bin/wifi_schedule.sh stop manual")
+end
+-- END Global Disable Wifi Gracefully Button
+
+-- BEGIN Disable WiFi Forced Button
+disable_wifi_forced = global_section:option(Button, "disable_wifi_forced", translate("Disabled wifi forced"))
+function disable_wifi_forced.write()
+ luci.sys.exec("/usr/bin/wifi_schedule.sh forcestop manual")
+end
+-- END Global Disable WiFi Forced Button
+
+-- BEGIN Global Unload Modules Checkbox
+global_unload_modules = global_section:option(Flag, "unload_modules", translate("Unload Modules (experimental; saves more power)"))
+global_unload_modules.optional = false;
+global_unload_modules.rmempty = false;
+global_unload_modules.default = 0
+-- END Global Unload Modules Checkbox
+
+
+-- BEGIN Modules
+modules = global_section:option(TextValue, "modules", "")
+modules:depends("unload_modules", global_unload_modules.enabled);
+modules.wrap = "off"
+modules.rows = 10
+
+function modules.cfgvalue(self, section)
+ mod=uci.get("wifi_schedule", section, "modules")
+ if mod == nil then
+ mod=""
+ end
+ return mod:gsub(" ", "\r\n")
+end
+
+function modules.write(self, section, value)
+ if value then
+ value_list = value:gsub("\r\n", " ")
+ ListValue.write(self, section, value_list)
+ uci.set("wifi_schedule", section, "modules", value_list)
+ end
+end
+-- END Modules
+
+-- BEGIN Determine Modules
+determine_modules = global_section:option(Button, "determine_modules", translate("Determine Modules Automatically"))
+determine_modules:depends("unload_modules", global_unload_modules.enabled);
+function determine_modules.write(self, section)
+ output = luci.sys.exec("/usr/bin/wifi_schedule.sh getmodules")
+ modules:write(section, output)
+end
+-- END Determine Modules
+
+
+-- BEGIN Section
+d = m:section(TypedSection, "entry", "Schedule events")
+d.addremove = true
+--d.anonymous = true
+-- END Section
+
+-- BEGIN Enable Checkbox
+c = d:option(Flag, "enabled", translate("Enable"))
+c.optional=false; c.rmempty = false;
+-- END Enable Checkbox
+
+
+-- BEGIN Day(s) of Week
+dow = d:option(MultiValue, "daysofweek", translate("Day(s) of Week"))
+dow.optional = false
+dow.rmempty = false
+dow:value("Monday")
+dow:value("Tuesday")
+dow:value("Wednesday")
+dow:value("Thursday")
+dow:value("Friday")
+dow:value("Saturday")
+dow:value("Sunday")
+-- END Day(s) of Weel
+
+-- BEGIN Start Wifi Dropdown
+starttime = d:option(Value, "starttime", translate("Start WiFi"))
+starttime.optional=false;
+starttime.rmempty = false;
+starttime:value("00:00")
+starttime:value("01:00")
+starttime:value("02:00")
+starttime:value("03:00")
+starttime:value("04:00")
+starttime:value("05:00")
+starttime:value("06:00")
+starttime:value("07:00")
+starttime:value("08:00")
+starttime:value("09:00")
+starttime:value("10:00")
+starttime:value("11:00")
+starttime:value("12:00")
+starttime:value("13:00")
+starttime:value("14:00")
+starttime:value("15:00")
+starttime:value("16:00")
+starttime:value("17:00")
+starttime:value("18:00")
+starttime:value("19:00")
+starttime:value("20:00")
+starttime:value("21:00")
+starttime:value("22:00")
+starttime:value("23:00")
+
+function starttime.validate(self, value, d)
+ return time_validator(self, value, translate("Start Time"))
+end
+
+-- END Start Wifi Dropdown
+
+
+-- BEGIN Stop Wifi Dropdown
+stoptime = d:option(Value, "stoptime", translate("Stop WiFi"))
+stoptime.optional=false;
+stoptime.rmempty = false;
+stoptime:value("00:00")
+stoptime:value("01:00")
+stoptime:value("02:00")
+stoptime:value("03:00")
+stoptime:value("04:00")
+stoptime:value("05:00")
+stoptime:value("06:00")
+stoptime:value("07:00")
+stoptime:value("08:00")
+stoptime:value("09:00")
+stoptime:value("10:00")
+stoptime:value("11:00")
+stoptime:value("12:00")
+stoptime:value("13:00")
+stoptime:value("14:00")
+stoptime:value("15:00")
+stoptime:value("16:00")
+stoptime:value("17:00")
+stoptime:value("18:00")
+stoptime:value("19:00")
+stoptime:value("20:00")
+stoptime:value("21:00")
+stoptime:value("22:00")
+stoptime:value("23:00")
+
+function stoptime.validate(self, value, d)
+ return time_validator(self, value, translate("Stop Time"))
+end
+-- END Stop Wifi Dropdown
+
+
+-- BEGIN Force Wifi Stop Checkbox
+force_wifi = d:option(Flag, "forcewifidown", translate("Force disabling wifi even if stations associated"))
+force_wifi.default = false
+force_wifi.rmempty = false;
+
+function force_wifi.validate(self, value, d)
+ if value == "0" then
+ if file_exists("/usr/bin/iwinfo") then
+ return value
+ else
+ return nil, translate("Could not find required programm /usr/bin/iwinfo")
+ end
+ else
+ return "1"
+ end
+end
+-- END Force Wifi Checkbox
+
+
+return m
diff --git a/applications/luci-app-wifischedule/luasrc/view/wifischedule/file_viewer.htm b/applications/luci-app-wifischedule/luasrc/view/wifischedule/file_viewer.htm
new file mode 100644
index 0000000000..f67a2bea99
--- /dev/null
+++ b/applications/luci-app-wifischedule/luasrc/view/wifischedule/file_viewer.htm
@@ -0,0 +1,22 @@
+<%#
+Copyright (c) 2016, prpl Foundation
+
+Permission to use, copy, modify, and/or distribute this software for any purpose with or without
+fee is hereby granted, provided that the above copyright notice and this permission notice appear
+in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+Author: Nils Koenig <openwrt@newk.it>
+-%>
+
+<%+header%>
+<h2 name="title"><%=title%></h2>
+<div id="content_fileviewer">
+<textarea style="width: 100%" readonly="readonly" wrap="off" rows="<%=content:cmatch("\n")+1%>" id="content_id"><%=content:pcdata()%></textarea>
+</div>
+<%+footer%>
diff --git a/documentation/i18n.md b/documentation/i18n.md
index fdacb0853a..226a406c2a 100644
--- a/documentation/i18n.md
+++ b/documentation/i18n.md
@@ -1,17 +1,19 @@
# General
-Translations are saved in the folder po/. You find the reference in po/templates/<package>.pot. The actual translation files can be found at po/<lang>/<package>.po .
+Translations are saved in the folder po/ for each module and application. You find the reference in po/templates/<package>.pot. The actual translation files can be found at po/[lang]/[package].po .
In order to use the commands below you need to have the _gettext'' utilities (''msgcat'', ''msgfmt'', ''msgmerge_) installed on your system.
# Rebuild po files
If you want to rebuild the translations after you made changes to a package this is an easy way:
-
-
- ./build/i18n-scan.pl applications/[package] > po/templates/[application].pot
- ./build/i18n-update.pl po [application].po
-*Note:* Some packages share translation files, in this case you need to scan through all their folders. The first command from above should then be:
+ ./build/i18n-scan.pl applications/[application] > applications/[application]/po/templates/[application_basename].pot
+ ./build/i18n-update.pl applications/[application]/po
+ Example:
+ ./build/i18n-scan.pl applications/luci-app-firewall > applications/luci-app-firewall/po/templates/firewall.pot
+ ./build/i18n-update.pl applications/luci-app-firewall/po
+ (note that the directory argument can be omitted for i18n-update.pl to update all apps)
- ./build/i18n-scan.pl applications/[package-1] applications/[package-2] applications/[package-n] > po/templates/[application].pot
+*Note:* Some packages share translation files, in this case you need to scan through all their folders. The first command from above should then be:
+ ./build/i18n-scan.pl applications/[package-1] applications/[package-2] applications/[package-n] > [location of shared template]/[application].pot
diff --git a/luci.mk b/luci.mk
index eb034d2081..2235cc5f05 100644
--- a/luci.mk
+++ b/luci.mk
@@ -150,18 +150,26 @@ LUCI_LIBRARYDIR = $(LUA_LIBRARYDIR)/luci
define SrcDiet
$(FIND) $(1) -type f -name '*.lua' | while read src; do \
- if $(STAGING_DIR)/host/bin/lua $(STAGING_DIR)/host/bin/LuaSrcDiet \
- --noopt-binequiv -o "$$$$src.o" "$$$$src"; \
+ if LuaSrcDiet --noopt-binequiv -o "$$$$src.o" "$$$$src"; \
then mv "$$$$src.o" "$$$$src"; fi; \
done
endef
+define SubstituteVersion
+ $(FIND) $(1) -type f -name '*.htm' | while read src; do \
+ $(SED) 's/<%# *\([^ ]*\)PKG_VERSION *%>/\1$(PKG_VERSION)/g' \
+ -e 's/"\(<%= *\(media\|resource\) *%>[^"]*\.\(js\|css\)\)"/"\1?v=$(PKG_VERSION)"/g' \
+ "$$$$src"; \
+ done
+endef
+
define Package/$(PKG_NAME)/install
if [ -d $(PKG_BUILD_DIR)/luasrc ]; then \
$(INSTALL_DIR) $(1)$(LUCI_LIBRARYDIR); \
cp -pR $(PKG_BUILD_DIR)/luasrc/* $(1)$(LUCI_LIBRARYDIR)/; \
$(FIND) $(1)$(LUCI_LIBRARYDIR)/ -type f -name '*.luadoc' | $(XARGS) rm; \
$(if $(CONFIG_LUCI_SRCDIET),$(call SrcDiet,$(1)$(LUCI_LIBRARYDIR)/),true); \
+ $(call SubstituteVersion,$(1)$(LUCI_LIBRARYDIR)/); \
else true; fi
if [ -d $(PKG_BUILD_DIR)/htdocs ]; then \
$(INSTALL_DIR) $(1)$(HTDOCS); \
diff --git a/modules/luci-base/Makefile b/modules/luci-base/Makefile
index f0763cb1df..972a451c69 100644
--- a/modules/luci-base/Makefile
+++ b/modules/luci-base/Makefile
@@ -37,10 +37,9 @@ define Host/Compile
endef
define Host/Install
- $(INSTALL_DIR) $(STAGING_DIR)/host/bin
- $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin
- $(INSTALL_BIN) src/po2lmo $(STAGING_DIR_HOST)/bin/po2lmo
- $(INSTALL_BIN) $(HOST_BUILD_DIR)/bin/LuaSrcDiet.lua $(STAGING_DIR)/host/bin/LuaSrcDiet
+ $(INSTALL_DIR) $(1)/bin
+ $(INSTALL_BIN) src/po2lmo $(1)/bin/po2lmo
+ $(INSTALL_BIN) $(HOST_BUILD_DIR)/bin/LuaSrcDiet.lua $(1)/bin/LuaSrcDiet
endef
$(eval $(call HostBuild))
diff --git a/modules/luci-base/luasrc/sys/zoneinfo/tzdata.lua b/modules/luci-base/luasrc/sys/zoneinfo/tzdata.lua
index c9a507eaa2..66136903a7 100644
--- a/modules/luci-base/luasrc/sys/zoneinfo/tzdata.lua
+++ b/modules/luci-base/luasrc/sys/zoneinfo/tzdata.lua
@@ -87,7 +87,7 @@ TZ = {
{ 'America/Cambridge Bay', 'MST7MDT,M3.2.0,M11.1.0' },
{ 'America/Campo Grande', 'AMT4AMST,M10.3.0/0,M2.3.0/0' },
{ 'America/Cancun', 'EST5' },
- { 'America/Caracas', 'VET4:30' },
+ { 'America/Caracas', 'VET4' },
{ 'America/Cayenne', 'GFT3' },
{ 'America/Cayman', 'EST5' },
{ 'America/Chicago', 'CST6CDT,M3.2.0,M11.1.0' },
@@ -201,97 +201,99 @@ TZ = {
{ 'America/Winnipeg', 'CST6CDT,M3.2.0,M11.1.0' },
{ 'America/Yakutat', 'AKST9AKDT,M3.2.0,M11.1.0' },
{ 'America/Yellowknife', 'MST7MDT,M3.2.0,M11.1.0' },
- { 'Antarctica/Casey', 'AWST-8' },
- { 'Antarctica/Davis', 'DAVT-7' },
- { 'Antarctica/DumontDUrville', 'DDUT-10' },
+ { 'Antarctica/Casey', '<+11>-11' },
+ { 'Antarctica/Davis', '<+07>-7' },
+ { 'Antarctica/DumontDUrville', '<+10>-10' },
{ 'Antarctica/Macquarie', 'MIST-11' },
- { 'Antarctica/Mawson', 'MAWT-5' },
+ { 'Antarctica/Mawson', '<+05>-5' },
{ 'Antarctica/McMurdo', 'NZST-12NZDT,M9.5.0,M4.1.0/3' },
{ 'Antarctica/Palmer', 'CLT4CLST,M8.2.6/24,M5.2.6/24' },
- { 'Antarctica/Rothera', 'ROTT3' },
- { 'Antarctica/Syowa', 'SYOT-3' },
- { 'Antarctica/Troll', 'UTC0CEST-2,M3.5.0/1,M10.5.0/3' },
- { 'Antarctica/Vostok', 'VOST-6' },
+ { 'Antarctica/Rothera', '<-03>3' },
+ { 'Antarctica/Syowa', '<+03>-3' },
+ { 'Antarctica/Troll', '<+00>0<+02>-2,M3.5.0/1,M10.5.0/3' },
+ { 'Antarctica/Vostok', '<+06>-6' },
{ 'Arctic/Longyearbyen', 'CET-1CEST,M3.5.0,M10.5.0/3' },
{ 'Asia/Aden', 'AST-3' },
- { 'Asia/Almaty', 'ALMT-6' },
+ { 'Asia/Almaty', '<+06>-6' },
{ 'Asia/Amman', 'EET-2EEST,M3.5.4/24,M10.5.5/1' },
- { 'Asia/Anadyr', 'ANAT-12' },
- { 'Asia/Aqtau', 'AQTT-5' },
- { 'Asia/Aqtobe', 'AQTT-5' },
- { 'Asia/Ashgabat', 'TMT-5' },
+ { 'Asia/Anadyr', '<+12>-12' },
+ { 'Asia/Aqtau', '<+05>-5' },
+ { 'Asia/Aqtobe', '<+05>-5' },
+ { 'Asia/Ashgabat', '<+05>-5' },
{ 'Asia/Baghdad', 'AST-3' },
{ 'Asia/Bahrain', 'AST-3' },
- { 'Asia/Baku', 'AZT-4' },
+ { 'Asia/Baku', '<+04>-4' },
{ 'Asia/Bangkok', 'ICT-7' },
{ 'Asia/Barnaul', '<+07>-7' },
{ 'Asia/Beirut', 'EET-2EEST,M3.5.0/0,M10.5.0/0' },
- { 'Asia/Bishkek', 'KGT-6' },
+ { 'Asia/Bishkek', '<+06>-6' },
{ 'Asia/Brunei', 'BNT-8' },
- { 'Asia/Chita', 'YAKT-9' },
+ { 'Asia/Chita', '<+09>-9' },
{ 'Asia/Choibalsan', 'CHOT-8CHOST,M3.5.6,M9.5.6/0' },
- { 'Asia/Colombo', 'IST-5:30' },
+ { 'Asia/Colombo', '<+0530>-5:30' },
{ 'Asia/Damascus', 'EET-2EEST,M3.5.5/0,M10.5.5/0' },
{ 'Asia/Dhaka', 'BDT-6' },
{ 'Asia/Dili', 'TLT-9' },
{ 'Asia/Dubai', 'GST-4' },
- { 'Asia/Dushanbe', 'TJT-5' },
- { 'Asia/Gaza', 'EET-2EEST,M3.5.6/1,M10.3.6/144' },
- { 'Asia/Hebron', 'EET-2EEST,M3.5.6/1,M10.3.6/144' },
+ { 'Asia/Dushanbe', '<+05>-5' },
+ { 'Asia/Famagusta', '<+03>-3' },
+ { 'Asia/Gaza', 'EET-2EEST,M3.5.6/1,M10.5.6/1' },
+ { 'Asia/Hebron', 'EET-2EEST,M3.5.6/1,M10.5.6/1' },
{ 'Asia/Ho Chi Minh', 'ICT-7' },
{ 'Asia/Hong Kong', 'HKT-8' },
{ 'Asia/Hovd', 'HOVT-7HOVST,M3.5.6,M9.5.6/0' },
- { 'Asia/Irkutsk', 'IRKT-8' },
+ { 'Asia/Irkutsk', '<+08>-8' },
{ 'Asia/Jakarta', 'WIB-7' },
{ 'Asia/Jayapura', 'WIT-9' },
{ 'Asia/Jerusalem', 'IST-2IDT,M3.4.4/26,M10.5.0' },
{ 'Asia/Kabul', 'AFT-4:30' },
- { 'Asia/Kamchatka', 'PETT-12' },
+ { 'Asia/Kamchatka', '<+12>-12' },
{ 'Asia/Karachi', 'PKT-5' },
{ 'Asia/Kathmandu', 'NPT-5:45' },
- { 'Asia/Khandyga', 'YAKT-9' },
+ { 'Asia/Khandyga', '<+09>-9' },
{ 'Asia/Kolkata', 'IST-5:30' },
- { 'Asia/Krasnoyarsk', 'KRAT-7' },
+ { 'Asia/Krasnoyarsk', '<+07>-7' },
{ 'Asia/Kuala Lumpur', 'MYT-8' },
{ 'Asia/Kuching', 'MYT-8' },
{ 'Asia/Kuwait', 'AST-3' },
{ 'Asia/Macau', 'CST-8' },
- { 'Asia/Magadan', 'MAGT-10' },
+ { 'Asia/Magadan', '<+11>-11' },
{ 'Asia/Makassar', 'WITA-8' },
{ 'Asia/Manila', 'PHT-8' },
{ 'Asia/Muscat', 'GST-4' },
{ 'Asia/Nicosia', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
- { 'Asia/Novokuznetsk', 'KRAT-7' },
- { 'Asia/Novosibirsk', 'NOVT-6' },
- { 'Asia/Omsk', 'OMST-6' },
- { 'Asia/Oral', 'ORAT-5' },
+ { 'Asia/Novokuznetsk', '<+07>-7' },
+ { 'Asia/Novosibirsk', '<+07>-7' },
+ { 'Asia/Omsk', '<+06>-6' },
+ { 'Asia/Oral', '<+05>-5' },
{ 'Asia/Phnom Penh', 'ICT-7' },
{ 'Asia/Pontianak', 'WIB-7' },
{ 'Asia/Pyongyang', 'KST-8:30' },
{ 'Asia/Qatar', 'AST-3' },
- { 'Asia/Qyzylorda', 'QYZT-6' },
- { 'Asia/Rangoon', 'MMT-6:30' },
+ { 'Asia/Qyzylorda', '<+06>-6' },
{ 'Asia/Riyadh', 'AST-3' },
- { 'Asia/Sakhalin', 'SAKT-11' },
- { 'Asia/Samarkand', 'UZT-5' },
+ { 'Asia/Sakhalin', '<+11>-11' },
+ { 'Asia/Samarkand', '<+05>-5' },
{ 'Asia/Seoul', 'KST-9' },
{ 'Asia/Shanghai', 'CST-8' },
{ 'Asia/Singapore', 'SGT-8' },
- { 'Asia/Srednekolymsk', 'SRET-11' },
+ { 'Asia/Srednekolymsk', '<+11>-11' },
{ 'Asia/Taipei', 'CST-8' },
- { 'Asia/Tashkent', 'UZT-5' },
- { 'Asia/Tbilisi', 'GET-4' },
+ { 'Asia/Tashkent', '<+05>-5' },
+ { 'Asia/Tbilisi', '<+04>-4' },
{ 'Asia/Tehran', 'IRST-3:30IRDT,J80/0,J264/0' },
{ 'Asia/Thimphu', 'BTT-6' },
{ 'Asia/Tokyo', 'JST-9' },
+ { 'Asia/Tomsk', '<+07>-7' },
{ 'Asia/Ulaanbaatar', 'ULAT-8ULAST,M3.5.6,M9.5.6/0' },
{ 'Asia/Urumqi', 'XJT-6' },
- { 'Asia/Ust-Nera', 'VLAT-10' },
+ { 'Asia/Ust-Nera', '<+10>-10' },
{ 'Asia/Vientiane', 'ICT-7' },
- { 'Asia/Vladivostok', 'VLAT-10' },
- { 'Asia/Yakutsk', 'YAKT-9' },
- { 'Asia/Yekaterinburg', 'YEKT-5' },
- { 'Asia/Yerevan', 'AMT-4' },
+ { 'Asia/Vladivostok', '<+10>-10' },
+ { 'Asia/Yakutsk', '<+09>-9' },
+ { 'Asia/Yangon', 'MMT-6:30' },
+ { 'Asia/Yekaterinburg', '<+05>-5' },
+ { 'Asia/Yerevan', '<+04>-4' },
{ 'Atlantic/Azores', 'AZOT1AZOST,M3.5.0/0,M10.5.0/1' },
{ 'Atlantic/Bermuda', 'AST4ADT,M3.2.0,M11.1.0' },
{ 'Atlantic/Canary', 'WET0WEST,M3.5.0/1,M10.5.0' },
@@ -332,10 +334,11 @@ TZ = {
{ 'Europe/Guernsey', 'GMT0BST,M3.5.0/1,M10.5.0' },
{ 'Europe/Helsinki', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
{ 'Europe/Isle of Man', 'GMT0BST,M3.5.0/1,M10.5.0' },
- { 'Europe/Istanbul', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
+ { 'Europe/Istanbul', '<+03>-3' },
{ 'Europe/Jersey', 'GMT0BST,M3.5.0/1,M10.5.0' },
{ 'Europe/Kaliningrad', 'EET-2' },
{ 'Europe/Kiev', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
+ { 'Europe/Kirov', '<+03>-3' },
{ 'Europe/Lisbon', 'WET0WEST,M3.5.0/1,M10.5.0' },
{ 'Europe/Ljubljana', 'CET-1CEST,M3.5.0,M10.5.0/3' },
{ 'Europe/London', 'GMT0BST,M3.5.0/1,M10.5.0' },
@@ -343,7 +346,7 @@ TZ = {
{ 'Europe/Madrid', 'CET-1CEST,M3.5.0,M10.5.0/3' },
{ 'Europe/Malta', 'CET-1CEST,M3.5.0,M10.5.0/3' },
{ 'Europe/Mariehamn', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
- { 'Europe/Minsk', 'MSK-3' },
+ { 'Europe/Minsk', '<+03>-3' },
{ 'Europe/Monaco', 'CET-1CEST,M3.5.0,M10.5.0/3' },
{ 'Europe/Moscow', 'MSK-3' },
{ 'Europe/Oslo', 'CET-1CEST,M3.5.0,M10.5.0/3' },
@@ -352,7 +355,7 @@ TZ = {
{ 'Europe/Prague', 'CET-1CEST,M3.5.0,M10.5.0/3' },
{ 'Europe/Riga', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
{ 'Europe/Rome', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Samara', 'SAMT-4' },
+ { 'Europe/Samara', '<+04>-4' },
{ 'Europe/San Marino', 'CET-1CEST,M3.5.0,M10.5.0/3' },
{ 'Europe/Sarajevo', 'CET-1CEST,M3.5.0,M10.5.0/3' },
{ 'Europe/Simferopol', 'MSK-3' },
@@ -367,7 +370,7 @@ TZ = {
{ 'Europe/Vatican', 'CET-1CEST,M3.5.0,M10.5.0/3' },
{ 'Europe/Vienna', 'CET-1CEST,M3.5.0,M10.5.0/3' },
{ 'Europe/Vilnius', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
- { 'Europe/Volgograd', 'MSK-3' },
+ { 'Europe/Volgograd', '<+03>-3' },
{ 'Europe/Warsaw', 'CET-1CEST,M3.5.0,M10.5.0/3' },
{ 'Europe/Zagreb', 'CET-1CEST,M3.5.0,M10.5.0/3' },
{ 'Europe/Zaporozhye', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
@@ -377,7 +380,7 @@ TZ = {
{ 'Indian/Christmas', 'CXT-7' },
{ 'Indian/Cocos', 'CCT-6:30' },
{ 'Indian/Comoro', 'EAT-3' },
- { 'Indian/Kerguelen', 'TFT-5' },
+ { 'Indian/Kerguelen', '<+05>-5' },
{ 'Indian/Mahe', 'SCT-4' },
{ 'Indian/Maldives', 'MVT-5' },
{ 'Indian/Mauritius', 'MUT-4' },
@@ -419,7 +422,7 @@ TZ = {
{ 'Pacific/Saipan', 'ChST-10' },
{ 'Pacific/Tahiti', 'TAHT10' },
{ 'Pacific/Tarawa', 'GILT-12' },
- { 'Pacific/Tongatapu', 'TOT-13' },
+ { 'Pacific/Tongatapu', '<+13>-13<+14>,M11.1.0,M1.3.0/3' },
{ 'Pacific/Wake', 'WAKT-12' },
{ 'Pacific/Wallis', 'WFT-12' },
}
diff --git a/modules/luci-base/luasrc/sys/zoneinfo/tzoffset.lua b/modules/luci-base/luasrc/sys/zoneinfo/tzoffset.lua
index a8417e06c8..e5da7c6442 100644
--- a/modules/luci-base/luasrc/sys/zoneinfo/tzoffset.lua
+++ b/modules/luci-base/luasrc/sys/zoneinfo/tzoffset.lua
@@ -27,7 +27,7 @@ OFFSET = {
cot = -18000, -- COT
mst = -25200, -- MST
mdt = -21600, -- MDT
- vet = -16200, -- VET
+ vet = -14400, -- VET
gft = -10800, -- GFT
pst = -28800, -- PST
pdt = -25200, -- PDT
@@ -49,59 +49,31 @@ OFFSET = {
egst = 0, -- EGST
nst = -12600, -- NST
ndt = -9000, -- NDT
- awst = 28800, -- AWST
- davt = 25200, -- DAVT
- ddut = 36000, -- DDUT
mist = 39600, -- MIST
- mawt = 18000, -- MAWT
nzst = 43200, -- NZST
nzdt = 46800, -- NZDT
- rott = -10800, -- ROTT
- syot = 10800, -- SYOT
- utc = 0, -- UTC
- vost = 21600, -- VOST
- almt = 21600, -- ALMT
- anat = 43200, -- ANAT
- aqtt = 18000, -- AQTT
- tmt = 18000, -- TMT
- azt = 14400, -- AZT
ict = 25200, -- ICT
- kgt = 21600, -- KGT
bnt = 28800, -- BNT
- yakt = 32400, -- YAKT
chot = 28800, -- CHOT
chost = 32400, -- CHOST
- ist = 19800, -- IST
bdt = 21600, -- BDT
tlt = 32400, -- TLT
gst = 14400, -- GST
- tjt = 18000, -- TJT
hkt = 28800, -- HKT
hovt = 25200, -- HOVT
hovst = 28800, -- HOVST
- irkt = 28800, -- IRKT
wib = 25200, -- WIB
wit = 32400, -- WIT
+ ist = 7200, -- IST
+ idt = 10800, -- IDT
aft = 16200, -- AFT
- pett = 43200, -- PETT
pkt = 18000, -- PKT
npt = 20700, -- NPT
- krat = 25200, -- KRAT
myt = 28800, -- MYT
- magt = 36000, -- MAGT
wita = 28800, -- WITA
pht = 28800, -- PHT
- novt = 21600, -- NOVT
- omst = 21600, -- OMST
- orat = 18000, -- ORAT
kst = 30600, -- KST
- qyzt = 21600, -- QYZT
- mmt = 23400, -- MMT
- sakt = 39600, -- SAKT
- uzt = 18000, -- UZT
sgt = 28800, -- SGT
- sret = 39600, -- SRET
- get = 14400, -- GET
irst = 12600, -- IRST
irdt = 16200, -- IRDT
btt = 21600, -- BTT
@@ -109,8 +81,7 @@ OFFSET = {
ulat = 28800, -- ULAT
ulast = 32400, -- ULAST
xjt = 21600, -- XJT
- vlat = 36000, -- VLAT
- yekt = 18000, -- YEKT
+ mmt = 23400, -- MMT
azot = -3600, -- AZOT
azost = 0, -- AZOST
cvt = -3600, -- CVT
@@ -121,12 +92,11 @@ OFFSET = {
acwst = 31500, -- ACWST
lhst = 37800, -- LHST
lhdt = 39600, -- LHDT
+ awst = 28800, -- AWST
msk = 10800, -- MSK
- samt = 14400, -- SAMT
iot = 21600, -- IOT
cxt = 25200, -- CXT
cct = 23400, -- CCT
- tft = 18000, -- TFT
sct = 14400, -- SCT
mvt = 18000, -- MVT
mut = 14400, -- MUT
@@ -163,7 +133,6 @@ OFFSET = {
ckt = -36000, -- CKT
taht = -36000, -- TAHT
gilt = 43200, -- GILT
- tot = 46800, -- TOT
wakt = 43200, -- WAKT
wft = 43200, -- WFT
}
diff --git a/modules/luci-base/po/ca/base.po b/modules/luci-base/po/ca/base.po
index 1e44147752..3012e8ef08 100644
--- a/modules/luci-base/po/ca/base.po
+++ b/modules/luci-base/po/ca/base.po
@@ -289,8 +289,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
-msgstr "Es crearà una xarxa addicional si deixes això sense marcar."
+msgid "An additional network will be created if you leave this checked."
+msgstr ""
msgid "Annex"
msgstr ""
@@ -1539,12 +1539,12 @@ msgstr "Es requereix JavaScript!"
msgid "Join Network"
msgstr "Uneix-te a la xarxa"
-msgid "Join Network: Settings"
-msgstr "Unir-se a la xarxa: Ajusts"
-
msgid "Join Network: Wireless Scan"
msgstr ""
+msgid "Joining Network: %q"
+msgstr ""
+
msgid "Keep settings"
msgstr ""
@@ -2271,7 +2271,7 @@ msgid ""
"ignore failures"
msgstr ""
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3593,6 +3593,12 @@ msgstr "sí"
msgid "« Back"
msgstr "« Enrere"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr "Es crearà una xarxa addicional si deixes això sense marcar."
+
+#~ msgid "Join Network: Settings"
+#~ msgstr "Unir-se a la xarxa: Ajusts"
+
#~ msgid "CPU"
#~ msgstr "CPU"
diff --git a/modules/luci-base/po/cs/base.po b/modules/luci-base/po/cs/base.po
index b0ab326d00..082f0bb6ea 100644
--- a/modules/luci-base/po/cs/base.po
+++ b/modules/luci-base/po/cs/base.po
@@ -289,8 +289,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
-msgstr "Pokud není zaškrtnuto, bude vytvořena dodatečná síť."
+msgid "An additional network will be created if you leave this checked."
+msgstr ""
msgid "Annex"
msgstr ""
@@ -1552,12 +1552,12 @@ msgstr "Vyžadován JavaScript!"
msgid "Join Network"
msgstr "Připojit k síti"
-msgid "Join Network: Settings"
-msgstr "Připojit k síti: nastavení"
-
msgid "Join Network: Wireless Scan"
msgstr "Připojit k síti: Vyhledání bezdrátových sítí"
+msgid "Joining Network: %q"
+msgstr ""
+
msgid "Keep settings"
msgstr "Zachovat nastavení"
@@ -2296,7 +2296,7 @@ msgstr ""
"Po takovém množství LCP echo selhání předpokládám, že peer je mrtvý. "
"Použijte 0 pro ignorování chyb"
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3663,6 +3663,12 @@ msgstr "ano"
msgid "« Back"
msgstr "« Zpět"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr "Pokud není zaškrtnuto, bude vytvořena dodatečná síť."
+
+#~ msgid "Join Network: Settings"
+#~ msgstr "Připojit k síti: nastavení"
+
#~ msgid "CPU"
#~ msgstr "CPU"
diff --git a/modules/luci-base/po/de/base.po b/modules/luci-base/po/de/base.po
index 8d72612134..2fe3b80e49 100644
--- a/modules/luci-base/po/de/base.po
+++ b/modules/luci-base/po/de/base.po
@@ -288,9 +288,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
+msgid "An additional network will be created if you leave this checked."
msgstr ""
-"Erzeugt ein zusätzliches Netzwerk wenn diese Option nicht ausgewählt ist"
msgid "Annex"
msgstr ""
@@ -1553,12 +1552,12 @@ msgstr "Java-Script benötigt!"
msgid "Join Network"
msgstr "Netzwerk beitreten"
-msgid "Join Network: Settings"
-msgstr "Netzwerk beitreten: Einstellungen"
-
msgid "Join Network: Wireless Scan"
msgstr "Netzwerk beitreten: Suche nach Netzwerken"
+msgid "Joining Network: %q"
+msgstr ""
+
msgid "Keep settings"
msgstr "Konfiguration behalten"
@@ -2302,7 +2301,7 @@ msgstr ""
"Deklariere den Client als tot nach der angegebenen Anzahl von LCP Echo "
"Fehlschlägen, nutze den Wert 0 um Fehler zu ignorieren"
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3688,6 +3687,13 @@ msgstr "ja"
msgid "« Back"
msgstr "« Zurück"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr ""
+#~ "Erzeugt ein zusätzliches Netzwerk wenn diese Option nicht ausgewählt ist"
+
+#~ msgid "Join Network: Settings"
+#~ msgstr "Netzwerk beitreten: Einstellungen"
+
#~ msgid "CPU"
#~ msgstr "Prozessor"
diff --git a/modules/luci-base/po/el/base.po b/modules/luci-base/po/el/base.po
index 7b716ada36..0d35022889 100644
--- a/modules/luci-base/po/el/base.po
+++ b/modules/luci-base/po/el/base.po
@@ -296,8 +296,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
-msgstr "Ένα επιπλέον δίκτυο θα δημιουργηθεί εάν αυτό αφεθεί κενό"
+msgid "An additional network will be created if you leave this checked."
+msgstr ""
msgid "Annex"
msgstr ""
@@ -1567,10 +1567,10 @@ msgstr "Απαιτείται Javascript!"
msgid "Join Network"
msgstr ""
-msgid "Join Network: Settings"
+msgid "Join Network: Wireless Scan"
msgstr ""
-msgid "Join Network: Wireless Scan"
+msgid "Joining Network: %q"
msgstr ""
msgid "Keep settings"
@@ -2301,7 +2301,7 @@ msgid ""
"ignore failures"
msgstr ""
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
#, fuzzy
@@ -3615,6 +3615,9 @@ msgstr "ναι"
msgid "« Back"
msgstr "« Πίσω"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr "Ένα επιπλέον δίκτυο θα δημιουργηθεί εάν αυτό αφεθεί κενό"
+
#~ msgid "Port %d"
#~ msgstr "Θύρα %d"
diff --git a/modules/luci-base/po/en/base.po b/modules/luci-base/po/en/base.po
index 82a4e72542..b032f49709 100644
--- a/modules/luci-base/po/en/base.po
+++ b/modules/luci-base/po/en/base.po
@@ -287,8 +287,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
-msgstr "An additional network will be created if you leave this unchecked."
+msgid "An additional network will be created if you leave this checked."
+msgstr ""
msgid "Annex"
msgstr ""
@@ -1536,10 +1536,10 @@ msgstr ""
msgid "Join Network"
msgstr "Join Network"
-msgid "Join Network: Settings"
+msgid "Join Network: Wireless Scan"
msgstr ""
-msgid "Join Network: Wireless Scan"
+msgid "Joining Network: %q"
msgstr ""
msgid "Keep settings"
@@ -2268,7 +2268,7 @@ msgid ""
"ignore failures"
msgstr ""
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3571,5 +3571,8 @@ msgstr ""
msgid "« Back"
msgstr "« Back"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr "An additional network will be created if you leave this unchecked."
+
#~ msgid "CPU"
#~ msgstr "CPU"
diff --git a/modules/luci-base/po/es/base.po b/modules/luci-base/po/es/base.po
index de9a645324..f69add2f9b 100644
--- a/modules/luci-base/po/es/base.po
+++ b/modules/luci-base/po/es/base.po
@@ -293,8 +293,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
-msgstr "Se creará una red adicional si deja esto desmarcado."
+msgid "An additional network will be created if you leave this checked."
+msgstr ""
msgid "Annex"
msgstr ""
@@ -1566,12 +1566,12 @@ msgstr "¡Se necesita JavaScript!"
msgid "Join Network"
msgstr "Unirse a Red"
-msgid "Join Network: Settings"
-msgstr "Unirse a Red: Configuración"
-
msgid "Join Network: Wireless Scan"
msgstr "Unirse a una red: Exploración inalámbrica"
+msgid "Joining Network: %q"
+msgstr ""
+
msgid "Keep settings"
msgstr "Conservar la configuración del router"
@@ -2310,7 +2310,7 @@ msgstr ""
"Asumir que el otro estará muerto tras estos fallos de echo LCP, use 0 para "
"ignorar fallos"
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3691,6 +3691,12 @@ msgstr "sí"
msgid "« Back"
msgstr "« Volver"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr "Se creará una red adicional si deja esto desmarcado."
+
+#~ msgid "Join Network: Settings"
+#~ msgstr "Unirse a Red: Configuración"
+
#~ msgid "CPU"
#~ msgstr "CPU"
diff --git a/modules/luci-base/po/fr/base.po b/modules/luci-base/po/fr/base.po
index fcde931c79..b7d811962a 100644
--- a/modules/luci-base/po/fr/base.po
+++ b/modules/luci-base/po/fr/base.po
@@ -299,8 +299,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
-msgstr "Un réseau supplémentaire sera créé si vous laissé ceci décoché."
+msgid "An additional network will be created if you leave this checked."
+msgstr ""
msgid "Annex"
msgstr ""
@@ -1577,12 +1577,12 @@ msgstr "Nécessite un Script Java !"
msgid "Join Network"
msgstr "Rejoindre un réseau"
-msgid "Join Network: Settings"
-msgstr "Rejoindre un réseau : paramètres"
-
msgid "Join Network: Wireless Scan"
msgstr "Rejoindre un réseau : recherche des réseaux sans-fil"
+msgid "Joining Network: %q"
+msgstr ""
+
msgid "Keep settings"
msgstr "Garder le paramètrage"
@@ -2323,7 +2323,7 @@ msgstr ""
"Suppose que le distant a disparu une fois le nombre donné d'erreurs d'échos "
"LCP ; utiliser 0 pour ignorer ces erreurs"
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3709,6 +3709,12 @@ msgstr "oui"
msgid "« Back"
msgstr "« Retour"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr "Un réseau supplémentaire sera créé si vous laissé ceci décoché."
+
+#~ msgid "Join Network: Settings"
+#~ msgstr "Rejoindre un réseau : paramètres"
+
#~ msgid "CPU"
#~ msgstr "CPU"
diff --git a/modules/luci-base/po/he/base.po b/modules/luci-base/po/he/base.po
index 3c2d784707..71fe9ce7cd 100644
--- a/modules/luci-base/po/he/base.po
+++ b/modules/luci-base/po/he/base.po
@@ -286,9 +286,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-#, fuzzy
-msgid "An additional network will be created if you leave this unchecked."
-msgstr "רשת נוספת תווצר אם תשאיר את זה לא מסומן"
+msgid "An additional network will be created if you leave this checked."
+msgstr ""
msgid "Annex"
msgstr ""
@@ -1512,10 +1511,10 @@ msgstr ""
msgid "Join Network"
msgstr ""
-msgid "Join Network: Settings"
+msgid "Join Network: Wireless Scan"
msgstr ""
-msgid "Join Network: Wireless Scan"
+msgid "Joining Network: %q"
msgstr ""
msgid "Keep settings"
@@ -2236,7 +2235,7 @@ msgid ""
"ignore failures"
msgstr ""
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3524,5 +3523,9 @@ msgstr "כן"
msgid "« Back"
msgstr "<< אחורה"
+#, fuzzy
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr "רשת נוספת תווצר אם תשאיר את זה לא מסומן"
+
#~ msgid "CPU"
#~ msgstr "מעבד"
diff --git a/modules/luci-base/po/hu/base.po b/modules/luci-base/po/hu/base.po
index d71bd6907a..4ce03515dc 100644
--- a/modules/luci-base/po/hu/base.po
+++ b/modules/luci-base/po/hu/base.po
@@ -292,8 +292,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
-msgstr "Amennyiben ezt jelöletlenül hagyja, egy további hálózat jön létre"
+msgid "An additional network will be created if you leave this checked."
+msgstr ""
msgid "Annex"
msgstr ""
@@ -1566,12 +1566,12 @@ msgstr "Javascript szükséges!"
msgid "Join Network"
msgstr "Csatlakozás a hálózathoz"
-msgid "Join Network: Settings"
-msgstr "Csatlakozás a hálózathoz: Beállítások"
-
msgid "Join Network: Wireless Scan"
msgstr "Csatlakozás a hálózathoz: vezetéknélküli hálózatok keresése"
+msgid "Joining Network: %q"
+msgstr ""
+
msgid "Keep settings"
msgstr "Beállítások megtartása"
@@ -2313,7 +2313,7 @@ msgstr ""
"A peer halottnak tekintése a megadott számú LCP echo hibák után. Használjon "
"0-t a hibák figyelmen kívül hagyásához."
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3698,6 +3698,12 @@ msgstr "igen"
msgid "« Back"
msgstr "« Vissza"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr "Amennyiben ezt jelöletlenül hagyja, egy további hálózat jön létre"
+
+#~ msgid "Join Network: Settings"
+#~ msgstr "Csatlakozás a hálózathoz: Beállítások"
+
#~ msgid "CPU"
#~ msgstr "Processzor"
diff --git a/modules/luci-base/po/it/base.po b/modules/luci-base/po/it/base.po
index 2bc5ddabf4..db7c4b4aa2 100644
--- a/modules/luci-base/po/it/base.po
+++ b/modules/luci-base/po/it/base.po
@@ -299,8 +299,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
-msgstr "Sarà creata una rete aggiuntiva se lasci questo senza spunta."
+msgid "An additional network will be created if you leave this checked."
+msgstr ""
msgid "Annex"
msgstr ""
@@ -1568,12 +1568,12 @@ msgstr "Richiesto Java Script!"
msgid "Join Network"
msgstr "Aggiungi Rete"
-msgid "Join Network: Settings"
-msgstr "Aggiunta Rete: Impostazioni"
-
msgid "Join Network: Wireless Scan"
msgstr "Aggiunta Rete: Rilevamento Wireless"
+msgid "Joining Network: %q"
+msgstr ""
+
msgid "Keep settings"
msgstr "Mantieni le Impostazioni"
@@ -2307,7 +2307,7 @@ msgid ""
"ignore failures"
msgstr ""
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3651,6 +3651,12 @@ msgstr "Sì"
msgid "« Back"
msgstr "« Indietro"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr "Sarà creata una rete aggiuntiva se lasci questo senza spunta."
+
+#~ msgid "Join Network: Settings"
+#~ msgstr "Aggiunta Rete: Impostazioni"
+
#~ msgid "CPU"
#~ msgstr "CPU"
diff --git a/modules/luci-base/po/ja/base.po b/modules/luci-base/po/ja/base.po
index 740c676a8b..d2a953f0ae 100644
--- a/modules/luci-base/po/ja/base.po
+++ b/modules/luci-base/po/ja/base.po
@@ -286,8 +286,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
-msgstr "チェックボックスがオフの場合、追加のネットワークが作成されます。"
+msgid "An additional network will be created if you leave this checked."
+msgstr ""
msgid "Annex"
msgstr ""
@@ -1549,12 +1549,12 @@ msgstr "JavaScriptを有効にしてください!"
msgid "Join Network"
msgstr "ネットワークに接続する"
-msgid "Join Network: Settings"
-msgstr "ネットワークに接続する: 設定"
-
msgid "Join Network: Wireless Scan"
msgstr "ネットワークに接続する: 無線LANスキャン"
+msgid "Joining Network: %q"
+msgstr ""
+
msgid "Keep settings"
msgstr "設定を保持する"
@@ -2290,7 +2290,7 @@ msgstr ""
"設定回数のLCP echo 確認失敗後、ピアノードがダウンしているものと見なします。0"
"を設定した場合、失敗しても無視します"
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3661,6 +3661,12 @@ msgstr "はい"
msgid "« Back"
msgstr "« 戻る"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr "チェックボックスがオフの場合、追加のネットワークが作成されます。"
+
+#~ msgid "Join Network: Settings"
+#~ msgstr "ネットワークに接続する: 設定"
+
#~ msgid "CPU"
#~ msgstr "CPU"
diff --git a/modules/luci-base/po/ms/base.po b/modules/luci-base/po/ms/base.po
index 5e348d69fe..3aaf0c0185 100644
--- a/modules/luci-base/po/ms/base.po
+++ b/modules/luci-base/po/ms/base.po
@@ -276,7 +276,7 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
+msgid "An additional network will be created if you leave this checked."
msgstr ""
msgid "Annex"
@@ -1507,10 +1507,10 @@ msgstr ""
msgid "Join Network"
msgstr "Gabung Rangkaian"
-msgid "Join Network: Settings"
+msgid "Join Network: Wireless Scan"
msgstr ""
-msgid "Join Network: Wireless Scan"
+msgid "Joining Network: %q"
msgstr ""
msgid "Keep settings"
@@ -2240,7 +2240,7 @@ msgid ""
"ignore failures"
msgstr ""
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
diff --git a/modules/luci-base/po/no/base.po b/modules/luci-base/po/no/base.po
index 793d381c2e..579ea24669 100644
--- a/modules/luci-base/po/no/base.po
+++ b/modules/luci-base/po/no/base.po
@@ -285,8 +285,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
-msgstr "Et nytt nettverk vil bli opprettet hvis du tar bort haken."
+msgid "An additional network will be created if you leave this checked."
+msgstr ""
msgid "Annex"
msgstr ""
@@ -1544,12 +1544,12 @@ msgstr "Java Script kreves!"
msgid "Join Network"
msgstr "Koble til nettverket"
-msgid "Join Network: Settings"
-msgstr "Koble til nettverk: Innstilling"
-
msgid "Join Network: Wireless Scan"
msgstr "Koble til nettverk: Trådløs Skanning"
+msgid "Joining Network: %q"
+msgstr ""
+
msgid "Keep settings"
msgstr "Behold innstillinger"
@@ -2288,7 +2288,7 @@ msgstr ""
"Annta at peer er uten forbindelse om angitt LCP ekko feiler, bruk verdi 0 "
"for å overse feil"
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3663,6 +3663,12 @@ msgstr "ja"
msgid "« Back"
msgstr "« Tilbake"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr "Et nytt nettverk vil bli opprettet hvis du tar bort haken."
+
+#~ msgid "Join Network: Settings"
+#~ msgstr "Koble til nettverk: Innstilling"
+
#~ msgid "CPU"
#~ msgstr "CPU"
diff --git a/modules/luci-base/po/pl/base.po b/modules/luci-base/po/pl/base.po
index 4e6152c033..4619ad283f 100644
--- a/modules/luci-base/po/pl/base.po
+++ b/modules/luci-base/po/pl/base.po
@@ -300,9 +300,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
+msgid "An additional network will be created if you leave this checked."
msgstr ""
-"Zostanie utworzona dodatkowa sieć jeśli zostawisz tą opcję niezaznaczoną."
msgid "Annex"
msgstr ""
@@ -1590,12 +1589,12 @@ msgstr "Java Script jest wymagany!"
msgid "Join Network"
msgstr "Połącz z siecią"
-msgid "Join Network: Settings"
-msgstr "Przyłącz do sieci: Ustawienia"
-
msgid "Join Network: Wireless Scan"
msgstr "Przyłącz do sieci: Skanuj sieci WiFi"
+msgid "Joining Network: %q"
+msgstr ""
+
msgid "Keep settings"
msgstr "Zachowaj ustawienia"
@@ -2336,7 +2335,7 @@ msgstr ""
"Zakładaj że klient jest martwy po danej ilości błedów odpowiedzi echa LCP, "
"wpisz 0 aby zignorować błędy"
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3730,6 +3729,13 @@ msgstr "tak"
msgid "« Back"
msgstr "« Wróć"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr ""
+#~ "Zostanie utworzona dodatkowa sieć jeśli zostawisz tą opcję niezaznaczoną."
+
+#~ msgid "Join Network: Settings"
+#~ msgstr "Przyłącz do sieci: Ustawienia"
+
#~ msgid "CPU"
#~ msgstr "CPU"
diff --git a/modules/luci-base/po/pt-br/base.po b/modules/luci-base/po/pt-br/base.po
index fda160503c..e61ad6c820 100644
--- a/modules/luci-base/po/pt-br/base.po
+++ b/modules/luci-base/po/pt-br/base.po
@@ -300,8 +300,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
-msgstr "Uma rede adicional será criada se você deixar isto desmarcado."
+msgid "An additional network will be created if you leave this checked."
+msgstr ""
msgid "Annex"
msgstr ""
@@ -1585,12 +1585,12 @@ msgstr "É necessário Java Script!"
msgid "Join Network"
msgstr "Conectar à Rede"
-msgid "Join Network: Settings"
-msgstr "Conectar à Rede: Configurações"
-
msgid "Join Network: Wireless Scan"
msgstr "Conectar à Rede: Busca por Rede Sem Fio"
+msgid "Joining Network: %q"
+msgstr ""
+
msgid "Keep settings"
msgstr "Manter configurações"
@@ -2341,7 +2341,7 @@ msgstr ""
"Assumir que o parceiro está morto depois de uma data quantidade de falhas de "
"echo do LCP. Use 0 para ignorar as falhas"
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3734,6 +3734,12 @@ msgstr "sim"
msgid "« Back"
msgstr "« Voltar"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr "Uma rede adicional será criada se você deixar isto desmarcado."
+
+#~ msgid "Join Network: Settings"
+#~ msgstr "Conectar à Rede: Configurações"
+
#~ msgid "CPU"
#~ msgstr "CPU"
diff --git a/modules/luci-base/po/pt/base.po b/modules/luci-base/po/pt/base.po
index 05bdb76ff9..126ce5372c 100644
--- a/modules/luci-base/po/pt/base.po
+++ b/modules/luci-base/po/pt/base.po
@@ -298,8 +298,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
-msgstr "Uma rede adicional será criada se deixar isto desmarcado."
+msgid "An additional network will be created if you leave this checked."
+msgstr ""
msgid "Annex"
msgstr ""
@@ -1568,12 +1568,12 @@ msgstr "É necessário Javascript!"
msgid "Join Network"
msgstr "Associar Rede"
-msgid "Join Network: Settings"
-msgstr "Associar Rede: Definições"
-
msgid "Join Network: Wireless Scan"
msgstr "Associar Rede: Procurar Redes Wireless"
+msgid "Joining Network: %q"
+msgstr ""
+
msgid "Keep settings"
msgstr "Manter definições"
@@ -2308,7 +2308,7 @@ msgid ""
"ignore failures"
msgstr ""
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3659,6 +3659,12 @@ msgstr "sim"
msgid "« Back"
msgstr "« Voltar"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr "Uma rede adicional será criada se deixar isto desmarcado."
+
+#~ msgid "Join Network: Settings"
+#~ msgstr "Associar Rede: Definições"
+
#~ msgid "CPU"
#~ msgstr "CPU"
diff --git a/modules/luci-base/po/ro/base.po b/modules/luci-base/po/ro/base.po
index 73f9fb19f2..58a22c0d3b 100644
--- a/modules/luci-base/po/ro/base.po
+++ b/modules/luci-base/po/ro/base.po
@@ -284,9 +284,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
+msgid "An additional network will be created if you leave this checked."
msgstr ""
-"Daca lasati aceasta optiune neselectata va fi creata o retea aditionala"
msgid "Annex"
msgstr ""
@@ -1509,10 +1508,10 @@ msgstr "Ai nevoie de Java Script !"
msgid "Join Network"
msgstr ""
-msgid "Join Network: Settings"
+msgid "Join Network: Wireless Scan"
msgstr ""
-msgid "Join Network: Wireless Scan"
+msgid "Joining Network: %q"
msgstr ""
msgid "Keep settings"
@@ -2233,7 +2232,7 @@ msgid ""
"ignore failures"
msgstr ""
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3516,6 +3515,10 @@ msgstr "da"
msgid "« Back"
msgstr "« Inapoi"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr ""
+#~ "Daca lasati aceasta optiune neselectata va fi creata o retea aditionala"
+
#~ msgid "CPU"
#~ msgstr "Procesor"
diff --git a/modules/luci-base/po/ru/base.po b/modules/luci-base/po/ru/base.po
index 34dde6bb10..cb7bfc1ec5 100644
--- a/modules/luci-base/po/ru/base.po
+++ b/modules/luci-base/po/ru/base.po
@@ -297,8 +297,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
-msgstr "Если вы не выберите эту опцию, то будет создана дополнительная сеть."
+msgid "An additional network will be created if you leave this checked."
+msgstr ""
msgid "Annex"
msgstr ""
@@ -1572,12 +1572,12 @@ msgstr "Требуется Java Script!"
msgid "Join Network"
msgstr "Подключение к сети"
-msgid "Join Network: Settings"
-msgstr "Подключение к сети: настройки"
-
msgid "Join Network: Wireless Scan"
msgstr "Подключение к сети: сканирование"
+msgid "Joining Network: %q"
+msgstr ""
+
msgid "Keep settings"
msgstr "Сохранить настройки"
@@ -2318,7 +2318,7 @@ msgstr ""
"Предполагать, что узел недоступен после указанного количества ошибок "
"получения эхо-пакета LCP, введите 0 для игнорирования ошибок"
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3701,6 +3701,13 @@ msgstr "да"
msgid "« Back"
msgstr "« Назад"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr ""
+#~ "Если вы не выберите эту опцию, то будет создана дополнительная сеть."
+
+#~ msgid "Join Network: Settings"
+#~ msgstr "Подключение к сети: настройки"
+
#~ msgid "CPU"
#~ msgstr "ЦП"
diff --git a/modules/luci-base/po/sk/base.po b/modules/luci-base/po/sk/base.po
index 0d87051247..a715a59e10 100644
--- a/modules/luci-base/po/sk/base.po
+++ b/modules/luci-base/po/sk/base.po
@@ -270,7 +270,7 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
+msgid "An additional network will be created if you leave this checked."
msgstr ""
msgid "Annex"
@@ -1483,10 +1483,10 @@ msgstr ""
msgid "Join Network"
msgstr ""
-msgid "Join Network: Settings"
+msgid "Join Network: Wireless Scan"
msgstr ""
-msgid "Join Network: Wireless Scan"
+msgid "Joining Network: %q"
msgstr ""
msgid "Keep settings"
@@ -2207,7 +2207,7 @@ msgid ""
"ignore failures"
msgstr ""
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
diff --git a/modules/luci-base/po/sv/base.po b/modules/luci-base/po/sv/base.po
index 73a88b8616..4c08e4e1e8 100644
--- a/modules/luci-base/po/sv/base.po
+++ b/modules/luci-base/po/sv/base.po
@@ -276,7 +276,7 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
+msgid "An additional network will be created if you leave this checked."
msgstr ""
msgid "Annex"
@@ -1489,10 +1489,10 @@ msgstr ""
msgid "Join Network"
msgstr ""
-msgid "Join Network: Settings"
+msgid "Join Network: Wireless Scan"
msgstr ""
-msgid "Join Network: Wireless Scan"
+msgid "Joining Network: %q"
msgstr ""
msgid "Keep settings"
@@ -2213,7 +2213,7 @@ msgid ""
"ignore failures"
msgstr ""
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
diff --git a/modules/luci-base/po/templates/base.pot b/modules/luci-base/po/templates/base.pot
index df2892b88f..a10dbea5c9 100644
--- a/modules/luci-base/po/templates/base.pot
+++ b/modules/luci-base/po/templates/base.pot
@@ -263,7 +263,7 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
+msgid "An additional network will be created if you leave this checked."
msgstr ""
msgid "Annex"
@@ -1476,10 +1476,10 @@ msgstr ""
msgid "Join Network"
msgstr ""
-msgid "Join Network: Settings"
+msgid "Join Network: Wireless Scan"
msgstr ""
-msgid "Join Network: Wireless Scan"
+msgid "Joining Network: %q"
msgstr ""
msgid "Keep settings"
@@ -2200,7 +2200,7 @@ msgid ""
"ignore failures"
msgstr ""
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
diff --git a/modules/luci-base/po/tr/base.po b/modules/luci-base/po/tr/base.po
index a5a5338979..d674f5154c 100644
--- a/modules/luci-base/po/tr/base.po
+++ b/modules/luci-base/po/tr/base.po
@@ -283,7 +283,7 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
+msgid "An additional network will be created if you leave this checked."
msgstr ""
msgid "Annex"
@@ -1496,10 +1496,10 @@ msgstr ""
msgid "Join Network"
msgstr ""
-msgid "Join Network: Settings"
+msgid "Join Network: Wireless Scan"
msgstr ""
-msgid "Join Network: Wireless Scan"
+msgid "Joining Network: %q"
msgstr ""
msgid "Keep settings"
@@ -2220,7 +2220,7 @@ msgid ""
"ignore failures"
msgstr ""
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
diff --git a/modules/luci-base/po/uk/base.po b/modules/luci-base/po/uk/base.po
index 95c686e282..b1fe0e7937 100644
--- a/modules/luci-base/po/uk/base.po
+++ b/modules/luci-base/po/uk/base.po
@@ -307,8 +307,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
-msgstr "Якщо ви залишите це невибраним, буде створена додаткова мережа."
+msgid "An additional network will be created if you leave this checked."
+msgstr ""
msgid "Annex"
msgstr ""
@@ -1579,12 +1579,12 @@ msgstr "Потрібен Java Script!"
msgid "Join Network"
msgstr "Підключення до мережі"
-msgid "Join Network: Settings"
-msgstr "Підключення до мережі: Настройки"
-
msgid "Join Network: Wireless Scan"
msgstr "Підключення до мережі: Сканування бездротових мереж"
+msgid "Joining Network: %q"
+msgstr ""
+
msgid "Keep settings"
msgstr "Зберегти настройки"
@@ -2329,7 +2329,7 @@ msgstr ""
"Вважати вузол недоступним після визначеної кількості невдач отримання ехо-"
"пакета LCP, використовуйте 0, щоб ігнорувати невдачі"
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3716,6 +3716,12 @@ msgstr "так"
msgid "« Back"
msgstr "« Назад"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr "Якщо ви залишите це невибраним, буде створена додаткова мережа."
+
+#~ msgid "Join Network: Settings"
+#~ msgstr "Підключення до мережі: Настройки"
+
#~ msgid "CPU"
#~ msgstr "ЦП"
diff --git a/modules/luci-base/po/vi/base.po b/modules/luci-base/po/vi/base.po
index 0e378565ae..0160c97f36 100644
--- a/modules/luci-base/po/vi/base.po
+++ b/modules/luci-base/po/vi/base.po
@@ -277,7 +277,7 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
+msgid "An additional network will be created if you leave this checked."
msgstr ""
msgid "Annex"
@@ -1511,10 +1511,10 @@ msgstr ""
msgid "Join Network"
msgstr ""
-msgid "Join Network: Settings"
+msgid "Join Network: Wireless Scan"
msgstr ""
-msgid "Join Network: Wireless Scan"
+msgid "Joining Network: %q"
msgstr ""
msgid "Keep settings"
@@ -2243,7 +2243,7 @@ msgid ""
"ignore failures"
msgstr ""
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
diff --git a/modules/luci-base/po/zh-cn/base.po b/modules/luci-base/po/zh-cn/base.po
index dbc4df8091..a2d1e47132 100644
--- a/modules/luci-base/po/zh-cn/base.po
+++ b/modules/luci-base/po/zh-cn/base.po
@@ -283,8 +283,8 @@ msgstr ""
msgid "Always announce default router"
msgstr "总是广播默认路由"
-msgid "An additional network will be created if you leave this unchecked."
-msgstr "取消选中将会另外创建一个新网络,而不会覆盖当前网络设置"
+msgid "An additional network will be created if you leave this checked."
+msgstr ""
msgid "Annex"
msgstr ""
@@ -1508,12 +1508,12 @@ msgstr "需要Java Script!"
msgid "Join Network"
msgstr "加入网络"
-msgid "Join Network: Settings"
-msgstr "加入网络:设置"
-
msgid "Join Network: Wireless Scan"
msgstr "加入网络:搜索无线"
+msgid "Joining Network: %q"
+msgstr ""
+
msgid "Keep settings"
msgstr "保留配置"
@@ -2233,7 +2233,7 @@ msgid ""
"ignore failures"
msgstr "在指定数量的LCP响应故障后假定链路已断开,0为忽略故障"
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3556,6 +3556,12 @@ msgstr "是"
msgid "« Back"
msgstr "« 后退"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr "取消选中将会另外创建一个新网络,而不会覆盖当前网络设置"
+
+#~ msgid "Join Network: Settings"
+#~ msgstr "加入网络:设置"
+
#~ msgid "CPU"
#~ msgstr "CPU"
diff --git a/modules/luci-base/po/zh-tw/base.po b/modules/luci-base/po/zh-tw/base.po
index d1d17ad916..2845c9999d 100644
--- a/modules/luci-base/po/zh-tw/base.po
+++ b/modules/luci-base/po/zh-tw/base.po
@@ -280,8 +280,8 @@ msgstr ""
msgid "Always announce default router"
msgstr ""
-msgid "An additional network will be created if you leave this unchecked."
-msgstr "取消選取將會另外建立一個新網路,而不會覆蓋目前的網路設定"
+msgid "An additional network will be created if you leave this checked."
+msgstr ""
msgid "Annex"
msgstr ""
@@ -1519,12 +1519,12 @@ msgstr "需要Java腳本"
msgid "Join Network"
msgstr "加入網路"
-msgid "Join Network: Settings"
-msgstr "加入網路的設定"
-
msgid "Join Network: Wireless Scan"
msgstr "加入網路:無線網路掃描"
+msgid "Joining Network: %q"
+msgstr ""
+
msgid "Keep settings"
msgstr "保持設定值"
@@ -2248,7 +2248,7 @@ msgid ""
"ignore failures"
msgstr "假若在給于多次的 LCP 呼叫失敗後終點將死, 使用0忽略失敗"
-msgid "Prevent listening on thise interfaces."
+msgid "Prevent listening on these interfaces."
msgstr ""
msgid "Prevents client-to-client communication"
@@ -3582,6 +3582,12 @@ msgstr "是的"
msgid "« Back"
msgstr "« 倒退"
+#~ msgid "An additional network will be created if you leave this unchecked."
+#~ msgstr "取消選取將會另外建立一個新網路,而不會覆蓋目前的網路設定"
+
+#~ msgid "Join Network: Settings"
+#~ msgstr "加入網路的設定"
+
#~ msgid "CPU"
#~ msgstr "CPU"
diff --git a/modules/luci-base/root/etc/config/luci b/modules/luci-base/root/etc/config/luci
index a443742f93..baa3ac5d1e 100644
--- a/modules/luci-base/root/etc/config/luci
+++ b/modules/luci-base/root/etc/config/luci
@@ -22,8 +22,3 @@ config internal ccache
option enable 1
config internal themes
-
-config internal 'diag'
- option ping 'dev.openwrt.org'
- option route 'dev.openwrt.org'
- option dns 'dev.openwrt.org'
diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua
index aaf045ca2c..10636a491a 100644
--- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua
+++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua
@@ -251,7 +251,7 @@ o:depends("nonwildcard", true)
o = s:taboption("general", DynamicList, "notinterface",
translate("Exclude interfaces"),
- translate("Prevent listening on thise interfaces."))
+ translate("Prevent listening on these interfaces."))
o.optional = true
o:depends("nonwildcard", true)
diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi_add.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi_add.lua
index 96b8b4d740..05b27a9f0c 100644
--- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi_add.lua
+++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi_add.lua
@@ -16,7 +16,7 @@ if not iw then
return
end
-m = SimpleForm("network", translate("Join Network: Settings"))
+m = SimpleForm("network", translate("Joining Network: %q", http.formvalue("join")))
m.cancel = translate("Back to scan results")
m.reset = false
@@ -44,9 +44,9 @@ m.hidden = {
if iw and iw.mbssid_support then
replace = m:field(Flag, "replace", translate("Replace wireless configuration"),
- translate("An additional network will be created if you leave this unchecked."))
+ translate("An additional network will be created if you leave this checked."))
- function replace.cfgvalue() return "1" end
+ function replace.cfgvalue() return "0" end
else
replace = m:field(DummyValue, "replace", translate("Replace wireless configuration"))
replace.default = translate("The hardware is not multi-SSID capable and the existing " ..
diff --git a/modules/luci-mod-admin-full/root/etc/uci-defaults/50_luci-mod-admin-full b/modules/luci-mod-admin-full/root/etc/uci-defaults/50_luci-mod-admin-full
new file mode 100755
index 0000000000..372eb15122
--- /dev/null
+++ b/modules/luci-mod-admin-full/root/etc/uci-defaults/50_luci-mod-admin-full
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+if [ "$(uci -q get luci.diag)" != "internal" ]; then
+ host=""
+
+ if [ -s /etc/os-release ]; then
+ . /etc/os-release
+ host="${HOME_URL:-${BUG_URL:-$LEDE_DEVICE_MANUFACTURER_URL}}"
+ host="${host#*://}"
+ host="${host%%/*}"
+ fi
+
+ uci -q batch <<-EOF >/dev/null
+ set luci.diag=internal
+ set luci.diag.dns='${host:-openwrt.org}'
+ set luci.diag.ping='${host:-openwrt.org}'
+ set luci.diag.route='${host:-openwrt.org}'
+ commit luci
+ EOF
+fi
+
+exit 0
diff --git a/protocols/luci-proto-wireguard/Makefile b/protocols/luci-proto-wireguard/Makefile
new file mode 100644
index 0000000000..ed94a557b6
--- /dev/null
+++ b/protocols/luci-proto-wireguard/Makefile
@@ -0,0 +1,16 @@
+#
+# Copyright (C) 2016 Dan Luedtke <mail@danrl.com>
+#
+# This is free software, licensed under the Apache License, Version 2.0 .
+#
+
+include $(TOPDIR)/rules.mk
+
+LUCI_TITLE:=Support for WireGuard VPN
+LUCI_DEPENDS:=+kmod-wireguard +wireguard-tools
+
+PKG_MAINTAINER:=Dan Luedtke <mail@danrl.com>
+
+include ../../luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
diff --git a/protocols/luci-proto-wireguard/luasrc/model/cbi/admin_network/proto_wireguard.lua b/protocols/luci-proto-wireguard/luasrc/model/cbi/admin_network/proto_wireguard.lua
new file mode 100644
index 0000000000..774c6db22b
--- /dev/null
+++ b/protocols/luci-proto-wireguard/luasrc/model/cbi/admin_network/proto_wireguard.lua
@@ -0,0 +1,148 @@
+-- Copyright 2016 Dan Luedtke <mail@danrl.com>
+-- Licensed to the public under the Apache License 2.0.
+
+
+local map, section, net = ...
+local ifname = net:get_interface():name()
+local private_key, listen_port
+local metric, mtu, preshared_key
+local peers, public_key, allowed_ips, endpoint, persistent_keepalive
+
+
+-- general ---------------------------------------------------------------------
+
+private_key = section:taboption(
+ "general",
+ Value,
+ "private_key",
+ translate("Private Key"),
+ translate("Required. Base64-encoded private key for this interface.")
+)
+private_key.password = true
+private_key.datatype = "rangelength(44, 44)"
+private_key.optional = false
+
+
+listen_port = section:taboption(
+ "general",
+ Value,
+ "listen_port",
+ translate("Listen Port"),
+ translate("Optional. UDP port used for outgoing and incoming packets.")
+)
+listen_port.datatype = "port"
+listen_port.placeholder = "51820"
+listen_port.optional = true
+
+
+-- advanced --------------------------------------------------------------------
+
+metric = section:taboption(
+ "advanced",
+ Value,
+ "metric",
+ translate("Metric"),
+ translate("Optional.")
+)
+metric.datatype = "uinteger"
+metric.placeholder = "0"
+metric.optional = true
+
+
+mtu = section:taboption(
+ "advanced",
+ Value,
+ "mtu",
+ translate("MTU"),
+ translate("Optional. Maximum Transmission Unit of tunnel interface.")
+)
+mtu.datatype = "range(1280,1423)"
+mtu.placeholder = "1423"
+mtu.optional = true
+
+
+preshared_key = section:taboption(
+ "advanced",
+ Value,
+ "preshared_key",
+ translate("Preshared Key"),
+ translate("Optional. Adds in an additional layer of symmetric-key " ..
+ "cryptography for post-quantum resistance.")
+)
+preshared_key.password = true
+preshared_key.datatype = "rangelength(44, 44)"
+preshared_key.optional = true
+
+
+-- peers -----------------------------------------------------------------------
+
+peers = map:section(
+ TypedSection,
+ "wireguard_" .. ifname,
+ translate("Peers"),
+ translate("Further information about WireGuard interfaces and peers " ..
+ "at <a href=\"http://wireguard.io\">wireguard.io</a>.")
+)
+peers.template = "cbi/tsection"
+peers.anonymous = true
+peers.addremove = true
+
+
+public_key = peers:option(
+ Value,
+ "public_key",
+ translate("Public Key"),
+ translate("Required. Public key of peer.")
+)
+public_key.datatype = "rangelength(44, 44)"
+public_key.optional = false
+
+
+allowed_ips = peers:option(
+ DynamicList,
+ "allowed_ips",
+ translate("Allowed IPs"),
+ translate("Required. IP addresses and prefixes that this peer is allowed " ..
+ "to use inside the tunnel. Usually the peer's tunnel IP " ..
+ "addresses and the networks the peer routes through the tunnel.")
+)
+allowed_ips.datatype = "ipaddr"
+allowed_ips.optional = false
+
+
+route_allowed_ips = peers:option(
+ Flag,
+ "route_allowed_ips",
+ translate("Route Allowed IPs"),
+ translate("Optional. Create routes for Allowed IPs for this peer.")
+)
+
+
+endpoint_host = peers:option(
+ Value,
+ "endpoint_host",
+ translate("Endpoint Host"),
+ translate("Optional. Host of peer. Names are resolved " ..
+ "prior to bringing up the interface."))
+endpoint_host.placeholder = "vpn.example.com"
+endpoint_host.datatype = "host"
+
+
+endpoint_port = peers:option(
+ Value,
+ "endpoint_port",
+ translate("Endpoint Port"),
+ translate("Optional. Port of peer."))
+endpoint_port.placeholder = "51820"
+endpoint_port.datatype = "port"
+
+
+persistent_keepalive = peers:option(
+ Value,
+ "persistent_keepalive",
+ translate("Persistent Keep Alive"),
+ translate("Optional. Seconds between keep alive messages. " ..
+ "Default is 0 (disabled). Recommended value if " ..
+ "this device is behind a NAT is 25."))
+persistent_keepalive.datatype = "range(0, 65535)"
+persistent_keepalive.placeholder = "0"
diff --git a/protocols/luci-proto-wireguard/luasrc/model/network/proto_wireguard.lua b/protocols/luci-proto-wireguard/luasrc/model/network/proto_wireguard.lua
new file mode 100644
index 0000000000..d6937618a7
--- /dev/null
+++ b/protocols/luci-proto-wireguard/luasrc/model/network/proto_wireguard.lua
@@ -0,0 +1,42 @@
+-- Copyright 2016 Dan Luedtke <mail@danrl.com>
+-- Licensed to the public under the Apache License 2.0.
+
+local netmod = luci.model.network
+local interface = luci.model.network.interface
+local proto = netmod:register_protocol("wireguard")
+
+function proto.get_i18n(self)
+ return luci.i18n.translate("WireGuard VPN")
+end
+
+function proto.ifname(self)
+ return self.sid
+end
+
+function proto.get_interface(self)
+ return interface(self:ifname(), self)
+end
+
+function proto.opkg_package(self)
+ return "wireguard-tools"
+end
+
+function proto.is_installed(self)
+ return nixio.fs.access("/lib/netifd/proto/wireguard.sh")
+end
+
+function proto.is_floating(self)
+ return true
+end
+
+function proto.is_virtual(self)
+ return true
+end
+
+function proto.get_interfaces(self)
+ return nil
+end
+
+function proto.contains_interface(self, ifc)
+ return (netmod:ifnameof(ifc) == self:ifname())
+end