summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-travelmate
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-travelmate')
-rw-r--r--applications/luci-app-travelmate/luasrc/controller/travelmate.lua13
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua102
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua69
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_delete.lua14
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua49
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_order.lua51
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm2
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm78
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm90
-rw-r--r--applications/luci-app-travelmate/po/ja/travelmate.po289
-rw-r--r--applications/luci-app-travelmate/po/pt-br/travelmate.po129
-rw-r--r--applications/luci-app-travelmate/po/templates/travelmate.pot129
12 files changed, 789 insertions, 226 deletions
diff --git a/applications/luci-app-travelmate/luasrc/controller/travelmate.lua b/applications/luci-app-travelmate/luasrc/controller/travelmate.lua
index 86382f6ae0..a418a8ec61 100644
--- a/applications/luci-app-travelmate/luasrc/controller/travelmate.lua
+++ b/applications/luci-app-travelmate/luasrc/controller/travelmate.lua
@@ -5,8 +5,8 @@ module("luci.controller.travelmate", package.seeall)
local fs = require("nixio.fs")
local util = require("luci.util")
-local template = require("luci.template")
local i18n = require("luci.i18n")
+local templ = require("luci.template")
function index()
if not nixio.fs.access("/etc/config/travelmate") then
@@ -14,15 +14,22 @@ function index()
end
entry({"admin", "services", "travelmate"}, firstchild(), _("Travelmate"), 40).dependent = false
entry({"admin", "services", "travelmate", "tab_from_cbi"}, cbi("travelmate/overview_tab", {hideresetbtn=true, hidesavebtn=true}), _("Overview"), 10).leaf = true
- entry({"admin", "services", "travelmate", "logfile"}, call("logread"), _("View Logfile"), 20).leaf = true
+ entry({"admin", "services", "travelmate", "stations"}, template("travelmate/stations"), _("Wireless Stations"), 20).leaf = true
+ entry({"admin", "services", "travelmate", "logfile"}, call("logread"), _("View Logfile"), 30).leaf = true
entry({"admin", "services", "travelmate", "advanced"}, firstchild(), _("Advanced"), 100)
entry({"admin", "services", "travelmate", "advanced", "configuration"}, cbi("travelmate/configuration_tab"), _("Edit Travelmate Configuration"), 110).leaf = true
entry({"admin", "services", "travelmate", "advanced", "cfg_wireless"}, cbi("travelmate/cfg_wireless_tab"), _("Edit Wireless Configuration"), 120).leaf = true
entry({"admin", "services", "travelmate", "advanced", "cfg_network"}, cbi("travelmate/cfg_network_tab"), _("Edit Network Configuration"), 130).leaf = true
entry({"admin", "services", "travelmate", "advanced", "cfg_firewall"}, cbi("travelmate/cfg_firewall_tab"), _("Edit Firewall Configuration"), 140).leaf = true
+
+ entry({"admin", "services", "travelmate", "wifiscan"}, template("travelmate/wifi_scan")).leaf = true
+ entry({"admin", "services", "travelmate", "wifiadd"}, cbi("travelmate/wifi_add", {hideresetbtn=true, hidesavebtn=true})).leaf = true
+ entry({"admin", "services", "travelmate", "wifiedit"}, cbi("travelmate/wifi_edit", {hideresetbtn=true, hidesavebtn=true})).leaf = true
+ entry({"admin", "services", "travelmate", "wifidelete"}, cbi("travelmate/wifi_delete", {hideresetbtn=true, hidesavebtn=true})).leaf = true
+ entry({"admin", "services", "travelmate", "wifiorder"}, cbi("travelmate/wifi_order", {hideresetbtn=true, hidesavebtn=true})).leaf = true
end
function logread()
local logfile = util.trim(util.exec("logread -e 'travelmate'"))
- template.render("travelmate/logread", {title = i18n.translate("Travelmate Logfile"), content = logfile})
+ templ.render("travelmate/logread", {title = i18n.translate("Travelmate Logfile"), content = logfile})
end
diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua
index 236bbb0de5..12cb72cbe5 100644
--- a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua
+++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua
@@ -2,12 +2,13 @@
-- This is free software, licensed under the Apache License, Version 2.0
local fs = require("nixio.fs")
-local uci = require("uci")
+local uci = require("luci.model.uci").cursor()
local json = require("luci.jsonc")
local nw = require("luci.model.network").init()
local fw = require("luci.model.firewall").init()
-local uplink = uci.get("network", "trm_wwan") or ""
+local trmiface = uci.get("travelmate", "global", "trm_iface") or "trm_wwan"
local trminput = uci.get("travelmate", "global", "trm_rtfile") or "/tmp/trm_runtime.json"
+local uplink = uci.get("network", trmiface) or ""
local parse = json.parse(fs.readfile(trminput) or "")
m = Map("travelmate", translate("Travelmate"),
@@ -21,70 +22,87 @@ function m.on_after_commit(self)
luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate"))
end
--- Main travelmate options
-
s = m:section(NamedSection, "global", "travelmate")
-o1 = s:option(Flag, "trm_enabled", translate("Enable travelmate"))
-o1.default = o1.disabled
-o1.rmempty = false
+-- Interface Wizard
-o2 = s:option(Flag, "trm_automatic", translate("Enable 'automatic' mode"),
- translate("Keep travelmate in an active state."))
-o2.default = o2.enabled
-o2.rmempty = false
-
-o3 = s:option(Value, "trm_iface", translate("Restrict interface trigger to certain interface(s)"),
- translate("Space separated list of interfaces that trigger travelmate processing. "..
- "To disable event driven (re-)starts remove all entries."))
-o3.rmempty = true
-
-o4 = s:option(Value, "trm_triggerdelay", translate("Trigger delay"),
- translate("Additional trigger delay in seconds before travelmate processing begins."))
-o4.default = 2
-o4.datatype = "range(1,90)"
-o4.rmempty = false
+if uplink == "" then
+ dv = s:option(DummyValue, "nil", translate("Interface Wizard"))
+ dv.template = "cbi/nullsection"
-o5 = s:option(Flag, "trm_debug", translate("Enable verbose debug logging"))
-o5.default = o5.disabled
-o5.rmempty = false
+ o = s:option(Value, "trm_iface", translate("Uplink interface"))
+ o.datatype = "and(uciname,rangelength(3,15))"
+ o.default = "trm_wwan"
+ o.rmempty = false
--- Interface setup
+ function o.write(self, section, value)
+ iface = o:formvalue(section)
+ uci:set("travelmate", section, "trm_iface", iface)
+ uci:save("travelmate")
+ uci:commit("travelmate")
+ end
-if uplink == "" then
- dv = s:option(DummyValue, "_dummy", translate("Interface Setup"))
- dv.template = "cbi/nullsection"
btn = s:option(Button, "", translate("Create Uplink Interface"),
- translate("Automatically create a new wireless wan uplink interface 'trm_wwan', configure it to use dhcp and ")
+ translate("Create a new wireless wan uplink interface, configure it to use dhcp and ")
.. translate("add it to the wan zone of the firewall. This step has only to be done once."))
btn.inputtitle = translate("Add Interface")
btn.inputstyle = "apply"
btn.disabled = false
function btn.write()
- local name = "trm_wwan"
- local net = nw:add_network(name, { proto = "dhcp" })
+ local net = nw:add_network(iface, { proto = "dhcp" })
if net then
nw:save("network")
nw:commit("network")
local zone = fw:get_zone_by_network("wan")
if zone then
- zone:add_network(name)
+ zone:add_network(iface)
fw:save("firewall")
fw:commit("firewall")
+ luci.sys.call("env -i /bin/ubus call network reload >/dev/null 2>&1")
end
- luci.sys.call("env -i /bin/ubus call network reload >/dev/null 2>&1")
- luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate"))
end
+ luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate"))
end
-else
- dv = s:option(DummyValue, "_dummy", translate("Interface Setup"),
- translate("<br />&nbsp;Network Interface 'trm_wwan' created successfully. ")
- .. translatef("Scan &amp; Add new wireless stations via standard "
- .. "<a href=\"%s\">"
- .. "Wireless Setup</a>", luci.dispatcher.build_url("admin/network/wireless")))
- dv.template = "cbi/nullsection"
+ return m
end
+-- Main travelmate options
+
+o1 = s:option(Flag, "trm_enabled", translate("Enable travelmate"))
+o1.default = o1.disabled
+o1.rmempty = false
+
+o2 = s:option(Flag, "trm_automatic", translate("Enable 'automatic' mode"),
+ translate("Keep travelmate in an active state. Check every n seconds the connection status, i.e. the uplink availability."))
+o2.default = o2.enabled
+o2.rmempty = false
+
+btn = s:option(Button, "", translate("Manual Rescan"))
+btn:depends("trm_automatic", "")
+btn.inputtitle = translate("Rescan")
+btn.inputstyle = "find"
+btn.disabled = false
+function btn.write()
+ luci.sys.call("/etc/init.d/travelmate start >/dev/null 2>&1")
+ luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate"))
+end
+
+o3 = s:option(Value, "trm_iface", translate("Uplink / Trigger interface"),
+ translate("Name of the uplink interface that triggers travelmate processing in 'manual' mode."))
+o3.datatype = "and(uciname,rangelength(3,15))"
+o3.default = trmiface
+o3.rmempty = false
+
+o4 = s:option(Value, "trm_triggerdelay", translate("Trigger delay"),
+ translate("Additional trigger delay in seconds before travelmate processing begins."))
+o4.default = 2
+o4.datatype = "range(1,90)"
+o4.rmempty = false
+
+o5 = s:option(Flag, "trm_debug", translate("Enable verbose debug logging"))
+o5.default = o5.disabled
+o5.rmempty = false
+
-- Runtime information
ds = s:option(DummyValue, "_dummy", translate("Runtime information"))
diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua
new file mode 100644
index 0000000000..979307e001
--- /dev/null
+++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua
@@ -0,0 +1,69 @@
+-- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- This is free software, licensed under the Apache License, Version 2.0
+
+local fs = require("nixio.fs")
+local uci = require("luci.model.uci").cursor()
+local http = require("luci.http")
+local trmiface = uci.get("travelmate", "global", "trm_iface") or "trm_wwan"
+
+m = SimpleForm("add", translate("Add Wireless Uplink Configuration"))
+m.cancel = translate("Back to overview")
+m.reset = false
+
+function m.on_cancel()
+ http.redirect(luci.dispatcher.build_url("admin/services/travelmate/stations"))
+end
+
+m.hidden = {
+ device = http.formvalue("device"),
+ ssid = http.formvalue("ssid"),
+ wep = http.formvalue("wep"),
+ wpa_suites = http.formvalue("wpa_suites"),
+ wpa_version = http.formvalue("wpa_version")
+}
+
+if m.hidden.ssid ~= "" then
+ wssid = m:field(Value, "ssid", translate("SSID"))
+ wssid.default = m.hidden.ssid
+else
+ wssid = m:field(Value, "ssid", translate("SSID (hidden)"))
+end
+
+if (tonumber(m.hidden.wep) or 0) == 1 then
+ wkey = m:field(Value, "key", translate("WEP passphrase"),
+ translate("Specify the secret encryption key here."))
+ wkey.password = true
+ wkey.datatype = "wepkey"
+elseif (tonumber(m.hidden.wpa_version) or 0) > 0 and
+ (m.hidden.wpa_suites == "PSK" or m.hidden.wpa_suites == "PSK2")
+then
+ wkey = m:field(Value, "key", translate("WPA passphrase"),
+ translate("Specify the secret encryption key here."))
+ wkey.password = true
+ wkey.datatype = "wpakey"
+end
+
+function wssid.write(self, section, value)
+ newsection = uci:section("wireless", "wifi-iface", nil, {
+ mode = "sta",
+ network = trmiface,
+ device = m.hidden.device,
+ ssid = wssid:formvalue(section),
+ disabled = "1"
+ })
+ if (tonumber(m.hidden.wep) or 0) == 1 then
+ uci:set("wireless", newsection, "encryption", "wep-open")
+ uci:set("wireless", newsection, "key", "1")
+ uci:set("wireless", newsection, "key1", wkey:formvalue(section))
+ elseif (tonumber(m.hidden.wpa_version) or 0) > 0 then
+ uci:set("wireless", newsection, "encryption", "psk2")
+ uci:set("wireless", newsection, "key", wkey:formvalue(section))
+ else
+ uci:set("wireless", newsection, "encryption", "none")
+ end
+ uci:save("wireless")
+ uci:commit("wireless")
+ http.redirect(luci.dispatcher.build_url("admin/services/travelmate/stations"))
+end
+
+return m
diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_delete.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_delete.lua
new file mode 100644
index 0000000000..97ec1ca3ca
--- /dev/null
+++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_delete.lua
@@ -0,0 +1,14 @@
+-- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- This is free software, licensed under the Apache License, Version 2.0
+
+local uci = require("luci.model.uci").cursor()
+local http = require("luci.http")
+local cfg = http.formvalue("cfg")
+
+if cfg ~= nil then
+ uci:delete("wireless", cfg)
+ uci:save("wireless")
+ uci:commit("wireless")
+end
+
+http.redirect(luci.dispatcher.build_url("admin/services/travelmate/stations"))
diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua
new file mode 100644
index 0000000000..0bae98460f
--- /dev/null
+++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua
@@ -0,0 +1,49 @@
+-- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- This is free software, licensed under the Apache License, Version 2.0
+
+local fs = require("nixio.fs")
+local uci = require("luci.model.uci").cursor()
+local http = require("luci.http")
+
+m = SimpleForm("edit", translate("Edit Wireless Uplink Configuration"))
+m.cancel = translate("Back to overview")
+m.reset = false
+
+function m.on_cancel()
+ http.redirect(luci.dispatcher.build_url("admin/services/travelmate/stations"))
+end
+
+m.hidden = {
+ cfg = http.formvalue("cfg")
+}
+
+local s = uci:get_all("wireless", m.hidden.cfg)
+if s ~= nil then
+ wssid = m:field(Value, "ssid", translate("SSID"))
+ wssid.default = s.ssid
+
+ if s.encryption and s.key then
+ wkey = m:field(Value, "key", translatef("Passphrase (%s)", s.encryption))
+ wkey.password = true
+ wkey.default = s.key
+ if s.encryption == "wep" then
+ wkey.datatype = "wepkey"
+ else
+ wkey.datatype = "wpakey"
+ end
+ end
+else
+ http.redirect(luci.dispatcher.build_url("admin/services/travelmate/stations"))
+end
+
+function wssid.write(self, section, value)
+ uci:set("wireless", m.hidden.cfg, "ssid", wssid:formvalue(section))
+ if s.encryption and s.key then
+ uci:set("wireless", m.hidden.cfg, "key", wkey:formvalue(section))
+ end
+ uci:save("wireless")
+ uci:commit("wireless")
+ http.redirect(luci.dispatcher.build_url("admin/services/travelmate/stations"))
+end
+
+return m
diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_order.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_order.lua
new file mode 100644
index 0000000000..d53e1f55e5
--- /dev/null
+++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_order.lua
@@ -0,0 +1,51 @@
+-- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- This is free software, licensed under the Apache License, Version 2.0
+
+local http = require("luci.http")
+local cfg = http.formvalue("cfg")
+local dir = http.formvalue("dir")
+local uci = require("luci.model.uci").cursor()
+local trmiface = uci:get("travelmate", "global", "trm_iface") or "trm_wwan"
+
+if cfg ~= nil then
+ local iface = ""
+ local section = ""
+ local idx = ""
+ local idx_change = ""
+ if dir == "up" then
+ uci:foreach("wireless", "wifi-iface", function(s)
+ iface = s.network
+ if iface == trmiface then
+ section = s['.name']
+ if cfg == section then
+ idx = s['.index']
+ else
+ idx_change = s['.index']
+ end
+ if idx ~= "" and idx_change ~= "" and idx_change < idx then
+ uci:reorder("wireless", cfg, idx_change)
+ idx = ""
+ end
+ end
+ end)
+ elseif dir == "down" then
+ uci:foreach("wireless", "wifi-iface", function(s)
+ iface = s.network
+ if iface == trmiface then
+ section = s['.name']
+ if cfg == section then
+ idx = s['.index']
+ else
+ idx_change = s['.index']
+ end
+ if idx ~= "" and idx_change ~= "" and idx_change > idx then
+ uci:reorder("wireless", cfg, idx_change)
+ idx = ""
+ end
+ end
+ end)
+ end
+ uci:save("wireless")
+ uci:commit("wireless")
+end
+http.redirect(luci.dispatcher.build_url("admin/services/travelmate/stations"))
diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm
index ee3a4553a8..2b9885567a 100644
--- a/applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm
+++ b/applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm
@@ -5,6 +5,6 @@ This is free software, licensed under the Apache License, Version 2.0
<%+cbi/valueheader%>
-<input name="runtime" id="runtime" type="text" class="cbi-input-text" style="border: none; box-shadow: none; background-color: #ffffff; color: #0069d6;" value="<%=self:cfgvalue(section)%>" disabled="disabled" />
+<input name="runtime" id="runtime" type="text" class="cbi-input-text" style="border:none; box-shadow:none; background-color:#ffffff; color:#0069d6;" value="<%=self:cfgvalue(section)%>" disabled="disabled" />
<%+cbi/valuefooter%>
diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm
new file mode 100644
index 0000000000..f1f26801ce
--- /dev/null
+++ b/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm
@@ -0,0 +1,78 @@
+<%#
+Copyright 2017 Dirk Brenken (dev@brenken.org)
+This is free software, licensed under the Apache License, Version 2.0
+-%>
+
+<%-
+ local write = io.write
+ local uci = require "luci.model.uci".cursor()
+ local trmiface = uci:get("travelmate", "global", "trm_iface") or "trm_wwan"
+-%>
+
+<%+header%>
+
+<div class="cbi-map">
+<h2 name="content"><%:Wireless Stations%></h2>
+<div class="cbi-map-descr">
+ <%=translatef("Provides an overview of all configured uplinks for the travelmate interface (%s). You can edit, delete or re-order existing uplinks or scan for a new one. The currently used uplink is emphasized in blue.", trmiface)%>
+</div>
+
+<fieldset class="cbi-section">
+ <table class="cbi-section-table" style="empty-cells:hide">
+ <tr class="cbi-section-table-titles">
+ <th class="cbi-section-table-cell" style="text-align:left"><%:Device%></th>
+ <th class="cbi-section-table-cell" style="text-align:left"><%:SSID%></th>
+ <th class="cbi-section-table-cell" style="text-align:left"><%:Encryption%></th>
+ <th class="cbi-section-table-cell" style="text-align:center" colspan="2"><%:Actions%></th>
+ </tr>
+<%
+ uci:foreach("wireless", "wifi-iface", function(s)
+ local iface = s.network or ""
+ if iface == trmiface then
+ local section = s['.name']
+ local device = s.device or ""
+ local mode = s.mode or ""
+ local ssid = s.ssid or ""
+ local encryption = s.encryption or ""
+ local disabled = s.disabled or ""
+ local style = "color:#000000"
+ if disabled == "0" then
+ style = "color:#0069d6;font-weight:bold"
+ end
+%>
+ <tr class="cbi-section-table-row cbi-rowstyle-1" style="<%=style%>">
+ <td style="text-align:left"><%=device%></td>
+ <td style="text-align:left"><%=ssid%></td>
+ <td style="text-align:left"><%=encryption%></td>
+ <td class="cbi-value-field" style="width:70px;text-align:right">
+ <input class="cbi-button cbi-button-up" type="button" value="" onclick="location.href='<%=url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>;dir=up'" alt="<%:Move up%>" title="<%:Move up%>"/>
+ <input class="cbi-button cbi-button-down" type="button" value="" onclick="location.href='<%=url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>;dir=down'" alt="<%:Move down%>" title="<%:Move down%>"/>
+ </td>
+ <td class="cbi-value-field" style="width:150px;text-align:right">
+ <input type="button" class="cbi-button cbi-button-edit" onclick="location.href='<%=url('admin/services/travelmate/wifiedit')%>?cfg=<%=section%>'" title="<%:Edit this Uplink%>" value="<%:Edit%>"/>
+ <input type="button" class="cbi-button cbi-button-remove" onclick="location.href='<%=url('admin/services/travelmate/wifidelete')%>?cfg=<%=section%>'" title="<%:Delete this Uplink%>" value="<%:Delete%>"/>
+ </td>
+ </tr>
+<%
+ end
+ end)
+%>
+ </table>
+</fieldset>
+<div class="cbi-page-actions right">
+<%
+ uci:foreach("wireless", "wifi-device", function(s)
+ local device = s[".name"]
+%>
+ <form class="inline" action="<%=url('admin/services/travelmate/wifiscan')%>" method="post">
+ <input type="hidden" name="device" value="<%=device%>"/>
+ <input type="hidden" name="token" value="<%=token%>"/>
+ <input type="submit" class="cbi-button cbi-button-find" title="<%:Find and join network on %><%=device%>" value="<%:Scan %><%=device%>"/>
+ </form>
+<%
+ end)
+%>
+</div>
+</div>
+
+<%+footer%>
diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm
new file mode 100644
index 0000000000..dea107eef4
--- /dev/null
+++ b/applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm
@@ -0,0 +1,90 @@
+<%#
+Copyright 2017 Dirk Brenken (dev@brenken.org)
+This is free software, licensed under the Apache License, Version 2.0
+-%>
+
+<%-
+ local sys = require "luci.sys"
+ local utl = require "luci.util"
+ local dev = luci.http.formvalue("device")
+ local iw = luci.sys.wifi.getiwinfo(dev)
+
+ if not iw then
+ luci.http.redirect(luci.dispatcher.build_url("admin/services/travelmate/stations"))
+ end
+
+ function format_wifi_encryption(info)
+ if info.wep == true then
+ return translate("WEP")
+ elseif info.wpa > 0 then
+ return translate("WPA / WPA2")
+ elseif info.enabled then
+ return translate("Unknown")
+ else
+ return translate("Open")
+ end
+ end
+
+ function percent_wifi_signal(info)
+ local qc = info.quality or 0
+ local qm = info.quality_max or 0
+ if info.bssid and qc > 0 and qm > 0 then
+ return math.floor((100 / qm) * qc)
+ else
+ return 0
+ end
+ end
+-%>
+
+<%+header%>
+
+<div class="cbi-map">
+<h2 name="content"><%:Wireless Scan%></h2>
+ <fieldset class="cbi-section">
+ <table class="cbi-section-table" style="empty-cells:hide">
+ <tr class="cbi-section-table-titles">
+ <th class="cbi-section-table-cell" style="text-align:left"><%:Uplink SSID%></th>
+ <th class="cbi-section-table-cell" style="text-align:left"><%:Encryption%></th>
+ <th class="cbi-section-table-cell" style="text-align:left" colspan="2"><%:Signal strength%></th>
+ </tr>
+ <% for i, net in ipairs(iw.scanlist or { }) do%>
+ <tr class="cbi-section-table-row cbi-rowstyle-1">
+ <td class="cbi-value-field" style="text-align:left">
+ <strong><%=net.ssid and utl.pcdata(net.ssid) or "<em>%s</em>" % translate("hidden")%></strong>
+ </td>
+ <td class="cbi-value-field" style="text-align:left">
+ <%=format_wifi_encryption(net.encryption)%>
+ </td>
+ <td class="cbi-value-field" style="text-align:left">
+ <%=percent_wifi_signal(net)%> %
+ </td>
+ <td class="cbi-value-field" style="width:100px;text-align:right">
+ <form class="inline" action="<%=url('admin/services/travelmate/wifiadd')%>" method="post">
+ <input type="hidden" name="token" value="<%=token%>"/>
+ <input type="hidden" name="device" value="<%=utl.pcdata(dev)%>"/>
+ <input type="hidden" name="ssid" value="<%=utl.pcdata(net.ssid)%>"/>
+ <input type="hidden" name="wep" value="<%=net.encryption.wep and 1 or 0%>"/>
+ <% if net.encryption.wpa then %>
+ <input type="hidden" name="wpa_version" value="<%=net.encryption.wpa%>"/>
+ <% for _, v in ipairs(net.encryption.auth_suites) do %><input type="hidden" name="wpa_suites" value="<%=v%>"/>
+ <% end; end %>
+ <input class="cbi-button cbi-button-apply" type="submit" value="<%:Add Uplink%>"/>
+ </form>
+ </td>
+ </tr>
+ <% end %>
+ </table>
+ </fieldset>
+<div class="cbi-page-actions right">
+ <form class="inline" action="<%=url('admin/services/travelmate/stations')%>" method="post">
+ <input class="cbi-button cbi-button-reset" type="submit" value="<%:Back to overview%>"/>
+ </form>
+ <form class="inline" action="<%=url('admin/services/travelmate/wifiscan')%>" method="post">
+ <input type="hidden" name="token" value="<%=token%>"/>
+ <input type="hidden" name="device" value="<%=utl.pcdata(dev)%>"/>
+ <input class="cbi-button cbi-input-find" type="submit" value="<%:Repeat scan%>"/>
+ </form>
+</div>
+</div>
+
+<%+footer%>
diff --git a/applications/luci-app-travelmate/po/ja/travelmate.po b/applications/luci-app-travelmate/po/ja/travelmate.po
index e4a8b8bda2..150ef7047c 100644
--- a/applications/luci-app-travelmate/po/ja/travelmate.po
+++ b/applications/luci-app-travelmate/po/ja/travelmate.po
@@ -7,18 +7,23 @@ msgstr ""
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 2.0.1\n"
+"X-Generator: Poedit 2.0.3\n"
"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Language: ja\n"
-msgid "<br />&nbsp;Network Interface 'trm_wwan' created successfully."
-msgstr ""
-"<br />&nbsp;ネットワーク インターフェース 'trm_wwan' の作成に成功しました。"
+msgid "Actions"
+msgstr "操作"
msgid "Add Interface"
msgstr "インターフェースの追加"
+msgid "Add Uplink"
+msgstr "アップリンクの追加"
+
+msgid "Add Wireless Uplink Configuration"
+msgstr "無線アップリンク追加の設定"
+
msgid ""
"Additional trigger delay in seconds before travelmate processing begins."
msgstr "Travelmate の処理が開始されるまでの、追加の遅延時間(秒)です。"
@@ -26,12 +31,8 @@ msgstr "Travelmate の処理が開始されるまでの、追加の遅延時間
msgid "Advanced"
msgstr "詳細設定"
-msgid ""
-"Automatically create a new wireless wan uplink interface 'trm_wwan', "
-"configure it to use dhcp and"
-msgstr ""
-"新しい無線 WAN インターフェース 'trm_wwan' を自動的に作成し、 DHCP を使用する"
-"よう構成して"
+msgid "Back to overview"
+msgstr "概要へ戻る"
msgid ""
"Configuration of the travelmate package to to enable travel router "
@@ -45,6 +46,24 @@ msgstr "接続制限"
msgid "Create Uplink Interface"
msgstr "アップリンク インターフェースの作成"
+msgid ""
+"Create a new wireless wan uplink interface, configure it to use dhcp and"
+msgstr ""
+"新規の無線 WAN アップリンク インターフェースを作成し、 DHCP を使用するよう構"
+"成して"
+
+msgid "Delete"
+msgstr "削除"
+
+msgid "Delete this Uplink"
+msgstr "このアップリンクを削除"
+
+msgid "Device"
+msgstr "デバイス"
+
+msgid "Edit"
+msgstr "編集"
+
msgid "Edit Firewall Configuration"
msgstr "ファイアウォール設定の編集"
@@ -57,6 +76,12 @@ msgstr "Travelmate 設定の編集"
msgid "Edit Wireless Configuration"
msgstr "無線設定の編集"
+msgid "Edit Wireless Uplink Configuration"
+msgstr "無線アップリンク設定の編集"
+
+msgid "Edit this Uplink"
+msgstr "このアップリンクを編集"
+
msgid "Enable 'automatic' mode"
msgstr "'automatic' モードの有効化"
@@ -66,15 +91,21 @@ msgstr "Travelmate の有効化"
msgid "Enable verbose debug logging"
msgstr "詳細なデバッグ ログの有効化"
+msgid "Encryption"
+msgstr "暗号化"
+
msgid "Extra options"
msgstr "拡張オプション"
+msgid "Find and join network on"
+msgstr "ネットワークの検索と参加:"
+
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">see online "
"documentation</a>"
msgstr ""
-"詳細な情報は <a href=\"%s\" target=\"_blank\">オンライン ドキュメント</a>を確"
-"認してください。"
+"詳細な情報は <a href=\"%s\" target=\"_blank\">オンライン ドキュメント</a> を"
+"確認してください。"
msgid "How long should travelmate wait for a successful wlan interface reload"
msgstr ""
@@ -82,26 +113,49 @@ msgstr ""
"す。"
msgid "How many times should travelmate try to connect to an Uplink"
-msgstr "Travelmate がアップリンクに対して接続を試行する回数です。"
+msgstr "Travelmate がアップリンクへの接続を試行する回数です。"
msgid "Input file not found, please check your configuration."
msgstr "入力ファイルが見つかりません。設定を確認してください。"
-msgid "Interface Setup"
-msgstr "インターフェース設定"
-
msgid "Interface Timeout"
msgstr "インターフェース タイムアウト"
-msgid "Keep travelmate in an active state."
-msgstr "Travelmate をアクティブ状態で維持します。"
+msgid "Interface Wizard"
+msgstr "インターフェース ウィザード"
+
+msgid ""
+"Keep travelmate in an active state. Check every n seconds the connection "
+"status, i.e. the uplink availability."
+msgstr ""
+"Travelmate をアクティブ状態で維持します。 n秒ごとにアップリンクの可用性確認と"
+"して、接続状態をチェックします"
msgid "Last rundate"
msgstr "最終実行日時"
+msgid "Manual Rescan"
+msgstr "手動再スキャン"
+
+msgid "Move down"
+msgstr "下へ"
+
+msgid "Move up"
+msgstr "上へ"
+
+msgid ""
+"Name of the uplink interface that triggers travelmate processing in 'manual' "
+"mode."
+msgstr ""
+"'manual' モード時に Travelmate の処理のトリガーとなる、アップリンク インター"
+"フェースの名前です。"
+
msgid "Online Status"
msgstr "オンライン ステータス"
+msgid "Open"
+msgstr "オープン"
+
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr "デフォルトの設定が適切でない場合、さらに設定するためのオプションです。"
@@ -112,11 +166,27 @@ msgstr "全体タイムアウト"
msgid "Overview"
msgstr "概要"
+msgid "Passphrase (%s)"
+msgstr "暗号フレーズ (%s)"
+
+msgid ""
+"Provides an overview of all configured uplinks for the travelmate interface "
+"(%s). You can edit, delete or re-order existing uplinks or scan for a new "
+"one. The currently used uplink is emphasized in blue."
+msgstr ""
+"Travelmate 用インターフェース(%s)に設定済みの全アップリンクの一覧です。既存"
+"のアップリンクの編集や削除、並べ替えを行ったり、スキャンを行って新規アップリ"
+"ンクを追加することができます。現在使用されているアップリンクは、青色で強調さ"
+"れます。"
+
msgid "Radio selection"
msgstr "無線の選択"
-msgid "Restrict interface trigger to certain interface(s)"
-msgstr "インターフェース トリガーを特定のインターフェースに限定する"
+msgid "Repeat scan"
+msgstr "再スキャン"
+
+msgid "Rescan"
+msgstr "再スキャン"
msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'"
msgstr "Travelmate が特定の無線に接続するようにします。例: 'radio0'"
@@ -124,26 +194,26 @@ msgstr "Travelmate が特定の無線に接続するようにします。例: 'r
msgid "Runtime information"
msgstr "実行情報"
-msgid ""
-"Scan &amp; Add new wireless stations via standard <a href=\"%s\">Wireless "
-"Setup</a>"
-msgstr ""
-"通常の<a href=\"%s\">無線設定</a>にて、新規の無線ステーションのスキャン及び追"
-"加を行います。"
+msgid "SSID"
+msgstr "SSID"
-msgid ""
-"Space separated list of interfaces that trigger travelmate processing. To "
-"disable event driven (re-)starts remove all entries."
-msgstr ""
-"Travelmate の処理のトリガーとなる、スペースで区切られたインターフェースのリス"
-"トです。処理を発生させるイベントを無効にするには、全てのエントリーを削除して"
-"空欄にします。"
+msgid "SSID (hidden)"
+msgstr "SSID(ステルス)"
+
+msgid "Scan"
+msgstr "スキャン:"
+
+msgid "Signal strength"
+msgstr "信号強度"
+
+msgid "Specify the secret encryption key here."
+msgstr "暗号キーを設定します。"
msgid "Station Interface"
msgstr "ステーション インターフェース"
msgid "Station Radio"
-msgstr "ステーション 無線"
+msgstr "ステーション電波"
msgid "Station SSID"
msgstr "ステーション SSID"
@@ -198,9 +268,39 @@ msgstr "Travelmate バージョン"
msgid "Trigger delay"
msgstr "トリガー遅延"
+msgid "Unknown"
+msgstr "不明"
+
+msgid "Uplink / Trigger interface"
+msgstr "アップリンク/トリガー インターフェース"
+
+msgid "Uplink SSID"
+msgstr "アップリンク SSID"
+
+msgid "Uplink interface"
+msgstr "アップリンク インターフェース"
+
msgid "View Logfile"
msgstr "ログファイルの確認"
+msgid "WEP"
+msgstr "WEP"
+
+msgid "WEP passphrase"
+msgstr "WEP 暗号キー"
+
+msgid "WPA / WPA2"
+msgstr "WPA / WPA2"
+
+msgid "WPA passphrase"
+msgstr "WPA 暗号キー"
+
+msgid "Wireless Scan"
+msgstr "無線スキャン"
+
+msgid "Wireless Stations"
+msgstr "無線ステーション"
+
msgid ""
"add it to the wan zone of the firewall. This step has only to be done once."
msgstr ""
@@ -210,126 +310,11 @@ msgstr ""
msgid "connected"
msgstr "接続済み"
+msgid "hidden"
+msgstr "(不明)"
+
msgid "n/a"
msgstr "利用不可"
msgid "not connected"
msgstr "未接続"
-
-#~ msgid "."
-#~ msgstr "。"
-
-#~ msgid ""
-#~ "Automatically create a new wireless wan interface, configure it to use "
-#~ "dhcp and add it to the wan zone of the firewall. This step has only to be "
-#~ "done once."
-#~ msgstr ""
-#~ "新しい無線 WAN インターフェースを自動的に作成し、DHCP を使用するよう構成し"
-#~ "てファイアウォールの wan ゾーンに追加します。このステップは、一度だけ実行"
-#~ "する必要があります。"
-
-#~ msgid "Direct Link: <a href=\"%s\">Wireless Setup</a>"
-#~ msgstr "ダイレクト リンク: <a href=\"%s\">無線設定</a>"
-
-#~ msgid "For further information"
-#~ msgstr "詳細情報は"
-
-#~ msgid "Name of the new wireless wan interface"
-#~ msgstr "新しい無線 WAN のインターフェース名"
-
-#~ msgid ""
-#~ "Network Interface '%s' created successfully. Feel free to scan & add new "
-#~ "stations via standard wireless setup."
-#~ msgstr ""
-#~ "ネットワーク インターフェース '%s' の作成に成功しました。通常の無線設定に"
-#~ "て、スキャン及び新規ステーションの追加が可能です。"
-
-#~ msgid "Setup WWAN Interface"
-#~ msgstr "WWAN インターフェース設定"
-
-#~ msgid ""
-#~ "The allowed characters are: <code>A-Z</code>, <code>a-z</code>, "
-#~ "<code>0-9</code> and <code>_</code> (3-15 characters)."
-#~ msgstr ""
-#~ "使用可能文字: <code>A-Z</code>, <code>a-z</code>, <code>0-9</code> and "
-#~ "<code>_</code>(3 - 15文字)"
-
-#~ msgid "The given network interface name already exist"
-#~ msgstr "入力されたネットワーク インターフェース名は、既に存在しています。"
-
-#~ msgid "see online documentation"
-#~ msgstr "オンライン ドキュメントを確認してください"
-
-#~ 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 ""
-#~ "簡単な解説: 予めWWANインターフェースを作成し、DHCPを使用するよう構成して"
-#~ "ファイアウォールのWANゾーンに追加します。また、使用される無線インター"
-#~ "フェースを作成しておきます(\"クライアント\" モード、WWANに割り当て、無効"
-#~ "状態)。Travelmateは、登録されている順序で既知の無線クライアント インター"
-#~ "フェースへの接続を試行します。"
-
-#~ msgid ""
-#~ "Configuration of the Travelmate package to enable travel router "
-#~ "functionality."
-#~ msgstr "トラベル ルータ機能を有効にする、Travelmate パッケージの設定です。"
-
-#~ msgid "Debug logging"
-#~ msgstr "デバッグ ログ"
-
-#~ msgid "Default 20, range 10-60"
-#~ msgstr "既定値 20、範囲 10 - 60"
-
-#~ msgid "Default 3, range 1-10"
-#~ msgstr "既定値 3、範囲 1 - 10"
-
-#~ msgid "Disable this if you want to use iwinfo instead of iw"
-#~ msgstr "iw の代わりに iwinfo を使用したい場合、この設定を無効にします。"
-
-#~ msgid "Enable Travelmate"
-#~ msgstr "Travelmateの有効化"
-
-#~ msgid "Global options"
-#~ msgstr "全般オプション"
-
-#~ msgid "Link to detailed advice"
-#~ msgstr "詳細な解説へのリンク"
-
-#~ msgid "Max. number of connection retries to an uplink"
-#~ msgstr "確立までの接続試行回数"
-
-#~ msgid "Max. timeout in seconds for wlan interface reload"
-#~ msgstr "無線LANインターフェース リロード時の最大待機時間(秒)"
-
-#~ msgid "Restrict reload trigger to certain interface(s)"
-#~ msgstr "リロード トリガを特定のインターフェースに限定する"
-
-#~ msgid ""
-#~ "Space separated list of wwan interfaces that trigger reload action. To "
-#~ "disable reload trigger set it to 'false'. Default: empty"
-#~ msgstr ""
-#~ "リロード動作のトリガとなる、スペースで区切られたWWAN インターフェースのリ"
-#~ "ストです。リロードのトリガを無効にするには、'false' を設定します。既定値:"
-#~ "(空)"
-
-#~ msgid "Use iw for scanning"
-#~ msgstr "スキャンに iw を使用する"
-
-#~ msgid "Default 3, range 0-10. Set to 0 to allow unlimited retries"
-#~ msgstr "既定値 3、範囲 0 - 10。再試行回数を制限しない場合、0 に設定します。"
-
-#~ msgid "Default 30, range 5-60"
-#~ msgstr "既定値 30、範囲 5 - 60"
-
-#~ msgid "Default: empty = use all radios."
-#~ msgstr "デフォルト:(空)= 全ての無線を使用"
-
-#~ msgid "Loop timeout in seconds for wlan monitoring"
-#~ msgstr "無線LAN モニターのループ タイムアウト(秒)"
-
-#~ msgid "Use only one radio, e.g. 'radio0'"
-#~ msgstr "単一の無線のみ使用する 例: 'radio0'"
diff --git a/applications/luci-app-travelmate/po/pt-br/travelmate.po b/applications/luci-app-travelmate/po/pt-br/travelmate.po
index 4eff34e3e1..d74373d8c5 100644
--- a/applications/luci-app-travelmate/po/pt-br/travelmate.po
+++ b/applications/luci-app-travelmate/po/pt-br/travelmate.po
@@ -12,12 +12,18 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Language: pt_BR\n"
-msgid "<br />&nbsp;Network Interface 'trm_wwan' created successfully."
+msgid "Actions"
msgstr ""
msgid "Add Interface"
msgstr ""
+msgid "Add Uplink"
+msgstr ""
+
+msgid "Add Wireless Uplink Configuration"
+msgstr ""
+
msgid ""
"Additional trigger delay in seconds before travelmate processing begins."
msgstr ""
@@ -25,9 +31,7 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid ""
-"Automatically create a new wireless wan uplink interface 'trm_wwan', "
-"configure it to use dhcp and"
+msgid "Back to overview"
msgstr ""
msgid ""
@@ -41,6 +45,22 @@ msgstr ""
msgid "Create Uplink Interface"
msgstr ""
+msgid ""
+"Create a new wireless wan uplink interface, configure it to use dhcp and"
+msgstr ""
+
+msgid "Delete"
+msgstr ""
+
+msgid "Delete this Uplink"
+msgstr ""
+
+msgid "Device"
+msgstr ""
+
+msgid "Edit"
+msgstr ""
+
msgid "Edit Firewall Configuration"
msgstr ""
@@ -53,6 +73,12 @@ msgstr ""
msgid "Edit Wireless Configuration"
msgstr ""
+msgid "Edit Wireless Uplink Configuration"
+msgstr ""
+
+msgid "Edit this Uplink"
+msgstr ""
+
msgid "Enable 'automatic' mode"
msgstr ""
@@ -62,9 +88,15 @@ msgstr ""
msgid "Enable verbose debug logging"
msgstr ""
+msgid "Encryption"
+msgstr ""
+
msgid "Extra options"
msgstr "Opções adicionais"
+msgid "Find and join network on"
+msgstr ""
+
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">see online "
"documentation</a>"
@@ -79,21 +111,40 @@ msgstr ""
msgid "Input file not found, please check your configuration."
msgstr ""
-msgid "Interface Setup"
+msgid "Interface Timeout"
msgstr ""
-msgid "Interface Timeout"
+msgid "Interface Wizard"
msgstr ""
-msgid "Keep travelmate in an active state."
+msgid ""
+"Keep travelmate in an active state. Check every n seconds the connection "
+"status, i.e. the uplink availability."
msgstr ""
msgid "Last rundate"
msgstr ""
+msgid "Manual Rescan"
+msgstr ""
+
+msgid "Move down"
+msgstr ""
+
+msgid "Move up"
+msgstr ""
+
+msgid ""
+"Name of the uplink interface that triggers travelmate processing in 'manual' "
+"mode."
+msgstr ""
+
msgid "Online Status"
msgstr ""
+msgid "Open"
+msgstr ""
+
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr ""
@@ -104,10 +155,22 @@ msgstr ""
msgid "Overview"
msgstr ""
+msgid "Passphrase (%s)"
+msgstr ""
+
+msgid ""
+"Provides an overview of all configured uplinks for the travelmate interface "
+"(%s). You can edit, delete or re-order existing uplinks or scan for a new "
+"one. The currently used uplink is emphasized in blue."
+msgstr ""
+
msgid "Radio selection"
msgstr ""
-msgid "Restrict interface trigger to certain interface(s)"
+msgid "Repeat scan"
+msgstr ""
+
+msgid "Rescan"
msgstr ""
msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'"
@@ -116,14 +179,19 @@ msgstr ""
msgid "Runtime information"
msgstr ""
-msgid ""
-"Scan &amp; Add new wireless stations via standard <a href=\"%s\">Wireless "
-"Setup</a>"
+msgid "SSID"
msgstr ""
-msgid ""
-"Space separated list of interfaces that trigger travelmate processing. To "
-"disable event driven (re-)starts remove all entries."
+msgid "SSID (hidden)"
+msgstr ""
+
+msgid "Scan"
+msgstr ""
+
+msgid "Signal strength"
+msgstr ""
+
+msgid "Specify the secret encryption key here."
msgstr ""
msgid "Station Interface"
@@ -175,9 +243,39 @@ msgstr ""
msgid "Trigger delay"
msgstr ""
+msgid "Unknown"
+msgstr ""
+
+msgid "Uplink / Trigger interface"
+msgstr ""
+
+msgid "Uplink SSID"
+msgstr ""
+
+msgid "Uplink interface"
+msgstr ""
+
msgid "View Logfile"
msgstr ""
+msgid "WEP"
+msgstr ""
+
+msgid "WEP passphrase"
+msgstr ""
+
+msgid "WPA / WPA2"
+msgstr ""
+
+msgid "WPA passphrase"
+msgstr ""
+
+msgid "Wireless Scan"
+msgstr ""
+
+msgid "Wireless Stations"
+msgstr ""
+
msgid ""
"add it to the wan zone of the firewall. This step has only to be done once."
msgstr ""
@@ -185,6 +283,9 @@ msgstr ""
msgid "connected"
msgstr ""
+msgid "hidden"
+msgstr ""
+
msgid "n/a"
msgstr ""
diff --git a/applications/luci-app-travelmate/po/templates/travelmate.pot b/applications/luci-app-travelmate/po/templates/travelmate.pot
index 615c3a79ce..dc0583fb70 100644
--- a/applications/luci-app-travelmate/po/templates/travelmate.pot
+++ b/applications/luci-app-travelmate/po/templates/travelmate.pot
@@ -1,12 +1,18 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
-msgid "<br />&nbsp;Network Interface 'trm_wwan' created successfully."
+msgid "Actions"
msgstr ""
msgid "Add Interface"
msgstr ""
+msgid "Add Uplink"
+msgstr ""
+
+msgid "Add Wireless Uplink Configuration"
+msgstr ""
+
msgid ""
"Additional trigger delay in seconds before travelmate processing begins."
msgstr ""
@@ -14,9 +20,7 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid ""
-"Automatically create a new wireless wan uplink interface 'trm_wwan', "
-"configure it to use dhcp and"
+msgid "Back to overview"
msgstr ""
msgid ""
@@ -30,6 +34,22 @@ msgstr ""
msgid "Create Uplink Interface"
msgstr ""
+msgid ""
+"Create a new wireless wan uplink interface, configure it to use dhcp and"
+msgstr ""
+
+msgid "Delete"
+msgstr ""
+
+msgid "Delete this Uplink"
+msgstr ""
+
+msgid "Device"
+msgstr ""
+
+msgid "Edit"
+msgstr ""
+
msgid "Edit Firewall Configuration"
msgstr ""
@@ -42,6 +62,12 @@ msgstr ""
msgid "Edit Wireless Configuration"
msgstr ""
+msgid "Edit Wireless Uplink Configuration"
+msgstr ""
+
+msgid "Edit this Uplink"
+msgstr ""
+
msgid "Enable 'automatic' mode"
msgstr ""
@@ -51,9 +77,15 @@ msgstr ""
msgid "Enable verbose debug logging"
msgstr ""
+msgid "Encryption"
+msgstr ""
+
msgid "Extra options"
msgstr ""
+msgid "Find and join network on"
+msgstr ""
+
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">see online "
"documentation</a>"
@@ -68,21 +100,40 @@ msgstr ""
msgid "Input file not found, please check your configuration."
msgstr ""
-msgid "Interface Setup"
+msgid "Interface Timeout"
msgstr ""
-msgid "Interface Timeout"
+msgid "Interface Wizard"
msgstr ""
-msgid "Keep travelmate in an active state."
+msgid ""
+"Keep travelmate in an active state. Check every n seconds the connection "
+"status, i.e. the uplink availability."
msgstr ""
msgid "Last rundate"
msgstr ""
+msgid "Manual Rescan"
+msgstr ""
+
+msgid "Move down"
+msgstr ""
+
+msgid "Move up"
+msgstr ""
+
+msgid ""
+"Name of the uplink interface that triggers travelmate processing in 'manual' "
+"mode."
+msgstr ""
+
msgid "Online Status"
msgstr ""
+msgid "Open"
+msgstr ""
+
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr ""
@@ -93,10 +144,22 @@ msgstr ""
msgid "Overview"
msgstr ""
+msgid "Passphrase (%s)"
+msgstr ""
+
+msgid ""
+"Provides an overview of all configured uplinks for the travelmate interface "
+"(%s). You can edit, delete or re-order existing uplinks or scan for a new "
+"one. The currently used uplink is emphasized in blue."
+msgstr ""
+
msgid "Radio selection"
msgstr ""
-msgid "Restrict interface trigger to certain interface(s)"
+msgid "Repeat scan"
+msgstr ""
+
+msgid "Rescan"
msgstr ""
msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'"
@@ -105,14 +168,19 @@ msgstr ""
msgid "Runtime information"
msgstr ""
-msgid ""
-"Scan &amp; Add new wireless stations via standard <a href=\"%s\">Wireless "
-"Setup</a>"
+msgid "SSID"
msgstr ""
-msgid ""
-"Space separated list of interfaces that trigger travelmate processing. To "
-"disable event driven (re-)starts remove all entries."
+msgid "SSID (hidden)"
+msgstr ""
+
+msgid "Scan"
+msgstr ""
+
+msgid "Signal strength"
+msgstr ""
+
+msgid "Specify the secret encryption key here."
msgstr ""
msgid "Station Interface"
@@ -164,9 +232,39 @@ msgstr ""
msgid "Trigger delay"
msgstr ""
+msgid "Unknown"
+msgstr ""
+
+msgid "Uplink / Trigger interface"
+msgstr ""
+
+msgid "Uplink SSID"
+msgstr ""
+
+msgid "Uplink interface"
+msgstr ""
+
msgid "View Logfile"
msgstr ""
+msgid "WEP"
+msgstr ""
+
+msgid "WEP passphrase"
+msgstr ""
+
+msgid "WPA / WPA2"
+msgstr ""
+
+msgid "WPA passphrase"
+msgstr ""
+
+msgid "Wireless Scan"
+msgstr ""
+
+msgid "Wireless Stations"
+msgstr ""
+
msgid ""
"add it to the wan zone of the firewall. This step has only to be done once."
msgstr ""
@@ -174,6 +272,9 @@ msgstr ""
msgid "connected"
msgstr ""
+msgid "hidden"
+msgstr ""
+
msgid "n/a"
msgstr ""