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/Makefile2
-rw-r--r--applications/luci-app-travelmate/luasrc/controller/travelmate.lua28
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua134
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua26
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_delete.lua1
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua5
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/ap_qr.htm65
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm7
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm4
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm25
-rw-r--r--applications/luci-app-travelmate/po/ja/travelmate.po123
-rw-r--r--applications/luci-app-travelmate/po/pt-br/travelmate.po85
-rw-r--r--applications/luci-app-travelmate/po/ru/travelmate.po455
-rw-r--r--applications/luci-app-travelmate/po/templates/travelmate.pot85
14 files changed, 807 insertions, 238 deletions
diff --git a/applications/luci-app-travelmate/Makefile b/applications/luci-app-travelmate/Makefile
index 6170f9d4c3..58d9bf37d4 100644
--- a/applications/luci-app-travelmate/Makefile
+++ b/applications/luci-app-travelmate/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2017 Dirk Brenken (dev@brenken.org)
+# Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
# This is free software, licensed under the Apache License, Version 2.0
#
diff --git a/applications/luci-app-travelmate/luasrc/controller/travelmate.lua b/applications/luci-app-travelmate/luasrc/controller/travelmate.lua
index efbe619a43..493a387c3e 100644
--- a/applications/luci-app-travelmate/luasrc/controller/travelmate.lua
+++ b/applications/luci-app-travelmate/luasrc/controller/travelmate.lua
@@ -1,9 +1,8 @@
--- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
-- This is free software, licensed under the Apache License, Version 2.0
module("luci.controller.travelmate", package.seeall)
-local fs = require("nixio.fs")
local util = require("luci.util")
local i18n = require("luci.i18n")
local templ = require("luci.template")
@@ -17,25 +16,26 @@ function index()
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", "advanced", "configuration"}, form("travelmate/configuration_tab"), _("Edit Travelmate Configuration"), 110).leaf = true
+ entry({"admin", "services", "travelmate", "advanced", "cfg_wireless"}, form("travelmate/cfg_wireless_tab"), _("Edit Wireless Configuration"), 120).leaf = true
+ entry({"admin", "services", "travelmate", "advanced", "cfg_network"}, form("travelmate/cfg_network_tab"), _("Edit Network Configuration"), 130).leaf = true
+ entry({"admin", "services", "travelmate", "advanced", "cfg_firewall"}, form("travelmate/cfg_firewall_tab"), _("Edit Firewall Configuration"), 140).leaf = true
+ entry({"admin", "services", "travelmate", "apqr"}, template("travelmate/ap_qr")).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
+ entry({"admin", "services", "travelmate", "wifiadd"}, form("travelmate/wifi_add", {hideresetbtn=true, hidesavebtn=true})).leaf = true
+ entry({"admin", "services", "travelmate", "wifiedit"}, form("travelmate/wifi_edit", {hideresetbtn=true, hidesavebtn=true})).leaf = true
+ entry({"admin", "services", "travelmate", "wifidelete"}, form("travelmate/wifi_delete", {hideresetbtn=true, hidesavebtn=true})).leaf = true
+ entry({"admin", "services", "travelmate", "wifiorder"}, form("travelmate/wifi_order", {hideresetbtn=true, hidesavebtn=true})).leaf = true
end
function logread()
- local logfile
+ local logfile = ""
if nixio.fs.access("/var/log/messages") then
- logfile = util.trim(util.exec("cat /var/log/messages | grep 'travelmate'"))
- else
- logfile = util.trim(util.exec("logread -e 'travelmate'"))
+ logfile = util.trim(util.exec("grep -F 'travelmate-' /var/log/messages"))
+ elseif nixio.fs.access("/sbin/logread") then
+ logfile = util.trim(util.exec("logread -e 'travelmate-'"))
end
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 e715a2ba06..a1dcbc638c 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
@@ -1,4 +1,4 @@
--- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
-- This is free software, licensed under the Apache License, Version 2.0
local fs = require("nixio.fs")
@@ -8,9 +8,9 @@ local util = require("luci.util")
local nw = require("luci.model.network").init()
local fw = require("luci.model.firewall").init()
local dump = util.ubus("network.interface", "dump", {})
-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 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"),
@@ -18,8 +18,11 @@ m = Map("travelmate", translate("Travelmate"),
.. translatef("For further information "
.. "<a href=\"%s\" target=\"_blank\">"
.. "see online documentation</a>", "https://github.com/openwrt/packages/blob/master/net/travelmate/files/README.md"))
+m:chain("network")
+m:chain("firewall")
+m.apply_on_parse = true
-function m.on_after_commit(self)
+function m.on_apply(self)
luci.sys.call("env -i /etc/init.d/travelmate restart >/dev/null 2>&1")
luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate"))
end
@@ -28,39 +31,27 @@ end
if uplink == "" then
ds = m:section(NamedSection, "global", "travelmate", translate("Interface Wizard"))
-
- o = ds:option(Value, "", translate("Uplink interface"))
+ o = ds:option(Value, "trm_iface", translate("Create Uplink interface"),
+ translate("Create a new wireless wan uplink interface, configure it to use dhcp and ")
+ .. translate("add it to the wan zone of the firewall.<br />")
+ .. translate("This step has only to be done once."))
o.datatype = "and(uciname,rangelength(3,15))"
o.default = trmiface
o.rmempty = false
- btn = ds:option(Button, "trm_iface", translate("Create Uplink Interface"),
- 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(self, section)
- local iface = o:formvalue(section)
- if iface then
- uci:set("travelmate", section, "trm_iface", iface)
- uci:save("travelmate")
- uci:commit("travelmate")
- 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(iface)
- fw:save("firewall")
- fw:commit("firewall")
- end
+ function o.validate(self, value)
+ if value then
+ local nwnet = nw:get_network(value)
+ local zone = fw:get_zone("wan")
+ local fwnet = fw:get_zone_by_network(value)
+ if not nwnet then
+ nwnet = nw:add_network(value, { proto = "dhcp" })
+ end
+ if zone and not fwnet then
+ fwnet = zone:add_network(value)
end
- luci.sys.call("env -i /bin/ubus call network reload >/dev/null 2>&1")
end
- luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate"))
+ return value
end
return m
end
@@ -73,8 +64,8 @@ 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 = s:option(Flag, "trm_captive", translate("Captive Portal Detection"),
+ translate("Check the internet availability, log captive portal redirections and keep the uplink connection 'alive'."))
o2.default = o2.enabled
o2.rmempty = false
@@ -91,39 +82,31 @@ end
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
-
-btn = s:option(Button, "", translate("Manual Rescan"),
- translate("Force a manual uplink rescan / reconnect in 'trigger' mode."))
-btn:depends("trm_automatic", "")
-btn.inputtitle = translate("Rescan")
-btn.inputstyle = "find"
-btn.disabled = false
-
-function btn.write()
- luci.sys.call("env -i /etc/init.d/travelmate start >/dev/null 2>&1")
- luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate"))
+if fs.access("/usr/bin/qrencode") then
+ btn = s:option(Button, "btn", translate("View AP QR-Codes"),
+ translate("Connect your Android or iOS devices to your router's WiFi using the shown QR code."))
+ btn.inputtitle = translate("QR-Codes")
+ btn.inputstyle = "apply"
+ btn.disabled = false
+
+ function btn.write()
+ luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate", "apqr"))
+ end
end
-- Runtime information
ds = m:section(NamedSection, "global", "travelmate", translate("Runtime Information"))
-dv1 = ds:option(DummyValue, "status", translate("Online Status"))
+dv1 = ds:option(DummyValue, "status", translate("Travelmate Status (Quality)"))
dv1.template = "travelmate/runtime"
-if parse == nil then
- dv1.value = translate("n/a")
-elseif parse.data.station_connection == "true" then
- dv1.value = translate("connected")
+if parse ~= nil then
+ dv1.value = parse.data.travelmate_status or translate("n/a")
else
- dv1.value = translate("not connected")
+ dv1.value = translate("n/a")
end
-dv2 = ds:option(DummyValue, "travelmate_version", translate("Travelmate version"))
+dv2 = ds:option(DummyValue, "travelmate_version", translate("Travelmate Version"))
dv2.template = "travelmate/runtime"
if parse ~= nil then
dv2.value = parse.data.travelmate_version or translate("n/a")
@@ -177,23 +160,34 @@ e2 = e:option(Value, "trm_radio", translate("Radio selection"),
e2.datatype = "and(uciname,rangelength(6,6))"
e2.rmempty = true
-e3 = e:option(Value, "trm_maxretry", translate("Connection Limit"),
- translate("How many times should travelmate try to connect to an Uplink. ")
- .. translate("To disable this feature set it to '0' which means unlimited retries."))
-e3.default = 3
-e3.datatype = "range(0,30)"
+e3 = e:option(Value, "trm_triggerdelay", translate("Trigger Delay"),
+ translate("Additional trigger delay in seconds before travelmate processing begins."))
+e3.datatype = "range(1,60)"
+e3.default = 2
e3.rmempty = false
-e4 = e:option(Value, "trm_maxwait", translate("Interface Timeout"),
- translate("How long should travelmate wait for a successful wlan interface reload."))
-e4.default = 30
-e4.datatype = "range(5,60)"
+e4 = e:option(Value, "trm_maxretry", translate("Connection Limit"),
+ translate("Retry limit to connect to an uplink."))
+e4.default = 3
+e4.datatype = "range(1,10)"
e4.rmempty = false
-e5 = e:option(Value, "trm_timeout", translate("Overall Timeout"),
- translate("Timeout in seconds between retries in 'automatic' mode."))
-e5.default = 60
-e5.datatype = "range(60,300)"
+e5 = e:option(Value, "trm_minquality", translate("Signal Quality Threshold"),
+ translate("Minimum signal quality threshold as percent for conditional uplink (dis-) connections."))
+e5.default = 35
+e5.datatype = "range(20,80)"
e5.rmempty = false
+e6 = e:option(Value, "trm_maxwait", translate("Interface Timeout"),
+ translate("How long should travelmate wait for a successful wlan uplink connection."))
+e6.default = 30
+e6.datatype = "range(20,40)"
+e6.rmempty = false
+
+e7 = e:option(Value, "trm_timeout", translate("Overall Timeout"),
+ translate("Overall retry timeout in seconds."))
+e7.default = 60
+e7.datatype = "range(30,300)"
+e7.rmempty = false
+
return m
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
index a3dd0a2b94..83011e9dd5 100644
--- a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua
+++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua
@@ -1,10 +1,10 @@
--- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- Copyright 2017-2018 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"
+local trmiface = uci:get("travelmate", "global", "trm_iface") or "trm_wwan"
local encr_psk = {"psk", "psk2", "psk-mixed"}
local encr_wpa = {"wpa", "wpa2", "wpa-mixed"}
@@ -26,15 +26,24 @@ m.hidden = {
wpa_version = http.formvalue("wpa_version")
}
-if m.hidden.ssid ~= "" then
+if m.hidden.ssid == "" then
+ wssid = m:field(Value, "ssid", translate("SSID (hidden)"))
+else
wssid = m:field(Value, "ssid", translate("SSID"))
- wssid.datatype = "rangelength(1,32)"
- wssid.default = m.hidden.ssid or ""
+end
+wssid.datatype = "rangelength(1,32)"
+wssid.default = m.hidden.ssid or ""
+
+nobssid = m:field(Flag, "no_bssid", translate("Ignore BSSID"))
+if m.hidden.ssid == "" then
+ nobssid.default = nobssid.disabled
else
- wssid = m:field(Value, "ssid", translate("SSID (hidden)"))
+ nobssid.default = nobssid.enabled
end
-bssid = m:field(Value, "bssid", translate("BSSID"))
+bssid = m:field(Value, "bssid", translate("BSSID"),
+ translatef("The BSSID information '%s' is optional and only required for hidden networks", m.hidden.bssid or ""))
+bssid:depends("no_bssid", 0)
bssid.datatype = "macaddr"
bssid.default = m.hidden.bssid or ""
@@ -97,6 +106,8 @@ elseif (tonumber(m.hidden.wpa_version) or 0) > 0 then
authentication:value("EAP-MD5")
authentication:value("EAP-MSCHAPV2")
authentication:value("EAP-TLS")
+ authentication:value("auth=PAP")
+ authentication:value("auth=MSCHAPV2")
authentication.default = "EAP-MSCHAPV2"
ident = m:field(Value, "identity", translate("Identity"))
@@ -165,6 +176,7 @@ function wssid.write(self, section, value)
end
uci:save("wireless")
uci:commit("wireless")
+ luci.sys.call("env -i /bin/ubus call network reload >/dev/null 2>&1")
http.redirect(luci.dispatcher.build_url("admin/services/travelmate/stations"))
end
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
index 0c3cc1865b..0a7678f7ed 100644
--- a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_delete.lua
+++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_delete.lua
@@ -9,5 +9,6 @@ if cfg ~= nil then
uci:delete("wireless", cfg)
uci:save("wireless")
uci:commit("wireless")
+ luci.sys.call("env -i /bin/ubus call network reload >/dev/null 2>&1")
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
index b8e0f11b3a..f3ad762594 100644
--- a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua
+++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua
@@ -1,4 +1,4 @@
--- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
-- This is free software, licensed under the Apache License, Version 2.0
local fs = require("nixio.fs")
@@ -92,6 +92,8 @@ if s ~= nil then
authentication:value("EAP-MD5")
authentication:value("EAP-MSCHAPV2")
authentication:value("EAP-TLS")
+ authentication:value("auth=PAP")
+ authentication:value("auth=MSCHAPV2")
authentication.default = s.auth or "EAP-MSCHAPV2"
ident = m:field(Value, "identity", translate("Identity"))
@@ -160,6 +162,7 @@ function wssid.write(self, section, value)
end
uci:save("wireless")
uci:commit("wireless")
+ luci.sys.call("env -i /bin/ubus call network reload >/dev/null 2>&1")
m.on_cancel()
end
diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/ap_qr.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/ap_qr.htm
new file mode 100644
index 0000000000..a92dbe1469
--- /dev/null
+++ b/applications/luci-app-travelmate/luasrc/view/travelmate/ap_qr.htm
@@ -0,0 +1,65 @@
+<%#
+Copyright 2018 Dirk Brenken (dev@brenken.org)
+This is free software, licensed under the Apache License, Version 2.0
+-%>
+
+<%+header%>
+
+<div class="cbi-map">
+ <div class="cbi-map-descr">
+ <%=translate("Here you'll find the QR codes from all of your configured Access Points. It allows you to connect your Android or iOS devices to your router's WiFi using the QR code shown below.")%>
+ </div>
+<%-
+ local write = io.write
+ local uci = require("luci.model.uci").cursor()
+
+ uci:foreach("wireless", "wifi-iface", function(s)
+ local device = s.device or ""
+ local mode = s.mode or ""
+ local ssid = s.ssid or ""
+ local enc = s.encryption or ""
+ local key = s.key or ""
+ local hidden = s.hidden or "false"
+ local disabled = s.disabled or ""
+ local wep_slots = {s.key1 or "", s.key2 or "", s.key3 or "", s.key4 or ""}
+
+ if device and mode == "ap" and disabled ~= "1" then
+ if string.match(enc, '^psk') then
+ enc = "WPA"
+ elseif string.match(enc, '^wep') then
+ enc = "WEP"
+ if tonumber(key) then
+ key = wep_slots[tonumber(key)]
+ end
+ elseif enc == "none" then
+ enc = "nopass"
+ key = "nokey"
+ else
+ enc = ""
+ end
+ if hidden == "1" then
+ hidden = "true"
+ end
+ if ssid and enc and key then
+ local e_ssid = string.gsub(ssid,"[\"\\';:, ]",[[\\\%1]])
+ local e_key = string.gsub(key,"[\"\\';:, ]",[[\\\%1]])
+ local qrcode = ""
+ qrcode = luci.sys.exec("/usr/bin/qrencode --inline --8bit --type=SVG --output=- 'WIFI:S:\"'" .. e_ssid .. "'\";T:'" .. enc .. "';P:\"'" .. e_key .. "'\";H:'" .. hidden .. "';'")
+-%>
+ <fieldset class="cbi-section">
+ <legend>AP on <%=device%> with SSID "<%=ssid%>"</legend>
+ <h3 name="content"><%=qrcode%></h3>
+ </fieldset>
+<%-
+ end
+ end
+ end)
+%>
+</div>
+<div class="cbi-page-actions right">
+ <form class="inline" action="<%=luci.dispatcher.build_url('admin/services/travelmate/tab_from_cbi')%>" method="post">
+ <input class="cbi-button cbi-button-reset" type="submit" value="<%:Back to overview%>"/>
+ </form>
+</div>
+
+<%+footer%>
diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm
index 7f6ff7776d..6cbeaffde6 100644
--- a/applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm
+++ b/applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm
@@ -1,5 +1,5 @@
<%#
-Copyright 2017 Dirk Brenken (dev@brenken.org)
+Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
This is free software, licensed under the Apache License, Version 2.0
-%>
@@ -12,4 +12,9 @@ This is free software, licensed under the Apache License, Version 2.0
</fieldset>
</div>
+<script type="text/javascript">
+ var textarea = document.getElementById('logread_id');
+ textarea.scrollTop = textarea.scrollHeight;
+</script>
+
<%+footer%>
diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm
index 2b9885567a..7e93efab91 100644
--- a/applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm
+++ b/applications/luci-app-travelmate/luasrc/view/travelmate/runtime.htm
@@ -1,10 +1,10 @@
<%#
-Copyright 2017 Dirk Brenken (dev@brenken.org)
+Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
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="outline:none;border:none;box-shadow:none;background:transparent;color:#0069d6;font-weight:bold;line-height:30px;height:30px;width:50em;" 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
index 11c36d427c..75e52aeb27 100644
--- a/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm
+++ b/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm
@@ -1,5 +1,5 @@
<%#
-Copyright 2017 Dirk Brenken (dev@brenken.org)
+Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
This is free software, licensed under the Apache License, Version 2.0
-%>
@@ -12,7 +12,6 @@ This is free software, licensed under the Apache License, Version 2.0
<%+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>
@@ -36,21 +35,21 @@ This is free software, licensed under the Apache License, Version 2.0
local bssid = s.bssid or "-"
local encryption = s.encryption or "-"
local disabled = s.disabled or ""
- local style = "color:#000000"
+ local style = "text-align:left;color:#000000"
if disabled == "0" then
- style = "color:#0069d6;font-weight:bold"
+ style = "text-align:left;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"><%=bssid%></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='<%=luci.dispatcher.build_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='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>;dir=down'" alt="<%:Move down%>" title="<%:Move down%>"/>
+ <td style="<%=style%>"><%=device%></td>
+ <td style="<%=style%>"><%=ssid%></td>
+ <td style="<%=style%>"><%=bssid%></td>
+ <td style="<%=style%>"><%=encryption%></td>
+ <td class="cbi-value-field" style="width:80px">
+ <input class="cbi-button cbi-button-up" type="button" value="" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&amp;dir=up'" alt="<%:Move up%>" title="<%:Move up%>"/>
+ <input class="cbi-button cbi-button-down" type="button" value="" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&amp;dir=down'" alt="<%:Move down%>" title="<%:Move down%>"/>
</td>
- <td class="cbi-value-field" style="width:150px;text-align:right">
+ <td class="cbi-value-field" style="width:150px">
<input type="button" class="cbi-button cbi-button-edit" onclick="location.href='<%=luci.dispatcher.build_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='<%=luci.dispatcher.build_url('admin/services/travelmate/wifidelete')%>?cfg=<%=section%>'" title="<%:Delete this Uplink%>" value="<%:Delete%>"/>
</td>
@@ -69,7 +68,7 @@ This is free software, licensed under the Apache License, Version 2.0
<form class="inline" action="<%=luci.dispatcher.build_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%>"/>
+ <input type="submit" class="cbi-button cbi-button-find" title="<%:Find and join network on%> <%=device%>" value="<%:Scan%> <%=device%>"/>
</form>
<%
end)
diff --git a/applications/luci-app-travelmate/po/ja/travelmate.po b/applications/luci-app-travelmate/po/ja/travelmate.po
index 1158966e0b..6a46ea3c87 100644
--- a/applications/luci-app-travelmate/po/ja/travelmate.po
+++ b/applications/luci-app-travelmate/po/ja/travelmate.po
@@ -7,7 +7,7 @@ msgstr ""
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 2.0.5\n"
+"X-Generator: Poedit 2.0.7\n"
"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Language: ja\n"
@@ -15,9 +15,6 @@ msgstr ""
msgid "Actions"
msgstr "操作"
-msgid "Add Interface"
-msgstr "インターフェースの追加"
-
msgid "Add Uplink"
msgstr "アップリンクの追加"
@@ -43,6 +40,16 @@ msgstr "BSSID"
msgid "Back to overview"
msgstr "概要へ戻る"
+msgid "Captive Portal Detection"
+msgstr "キャプティブポータル検知"
+
+msgid ""
+"Check the internet availability, log captive portal redirections and keep "
+"the uplink connection 'alive'."
+msgstr ""
+"インターネットの利用可否を確認し、キャプティブポータル リダイレクトを記録して"
+"アップリンク接続を 'alive' として保持します。"
+
msgid "Cipher"
msgstr "暗号化方式"
@@ -52,10 +59,16 @@ msgid ""
msgstr ""
"トラベル ルーター機能を有効化するための、 Travelmate パッケージの設定です。"
+msgid ""
+"Connect your Android or iOS devices to your router's WiFi using the shown QR "
+"code."
+msgstr ""
+"Android や iOS デバイスを、表示される QR コードを使用して WiFi に接続します。"
+
msgid "Connection Limit"
msgstr "接続制限"
-msgid "Create Uplink Interface"
+msgid "Create Uplink interface"
msgstr "アップリンク インターフェースの作成"
msgid ""
@@ -97,9 +110,6 @@ msgstr "無線アップリンク設定の編集"
msgid "Edit this Uplink"
msgstr "このアップリンクを編集"
-msgid "Enable 'automatic' mode"
-msgstr "'automatic' モードの有効化"
-
msgid "Enable travelmate"
msgstr "Travelmate の有効化"
@@ -131,21 +141,25 @@ msgstr "TKIP"
msgid "Force TKIP and CCMP (AES)"
msgstr "TKIP と CCMP (AES)"
-msgid "Force a manual uplink rescan / reconnect in 'trigger' mode."
-msgstr ""
-"'trigger' モード時に、手動でアップリンクの再スキャンと再接続を行います。"
-
-msgid "How long should travelmate wait for a successful wlan interface reload."
+msgid ""
+"Here you'll find the QR codes from all of your configured Access Points. It "
+"allows you to connect your Android or iOS devices to your router's WiFi "
+"using the QR code shown below."
msgstr ""
-"無線LAN インターフェースのリロードが成功するまでの、Travelmate の待機時間で"
-"す。"
+"ここには、構成済みの全アクセスポイントの QR コードを表示しています。以下の "
+"QR コードを使用して、 Android または iOS デバイスをルータの WiFi に接続するこ"
+"とができます。"
-msgid "How many times should travelmate try to connect to an Uplink."
-msgstr "Travelmate がアップリンクへの接続を試行する回数です。"
+msgid ""
+"How long should travelmate wait for a successful wlan uplink connection."
+msgstr "Travelmate が無線アップリンクへの接続成功を待つ時間です。"
msgid "Identity"
msgstr "ID"
+msgid "Ignore BSSID"
+msgstr "BSSID の無視"
+
msgid "Input file not found, please check your configuration."
msgstr "入力ファイルが見つかりません。設定を確認してください。"
@@ -155,18 +169,15 @@ msgstr "インターフェース タイムアウト"
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 をアクティブ状態で維持します。\"実行間隔\" で設定された時間毎"
-"(秒)に、アップリンクの可用性を確認するために接続状態をチェックします"
-
msgid "Last rundate"
msgstr "最終実行日時"
-msgid "Manual Rescan"
-msgstr "手動再スキャン"
+msgid ""
+"Minimum signal quality threshold as percent for conditional uplink (dis-) "
+"connections."
+msgstr ""
+"条件付きアップリンク接続(または切断)のための、シグナル品質閾値の下限(%)で"
+"す。"
msgid "Move down"
msgstr "下へ"
@@ -177,9 +188,6 @@ msgstr "上へ"
msgid "Name of the used uplink interface."
msgstr "使用されるアップリンク インターフェースの名前です。"
-msgid "Online Status"
-msgstr "オンライン ステータス"
-
msgid "Open"
msgstr "オープン"
@@ -190,6 +198,9 @@ msgstr "デフォルトの設定が適切でない場合、さらに設定する
msgid "Overall Timeout"
msgstr "実行間隔"
+msgid "Overall retry timeout in seconds."
+msgstr "全体的な再試行タイムアウト(秒)です。"
+
msgid "Overview"
msgstr "概要"
@@ -221,18 +232,21 @@ msgstr ""
"ンクを追加することができます。現在使用されているアップリンクは、青色で強調さ"
"れます。"
+msgid "QR-Codes"
+msgstr "QR-コード"
+
msgid "Radio selection"
msgstr "無線の選択"
msgid "Repeat scan"
msgstr "再スキャン"
-msgid "Rescan"
-msgstr "再スキャン"
-
msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'."
msgstr "Travelmate が指定された無線に接続するよう制御します。(例: 'radio0')"
+msgid "Retry limit to connect to an uplink."
+msgstr "アップリンクへの接続を試行する回数です。"
+
msgid "Runtime Information"
msgstr "実行情報"
@@ -248,6 +262,9 @@ msgstr "保存"
msgid "Scan"
msgstr "スキャン:"
+msgid "Signal Quality Threshold"
+msgstr "シグナル品質閾値"
+
msgid "Signal strength"
msgstr "信号強度"
@@ -261,6 +278,12 @@ msgid "Station Radio"
msgstr "ステーション電波"
msgid ""
+"The BSSID information '%s' is optional and only required for hidden networks"
+msgstr ""
+"BSSID 情報 '%s' はオプションであり、ステルス化されたネットワークにのみ必要で"
+"す。"
+
+msgid ""
"This form allows you to modify the content of the main firewall "
"configuration file (/etc/config/firewall)."
msgstr ""
@@ -295,12 +318,8 @@ msgstr ""
"このフォームには、システムログ内の Travelmate に関するメッセージのみが表示さ"
"れます。"
-msgid "Timeout in seconds between retries in 'automatic' mode."
-msgstr "'automatic' モード時に接続を確認または再試行する間隔(秒)です。"
-
-msgid "To disable this feature set it to '0' which means unlimited retries."
-msgstr ""
-"この機能を無効にして接続の再試行を無制限にする場合、 '0' を設定します。"
+msgid "This step has only to be done once."
+msgstr "この手順は、一度だけ実行される必要があります。"
msgid "Travelmate"
msgstr "Travelmate"
@@ -308,11 +327,14 @@ msgstr "Travelmate"
msgid "Travelmate Logfile"
msgstr "Travelmate ログファイル"
-msgid "Travelmate version"
+msgid "Travelmate Status (Quality)"
+msgstr "Travelmate ステータス(品質)"
+
+msgid "Travelmate Version"
msgstr "Travelmate バージョン"
-msgid "Trigger delay"
-msgstr "トリガー遅延"
+msgid "Trigger Delay"
+msgstr "トリガ遅延"
msgid "Unknown"
msgstr "不明"
@@ -326,8 +348,8 @@ msgstr "アップリンク BSSID"
msgid "Uplink SSID"
msgstr "アップリンク SSID"
-msgid "Uplink interface"
-msgstr "アップリンク インターフェース"
+msgid "View AP QR-Codes"
+msgstr "AP QR-コードを確認"
msgid "View Logfile"
msgstr "ログファイルの確認"
@@ -356,20 +378,11 @@ msgstr "無線スキャン"
msgid "Wireless Stations"
msgstr "無線ステーション"
-msgid ""
-"add it to the wan zone of the firewall. This step has only to be done once."
-msgstr ""
-"ファイアウォールの wan ゾーンに追加します。このステップは、一度だけ実行される"
-"必要があります。"
-
-msgid "connected"
-msgstr "接続済み"
+msgid "add it to the wan zone of the firewall.<br />"
+msgstr "ファイアウォールの wan ゾーンに追加します。<br />"
msgid "hidden"
-msgstr "(不明)"
+msgstr "(ステルス)"
msgid "n/a"
msgstr "利用不可"
-
-msgid "not connected"
-msgstr "未接続"
diff --git a/applications/luci-app-travelmate/po/pt-br/travelmate.po b/applications/luci-app-travelmate/po/pt-br/travelmate.po
index e36860eaa1..6bf65b9370 100644
--- a/applications/luci-app-travelmate/po/pt-br/travelmate.po
+++ b/applications/luci-app-travelmate/po/pt-br/travelmate.po
@@ -15,9 +15,6 @@ msgstr ""
msgid "Actions"
msgstr ""
-msgid "Add Interface"
-msgstr ""
-
msgid "Add Uplink"
msgstr ""
@@ -43,6 +40,14 @@ msgstr ""
msgid "Back to overview"
msgstr ""
+msgid "Captive Portal Detection"
+msgstr ""
+
+msgid ""
+"Check the internet availability, log captive portal redirections and keep "
+"the uplink connection 'alive'."
+msgstr ""
+
msgid "Cipher"
msgstr ""
@@ -51,10 +56,15 @@ msgid ""
"functionality."
msgstr ""
+msgid ""
+"Connect your Android or iOS devices to your router's WiFi using the shown QR "
+"code."
+msgstr ""
+
msgid "Connection Limit"
msgstr ""
-msgid "Create Uplink Interface"
+msgid "Create Uplink interface"
msgstr ""
msgid ""
@@ -94,9 +104,6 @@ msgstr ""
msgid "Edit this Uplink"
msgstr ""
-msgid "Enable 'automatic' mode"
-msgstr ""
-
msgid "Enable travelmate"
msgstr ""
@@ -126,16 +133,20 @@ msgstr ""
msgid "Force TKIP and CCMP (AES)"
msgstr ""
-msgid "Force a manual uplink rescan / reconnect in 'trigger' mode."
+msgid ""
+"Here you'll find the QR codes from all of your configured Access Points. It "
+"allows you to connect your Android or iOS devices to your router's WiFi "
+"using the QR code shown below."
msgstr ""
-msgid "How long should travelmate wait for a successful wlan interface reload."
+msgid ""
+"How long should travelmate wait for a successful wlan uplink connection."
msgstr ""
-msgid "How many times should travelmate try to connect to an Uplink."
+msgid "Identity"
msgstr ""
-msgid "Identity"
+msgid "Ignore BSSID"
msgstr ""
msgid "Input file not found, please check your configuration."
@@ -147,15 +158,12 @@ msgstr ""
msgid "Interface Wizard"
msgstr ""
-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"
+msgid ""
+"Minimum signal quality threshold as percent for conditional uplink (dis-) "
+"connections."
msgstr ""
msgid "Move down"
@@ -167,9 +175,6 @@ msgstr ""
msgid "Name of the used uplink interface."
msgstr ""
-msgid "Online Status"
-msgstr ""
-
msgid "Open"
msgstr ""
@@ -180,6 +185,9 @@ msgstr ""
msgid "Overall Timeout"
msgstr ""
+msgid "Overall retry timeout in seconds."
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -207,16 +215,19 @@ msgid ""
"one. The currently used uplink is emphasized in blue."
msgstr ""
+msgid "QR-Codes"
+msgstr ""
+
msgid "Radio selection"
msgstr ""
msgid "Repeat scan"
msgstr ""
-msgid "Rescan"
+msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'."
msgstr ""
-msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'."
+msgid "Retry limit to connect to an uplink."
msgstr ""
msgid "Runtime Information"
@@ -234,6 +245,9 @@ msgstr ""
msgid "Scan"
msgstr ""
+msgid "Signal Quality Threshold"
+msgstr ""
+
msgid "Signal strength"
msgstr ""
@@ -247,6 +261,10 @@ msgid "Station Radio"
msgstr ""
msgid ""
+"The BSSID information '%s' is optional and only required for hidden networks"
+msgstr ""
+
+msgid ""
"This form allows you to modify the content of the main firewall "
"configuration file (/etc/config/firewall)."
msgstr ""
@@ -271,10 +289,7 @@ msgid ""
"messages only."
msgstr ""
-msgid "Timeout in seconds between retries in 'automatic' mode."
-msgstr ""
-
-msgid "To disable this feature set it to '0' which means unlimited retries."
+msgid "This step has only to be done once."
msgstr ""
msgid "Travelmate"
@@ -283,10 +298,13 @@ msgstr "Travelmate"
msgid "Travelmate Logfile"
msgstr ""
-msgid "Travelmate version"
+msgid "Travelmate Status (Quality)"
+msgstr ""
+
+msgid "Travelmate Version"
msgstr ""
-msgid "Trigger delay"
+msgid "Trigger Delay"
msgstr ""
msgid "Unknown"
@@ -301,7 +319,7 @@ msgstr ""
msgid "Uplink SSID"
msgstr ""
-msgid "Uplink interface"
+msgid "View AP QR-Codes"
msgstr ""
msgid "View Logfile"
@@ -331,11 +349,7 @@ msgstr ""
msgid "Wireless Stations"
msgstr ""
-msgid ""
-"add it to the wan zone of the firewall. This step has only to be done once."
-msgstr ""
-
-msgid "connected"
+msgid "add it to the wan zone of the firewall.<br />"
msgstr ""
msgid "hidden"
@@ -344,9 +358,6 @@ msgstr ""
msgid "n/a"
msgstr ""
-msgid "not connected"
-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 "
diff --git a/applications/luci-app-travelmate/po/ru/travelmate.po b/applications/luci-app-travelmate/po/ru/travelmate.po
new file mode 100644
index 0000000000..8b25e9b139
--- /dev/null
+++ b/applications/luci-app-travelmate/po/ru/travelmate.po
@@ -0,0 +1,455 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: LuCI: travelmate\n"
+"POT-Creation-Date: 2017-12-07 21:00+0300\n"
+"PO-Revision-Date: 2018-01-26 18:04+0300\n"
+"Language-Team: http://cyber-place.ru\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+"Last-Translator: Vladimir aka sunny <picfun@ya.ru>\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Language: ru\n"
+"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
+"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
+
+msgid "Actions"
+msgstr "Действия"
+
+msgid "Add Uplink"
+msgstr "Подключение к сети"
+
+msgid "Add Wireless Uplink Configuration"
+msgstr "Добавить настройку внешней беспроводной сети"
+
+msgid ""
+"Additional trigger delay in seconds before travelmate processing begins."
+msgstr "Дополнительная задержка в секундах до запуска TravelMate."
+
+msgid "Advanced"
+msgstr "Дополнительно"
+
+msgid "Authentication"
+msgstr "Аутентификация"
+
+msgid "Automatic"
+msgstr "Автоматически"
+
+msgid "BSSID"
+msgstr "BSSID"
+
+msgid "Back to overview"
+msgstr "Назад в меню"
+
+msgid "Captive Portal Detection"
+msgstr ""
+
+msgid ""
+"Check the internet availability, log captive portal redirections and keep "
+"the uplink connection 'alive'."
+msgstr ""
+
+msgid "Cipher"
+msgstr "Алгоритм шифрования"
+
+msgid ""
+"Configuration of the travelmate package to to enable travel router "
+"functionality."
+msgstr "Настройка утилиты TravelMate - помощника путешественника. "
+
+msgid ""
+"Connect your Android or iOS devices to your router's WiFi using the shown QR "
+"code."
+msgstr ""
+
+msgid "Connection Limit"
+msgstr "Ограничение соединений"
+
+msgid "Create Uplink interface"
+msgstr ""
+
+msgid ""
+"Create a new wireless wan uplink interface, configure it to use dhcp and"
+msgstr ""
+"Создать новый wwan интерфейс внешней беспроводной сети, настроить его на "
+"использование с DHCP<br />и "
+
+msgid "Delete"
+msgstr "Удалить"
+
+msgid "Delete this Uplink"
+msgstr "Удалить сеть"
+
+msgid "Device"
+msgstr "Устройство"
+
+msgid "EAP-Method"
+msgstr "Метод EAP"
+
+msgid "Edit"
+msgstr "Изменить"
+
+msgid "Edit Firewall Configuration"
+msgstr "Настройка config файла firewall"
+
+msgid "Edit Network Configuration"
+msgstr "Настройка config файла network"
+
+msgid "Edit Travelmate Configuration"
+msgstr "Настройка config файла Travelmate"
+
+msgid "Edit Wireless Configuration"
+msgstr "Настройка config файл wireless"
+
+msgid "Edit Wireless Uplink Configuration"
+msgstr "Редактировать настройки беспроводной сети"
+
+msgid "Edit this Uplink"
+msgstr "Редактировать настройки сети"
+
+msgid "Enable travelmate"
+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>."
+
+msgid "Force CCMP (AES)"
+msgstr "Назначить CCMP (AES)"
+
+msgid "Force TKIP"
+msgstr "Назначить TKIP"
+
+msgid "Force TKIP and CCMP (AES)"
+msgstr "Назначить TKIP и CCMP (AES)"
+
+msgid ""
+"Here you'll find the QR codes from all of your configured Access Points. It "
+"allows you to connect your Android or iOS devices to your router's WiFi "
+"using the QR code shown below."
+msgstr ""
+
+msgid ""
+"How long should travelmate wait for a successful wlan uplink connection."
+msgstr ""
+
+msgid "Identity"
+msgstr "Идентификация EAP"
+
+msgid "Ignore BSSID"
+msgstr "Игнорировать BSSID"
+
+msgid "Input file not found, please check your configuration."
+msgstr "Config файл не найден, настройте config файл."
+
+msgid "Interface Timeout"
+msgstr "Временная задержка интерфейса"
+
+msgid "Interface Wizard"
+msgstr "Помощник настройки интерфейса"
+
+msgid "Last rundate"
+msgstr "Дата последнего запуска"
+
+msgid ""
+"Minimum signal quality threshold as percent for conditional uplink (dis-) "
+"connections."
+msgstr ""
+
+msgid "Move down"
+msgstr "Переместить вниз"
+
+msgid "Move up"
+msgstr "Переместить вверх"
+
+msgid "Name of the used uplink interface."
+msgstr "Имя используемого интерфейса внешней сети."
+
+msgid "Open"
+msgstr "Открыть"
+
+msgid ""
+"Options for further tweaking in case the defaults are not suitable for you."
+msgstr ""
+"Возможные варианты детальной настройки, если значения по умолчанию не "
+"подходят для вас."
+
+msgid "Overall Timeout"
+msgstr "Общее время ожидания"
+
+msgid "Overall retry timeout in seconds."
+msgstr ""
+
+msgid "Overview"
+msgstr "Главное меню"
+
+msgid "Passphrase"
+msgstr "Парольная фраза"
+
+msgid "Password"
+msgstr "Пароль"
+
+msgid "Password of Private Key"
+msgstr "Пароль к Приватному ключу"
+
+msgid "Path to CA-Certificate"
+msgstr "Путь к CA-Сертификату"
+
+msgid "Path to Client-Certificate"
+msgstr "Путь к Client-Сертификату"
+
+msgid "Path to Private Key"
+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 ""
+"Общие сведения обо всех настроенных внешних сетевых соединениях интерфейса "
+"TravelMate (%s).<br />Вы можете редактировать, удалять или пере "
+"упорядочивать существующий список внешних сетей или выполнять их поиск.<br /"
+">Используемое сетевое соединение выделено синим цветом."
+
+msgid "QR-Codes"
+msgstr ""
+
+msgid "Radio selection"
+msgstr "Выбор Wi-Fi устройства"
+
+msgid "Repeat scan"
+msgstr "Повторить поиск"
+
+msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'."
+msgstr "Выделить TravelMate-у конкретное Wi-Fi устройство, например 'radio0'."
+
+msgid "Retry limit to connect to an uplink."
+msgstr ""
+
+msgid "Runtime Information"
+msgstr "Информация о состоянии"
+
+msgid "SSID"
+msgstr "SSID"
+
+msgid "SSID (hidden)"
+msgstr "SSID (скрытый)"
+
+msgid "Save"
+msgstr "Сохранить"
+
+msgid "Scan"
+msgstr "Поиск"
+
+msgid "Signal Quality Threshold"
+msgstr ""
+
+msgid "Signal strength"
+msgstr "Мощность сигнала"
+
+msgid "Station ID (SSID/BSSID)"
+msgstr "ID (SSID/BSSID) клиента"
+
+msgid "Station Interface"
+msgstr "Интерфейс клиента"
+
+msgid "Station Radio"
+msgstr "Wi-Fi устройство клиента"
+
+msgid ""
+"The BSSID information '%s' is optional and only required for hidden networks"
+msgstr ""
+
+msgid ""
+"This form allows you to modify the content of the main firewall "
+"configuration file (/etc/config/firewall)."
+msgstr ""
+"Страница настройки межсетевого экрана, изменение содержимого config файла "
+"firewall настройки межсетевого экрана (/etc/config/firewall)."
+
+msgid ""
+"This form allows you to modify the content of the main network configuration "
+"file (/etc/config/network)."
+msgstr ""
+"Страница настройки сети, изменение содержимого config файла network "
+"настройки сети (/etc/config/network)."
+
+msgid ""
+"This form allows you to modify the content of the main travelmate "
+"configuration file (/etc/config/travelmate)."
+msgstr ""
+"Страница настройки Travelmate, изменение содержимого config файла travelmate "
+"настройки Travelmate (/etc/config/travelmate)."
+
+msgid ""
+"This form allows you to modify the content of the main wireless "
+"configuration file (/etc/config/wireless)."
+msgstr ""
+"Страница настройки беспроводных соединений, изменение содержимого config "
+"файла wireless настройки беспроводных сетей (/etc/config/wireless)."
+
+msgid ""
+"This form shows the syslog output, pre-filtered for travelmate related "
+"messages only."
+msgstr ""
+"Страница просмотра системного журнала, показаны только события связанные с "
+"работой утилиты TravelMate."
+
+msgid "This step has only to be done once."
+msgstr ""
+
+msgid "Travelmate"
+msgstr "TravelMate"
+
+msgid "Travelmate Logfile"
+msgstr "Системный журнал TravelMate"
+
+msgid "Travelmate Status (Quality)"
+msgstr ""
+
+msgid "Travelmate Version"
+msgstr "Версия TravelMate"
+
+msgid "Trigger Delay"
+msgstr ""
+
+msgid "Unknown"
+msgstr "Неизвестно"
+
+msgid "Uplink / Trigger interface"
+msgstr "Включить интерфейс<br />внешней сети"
+
+msgid "Uplink BSSID"
+msgstr "BSSID внешней сети"
+
+msgid "Uplink SSID"
+msgstr "SSID внешней сети"
+
+msgid "View AP QR-Codes"
+msgstr ""
+
+msgid "View Logfile"
+msgstr "Показать системный журнал"
+
+msgid "WEP"
+msgstr "WEP"
+
+msgid "WEP-Passphrase"
+msgstr "Пароль WEP"
+
+msgid "WPA"
+msgstr "WPA"
+
+msgid "WPA-Passphrase"
+msgstr "Пароль WPA"
+
+msgid "WPA/WPA2"
+msgstr "WPA/WPA2"
+
+msgid "WPA2"
+msgstr "WPA2"
+
+msgid "Wireless Scan"
+msgstr "Найденные точки доступа Wi-Fi"
+
+msgid "Wireless Stations"
+msgstr "Клиенты беспроводной сети"
+
+msgid "add it to the wan zone of the firewall.<br />"
+msgstr ""
+
+msgid "hidden"
+msgstr "скрытый"
+
+msgid "n/a"
+msgstr "нет данных"
+
+#~ msgid "Add Interface"
+#~ msgstr "Добавить интерфейс"
+
+#~ msgid "Create Uplink Interface"
+#~ msgstr "Создать интерфейс сети"
+
+#~ msgid "Uplink interface"
+#~ msgstr "Интерфейс внешней сети"
+
+#~ msgid ""
+#~ "add it to the wan zone of the firewall. This step has only to be done "
+#~ "once."
+#~ msgstr ""
+#~ "добавить в wan зону межсетевого экрана. Можно сделать только один раз."
+
+#~ msgid "Enable 'automatic' mode"
+#~ msgstr "Включить режим 'автоматически'"
+
+#~ msgid "Force a manual uplink rescan / reconnect in 'trigger' mode."
+#~ msgstr ""
+#~ "Принудительно выполнить повторное сканирование/повторное подключение "
+#~ "внешних сетей в режиме 'ручной'."
+
+#~ msgid ""
+#~ "Keep travelmate in an active state. Check every n seconds the connection "
+#~ "status, i.e. the uplink availability."
+#~ msgstr ""
+#~ "Поддержка TravelMate в активном состоянии.<br />Проверка состояния "
+#~ "соединения каждые n секунд, т.е. доступность внешней сети."
+
+#~ msgid "Manual Rescan"
+#~ msgstr "Поиск сети вручную"
+
+#~ msgid "Rescan"
+#~ msgstr "Пересканировать"
+
+#~ msgid "Timeout in seconds between retries in 'automatic' mode."
+#~ msgstr ""
+#~ "Время ожидания в секундах между повторными попытками соединения в режиме "
+#~ "'автоматически'."
+
+#~ msgid ""
+#~ "How long should travelmate wait for a successful wlan interface reload."
+#~ msgstr ""
+#~ "Временная задержка необходима TravelMate для полной перезагрузки wlan "
+#~ "интерфейса."
+
+#~ msgid "How many times should travelmate try to connect to an Uplink."
+#~ msgstr "Сколько раз TravelMate должен пытаться подключиться к сети. "
+
+#~ msgid "To disable this feature set it to '0' which means unlimited retries."
+#~ msgstr ""
+#~ "<br />Чтобы отключить эту функцию, установите значение '0', что означает "
+#~ "неограниченное количество попыток."
+
+#~ msgid "Travelmate Status"
+#~ msgstr "Состояние Travelmate"
+
+#~ msgid "Trigger delay"
+#~ msgstr "Задержка запуска"
+
+#~ msgid "connected"
+#~ msgstr "подключен"
+
+#~ msgid "error"
+#~ msgstr "ошибка"
+
+#~ msgid "not connected"
+#~ msgstr "не подключено"
+
+#~ msgid "running"
+#~ msgstr "работает"
diff --git a/applications/luci-app-travelmate/po/templates/travelmate.pot b/applications/luci-app-travelmate/po/templates/travelmate.pot
index d1047242fe..f4f3418422 100644
--- a/applications/luci-app-travelmate/po/templates/travelmate.pot
+++ b/applications/luci-app-travelmate/po/templates/travelmate.pot
@@ -4,9 +4,6 @@ msgstr "Content-Type: text/plain; charset=UTF-8"
msgid "Actions"
msgstr ""
-msgid "Add Interface"
-msgstr ""
-
msgid "Add Uplink"
msgstr ""
@@ -32,6 +29,14 @@ msgstr ""
msgid "Back to overview"
msgstr ""
+msgid "Captive Portal Detection"
+msgstr ""
+
+msgid ""
+"Check the internet availability, log captive portal redirections and keep "
+"the uplink connection 'alive'."
+msgstr ""
+
msgid "Cipher"
msgstr ""
@@ -40,10 +45,15 @@ msgid ""
"functionality."
msgstr ""
+msgid ""
+"Connect your Android or iOS devices to your router's WiFi using the shown QR "
+"code."
+msgstr ""
+
msgid "Connection Limit"
msgstr ""
-msgid "Create Uplink Interface"
+msgid "Create Uplink interface"
msgstr ""
msgid ""
@@ -83,9 +93,6 @@ msgstr ""
msgid "Edit this Uplink"
msgstr ""
-msgid "Enable 'automatic' mode"
-msgstr ""
-
msgid "Enable travelmate"
msgstr ""
@@ -115,16 +122,20 @@ msgstr ""
msgid "Force TKIP and CCMP (AES)"
msgstr ""
-msgid "Force a manual uplink rescan / reconnect in 'trigger' mode."
+msgid ""
+"Here you'll find the QR codes from all of your configured Access Points. It "
+"allows you to connect your Android or iOS devices to your router's WiFi "
+"using the QR code shown below."
msgstr ""
-msgid "How long should travelmate wait for a successful wlan interface reload."
+msgid ""
+"How long should travelmate wait for a successful wlan uplink connection."
msgstr ""
-msgid "How many times should travelmate try to connect to an Uplink."
+msgid "Identity"
msgstr ""
-msgid "Identity"
+msgid "Ignore BSSID"
msgstr ""
msgid "Input file not found, please check your configuration."
@@ -136,15 +147,12 @@ msgstr ""
msgid "Interface Wizard"
msgstr ""
-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"
+msgid ""
+"Minimum signal quality threshold as percent for conditional uplink (dis-) "
+"connections."
msgstr ""
msgid "Move down"
@@ -156,9 +164,6 @@ msgstr ""
msgid "Name of the used uplink interface."
msgstr ""
-msgid "Online Status"
-msgstr ""
-
msgid "Open"
msgstr ""
@@ -169,6 +174,9 @@ msgstr ""
msgid "Overall Timeout"
msgstr ""
+msgid "Overall retry timeout in seconds."
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -196,16 +204,19 @@ msgid ""
"one. The currently used uplink is emphasized in blue."
msgstr ""
+msgid "QR-Codes"
+msgstr ""
+
msgid "Radio selection"
msgstr ""
msgid "Repeat scan"
msgstr ""
-msgid "Rescan"
+msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'."
msgstr ""
-msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'."
+msgid "Retry limit to connect to an uplink."
msgstr ""
msgid "Runtime Information"
@@ -223,6 +234,9 @@ msgstr ""
msgid "Scan"
msgstr ""
+msgid "Signal Quality Threshold"
+msgstr ""
+
msgid "Signal strength"
msgstr ""
@@ -236,6 +250,10 @@ msgid "Station Radio"
msgstr ""
msgid ""
+"The BSSID information '%s' is optional and only required for hidden networks"
+msgstr ""
+
+msgid ""
"This form allows you to modify the content of the main firewall "
"configuration file (/etc/config/firewall)."
msgstr ""
@@ -260,10 +278,7 @@ msgid ""
"messages only."
msgstr ""
-msgid "Timeout in seconds between retries in 'automatic' mode."
-msgstr ""
-
-msgid "To disable this feature set it to '0' which means unlimited retries."
+msgid "This step has only to be done once."
msgstr ""
msgid "Travelmate"
@@ -272,10 +287,13 @@ msgstr ""
msgid "Travelmate Logfile"
msgstr ""
-msgid "Travelmate version"
+msgid "Travelmate Status (Quality)"
+msgstr ""
+
+msgid "Travelmate Version"
msgstr ""
-msgid "Trigger delay"
+msgid "Trigger Delay"
msgstr ""
msgid "Unknown"
@@ -290,7 +308,7 @@ msgstr ""
msgid "Uplink SSID"
msgstr ""
-msgid "Uplink interface"
+msgid "View AP QR-Codes"
msgstr ""
msgid "View Logfile"
@@ -320,11 +338,7 @@ msgstr ""
msgid "Wireless Stations"
msgstr ""
-msgid ""
-"add it to the wan zone of the firewall. This step has only to be done once."
-msgstr ""
-
-msgid "connected"
+msgid "add it to the wan zone of the firewall.<br />"
msgstr ""
msgid "hidden"
@@ -332,6 +346,3 @@ msgstr ""
msgid "n/a"
msgstr ""
-
-msgid "not connected"
-msgstr ""