Merge pull request #1564 from dibdot/travelmate-17.01

[17.01] luci-app-travelmate: release 1.0.2
This commit is contained in:
Hannu Nyman 2018-01-19 15:11:12 +02:00 committed by GitHub
commit 4e513f164c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 2417 additions and 411 deletions

View file

@ -1,11 +1,11 @@
#
# This is free software, licensed under the Apache License, Version 2.0 .
# Copyright 2017 Dirk Brenken (dev@brenken.org)
# This is free software, licensed under the Apache License, Version 2.0
#
include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI support for Travelmate
LUCI_DEPENDS:=+travelmate
LUCI_DEPENDS:=+travelmate +luci-lib-jsonc
LUCI_PKGARCH:=all
include ../../luci.mk

View file

@ -1,11 +1,41 @@
-- Licensed to the public under the Apache License 2.0.
-- 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")
function index()
if not nixio.fs.access("/etc/config/travelmate") then
return
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", "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"}, cbi("travelmate"), _("Travelmate"), 60)
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
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-'"))
end
templ.render("travelmate/logread", {title = i18n.translate("Travelmate Logfile"), content = logfile})
end

View file

@ -1,53 +0,0 @@
-- Licensed to the public under the Apache License 2.0.
m = Map("travelmate", translate("Travelmate"),
translate("Configuration of the Travelmate package to enable travel router functionality. ") .. [[</p>]] ..
translate("Brief advice: Create a wwan interface, configure it to use dhcp and " ..
"add it to the wan zone in firewall. Create the wifi interfaces to be used ('client' mode, " ..
"assigned to wwan network, left as disabled). Travelmate will try " ..
"to connect to the known wifi client interfaces in the defined order. ") ..
[[<a href="https://github.com/openwrt/packages/tree/master/net/travelmate/files/README.md" target="_blank">]]
.. translate("Link to detailed advice")
.. [[</a>]] )
-- General options
s = m:section(NamedSection, "global", "travelmate", translate("Global options"))
o = s:option(Flag, "trm_enabled", translate("Enable Travelmate"))
o.rmempty = false
o.default = 0
o = s:option(Value, "trm_maxwait", translate("Max. timeout in seconds for wlan interface reload"),
translate("Default 20, range 10-60"))
o.rmempty = false
o.default = 20
o.datatype = "range(10,60)"
o = s:option(Value, "trm_maxretry", translate("Max. number of connection retries to an uplink"),
translate("Default 3, range 1-10"))
o.rmempty = false
o.default = 3
o.datatype = "range(1,10)"
-- Extra options
e = m:section(NamedSection, "global", "travelmate", translate("Extra options"))
a = e:option(Flag, "trm_debug", translate("Debug logging"))
a.rmempty = true
a.default = a.disabled
a = e:option(Value, "trm_iface", translate("Restrict reload trigger to certain interface(s)"),
translate("Space separated list of wwan interfaces that trigger reload action. To disable reload trigger set it to 'false'. Default: empty"))
a.rmempty = true
a.default = ""
a.datatype = "uciname"
a = e:option(Flag, "trm_iw", translate("Use iw for scanning"),
translate("Disable this if you want to use iwinfo instead of iw"))
a.rmempty = true
a.default = a.enabled
return m

View file

@ -0,0 +1,37 @@
-- 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 util = require("luci.util")
local trminput = "/etc/config/firewall"
if not nixio.fs.access(trminput) then
m = SimpleForm("error", nil, translate("Input file not found, please check your configuration."))
return m
end
m = SimpleForm("input", nil)
m:append(Template("travelmate/config_css"))
m.submit = translate("Save")
m.reset = false
s = m:section(SimpleSection, nil,
translate("This form allows you to modify the content of the main firewall configuration file (/etc/config/firewall)."))
f = s:option(TextValue, "data")
f.rows = 20
f.rmempty = true
function f.cfgvalue()
return nixio.fs.readfile(trminput) or ""
end
function f.write(self, section, data)
return nixio.fs.writefile(trminput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
end
function s.handle(self, state, data)
return true
end
return m

View file

@ -0,0 +1,37 @@
-- 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 util = require("luci.util")
local trminput = "/etc/config/network"
if not nixio.fs.access(trminput) then
m = SimpleForm("error", nil, translate("Input file not found, please check your configuration."))
return m
end
m = SimpleForm("input", nil)
m:append(Template("travelmate/config_css"))
m.submit = translate("Save")
m.reset = false
s = m:section(SimpleSection, nil,
translate("This form allows you to modify the content of the main network configuration file (/etc/config/network)."))
f = s:option(TextValue, "data")
f.rows = 20
f.rmempty = true
function f.cfgvalue()
return nixio.fs.readfile(trminput) or ""
end
function f.write(self, section, data)
return nixio.fs.writefile(trminput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
end
function s.handle(self, state, data)
return true
end
return m

View file

@ -0,0 +1,37 @@
-- 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 util = require("luci.util")
local trminput = "/etc/config/wireless"
if not nixio.fs.access(trminput) then
m = SimpleForm("error", nil, translate("Input file not found, please check your configuration."))
return m
end
m = SimpleForm("input", nil)
m:append(Template("travelmate/config_css"))
m.submit = translate("Save")
m.reset = false
s = m:section(SimpleSection, nil,
translate("This form allows you to modify the content of the main wireless configuration file (/etc/config/wireless)."))
f = s:option(TextValue, "data")
f.rows = 20
f.rmempty = true
function f.cfgvalue()
return nixio.fs.readfile(trminput) or ""
end
function f.write(self, section, data)
return nixio.fs.writefile(trminput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
end
function s.handle(self, state, data)
return true
end
return m

View file

@ -0,0 +1,39 @@
-- 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 util = require("luci.util")
local trminput = "/etc/config/travelmate"
if not nixio.fs.access(trminput) then
m = SimpleForm("error", nil, translate("Input file not found, please check your configuration."))
m.reset = false
m.submit = false
return m
end
m = SimpleForm("input", nil)
m:append(Template("travelmate/config_css"))
m.submit = translate("Save")
m.reset = false
s = m:section(SimpleSection, nil,
translate("This form allows you to modify the content of the main travelmate configuration file (/etc/config/travelmate)."))
f = s:option(TextValue, "data")
f.rows = 20
f.rmempty = true
function f.cfgvalue()
return nixio.fs.readfile(trminput) or ""
end
function f.write(self, section, data)
return nixio.fs.writefile(trminput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
end
function s.handle(self, state, data)
return true
end
return m

View file

@ -0,0 +1,203 @@
-- 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 json = require("luci.jsonc")
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 parse = json.parse(fs.readfile(trminput) or "")
m = Map("travelmate", translate("Travelmate"),
translate("Configuration of the travelmate package to to enable travel router functionality. ")
.. 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"))
function m.on_after_commit(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
-- Interface Wizard
if uplink == "" then
ds = m:section(NamedSection, "global", "travelmate", translate("Interface Wizard"))
o = ds:option(Value, "", translate("Uplink interface"))
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
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"))
end
return m
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
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
o3 = s:option(ListValue, "trm_iface", translate("Uplink / Trigger interface"),
translate("Name of the used uplink interface."))
if dump then
local i, v
for i, v in ipairs(dump.interface) do
if v.interface ~= "loopback" and v.interface ~= "lan" then
o3:value(v.interface)
end
end
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"))
end
-- Runtime information
ds = m:section(NamedSection, "global", "travelmate", translate("Runtime Information"))
dv1 = ds:option(DummyValue, "status", translate("Travelmate Status"))
dv1.template = "travelmate/runtime"
if parse == nil then
dv1.value = translate("n/a")
elseif parse.data.travelmate_status == "connected" then
dv1.value = translate("connected")
elseif parse.data.travelmate_status == "not connected" then
dv1.value = translate("not connected")
elseif parse.data.travelmate_status == "running" then
dv1.value = translate("running")
elseif parse.data.travelmate_status == "error" then
dv1.value = translate("error")
end
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")
else
dv2.value = translate("n/a")
end
dv3 = ds:option(DummyValue, "station_id", translate("Station ID (SSID/BSSID)"))
dv3.template = "travelmate/runtime"
if parse ~= nil then
dv3.value = parse.data.station_id or translate("n/a")
else
dv3.value = translate("n/a")
end
dv4 = ds:option(DummyValue, "station_interface", translate("Station Interface"))
dv4.template = "travelmate/runtime"
if parse ~= nil then
dv4.value = parse.data.station_interface or translate("n/a")
else
dv4.value = translate("n/a")
end
dv5 = ds:option(DummyValue, "station_radio", translate("Station Radio"))
dv5.template = "travelmate/runtime"
if parse ~= nil then
dv5.value = parse.data.station_radio or translate("n/a")
else
dv5.value = translate("n/a")
end
dv6 = ds:option(DummyValue, "last_rundate", translate("Last rundate"))
dv6.template = "travelmate/runtime"
if parse ~= nil then
dv6.value = parse.data.last_rundate or translate("n/a")
else
dv6.value = translate("n/a")
end
-- Extra options
e = m:section(NamedSection, "global", "travelmate", translate("Extra options"),
translate("Options for further tweaking in case the defaults are not suitable for you."))
e1 = e:option(Flag, "trm_debug", translate("Enable verbose debug logging"))
e1.default = e1.disabled
e1.rmempty = false
e2 = e:option(Value, "trm_radio", translate("Radio selection"),
translate("Restrict travelmate to a dedicated radio, e.g. 'radio0'."))
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.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.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.rmempty = false
return m

View file

@ -0,0 +1,177 @@
-- 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 encr_psk = {"psk", "psk2", "psk-mixed"}
local encr_wpa = {"wpa", "wpa2", "wpa-mixed"}
m = SimpleForm("add", translate("Add Wireless Uplink Configuration"))
m.submit = translate("Save")
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"),
bssid = http.formvalue("bssid"),
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.datatype = "rangelength(1,32)"
wssid.default = m.hidden.ssid or ""
else
wssid = m:field(Value, "ssid", translate("SSID (hidden)"))
end
nobssid = m:field(Flag, "no_bssid", translate("Ignore BSSID"))
nobssid.default = nobssid.enabled
bssid = m:field(Value, "bssid", translate("BSSID"))
bssid:depends("no_bssid", 0)
bssid.datatype = "macaddr"
bssid.default = m.hidden.bssid or ""
if (tonumber(m.hidden.wep) or 0) == 1 then
encr = m:field(ListValue, "encryption", translate("Encryption"))
encr:value("wep", "WEP")
encr:value("wep+open", "WEP Open System")
encr:value("wep+mixed", "WEP mixed")
encr:value("wep+shared", "WEP Shared Key")
encr.default = "wep+open"
wkey = m:field(Value, "key", translate("WEP-Passphrase"))
wkey.password = true
wkey.datatype = "wepkey"
elseif (tonumber(m.hidden.wpa_version) or 0) > 0 then
if m.hidden.wpa_suites == "PSK" or m.hidden.wpa_suites == "PSK2" then
encr = m:field(ListValue, "encryption", translate("Encryption"))
encr:value("psk", "WPA PSK")
encr:value("psk-mixed", "WPA/WPA2 mixed")
encr:value("psk2", "WPA2 PSK")
encr.default = encr_psk[tonumber(m.hidden.wpa_version)] or "psk2"
ciph = m:field(ListValue, "cipher", translate("Cipher"))
ciph:value("auto", translate("Automatic"))
ciph:value("ccmp", translate("Force CCMP (AES)"))
ciph:value("tkip", translate("Force TKIP"))
ciph:value("tkip+ccmp", translate("Force TKIP and CCMP (AES)"))
ciph.default = "auto"
wkey = m:field(Value, "key", translate("WPA-Passphrase"))
wkey.password = true
wkey.datatype = "wpakey"
elseif m.hidden.wpa_suites == "802.1X" then
encr = m:field(ListValue, "encryption", translate("Encryption"))
encr:value("wpa", "WPA Enterprise")
encr:value("wpa-mixed", "WPA/WPA2 Enterprise mixed")
encr:value("wpa2", "WPA2 Enterprise")
encr.default = encr_wpa[tonumber(m.hidden.wpa_version)] or "wpa2"
ciph = m:field(ListValue, "cipher", translate("Cipher"))
ciph:value("auto", translate("Automatic"))
ciph:value("ccmp", translate("Force CCMP (AES)"))
ciph:value("tkip", translate("Force TKIP"))
ciph:value("tkip+ccmp", translate("Force TKIP and CCMP (AES)"))
ciph.default = "auto"
eaptype = m:field(ListValue, "eap_type", translate("EAP-Method"))
eaptype:value("tls", "TLS")
eaptype:value("ttls", "TTLS")
eaptype:value("peap", "PEAP")
eaptype:value("fast", "FAST")
eaptype.default = "peap"
authentication = m:field(ListValue, "auth", translate("Authentication"))
authentication:value("PAP")
authentication:value("CHAP")
authentication:value("MSCHAP")
authentication:value("MSCHAPV2")
authentication:value("EAP-GTC")
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"))
wkey = m:field(Value, "password", translate("Password"))
wkey.password = true
wkey.datatype = "wpakey"
cacert = m:field(Value, "ca_cert", translate("Path to CA-Certificate"))
cacert.rmempty = true
clientcert = m:field(Value, "client_cert", translate("Path to Client-Certificate"))
clientcert:depends("eap_type","tls")
clientcert.rmempty = true
privkey = m:field(Value, "priv_key", translate("Path to Private Key"))
privkey:depends("eap_type","tls")
privkey.rmempty = true
privkeypwd = m:field(Value, "priv_key_pwd", translate("Password of Private Key"))
privkeypwd:depends("eap_type","tls")
privkeypwd.datatype = "wpakey"
privkeypwd.password = true
privkeypwd.rmempty = true
end
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),
bssid = bssid:formvalue(section),
disabled = "1"
})
if (tonumber(m.hidden.wep) or 0) == 1 then
uci:set("wireless", newsection, "encryption", encr:formvalue(section))
uci:set("wireless", newsection, "key", wkey:formvalue(section) or "")
elseif (tonumber(m.hidden.wpa_version) or 0) > 0 then
if m.hidden.wpa_suites == "PSK" or m.hidden.wpa_suites == "PSK2" then
if ciph:formvalue(section) ~= "auto" then
uci:set("wireless", newsection, "encryption", encr:formvalue(section) .. "+" .. ciph:formvalue(section))
else
uci:set("wireless", newsection, "encryption", encr:formvalue(section))
end
uci:set("wireless", newsection, "key", wkey:formvalue(section) or "")
elseif m.hidden.wpa_suites == "802.1X" then
if ciph:formvalue(section) ~= "auto" then
uci:set("wireless", newsection, "encryption", encr:formvalue(section) .. "+" .. ciph:formvalue(section))
else
uci:set("wireless", newsection, "encryption", encr:formvalue(section))
end
uci:set("wireless", newsection, "eap_type", eaptype:formvalue(section))
uci:set("wireless", newsection, "auth", authentication:formvalue(section))
uci:set("wireless", newsection, "identity", ident:formvalue(section) or "")
uci:set("wireless", newsection, "password", wkey:formvalue(section) or "")
uci:set("wireless", newsection, "ca_cert", cacert:formvalue(section) or "")
uci:set("wireless", newsection, "client_cert", clientcert:formvalue(section) or "")
uci:set("wireless", newsection, "priv_key", privkey:formvalue(section) or "")
uci:set("wireless", newsection, "priv_key_pwd", privkeypwd:formvalue(section) or "")
end
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

View file

@ -0,0 +1,13 @@
-- 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"))

View file

@ -0,0 +1,168 @@
-- 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")
m = SimpleForm("edit", translate("Edit Wireless Uplink Configuration"))
m.submit = translate("Save")
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.datatype = "rangelength(1,32)"
wssid.default = s.ssid or ""
bssid = m:field(Value, "bssid", translate("BSSID"))
bssid.datatype = "macaddr"
bssid.default = s.bssid or ""
s.cipher = "auto"
if string.match(s.encryption, '\+') and not string.match(s.encryption, '^wep') then
s.pos = string.find(s.encryption, '\+')
s.cipher = string.sub(s.encryption, s.pos + 1)
s.encryption = string.sub(s.encryption, 0, s.pos - 1)
end
if s.encryption and s.encryption ~= "none" then
if string.match(s.encryption, '^wep') then
encr = m:field(ListValue, "encryption", translate("Encryption"))
encr:value("wep", "WEP")
encr:value("wep+open", "WEP Open System")
encr:value("wep+mixed", "WEP mixed")
encr:value("wep+shared", "WEP Shared Key")
encr.default = s.encryption
wkey = m:field(Value, "key", translate("Passphrase"))
wkey.datatype = "wepkey"
elseif string.match(s.encryption, '^psk') then
encr = m:field(ListValue, "encryption", translate("Encryption"))
encr:value("psk", "WPA PSK")
encr:value("psk-mixed", "WPA/WPA2 mixed")
encr:value("psk2", "WPA2 PSK")
encr.default = s.encryption
ciph = m:field(ListValue, "cipher", translate("Cipher"))
ciph:value("auto", translate("Automatic"))
ciph:value("ccmp", translate("Force CCMP (AES)"))
ciph:value("tkip", translate("Force TKIP"))
ciph:value("tkip+ccmp", translate("Force TKIP and CCMP (AES)"))
ciph.default = s.cipher
wkey = m:field(Value, "key", translate("Passphrase"))
wkey.datatype = "wpakey"
elseif string.match(s.encryption, '^wpa') then
encr = m:field(ListValue, "encryption", translate("Encryption"))
encr:value("wpa", "WPA Enterprise")
encr:value("wpa-mixed", "WPA/WPA2 Enterprise mixed")
encr:value("wpa2", "WPA2 Enterprise")
encr.default = s.encryption
ciph = m:field(ListValue, "cipher", translate("Cipher"))
ciph:value("auto", translate("Automatic"))
ciph:value("ccmp", translate("Force CCMP (AES)"))
ciph:value("tkip", translate("Force TKIP"))
ciph:value("tkip+ccmp", translate("Force TKIP and CCMP (AES)"))
ciph.default = s.cipher
eaptype = m:field(ListValue, "eap_type", translate("EAP-Method"))
eaptype:value("tls", "TLS")
eaptype:value("ttls", "TTLS")
eaptype:value("peap", "PEAP")
eaptype:value("fast", "FAST")
eaptype.default = s.eap_type or "peap"
authentication = m:field(ListValue, "auth", translate("Authentication"))
authentication:value("PAP")
authentication:value("CHAP")
authentication:value("MSCHAP")
authentication:value("MSCHAPV2")
authentication:value("EAP-GTC")
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"))
ident.default = s.identity or ""
wkey = m:field(Value, "password", translate("Passphrase"))
wkey.datatype = "wpakey"
cacert = m:field(Value, "ca_cert", translate("Path to CA-Certificate"))
cacert.rmempty = true
cacert.default = s.ca_cert or ""
clientcert = m:field(Value, "client_cert", translate("Path to Client-Certificate"))
clientcert:depends("eap_type","tls")
clientcert.rmempty = true
clientcert.default = s.client_cert or ""
privkey = m:field(Value, "priv_key", translate("Path to Private Key"))
privkey:depends("eap_type","tls")
privkey.rmempty = true
privkey.default = s.priv_key or ""
privkeypwd = m:field(Value, "priv_key_pwd", translate("Password of Private Key"))
privkeypwd:depends("eap_type","tls")
privkeypwd.datatype = "wpakey"
privkeypwd.password = true
privkeypwd.rmempty = true
privkeypwd.default = s.priv_key_pwd or ""
end
wkey.password = true
wkey.default = s.key or s.password
end
else
m.on_cancel()
end
function wssid.write(self, section, value)
uci:set("wireless", m.hidden.cfg, "ssid", wssid:formvalue(section))
uci:set("wireless", m.hidden.cfg, "bssid", bssid:formvalue(section))
if s.encryption and s.encryption ~= "none" then
if string.match(s.encryption, '^wep') then
uci:set("wireless", m.hidden.cfg, "encryption", encr:formvalue(section))
uci:set("wireless", m.hidden.cfg, "key", wkey:formvalue(section) or "")
elseif string.match(s.encryption, '^psk') then
if ciph:formvalue(section) ~= "auto" then
uci:set("wireless", m.hidden.cfg, "encryption", encr:formvalue(section) .. "+" .. ciph:formvalue(section))
else
uci:set("wireless", m.hidden.cfg, "encryption", encr:formvalue(section))
end
uci:set("wireless", m.hidden.cfg, "key", wkey:formvalue(section) or "")
elseif string.match(s.encryption, '^wpa') then
if ciph:formvalue(section) ~= "auto" then
uci:set("wireless", m.hidden.cfg, "encryption", encr:formvalue(section) .. "+" .. ciph:formvalue(section))
else
uci:set("wireless", m.hidden.cfg, "encryption", encr:formvalue(section))
end
uci:set("wireless", m.hidden.cfg, "eap_type", eaptype:formvalue(section))
uci:set("wireless", m.hidden.cfg, "auth", authentication:formvalue(section))
uci:set("wireless", m.hidden.cfg, "identity", ident:formvalue(section) or "")
uci:set("wireless", m.hidden.cfg, "password", wkey:formvalue(section) or "")
uci:set("wireless", m.hidden.cfg, "ca_cert", cacert:formvalue(section) or "")
uci:set("wireless", m.hidden.cfg, "client_cert", clientcert:formvalue(section) or "")
uci:set("wireless", m.hidden.cfg, "priv_key", privkey:formvalue(section) or "")
uci:set("wireless", m.hidden.cfg, "priv_key_pwd", privkeypwd:formvalue(section) or "")
end
end
uci:save("wireless")
uci:commit("wireless")
m.on_cancel()
end
return m

View file

@ -0,0 +1,36 @@
-- 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 section = ""
local idx = ""
local idx_change = ""
local changed = ""
uci:foreach("wireless", "wifi-iface", function(s)
local iface = s.network or ""
if iface == trmiface then
section = s['.name']
if cfg == section then
idx = s['.index']
else
idx_change = s['.index']
end
if (dir == "up" and idx ~= "" and idx_change ~= "" and idx_change < idx) or
(dir == "down" and idx ~= "" and idx_change ~= "" and idx_change > idx) then
changed = uci:reorder("wireless", cfg, idx_change)
idx = ""
end
end
end)
if changed ~= "" then
uci:save("wireless")
uci:commit("wireless")
end
end
http.redirect(luci.dispatcher.build_url("admin/services/travelmate/stations"))

View file

@ -0,0 +1,13 @@
<style type="text/css">
textarea
{
border: 1px solid #cccccc;
padding: 5px;
font-size: 12px;
font-family: monospace;
resize: none;
white-space: pre;
overflow-wrap: normal;
overflow-x: scroll;
}
</style>

View file

@ -0,0 +1,20 @@
<%#
Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
This is free software, licensed under the Apache License, Version 2.0
-%>
<%+header%>
<div class="cbi-map">
<fieldset class="cbi-section">
<div class="cbi-section-descr"><%:This form shows the syslog output, pre-filtered for travelmate related messages only.%></div>
<textarea id="logread_id" style="width: 100%; height: 450px; border: 1px solid #cccccc; padding: 5px; font-size: 12px; font-family: monospace; resize: none;" readonly="readonly" wrap="off" rows="<%=content:cmatch("\n")+2%>"><%=content:pcdata()%></textarea>
</fieldset>
</div>
<script type="text/javascript">
var textarea = document.getElementById('logread_id');
textarea.scrollTop = textarea.scrollHeight;
</script>
<%+footer%>

View file

@ -0,0 +1,10 @@
<%#
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="outline:none;border:none;box-shadow:none;background:transparent;color:#0069d6;font-weight:bold;line-height:30px;height:30px;" value="<%=self:cfgvalue(section)%>" disabled="disabled" />
<%+cbi/valuefooter%>

View file

@ -0,0 +1,80 @@
<%#
Copyright 2017-2018 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"><%:BSSID%></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'] or ""
local device = s.device or "-"
local ssid = s.ssid or "-"
local bssid = s.bssid or "-"
local encryption = s.encryption or "-"
local disabled = s.disabled or ""
local style = "text-align:left;color:#000000"
if disabled == "0" then
style = "text-align:left;color:#0069d6;font-weight:bold"
end
%>
<tr class="cbi-section-table-row cbi-rowstyle-1" style="<%=style%>">
<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%>;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>
<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>
</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="<%=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%>"/>
</form>
<%
end)
%>
</div>
</div>
<%+footer%>

View file

@ -0,0 +1,96 @@
<%#
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)
local wpa_label = {translate("WPA"), translate("WPA2"), translate("WPA/WPA2")}
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 "%s (%s/%s)" %{wpa_label[info.wpa], table.concat(info.auth_suites), table.concat(info.group_ciphers)}
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"><%:Uplink BSSID%></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">
<%=net.ssid and utl.pcdata(net.ssid) or "<em>%s</em>" % translate("hidden")%>
</td>
<td class="cbi-value-field" style="text-align:left">
<%=net.bssid and utl.pcdata(net.bssid)%>
</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="<%=luci.dispatcher.build_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="bssid" value="<%=utl.pcdata(net.bssid)%>"/>
<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="<%=luci.dispatcher.build_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>
<form class="inline" action="<%=luci.dispatcher.build_url('admin/services/travelmate/stations')%>" method="post">
<input class="cbi-button cbi-button-reset" type="submit" value="<%:Back to overview%>"/>
</form>
</div>
</div>
<%+footer%>

View file

@ -7,333 +7,378 @@ 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.5\n"
"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Language: ja\n"
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 "Actions"
msgstr "操作"
msgid "Add Interface"
msgstr "インターフェースの追加"
msgid "Add Uplink"
msgstr "アップリンクの追加"
msgid "Add Wireless Uplink Configuration"
msgstr "無線アップリンク追加の設定"
msgid ""
"Configuration of the Travelmate package to enable travel router "
"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 "Cipher"
msgstr "暗号化方式"
msgid ""
"Configuration of the travelmate package to to enable travel router "
"functionality."
msgstr "トラベル ルータ機能を有効にする、Travelmate パッケージの設定です。"
msgstr ""
"トラベル ルーター機能を有効化するための、 Travelmate パッケージの設定です。"
msgid "Debug logging"
msgstr "デバッグ ログ"
msgid "Connection Limit"
msgstr "接続制限"
msgid "Default 20, range 10-60"
msgstr "既定値 20、範囲 10 - 60"
msgid "Create Uplink Interface"
msgstr "アップリンク インターフェースの作成"
msgid "Default 3, range 1-10"
msgstr "既定値 3、範囲 1 - 10"
msgid ""
"Create a new wireless wan uplink interface, configure it to use dhcp and"
msgstr ""
"新規の無線 WAN アップリンク インターフェースを作成し、 DHCP を使用するよう構"
"成して"
msgid "Disable this if you want to use iwinfo instead of iw"
msgstr "iw の代わりに iwinfo を使用したい場合、この設定を無効にします。"
msgid "Delete"
msgstr "削除"
msgid "Enable Travelmate"
msgstr "Travelmateの有効化"
msgid "Delete this Uplink"
msgstr "このアップリンクを削除"
msgid "Device"
msgstr "デバイス"
msgid "EAP-Method"
msgstr "EAP メソッド"
msgid "Edit"
msgstr "編集"
msgid "Edit Firewall Configuration"
msgstr "ファイアウォール設定の編集"
msgid "Edit Network Configuration"
msgstr "ネットワーク設定の編集"
msgid "Edit Travelmate Configuration"
msgstr "Travelmate 設定の編集"
msgid "Edit Wireless Configuration"
msgstr "無線設定の編集"
msgid "Edit Wireless Uplink Configuration"
msgstr "無線アップリンク設定の編集"
msgid "Edit this Uplink"
msgstr "このアップリンクを編集"
msgid "Enable 'automatic' mode"
msgstr "'automatic' モードの有効化"
msgid "Enable travelmate"
msgstr "Travelmate の有効化"
msgid "Enable verbose debug logging"
msgstr "詳細なデバッグ ログの有効化"
msgid "Encryption"
msgstr "暗号化"
msgid "Extra options"
msgstr "拡張オプション"
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 "Find and join network on"
msgstr "ネットワークの検索と参加:"
msgid ""
"Space separated list of wwan interfaces that trigger reload action. To "
"disable reload trigger set it to 'false'. Default: empty"
"For further information <a href=\"%s\" target=\"_blank\">see online "
"documentation</a>"
msgstr ""
"リロード動作のトリガとなる、スペースで区切られたWWAN インターフェースのリスト"
"です。リロードのトリガを無効にするには、'false' を設定します。既定値:(空)"
"詳細な情報は <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 "Force a manual uplink rescan / reconnect in 'trigger' mode."
msgstr ""
"'trigger' モード時に、手動でアップリンクの再スキャンと再接続を行います。"
msgid "How long should travelmate wait for a successful wlan interface reload."
msgstr ""
"無線LAN インターフェースのリロードが成功するまでの、Travelmate の待機時間で"
"す。"
msgid "How many times should travelmate try to connect to an Uplink."
msgstr "Travelmate がアップリンクへの接続を試行する回数です。"
msgid "Identity"
msgstr "ID"
msgid "Ignore BSSID"
msgstr "BSSID の無視"
msgid "Input file not found, please check your configuration."
msgstr "入力ファイルが見つかりません。設定を確認してください。"
msgid "Interface Timeout"
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 "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 "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 "クライアント証明書へのパス"
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に設定済みの全アップリンクの一覧です。既存"
"のアップリンクの編集や削除、並べ替えを行ったり、スキャンを行って新規アップリ"
"ンクを追加することができます。現在使用されているアップリンクは、青色で強調さ"
"れます。"
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 "Runtime Information"
msgstr "実行情報"
msgid "SSID"
msgstr "SSID"
msgid "SSID (hidden)"
msgstr "SSIDステルス"
msgid "Save"
msgstr "保存"
msgid "Scan"
msgstr "スキャン:"
msgid "Signal strength"
msgstr "信号強度"
msgid "Station ID (SSID/BSSID)"
msgstr "ステーション ID (SSID / BSSID)"
msgid "Station Interface"
msgstr "ステーション インターフェース"
msgid "Station Radio"
msgstr "ステーション電波"
msgid ""
"This form allows you to modify the content of the main firewall "
"configuration file (/etc/config/firewall)."
msgstr ""
"このフォームでは、ファイアウォール 設定ファイル (/etc/config/firewall) の内容"
"を変更することができます。"
msgid ""
"This form allows you to modify the content of the main network configuration "
"file (/etc/config/network)."
msgstr ""
"このフォームでは、ネットワーク 設定ファイル (/etc/config/network) の内容を変"
"更することができます。"
msgid ""
"This form allows you to modify the content of the main travelmate "
"configuration file (/etc/config/travelmate)."
msgstr ""
"このフォームでは、 Travelmate 設定ファイル (/etc/config/travelmate) の内容を"
"変更することができます。"
msgid ""
"This form allows you to modify the content of the main wireless "
"configuration file (/etc/config/wireless)."
msgstr ""
"このフォームでは、無線 設定ファイル (/etc/config/wireless) の内容を変更するこ"
"とができます。"
msgid ""
"This form shows the syslog output, pre-filtered for travelmate related "
"messages only."
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 "Travelmate"
msgstr "Travelmate"
msgid "Use iw for scanning"
msgstr "スキャンに iw を使用する"
msgid "Travelmate Logfile"
msgstr "Travelmate ログファイル"
#~ msgid "<br />&nbsp;Network Interface 'trm_wwan' created successfully."
#~ msgstr ""
#~ "<br />&nbsp;ネットワーク インターフェース 'trm_wwan' の作成に成功しまし"
#~ "た。"
msgid "Travelmate Status"
msgstr "Travelmate ステータス"
#~ msgid "Add Interface"
#~ msgstr "インターフェースの追加"
msgid "Travelmate Version"
msgstr "Travelmate バージョン"
#~ msgid ""
#~ "Additional trigger delay in seconds before travelmate processing begins."
#~ msgstr "Travelmate の処理が開始されるまでの、追加の遅延時間(秒)です。"
msgid "Trigger delay"
msgstr "トリガー遅延"
#~ msgid "Advanced"
#~ msgstr "詳細設定"
msgid "Unknown"
msgstr "不明"
#~ msgid ""
#~ "Automatically create a new wireless wan uplink interface 'trm_wwan', "
#~ "configure it to use dhcp and"
#~ msgstr ""
#~ "新しい無線 WAN インターフェース 'trm_wwan' を自動的に作成し、 DHCP を使用"
#~ "するよう構成して"
msgid "Uplink / Trigger interface"
msgstr "アップリンク / トリガー インターフェース"
#~ msgid ""
#~ "Configuration of the travelmate package to to enable travel router "
#~ "functionality."
#~ msgstr ""
#~ "トラベル ルーター機能を有効化するための、 Travelmate パッケージの設定で"
#~ "す。"
msgid "Uplink BSSID"
msgstr "アップリンク BSSID"
#~ msgid "Connection Limit"
#~ msgstr "接続制限"
msgid "Uplink SSID"
msgstr "アップリンク SSID"
#~ msgid "Create Uplink Interface"
#~ msgstr "アップリンク インターフェースの作成"
msgid "Uplink interface"
msgstr "アップリンク インターフェース"
#~ msgid "Edit Firewall Configuration"
#~ msgstr "ファイアウォール設定の編集"
msgid "View Logfile"
msgstr "ログファイルの確認"
#~ msgid "Edit Network Configuration"
#~ msgstr "ネットワーク設定の編集"
msgid "WEP"
msgstr "WEP"
#~ msgid "Edit Travelmate Configuration"
#~ msgstr "Travelmate 設定の編集"
msgid "WEP-Passphrase"
msgstr "WEP パスフレーズ"
#~ msgid "Edit Wireless Configuration"
#~ msgstr "無線設定の編集"
msgid "WPA"
msgstr "WPA"
#~ msgid "Enable 'automatic' mode"
#~ msgstr "'automatic' モードの有効化"
msgid "WPA-Passphrase"
msgstr "WPA パスフレーズ"
#~ msgid "Enable travelmate"
#~ msgstr "Travelmate の有効化"
msgid "WPA/WPA2"
msgstr "WPA/WPA2"
#~ msgid "Enable verbose debug logging"
#~ msgstr "詳細なデバッグ ログの有効化"
msgid "WPA2"
msgstr "WPA2"
#~ msgid ""
#~ "For further information <a href=\"%s\" target=\"_blank\">see online "
#~ "documentation</a>"
#~ msgstr ""
#~ "詳細な情報は <a href=\"%s\" target=\"_blank\">オンライン ドキュメント</a>"
#~ "を確認してください。"
msgid "Wireless Scan"
msgstr "無線スキャン"
#~ msgid ""
#~ "How long should travelmate wait for a successful wlan interface reload"
#~ msgstr ""
#~ "無線LAN インターフェースのリロードが成功するまでの、Travelmate の待機時間"
#~ "です。"
msgid "Wireless Stations"
msgstr "無線ステーション"
#~ msgid "How many times should travelmate try to connect to an Uplink"
#~ msgstr "Travelmate がアップリンクに対して接続を試行する回数です。"
msgid ""
"add it to the wan zone of the firewall. This step has only to be done once."
msgstr ""
"ファイアウォールの wan ゾーンに追加します。このステップは、一度だけ実行される"
"必要があります。"
#~ msgid "Input file not found, please check your configuration."
#~ msgstr "入力ファイルが見つかりません。設定を確認してください。"
msgid "connected"
msgstr "接続済"
#~ msgid "Interface Setup"
#~ msgstr "インターフェース設定"
msgid "error"
msgstr "エラー"
#~ msgid "Interface Timeout"
#~ msgstr "インターフェース タイムアウト"
msgid "hidden"
msgstr "(不明)"
#~ msgid "Keep travelmate in an active state."
#~ msgstr "Travelmate をアクティブ状態で維持します。"
msgid "n/a"
msgstr "利用不可"
#~ msgid "Last rundate"
#~ msgstr "最終実行日時"
msgid "not connected"
msgstr "未接続"
#~ msgid "Online Status"
#~ msgstr "オンライン ステータス"
#~ msgid ""
#~ "Options for further tweaking in case the defaults are not suitable for "
#~ "you."
#~ msgstr ""
#~ "デフォルトの設定が適切でない場合、さらに設定するためのオプションです。"
#~ msgid "Overall Timeout"
#~ msgstr "全体タイムアウト"
#~ msgid "Overview"
#~ msgstr "概要"
#~ msgid "Radio selection"
#~ msgstr "無線の選択"
#~ msgid "Restrict interface trigger to certain interface(s)"
#~ msgstr "インターフェース トリガーを特定のインターフェースに限定する"
#~ msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'"
#~ msgstr "Travelmate が特定の無線に接続するようにします。例: 'radio0'"
#~ 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 ""
#~ "Space separated list of interfaces that trigger travelmate processing. To "
#~ "disable event driven (re-)starts remove all entries."
#~ msgstr ""
#~ "Travelmate の処理のトリガーとなる、スペースで区切られたインターフェースの"
#~ "リストです。処理を発生させるイベントを無効にするには、全てのエントリーを削"
#~ "除して空欄にします。"
#~ msgid "Station Interface"
#~ msgstr "ステーション インターフェース"
#~ msgid "Station Radio"
#~ msgstr "ステーション 無線"
#~ msgid "Station SSID"
#~ msgstr "ステーション SSID"
#~ msgid ""
#~ "This form allows you to modify the content of the main firewall "
#~ "configuration file (/etc/config/firewall)."
#~ msgstr ""
#~ "このフォームでは、ファイアウォール 設定ファイル (/etc/config/firewall) の"
#~ "内容を変更することができます。"
#~ msgid ""
#~ "This form allows you to modify the content of the main network "
#~ "configuration file (/etc/config/network)."
#~ msgstr ""
#~ "このフォームでは、ネットワーク 設定ファイル (/etc/config/network) の内容を"
#~ "変更することができます。"
#~ msgid ""
#~ "This form allows you to modify the content of the main travelmate "
#~ "configuration file (/etc/config/travelmate)."
#~ msgstr ""
#~ "このフォームでは、 Travelmate 設定ファイル (/etc/config/travelmate) の内容"
#~ "を変更することができます。"
#~ msgid ""
#~ "This form allows you to modify the content of the main wireless "
#~ "configuration file (/etc/config/wireless)."
#~ msgstr ""
#~ "このフォームでは、無線 設定ファイル (/etc/config/wireless) の内容を変更す"
#~ "ることができます。"
#~ msgid ""
#~ "This form shows the syslog output, pre-filtered for travelmate related "
#~ "messages only."
#~ msgstr ""
#~ "このフォームには、システムログ内の Travelmate に関するメッセージのみが表示"
#~ "されます。"
#~ msgid "Timeout in seconds between retries in 'automatic' mode"
#~ msgstr "'automatic' モード時に接続を再試行する間隔(秒)です。"
#~ msgid "Travelmate Logfile"
#~ msgstr "Travelmate ログファイル"
#~ msgid "Travelmate version"
#~ msgstr "Travelmate バージョン"
#~ msgid "Trigger delay"
#~ msgstr "トリガー遅延"
#~ msgid "View Logfile"
#~ 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 "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 "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'"
msgid "running"
msgstr "実行中"

View file

@ -12,67 +12,407 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Language: pt_BR\n"
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."
msgid "Actions"
msgstr ""
msgid "Add Interface"
msgstr ""
msgid "Add Uplink"
msgstr ""
msgid "Add Wireless Uplink Configuration"
msgstr ""
"Breve conselho: Crie uma interface wwan, configure-a para usar DHCP e "
"adicione-a à zona wan no firewall. Crie as interfaces wifi a serem usadas "
"(modo 'cliente', atribuído à rede wwan, deixado como desativado). O "
"Travelmate tentará se conectar às interfaces de cliente wifi conhecidas na "
"ordem definida."
msgid ""
"Configuration of the Travelmate package to enable travel router "
"Additional trigger delay in seconds before travelmate processing begins."
msgstr ""
msgid "Advanced"
msgstr ""
msgid "Authentication"
msgstr ""
msgid "Automatic"
msgstr ""
msgid "BSSID"
msgstr ""
msgid "Back to overview"
msgstr ""
msgid "Cipher"
msgstr ""
msgid ""
"Configuration of the travelmate package to to enable travel router "
"functionality."
msgstr ""
"Configuração do pacote Travelmate para permitir a funcionalidade de roteador "
"de viagem."
msgid "Debug logging"
msgstr "Registros(log) para depuração"
msgid "Connection Limit"
msgstr ""
msgid "Default 20, range 10-60"
msgstr "Padrão 20, faixa 10-60"
msgid "Create Uplink Interface"
msgstr ""
msgid "Default 3, range 1-10"
msgstr "Padrão 3, faixa 1-10"
msgid ""
"Create a new wireless wan uplink interface, configure it to use dhcp and"
msgstr ""
msgid "Disable this if you want to use iwinfo instead of iw"
msgstr "Desabilite isto se você quer usar o iwinfo ao invés do iw"
msgid "Delete"
msgstr ""
msgid "Enable Travelmate"
msgstr "Habilitar o Travelmate"
msgid "Delete this Uplink"
msgstr ""
msgid "Device"
msgstr ""
msgid "EAP-Method"
msgstr ""
msgid "Edit"
msgstr ""
msgid "Edit Firewall Configuration"
msgstr ""
msgid "Edit Network Configuration"
msgstr ""
msgid "Edit Travelmate Configuration"
msgstr ""
msgid "Edit Wireless Configuration"
msgstr ""
msgid "Edit Wireless Uplink Configuration"
msgstr ""
msgid "Edit this Uplink"
msgstr ""
msgid "Enable 'automatic' mode"
msgstr ""
msgid "Enable travelmate"
msgstr ""
msgid "Enable verbose debug logging"
msgstr ""
msgid "Encryption"
msgstr ""
msgid "Extra options"
msgstr "Opções adicionais"
msgid "Global options"
msgstr "Opções Globais"
msgid "Link to detailed advice"
msgstr "Endereço para conselhos detalhados"
msgid "Max. number of connection retries to an uplink"
msgstr "Máximo número de tentativas de conexão para um enlace"
msgid "Max. timeout in seconds for wlan interface reload"
msgstr "Tempo limite máximo em segundos para recarregar a interface wlan"
msgid "Restrict reload trigger to certain interface(s)"
msgstr "Restringir o gatilho de recarga para somente alguma(s) interface(s)"
msgid "Find and join network on"
msgstr ""
msgid ""
"Space separated list of wwan interfaces that trigger reload action. To "
"disable reload trigger set it to 'false'. Default: empty"
"For further information <a href=\"%s\" target=\"_blank\">see online "
"documentation</a>"
msgstr ""
msgid "Force CCMP (AES)"
msgstr ""
msgid "Force TKIP"
msgstr ""
msgid "Force TKIP and CCMP (AES)"
msgstr ""
msgid "Force a manual uplink rescan / reconnect in 'trigger' mode."
msgstr ""
msgid "How long should travelmate wait for a successful wlan interface reload."
msgstr ""
msgid "How many times should travelmate try to connect to an Uplink."
msgstr ""
msgid "Identity"
msgstr ""
msgid "Ignore BSSID"
msgstr ""
msgid "Input file not found, please check your configuration."
msgstr ""
msgid "Interface Timeout"
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"
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 "Overview"
msgstr ""
msgid "Passphrase"
msgstr ""
msgid "Password"
msgstr ""
msgid "Password of Private Key"
msgstr ""
msgid "Path to CA-Certificate"
msgstr ""
msgid "Path to Client-Certificate"
msgstr ""
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 ""
msgid "Radio selection"
msgstr ""
msgid "Repeat scan"
msgstr ""
msgid "Rescan"
msgstr ""
msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'."
msgstr ""
msgid "Runtime Information"
msgstr ""
msgid "SSID"
msgstr ""
msgid "SSID (hidden)"
msgstr ""
msgid "Save"
msgstr ""
msgid "Scan"
msgstr ""
msgid "Signal strength"
msgstr ""
msgid "Station ID (SSID/BSSID)"
msgstr ""
msgid "Station Interface"
msgstr ""
msgid "Station Radio"
msgstr ""
msgid ""
"This form allows you to modify the content of the main firewall "
"configuration file (/etc/config/firewall)."
msgstr ""
msgid ""
"This form allows you to modify the content of the main network configuration "
"file (/etc/config/network)."
msgstr ""
msgid ""
"This form allows you to modify the content of the main travelmate "
"configuration file (/etc/config/travelmate)."
msgstr ""
msgid ""
"This form allows you to modify the content of the main wireless "
"configuration file (/etc/config/wireless)."
msgstr ""
msgid ""
"This form shows the syslog output, pre-filtered for travelmate related "
"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."
msgstr ""
"Lista separada por espaços de interfaces wwan que acionam a ação de recarga. "
"Para desabilitar o gatilho de recarga, defina-o como 'false'. Padrão: vazio"
msgid "Travelmate"
msgstr "Travelmate"
msgid "Use iw for scanning"
msgstr "Use o iw para escaneamento"
msgid "Travelmate Logfile"
msgstr ""
msgid "Travelmate Status"
msgstr ""
msgid "Travelmate Version"
msgstr ""
msgid "Trigger delay"
msgstr ""
msgid "Unknown"
msgstr ""
msgid "Uplink / Trigger interface"
msgstr ""
msgid "Uplink BSSID"
msgstr ""
msgid "Uplink SSID"
msgstr ""
msgid "Uplink interface"
msgstr ""
msgid "View Logfile"
msgstr ""
msgid "WEP"
msgstr ""
msgid "WEP-Passphrase"
msgstr ""
msgid "WPA"
msgstr ""
msgid "WPA-Passphrase"
msgstr ""
msgid "WPA/WPA2"
msgstr ""
msgid "WPA2"
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 ""
msgid "connected"
msgstr ""
msgid "error"
msgstr ""
msgid "hidden"
msgstr ""
msgid "n/a"
msgstr ""
msgid "not connected"
msgstr ""
msgid "running"
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 ""
#~ "Breve conselho: Crie uma interface wwan, configure-a para usar DHCP e "
#~ "adicione-a à zona wan no firewall. Crie as interfaces wifi a serem usadas "
#~ "(modo 'cliente', atribuído à rede wwan, deixado como desativado). O "
#~ "Travelmate tentará se conectar às interfaces de cliente wifi conhecidas "
#~ "na ordem definida."
#~ msgid ""
#~ "Configuration of the Travelmate package to enable travel router "
#~ "functionality."
#~ msgstr ""
#~ "Configuração do pacote Travelmate para permitir a funcionalidade de "
#~ "roteador de viagem."
#~ msgid "Debug logging"
#~ msgstr "Registros(log) para depuração"
#~ msgid "Default 20, range 10-60"
#~ msgstr "Padrão 20, faixa 10-60"
#~ msgid "Default 3, range 1-10"
#~ msgstr "Padrão 3, faixa 1-10"
#~ msgid "Disable this if you want to use iwinfo instead of iw"
#~ msgstr "Desabilite isto se você quer usar o iwinfo ao invés do iw"
#~ msgid "Enable Travelmate"
#~ msgstr "Habilitar o Travelmate"
#~ msgid "Global options"
#~ msgstr "Opções Globais"
#~ msgid "Link to detailed advice"
#~ msgstr "Endereço para conselhos detalhados"
#~ msgid "Max. number of connection retries to an uplink"
#~ msgstr "Máximo número de tentativas de conexão para um enlace"
#~ msgid "Max. timeout in seconds for wlan interface reload"
#~ msgstr "Tempo limite máximo em segundos para recarregar a interface wlan"
#~ msgid "Restrict reload trigger to certain interface(s)"
#~ msgstr "Restringir o gatilho de recarga para somente alguma(s) interface(s)"
#~ msgid ""
#~ "Space separated list of wwan interfaces that trigger reload action. To "
#~ "disable reload trigger set it to 'false'. Default: empty"
#~ msgstr ""
#~ "Lista separada por espaços de interfaces wwan que acionam a ação de "
#~ "recarga. Para desabilitar o gatilho de recarga, defina-o como 'false'. "
#~ "Padrão: vazio"
#~ msgid "Use iw for scanning"
#~ msgstr "Use o iw para escaneamento"

View file

@ -0,0 +1,390 @@
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-14 18:14+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 Interface"
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 "Cipher"
msgstr "Шифрование"
msgid ""
"Configuration of the travelmate package to to enable travel router "
"functionality."
msgstr "Настройка утилиты TravelMate - помощника путешественника. "
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 'automatic' mode"
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 "Force a manual uplink rescan / reconnect in 'trigger' 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 "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 ""
"Keep travelmate in an active state. Check every n seconds the connection "
"status, i.e. the uplink availability."
msgstr ""
"Поддержка TravelMate в активном состоянии.<br />Проверка состояния "
"соединения каждые n секунд, т.е. доступность внешней сети."
msgid "Last rundate"
msgstr "Дата последнего запуска"
msgid "Manual Rescan"
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 "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 "Radio selection"
msgstr "Выбор Wi-Fi устройства"
msgid "Repeat scan"
msgstr "Повторить сканирование"
msgid "Rescan"
msgstr "Пересканировать"
msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'."
msgstr "Выделить TravelMate-у конкретное Wi-Fi устройство, например 'radio0'."
msgid "Runtime Information"
msgstr "Информация о состоянии"
msgid "SSID"
msgstr "SSID"
msgid "SSID (hidden)"
msgstr "SSID (скрытый)"
msgid "Save"
msgstr "Сохранить"
msgid "Scan"
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 ""
"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 "Timeout in seconds between retries in 'automatic' mode."
msgstr ""
"Время ожидания в секундах между повторными попытками соединения в режиме "
"'автоматически'."
msgid "To disable this feature set it to '0' which means unlimited retries."
msgstr ""
"<br />Чтобы отключить эту функцию, установите значение '0', что означает "
"неограниченное количество попыток."
msgid "Travelmate"
msgstr "TravelMate"
msgid "Travelmate Logfile"
msgstr "Системный журнал TravelMate"
msgid "Travelmate Status"
msgstr "Состояние Travelmate"
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 "Uplink interface"
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 "Сканирование беспроводных сетей"
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 "error"
msgstr "ошибка"
msgid "hidden"
msgstr "скрытый"
msgid "n/a"
msgstr "нет данных"
msgid "not connected"
msgstr "не подключено"
msgid "running"
msgstr "работает"

View file

@ -1,58 +1,346 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
msgid ""
"Brief advice: Create a wwan interface, configure it to use dhcp and add it "
"to the wan zone in firewall. Create the wifi interfaces to be used ('client' "
"mode, assigned to wwan network, left as disabled). Travelmate will try to "
"connect to the known wifi client interfaces in the defined order."
msgid "Actions"
msgstr ""
msgid "Add Interface"
msgstr ""
msgid "Add Uplink"
msgstr ""
msgid "Add Wireless Uplink Configuration"
msgstr ""
msgid ""
"Configuration of the Travelmate package to enable travel router "
"Additional trigger delay in seconds before travelmate processing begins."
msgstr ""
msgid "Advanced"
msgstr ""
msgid "Authentication"
msgstr ""
msgid "Automatic"
msgstr ""
msgid "BSSID"
msgstr ""
msgid "Back to overview"
msgstr ""
msgid "Cipher"
msgstr ""
msgid ""
"Configuration of the travelmate package to to enable travel router "
"functionality."
msgstr ""
msgid "Debug logging"
msgid "Connection Limit"
msgstr ""
msgid "Default 20, range 10-60"
msgid "Create Uplink Interface"
msgstr ""
msgid "Default 3, range 1-10"
msgid ""
"Create a new wireless wan uplink interface, configure it to use dhcp and"
msgstr ""
msgid "Disable this if you want to use iwinfo instead of iw"
msgid "Delete"
msgstr ""
msgid "Enable Travelmate"
msgid "Delete this Uplink"
msgstr ""
msgid "Device"
msgstr ""
msgid "EAP-Method"
msgstr ""
msgid "Edit"
msgstr ""
msgid "Edit Firewall Configuration"
msgstr ""
msgid "Edit Network Configuration"
msgstr ""
msgid "Edit Travelmate Configuration"
msgstr ""
msgid "Edit Wireless Configuration"
msgstr ""
msgid "Edit Wireless Uplink Configuration"
msgstr ""
msgid "Edit this Uplink"
msgstr ""
msgid "Enable 'automatic' mode"
msgstr ""
msgid "Enable travelmate"
msgstr ""
msgid "Enable verbose debug logging"
msgstr ""
msgid "Encryption"
msgstr ""
msgid "Extra options"
msgstr ""
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 ""
msgid "Restrict reload trigger to certain interface(s)"
msgid "Find and join network on"
msgstr ""
msgid ""
"Space separated list of wwan interfaces that trigger reload action. To "
"disable reload trigger set it to 'false'. Default: empty"
"For further information <a href=\"%s\" target=\"_blank\">see online "
"documentation</a>"
msgstr ""
msgid "Force CCMP (AES)"
msgstr ""
msgid "Force TKIP"
msgstr ""
msgid "Force TKIP and CCMP (AES)"
msgstr ""
msgid "Force a manual uplink rescan / reconnect in 'trigger' mode."
msgstr ""
msgid "How long should travelmate wait for a successful wlan interface reload."
msgstr ""
msgid "How many times should travelmate try to connect to an Uplink."
msgstr ""
msgid "Identity"
msgstr ""
msgid "Ignore BSSID"
msgstr ""
msgid "Input file not found, please check your configuration."
msgstr ""
msgid "Interface Timeout"
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"
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 "Overview"
msgstr ""
msgid "Passphrase"
msgstr ""
msgid "Password"
msgstr ""
msgid "Password of Private Key"
msgstr ""
msgid "Path to CA-Certificate"
msgstr ""
msgid "Path to Client-Certificate"
msgstr ""
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 ""
msgid "Radio selection"
msgstr ""
msgid "Repeat scan"
msgstr ""
msgid "Rescan"
msgstr ""
msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'."
msgstr ""
msgid "Runtime Information"
msgstr ""
msgid "SSID"
msgstr ""
msgid "SSID (hidden)"
msgstr ""
msgid "Save"
msgstr ""
msgid "Scan"
msgstr ""
msgid "Signal strength"
msgstr ""
msgid "Station ID (SSID/BSSID)"
msgstr ""
msgid "Station Interface"
msgstr ""
msgid "Station Radio"
msgstr ""
msgid ""
"This form allows you to modify the content of the main firewall "
"configuration file (/etc/config/firewall)."
msgstr ""
msgid ""
"This form allows you to modify the content of the main network configuration "
"file (/etc/config/network)."
msgstr ""
msgid ""
"This form allows you to modify the content of the main travelmate "
"configuration file (/etc/config/travelmate)."
msgstr ""
msgid ""
"This form allows you to modify the content of the main wireless "
"configuration file (/etc/config/wireless)."
msgstr ""
msgid ""
"This form shows the syslog output, pre-filtered for travelmate related "
"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."
msgstr ""
msgid "Travelmate"
msgstr ""
msgid "Use iw for scanning"
msgid "Travelmate Logfile"
msgstr ""
msgid "Travelmate Status"
msgstr ""
msgid "Travelmate Version"
msgstr ""
msgid "Trigger delay"
msgstr ""
msgid "Unknown"
msgstr ""
msgid "Uplink / Trigger interface"
msgstr ""
msgid "Uplink BSSID"
msgstr ""
msgid "Uplink SSID"
msgstr ""
msgid "Uplink interface"
msgstr ""
msgid "View Logfile"
msgstr ""
msgid "WEP"
msgstr ""
msgid "WEP-Passphrase"
msgstr ""
msgid "WPA"
msgstr ""
msgid "WPA-Passphrase"
msgstr ""
msgid "WPA/WPA2"
msgstr ""
msgid "WPA2"
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 ""
msgid "connected"
msgstr ""
msgid "error"
msgstr ""
msgid "hidden"
msgstr ""
msgid "n/a"
msgstr ""
msgid "not connected"
msgstr ""
msgid "running"
msgstr ""