require("luci.i18n")
local i18n = luci.i18n.translate
- local cc = entry( { "admin", "services", "coovachilli" }, cbi("coovachilli"), i18n("coovachilli", "CoovaChilli"), 90)
+ local cc = entry( { "admin", "services", "coovachilli" }, cbi("coovachilli"), i18n("CoovaChilli"), 90)
cc.i18n = "coovachilli"
cc.subindex = true
- entry( { "admin", "services", "coovachilli", "network" }, cbi("coovachilli_network"), i18n("coovachilli_network", "Network Configuration"), 10)
- entry( { "admin", "services", "coovachilli", "radius" }, cbi("coovachilli_radius"), i18n("coovachilli_radius", "Radius Configuration"), 20)
- entry( { "admin", "services", "coovachilli", "auth" }, cbi("coovachilli_auth"), i18n("coovachilli_auth", "UAM and MAC Authentication"), 30)
+ entry( { "admin", "services", "coovachilli", "network" }, cbi("coovachilli_network"), i18n("Network Configuration"), 10)
+ entry( { "admin", "services", "coovachilli", "radius" }, cbi("coovachilli_radius"), i18n("RADIUS configuration"), 20)
+ entry( { "admin", "services", "coovachilli", "auth" }, cbi("coovachilli_auth"), i18n("UAM and MAC Authentication"), 30)
end
return
end
- local page = entry({"admin", "services", "ddns"}, cbi("ddns/ddns"), luci.i18n.translate("ddns"), 60)
+ local page = entry({"admin", "services", "ddns"}, cbi("ddns/ddns"), luci.i18n.translate("Dynamic DNS"), 60)
page.i18n = "ddns"
page.dependent = true
- local page = entry({"mini", "network", "ddns"}, cbi("ddns/ddnsmini", {autoapply=true}), luci.i18n.translate("ddns"), 60)
+ local page = entry({"mini", "network", "ddns"}, cbi("ddns/ddnsmini", {autoapply=true}), luci.i18n.translate("Dynamic DNS"), 60)
page.i18n = "ddns"
page.dependent = true
end
$Id$
]]--
require("luci.tools.webadmin")
-m = Map("ddns", translate("ddns"), translate("ddns_desc"))
+m = Map("ddns", translate("Dynamic DNS"), translate("Dynamic DNS allows that your router can be reached with a fixed hostname while having a dynamically changing IP-Address."))
s = m:section(TypedSection, "service", "")
s.addremove = true
s:option(Flag, "enabled", translate("enable"))
-svc = s:option(ListValue, "service_name", translate("service"))
+svc = s:option(ListValue, "service_name", translate("Service"))
svc.rmempty = true
svc:value("")
svc:value("dyndns.org")
svc:value("no-ip.com")
svc:value("freedns.afraid.org")
-s:option(Value, "domain", translate("hostname")).rmempty = true
-s:option(Value, "username", translate("username")).rmempty = true
-pw = s:option(Value, "password", translate("password"))
+s:option(Value, "domain", translate("Hostname")).rmempty = true
+s:option(Value, "username", translate("Username")).rmempty = true
+pw = s:option(Value, "password", translate("Password"))
pw.rmempty = true
pw.password = true
src = s:option(ListValue, "ip_source")
-src:value("network", translate("network"))
-src:value("interface", translate("interface"))
+src:value("network", translate("Network"))
+src:value("interface", translate("Interface"))
src:value("web", "URL")
-iface = s:option(ListValue, "ip_network", translate("network"))
+iface = s:option(ListValue, "ip_network", translate("Network"))
iface:depends("ip_source", "network")
iface.rmempty = true
luci.tools.webadmin.cbi_add_networks(iface)
-iface = s:option(ListValue, "ip_interface", translate("interface"))
+iface = s:option(ListValue, "ip_interface", translate("Interface"))
iface:depends("ip_source", "interface")
iface.rmempty = true
for k, v in pairs(luci.sys.net.devices()) do
$Id$
]]--
-m = Map("ddns", translate("ddns"), translate("ddns_desc"))
+m = Map("ddns", translate("Dynamic DNS"), translate("Dynamic DNS allows that your router can be reached with a fixed hostname while having a dynamically changing IP-Address."))
s = m:section(TypedSection, "service", "")
s.addremove = true
s:option(Flag, "enabled", translate("enable"))
-svc = s:option(ListValue, "service_name", translate("service"))
+svc = s:option(ListValue, "service_name", translate("Service"))
svc.rmempty = true
svc:value("dyndns.org")
svc:value("changeip.com")
svc:value("no-ip.com")
svc:value("freedns.afraid.org")
-s:option(Value, "domain", translate("hostname")).rmempty = true
-s:option(Value, "username", translate("username")).rmempty = true
-pw = s:option(Value, "password", translate("password"))
+s:option(Value, "domain", translate("Hostname")).rmempty = true
+s:option(Value, "username", translate("Username")).rmempty = true
+pw = s:option(Value, "password", translate("Password"))
pw.rmempty = true
pw.password = true
require("luci.i18n")
luci.i18n.loadc("diag_core")
- local e = entry({"admin", "network", "diag_config"}, template("diag/network_config_index") , luci.i18n.translate("l_d_diag_config"), 120)
+ local e = entry({"admin", "network", "diag_config"}, template("diag/network_config_index") , luci.i18n.translate("Configure Diagnostics"), 120)
e.index = true
e.i18n = "diag_core"
e.dependent = true
-%>
<%+header%>
-<h2><a id="content" name="content"><%:l_d_c_i_diag%></a></h2>
-<p><%:l_d_c_i_diag1%></p>
-<p><%:l_d_c_i_diag2%></p>
+<h2><a id="content" name="content"><%:Diagnostics%></a></h2>
+<p><%:The entries in the menu allow you to perform diagnostic tests on your system to aid in troubleshooting.%></p>
+<p><%:The diagnostics available under this menu depend on what modules you have installed on your device.%></p>
<%+footer%>
-%>
<%+header%>
-<h2><a id="content" name="content"><%:l_d_c_nci_diag%></a></h2>
-<p><%:l_d_c_nci_diag1%></p>
-<p><%:l_d_c_nci_diag2%></p>
+<h2><a id="content" name="content"><%:Diagnostics%></a></h2>
+<p><%:With this menu you can configure network diagnostics, such as network device scans and ping tests.%></p>
+<p><%:The diagnostics available under this menu depend on what modules you have installed on your device.%></p>
<%+footer%>
row["mac"] = ""
end
if (type == "smap") then
- row["vendor"] = luci.i18n.translate("l_d_d_dc_nosipdev")
+ row["vendor"] = luci.i18n.translate("No SIP devices")
else
- row["vendor"] = luci.i18n.translate("l_d_d_dc_nodev")
+ row["vendor"] = luci.i18n.translate("No devices detected")
end
- row["type"] = luci.i18n.translate("l_d_d_dc_checkothernet")
+ row["type"] = luci.i18n.translate("check other networks")
if (not mini) then
row["model"] = ""
end
local s
if (type == "smap") then
if (mini) then
- s = devmap:section(luci.cbi.Table, netdevs, luci.i18n.translate("l_d_d_dc_sipdev_found_mini") .. " " .. curnet)
+ s = devmap:section(luci.cbi.Table, netdevs, luci.i18n.translate("SIP devices discovered for") .. " " .. curnet)
else
local interfacestring = ""
if ( interface ~= "" ) then
interfacestring = ", " .. interface
end
- s = devmap:section(luci.cbi.Table, netdevs, luci.i18n.translate("l_d_d_dc_sipdev_found_admin") .. " " .. curnet .. " (" .. subnet .. ":" .. ports .. interfacestring .. ")")
+ s = devmap:section(luci.cbi.Table, netdevs, luci.i18n.translate("SIP devices discovered for") .. " " .. curnet .. " (" .. subnet .. ":" .. ports .. interfacestring .. ")")
end
s.template = "diag/smapsection"
else
if (mini) then
- s = devmap:section(luci.cbi.Table, netdevs, luci.i18n.translate("l_dd_dc_netdev_found_mini") .. " " .. curnet)
+ s = devmap:section(luci.cbi.Table, netdevs, luci.i18n.translate("Devices discovered for") .. " " .. curnet)
else
local interfacestring = ""
if ( interface ~= "" ) then
interfacestring = ", " .. interface
end
- s = devmap:section(luci.cbi.Table, netdevs, luci.i18n.translate("l_d_d_dc_netdev_found_admin", "Devices discovered for") .. " " .. curnet .. " (" .. subnet .. interfacestring .. ")")
+ s = devmap:section(luci.cbi.Table, netdevs, luci.i18n.translate("Devices discovered for") .. " " .. curnet .. " (" .. subnet .. interfacestring .. ")")
end
end
- s:option(DummyValue, "ip", translate("l_d_d_dc_mac_ip"))
+ s:option(DummyValue, "ip", translate("IP Address"))
if (not mini) then
- s:option(DummyValue, "mac", translate("l_d_d_dc_mac_address"))
+ s:option(DummyValue, "mac", translate("MAC Address"))
end
- s:option(DummyValue, "vendor", translate("l_d_d_dc_mac_vendor"))
- s:option(DummyValue, "type", translate("l_d_d_dc_mac_device_type"))
+ s:option(DummyValue, "vendor", translate("Vendor"))
+ s:option(DummyValue, "type", translate("Device Type"))
if (not mini) then
- s:option(DummyValue, "model", translate("l_d_d_dc_mac_model"))
+ s:option(DummyValue, "model", translate("Model"))
end
if (haslink) then
- s:option(DummyValue, "config_page", translate("l_d_d_dc_config_page"))
+ s:option(DummyValue, "config_page", translate("Link to Device"))
end
if (debug) then
- s:option(DummyValue, "raw", translate("l_d_d_dc_raw"))
+ s:option(DummyValue, "raw", translate("Raw"))
end
curnet = next(outnets, curnet)
end
function config_devinfo_scan(map, scannet)
local o
- o = scannet:option(luci.cbi.Flag, "enable", translate("l_d_d_dc_enable"))
+ o = scannet:option(luci.cbi.Flag, "enable", translate("Enable"))
o.optional = false
o.rmempty = false
- o = scannet:option(luci.cbi.Value, "interface", translate("l_d_d_dc_interface"))
+ o = scannet:option(luci.cbi.Value, "interface", translate("Interface"))
o.optional = false
luci.controller.luci_diag.devinfo_common.cbi_add_networks(o)
local scansubnet
- scansubnet = scannet:option(luci.cbi.Value, "subnet", translate("l_d_d_dc_subnet"))
+ scansubnet = scannet:option(luci.cbi.Value, "subnet", translate("Subnet"))
scansubnet.optional = false
- o = scannet:option(luci.cbi.Value, "timeout", translate("l_d_d_dc_timeout"), translate("l_d_d_dc_timeout_descr"))
+ o = scannet:option(luci.cbi.Value, "timeout", translate("Timeout"), translate("Time to wait for responses in seconds (default 10)"))
o.optional = true
- o = scannet:option(luci.cbi.Value, "repeat_count", translate("l_d_d_dc_repeat_count"), translate("l_d_d_dc_repeat_count_descr"))
+ o = scannet:option(luci.cbi.Value, "repeat_count", translate("Repeat Count"), translate("Number of times to send requests (default 1)"))
o.optional = true
- o = scannet:option(luci.cbi.Value, "sleepreq", translate("l_d_d_dc_sleep"), translate("l_d_d_dc_sleep_desc"))
+ o = scannet:option(luci.cbi.Value, "sleepreq", translate("Sleep Between Requests"), translate("Milliseconds to sleep between requests (default 100)"))
o.optional = true
end
\ No newline at end of file
require("luci.i18n")
luci.i18n.loadc("diag_devinfo")
- local e = entry({"admin", "voice", "diag", "phones"}, arcombine(cbi("luci_diag/smap_devinfo"), cbi("luci_diag/smap_devinfo_config")), luci.i18n.translate("l_d_d_ldd_diag_smap_devinfo"), 10)
+ local e = entry({"admin", "voice", "diag", "phones"}, arcombine(cbi("luci_diag/smap_devinfo"), cbi("luci_diag/smap_devinfo_config")), luci.i18n.translate("Phones"), 10)
e.leaf = true
e.subindex = true
e.i18n = "diag_devinfo"
e.dependent = true
- e = entry({"admin", "voice", "diag", "phones", "config"}, cbi("luci_diag/smap_devinfo_config"), luci.i18n.translate("l_d_d_ldd_config"), 10)
+ e = entry({"admin", "voice", "diag", "phones", "config"}, cbi("luci_diag/smap_devinfo_config"), luci.i18n.translate("Configure"), 10)
e.i18n = "diag_devinfo"
- e = entry({"admin", "status", "smap_devinfo"}, cbi("luci_diag/smap_devinfo"), luci.i18n.translate("l_d_d_ldd_smap_devinfo_config"), 120)
+ e = entry({"admin", "status", "smap_devinfo"}, cbi("luci_diag/smap_devinfo"), luci.i18n.translate("SIP Devices on Network"), 120)
e.leaf = true
e.i18n = "diag_devinfo"
e.dependent = true
- e = entry({"admin", "network", "diag_config", "netdiscover_devinfo_config"}, cbi("luci_diag/netdiscover_devinfo_config"), luci.i18n.translate("l_d_d_ldd_netdiscover_devinfo_scan"), 100)
+ e = entry({"admin", "network", "diag_config", "netdiscover_devinfo_config"}, cbi("luci_diag/netdiscover_devinfo_config"), luci.i18n.translate("Network Device Scan"), 100)
e.leaf = true
e.i18n = "diag_devinfo"
e.dependent = true
- e = entry({"admin", "network", "diag_config", "smap_devinfo_config"}, cbi("luci_diag/smap_devinfo_config"), luci.i18n.translate("l_d_d_ldd_smap_devinfo_scan_config"))
+ e = entry({"admin", "network", "diag_config", "smap_devinfo_config"}, cbi("luci_diag/smap_devinfo_config"), luci.i18n.translate("SIP Device Scan"))
e.leaf = true
e.i18n = "diag_devinfo"
e.dependent = true
- e = entry({"admin", "status", "netdiscover_devinfo"}, cbi("luci_diag/netdiscover_devinfo"), luci.i18n.translate("l_d_d_ldd_netdiscover_devinfo"), 90)
+ e = entry({"admin", "status", "netdiscover_devinfo"}, cbi("luci_diag/netdiscover_devinfo"), luci.i18n.translate("Devices on Network"), 90)
e.i18n = "diag_devinfo"
e.dependent = true
- e = entry({"admin", "network", "mactodevinfo"}, cbi("luci_diag/mactodevinfo"), luci.i18n.translate("l_d_d_ldd_mac_to_devinfo_overrides"), 190)
+ e = entry({"admin", "network", "mactodevinfo"}, cbi("luci_diag/mactodevinfo"), luci.i18n.translate("MAC Device Info Overrides"), 190)
e.i18n = "diag_devinfo"
e.dependent = true
- e = entry({"mini", "diag", "phone_scan"}, cbi("luci_diag/smap_devinfo_mini"), luci.i18n.translate("l_d_d_ldd_diag_smap_devinfo_scan_mini"), 100)
+ e = entry({"mini", "diag", "phone_scan"}, cbi("luci_diag/smap_devinfo_mini"), luci.i18n.translate("Phone Scan"), 100)
e.i18n = "diag_devinfo"
e.dependent = true
- e = entry({"mini", "voice", "phones", "phone_scan_config"}, cbi("luci_diag/smap_devinfo_config_mini"), luci.i18n.translate("l_d_d_ldd_smap_devinfo_config_scan_miini"), 90)
+ e = entry({"mini", "voice", "phones", "phone_scan_config"}, cbi("luci_diag/smap_devinfo_config_mini"), luci.i18n.translate("Config Phone Scan"), 90)
e.i18n = "diag_devinfo"
e.dependent = true
- e = entry({"mini", "diag", "netdiscover_devinfo"}, cbi("luci_diag/netdiscover_devinfo_mini"), luci.i18n.translate("l_d_d_ldd_diag_netdiscover_devinfo_scan_mini"), 10)
+ e = entry({"mini", "diag", "netdiscover_devinfo"}, cbi("luci_diag/netdiscover_devinfo_mini"), luci.i18n.translate("Network Device Scan"), 10)
e.i18n = "diag_devinfo"
e.dependent = true
- e = entry({"mini", "network", "netdiscover_devinfo_config"}, cbi("luci_diag/netdiscover_devinfo_config_mini"), luci.i18n.translate("l_d_d_ldd_netdiscover_devinfo_scan_config_mini"))
+ e = entry({"mini", "network", "netdiscover_devinfo_config"}, cbi("luci_diag/netdiscover_devinfo_config_mini"), luci.i18n.translate("Device Scan Config"))
e.i18n = "diag_devinfo"
e.dependent = true
function action_links(netdiscovermap, mini)
luci.i18n.loadc("diag_devinfo")
- s = netdiscovermap:section(SimpleSection, "", translate("l_d_d_nc_netdiscover_actions"))
- b = s:option(DummyValue, "_config", translate("l_d_d_nc_config_scan"))
+ s = netdiscovermap:section(SimpleSection, "", translate("Actions"))
+ b = s:option(DummyValue, "_config", translate("Configure Scans"))
b.value = ""
if (mini) then
b.titleref = luci.dispatcher.build_url("mini", "network", "netdiscover_devinfo_config")
else
b.titleref = luci.dispatcher.build_url("admin", "network", "diag_config", "netdiscover_devinfo_config")
end
- b = s:option(DummyValue, "_scans", translate("l_d_d_nc_redo_scans"))
+ b = s:option(DummyValue, "_scans", translate("Repeat Scans (this can take a few minutes)"))
b.value = ""
if (mini) then
b.titleref = luci.dispatcher.build_url("mini", "diag", "netdiscover_devinfo")
function action_links(smapmap, mini)
luci.i18n.loadc("diag_devinfo")
- s = smapmap:section(SimpleSection, "", translate("l_d_d_sc_smap_actions"))
- b = s:option(DummyValue, "_config", translate("l_d_d_sc_config_scan"))
+ s = smapmap:section(SimpleSection, "", translate("Actions"))
+ b = s:option(DummyValue, "_config", translate("Configure Scans"))
b.value = ""
if (mini) then
b.titleref = luci.dispatcher.build_url("mini", "voice", "phones", "phone_scan_config")
else
b.titleref = luci.dispatcher.build_url("admin", "network", "diag_config", "smap_devinfo_config")
end
- b = s:option(DummyValue, "_scans", translate("l_d_d_sc_redo_scans"))
+ b = s:option(DummyValue, "_scans", translate("Repeat Scans (this can take a few minutes)"))
b.value = ""
if (mini) then
b.titleref = luci.dispatcher.build_url("mini", "diag", "phone_scan")
$Id$
]]--
-m = Map("mactodevinfo", luci.i18n.translate("l_d_d_m_mac_to_devinfo_override"), translate("l_d_d_m_mac_to_devinfo_override_descr"))
+m = Map("mactodevinfo", luci.i18n.translate("MAC Device Info Overrides"), translate("Override the information returned by the MAC to Device Info Script (mac-to-devinfo) for a specified range of MAC Addresses"))
-s = m:section(TypedSection, "mactodevinfo", translate("l_d_d_m_mac_to_devinfo_section"), translate("l_d_d_m_mac_to_devinfo_section_descr"))
+s = m:section(TypedSection, "mactodevinfo", translate("MAC Device Override"), translate("MAC range and information used to override system and IEEE databases"))
s.addremove = true
s.anonymous = true
-v = s:option(Value, "name", translate("l_d_d_m_name"))
+v = s:option(Value, "name", translate("Name"))
v.optional = true
-v = s:option(Value, "maclow", translate("l_d_d_m_maclow"))
+v = s:option(Value, "maclow", translate("Beginning of MAC address range"))
v.optional = false
-v = s:option(Value, "machigh", translate("l_d_d_m_machigh"))
+v = s:option(Value, "machigh", translate("End of MAC address range"))
v.optional = false
-v = s:option(Value, "vendor", translate("l_d_d_m_vendor"))
+v = s:option(Value, "vendor", translate("Vendor"))
v.optional = false
-v = s:option(Value, "devtype", translate("l_d_d_m_mactodevinfo_devtype"))
+v = s:option(Value, "devtype", translate("Device Type"))
v.optional = false
-v = s:option(Value, "model", translate("l_d_d_m_model"))
+v = s:option(Value, "model", translate("Model"))
v.optional = false
-v = s:option(Value, "ouiowneroverride", translate("l_d_d_m_ouiowneroverride"))
+v = s:option(Value, "ouiowneroverride", translate("OUI Owner"))
v.optional = true
return m
local debug = false
-m = SimpleForm("luci_devinfo", translate("l_d_d_nd_netdiscover_to_devinfo"), translate("l_d_d_nd_netdiscover_to_devinfo_descr"))
+m = SimpleForm("luci_devinfo", translate("Network Device Scan"), translate("l_d_d_nd_netdiscover_to_devinfo_descr"))
m.reset = false
m.submit = false
require("luci.controller.luci_diag.devinfo_common")
-m = Map("luci_devinfo", translate("l_d_d_ndc_netdiscover_to_devinfo_config"), translate("l_d_d_ndc_netdiscover_to_devinfo_config_descr"))
+m = Map("luci_devinfo", translate("Network Device Scanning Configuration"), translate("Configure scanning for devices on specified networks. Decreasing \'Timeout\', \'Repeat Count\', and/or \'Sleep Between Requests\' may speed up scans, but also may fail to find some devices."))
-s = m:section(SimpleSection, "", translate("l_d_d_ndc_use_config"))
-b = s:option(DummyValue, "_scans", translate("l_d_d_ndc_do_scans"))
+s = m:section(SimpleSection, "", translate("Use Configuration"))
+b = s:option(DummyValue, "_scans", translate("Perform Scans (this can take a few minutes)"))
b.value = ""
b.titleref = luci.dispatcher.build_url("admin", "status", "netdiscover_devinfo")
-scannet = m:section(TypedSection, "netdiscover_scannet", translate("l_d_d_ndc_netdiscover_scannet"), translate("l_d_d_ndc_netdiscover_scannet_descr"))
+scannet = m:section(TypedSection, "netdiscover_scannet", translate("Scanning Configuration"), translate("Networks to scan for devices"))
scannet.addremove = true
scannet.anonymous = false
require("luci.controller.luci_diag.devinfo_common")
-m = Map("luci_devinfo", translate("l_d_d_ndc_netdiscover_to_devinfo_config_mini"), translate("l_d_d_ndc_mini_netdiscover_to_devinfo_config_descr"))
+m = Map("luci_devinfo", translate("Network Device Scanning Configuration"), translate("Configure scanning for devices on specified networks. Decreasing \'Timeout\', \'Repeat Count\', and/or \'Sleep Between Requests\' may speed up scans, but also may fail to find some devices."))
-s = m:section(SimpleSection, "", translate("l_d_d_ndc_mini_use_config"))
-b = s:option(DummyValue, "_scans", translate("l_d_d_ndc_mini_do_scans"))
+s = m:section(SimpleSection, "", translate("Use Configuration"))
+b = s:option(DummyValue, "_scans", translate("Perform Scans (this can take a few minutes)"))
b.value = ""
b.titleref = luci.dispatcher.build_url("mini", "diag", "netdiscover_devinfo")
-scannet = m:section(TypedSection, "netdiscover_scannet", translate("l_d_d_ndc_mini_netdiscover_scannet"), translate("l_d_d_ndc_mini_netdiscover_scannet_descr"))
+scannet = m:section(TypedSection, "netdiscover_scannet", translate("Scanning Configuration"), translate("Networks to scan for devices"))
scannet.addremove = true
scannet.anonymous = false
local debug = false
-m = SimpleForm("luci_devinfo", translate("l_d_d_nd_mini_netdiscover_to_devinfo"), translate("l_d_d_nd_mini_netdiscover_to_devinfo_descr"))
+m = SimpleForm("luci_devinfo", translate("Network Device Scan"), translate("Scan for devices on specified networks."))
m.reset = false
m.submit = false
local debug = false
-m = SimpleForm("luci-smap-to-devinfo", translate("l_d_d_sd_smap_to_devinfo"), translate("l_d_d_sd_smap_to_devinfo_descr"))
+m = SimpleForm("luci-smap-to-devinfo", translate("SIP Device Information"), translate("Scan for supported SIP devices on specified networks."))
m.reset = false
m.submit = false
require("luci.controller.luci_diag.devinfo_common")
-m = Map("luci_devinfo", translate("l_d_d_sdc_smap_to_devinfo_config"), translate("l_d_d_sdc_smap_to_devinfo_config_descr"))
+m = Map("luci_devinfo", translate("SIP Device Scanning Configuration"), translate("Configure scanning for supported SIP devices on specified networks. Decreasing \'Timeout\', \'Repeat Count\', and/or \'Sleep Between Requests\' may speed up scans, but also may fail to find some devices."))
-s = m:section(SimpleSection, "", translate("l_d_d_sdc_use_config"))
-b = s:option(DummyValue, "_scans", translate("l_d_d_sdc_do_scans"))
+s = m:section(SimpleSection, "", translate("Use Configuration"))
+b = s:option(DummyValue, "_scans", translate("Perform Scans (this can take a few minutes)"))
b.value = ""
b.titleref = luci.dispatcher.build_url("admin", "status", "smap_devinfo")
-scannet = m:section(TypedSection, "smap_scannet", translate("l_d_d_sdc_smap_scannet"), translate("smap_scannet_descr"))
+scannet = m:section(TypedSection, "smap_scannet", translate("Scanning Configuration"), translate("Networks to scan for supported devices"))
scannet.addremove = true
scannet.anonymous = false
local ports
-ports = scannet:option(Value, "ports", translate("l_d_d_sdc_ports"))
+ports = scannet:option(Value, "ports", translate("Ports"))
ports.optional = true
ports.rmempty = true
require("luci.controller.luci_diag.devinfo_common")
-m = Map("luci_devinfo", translate("l_d_d_sdc_mini_smap_to_devinfo_config"), translate("l_d_d_sdc_mini_smap_to_devinfo_config_descr"))
+m = Map("luci_devinfo", translate("Phone Scanning Configuration"), translate("Configure scanning for supported SIP devices on specified networks. Decreasing \'Timeout\', \'Repeat Count\', and/or \'Sleep Between Requests\' may speed up scans, but also may fail to find some devices."))
-s = m:section(SimpleSection, "", translate("l_d_d_sdc_mini_use_config"))
-b = s:option(DummyValue, "_scans", translate("l_d_d_sdc_mini_do_scans"))
+s = m:section(SimpleSection, "", translate("Use Configuration"))
+b = s:option(DummyValue, "_scans", translate("Perform Scans (this can take a few minutes)"))
b.value = ""
b.titleref = luci.dispatcher.build_url("mini", "diag", "phone_scan")
-scannet = m:section(TypedSection, "smap_scannet", translate("l_d_d_sdc_mini_smap_scannet"), translate("l_d_d_sdc_mini_smap_scannet_descr"))
+scannet = m:section(TypedSection, "smap_scannet", translate("Scanning Configuration"), translate("Networks to scan for supported devices"))
scannet.addremove = true
scannet.anonymous = false
local ports
-ports = scannet:option(Value, "ports", translate("l_d_d_sdc_mini_ports"))
+ports = scannet:option(Value, "ports", translate("Ports"))
ports.optional = true
ports.rmempty = true
local debug = false
-m = SimpleForm("luci-smap-to-devinfo", translate("l_d_d_sd_mini_smap_to_devinfo"), translate("l_d_d_sd_mini_smap_to_devinfo_descr"))
+m = SimpleForm("luci-smap-to-devinfo", translate("Phone Information"), translate("Scan for supported SIP devices on specified networks."))
m.reset = false
m.submit = false
<%- end -%>
<%- for i, k in pairs(self.children) do if not k.optional then -%>
<th class="cbi-section-table-cell">
- <%- if k.titleref then -%><a title="<%=self.titledesc or translate('cbi_gorel')%>" class="cbi-title-ref" href="<%=k.titleref%>"><%- end -%>
+ <%- if k.titleref then -%><a title="<%=self.titledesc or translate(' ')%>" class="cbi-title-ref" href="<%=k.titleref%>"><%- end -%>
<%-=k.title-%>
<%- if k.titleref then -%></a><%- end -%>
</th>
<%- elseif type(self.extedit) == "function" then -%>
<%=self:extedit(section)%>
<%- end -%>
- " title="<%:edit%>"><img style="border: none" src="<%=resource%>/cbi/edit.gif" alt="<%:edit%>" /></a>
+ " title="<%:Edit%>"><img style="border: none" src="<%=resource%>/cbi/edit.gif" alt="<%:Edit%>" /></a>
<%- end; if self.addremove then %>
- <input type="image" value="<%:cbi_del%>" name="cbi.rts.<%=self.config%>.<%=k%>" alt="<%:cbi_del%>" title="<%:cbi_del%>" src="<%=resource%>/cbi/remove.gif" />
+ <input type="image" value="<%:Delete%>" name="cbi.rts.<%=self.config%>.<%=k%>" alt="<%:Delete%>" title="<%:Delete%>" src="<%=resource%>/cbi/remove.gif" />
<%- end -%>
</td>
<%- end -%>
<%- if isempty then -%>
<tr class="cbi-section-table-row">
- <td colspan="<%=count%>"><em><br /><%:sectempty%></em></td>
+ <td colspan="<%=count%>"><em><br /><%: %></em></td>
</tr>
<%- end -%>
</table>
<% if self.template_addremove then include(self.template_addremove) else -%>
<div class="cbi-section-create cbi-smapsection-create">
<% if self.anonymous then %>
- <input class="cbi-button cbi-button-add" type="submit" value="<%:cbi_add%>" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" title="<%:cbi_add%>" />
+ <input class="cbi-button cbi-button-add" type="submit" value="<%:Add%>" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" title="<%:Add%>" />
<% else %>
<% if self.invalid_cts then -%><div class="cbi-section-error"><% end %>
<input type="text" class="cbi-section-create-name" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" />
- <input class="cbi-button cbi-button-add" type="submit" value="<%:cbi_add%>" title="<%:cbi_add%>" />
+ <input class="cbi-button cbi-button-add" type="submit" value="<%:Add%>" title="<%:Add%>" />
<% if self.invalid_cts then -%>
- <br /><%:cbi_invalid%></div>
+ <br /><%:Invalid%></div>
<%- end %>
<% end %>
</div>
require("luci.i18n").loadc("luci-fw")
local i18n = luci.i18n.translate
- entry({"admin", "network", "firewall"}, alias("admin", "network", "firewall", "zones"), i18n("fw_fw"), 60).i18n = "luci-fw"
- entry({"admin", "network", "firewall", "zones"}, cbi("luci_fw/zones"), i18n("fw_zones"), 10)
- entry({"admin", "network", "firewall", "redirect"}, arcombine(cbi("luci_fw/redirect"), cbi("luci_fw/rrule")), i18n("fw_redirect"), 30).leaf = true
- entry({"admin", "network", "firewall", "rule"}, arcombine(cbi("luci_fw/traffic"), cbi("luci_fw/trule")), i18n("fw_traffic"), 20).leaf = true
+ entry({"admin", "network", "firewall"}, alias("admin", "network", "firewall", "zones"), i18n("Firewall"), 60).i18n = "luci-fw"
+ entry({"admin", "network", "firewall", "zones"}, cbi("luci_fw/zones"), i18n("Zones"), 10)
+ entry({"admin", "network", "firewall", "redirect"}, arcombine(cbi("luci_fw/redirect"), cbi("luci_fw/rrule")), i18n("Traffic Redirection"), 30).leaf = true
+ entry({"admin", "network", "firewall", "rule"}, arcombine(cbi("luci_fw/traffic"), cbi("luci_fw/trule")), i18n("Traffic Control"), 20).leaf = true
- entry({"mini", "network", "portfw"}, cbi("luci_fw/miniportfw", {autoapply=true}), i18n("fw_portfw", "Portweiterleitung"), 70).i18n = "luci-fw"
+ entry({"mini", "network", "portfw"}, cbi("luci_fw/miniportfw", {autoapply=true}), i18n("Port forwarding"), 70).i18n = "luci-fw"
end
\ No newline at end of file
$Id$
]]--
require("luci.sys")
-m = Map("firewall", translate("fw_portfw"), translate("fw_portfw1"))
+m = Map("firewall", translate("Port forwarding"), translate("Port forwarding allows to provide network services in the internal network to an external network."))
s = m:section(TypedSection, "redirect", "")
s.addremove = true
s.anonymous = true
-name = s:option(Value, "_name", translate("name"), translate("cbi_optional"))
+name = s:option(Value, "_name", translate("Name"), translate(" (optional)"))
name.size = 10
-proto = s:option(ListValue, "proto", translate("protocol"))
+proto = s:option(ListValue, "proto", translate("Protocol"))
proto:value("tcp", "TCP")
proto:value("udp", "UDP")
proto:value("tcpudp", "TCP+UDP")
$Id$
]]--
require("luci.sys")
-m = Map("firewall", translate("fw_redirect"), translate("fw_redirect_desc"))
+m = Map("firewall", translate("Traffic Redirection"), translate("Traffic redirection allows you to change the destination address of forwarded packets."))
s = m:section(TypedSection, "redirect", "")
s.anonymous = true
s.extedit = luci.dispatcher.build_url("admin", "network", "firewall", "redirect", "%s")
-name = s:option(Value, "_name", translate("name"), translate("cbi_optional"))
+name = s:option(Value, "_name", translate("Name"), translate(" (optional)"))
name.size = 10
-iface = s:option(ListValue, "src", translate("fw_zone"))
+iface = s:option(ListValue, "src", translate("Zone"))
iface.default = "wan"
luci.model.uci.cursor():foreach("firewall", "zone",
function (section)
iface:value(section.name)
end)
-proto = s:option(ListValue, "proto", translate("protocol"))
+proto = s:option(ListValue, "proto", translate("Protocol"))
proto:value("tcp", "TCP")
proto:value("udp", "UDP")
proto:value("tcpudp", "TCP+UDP")
require("luci.sys")
arg[1] = arg[1] or ""
-m = Map("firewall", translate("fw_redirect"), translate("fw_redirect_desc"))
+m = Map("firewall", translate("Traffic Redirection"), translate("Traffic redirection allows you to change the destination address of forwarded packets."))
s = m:section(NamedSection, arg[1], "redirect", "")
s.anonymous = true
s.addremove = false
-back = s:option(DummyValue, "_overview", translate("overview"))
+back = s:option(DummyValue, "_overview", translate("Overview"))
back.value = ""
back.titleref = luci.dispatcher.build_url("admin", "network", "firewall", "redirect")
-name = s:option(Value, "_name", translate("name"))
+name = s:option(Value, "_name", translate("Name"))
name.rmempty = true
name.size = 10
-iface = s:option(ListValue, "src", translate("fw_zone"))
+iface = s:option(ListValue, "src", translate("Zone"))
iface.default = "wan"
luci.model.uci.cursor():foreach("firewall", "zone",
function (section)
iface:value(section.name)
end)
-s:option(Value, "src_ip", translate("firewall_redirect_srcip")).optional = true
-s:option(Value, "src_mac", translate("firewall_redirect_srcmac")).optional = true
+s:option(Value, "src_ip", translate("Source address")).optional = true
+s:option(Value, "src_mac", translate("Source MAC")).optional = true
-sport = s:option(Value, "src_port", translate("firewall_rule_srcport"))
+sport = s:option(Value, "src_port", translate("Source port"))
sport.optional = true
sport:depends("proto", "tcp")
sport:depends("proto", "udp")
sport:depends("proto", "tcpudp")
-proto = s:option(ListValue, "proto", translate("protocol"))
+proto = s:option(ListValue, "proto", translate("Protocol"))
proto.optional = true
proto:value("")
proto:value("tcp", "TCP")
proto:value("udp", "UDP")
proto:value("tcpudp", "TCP+UDP")
-dport = s:option(Value, "src_dport", translate("firewall_redirect_srcdport"))
+dport = s:option(Value, "src_dport", translate("External port"))
dport.size = 5
dport:depends("proto", "tcp")
dport:depends("proto", "udp")
dport:depends("proto", "tcpudp")
-to = s:option(Value, "dest_ip", translate("firewall_redirect_destip"))
+to = s:option(Value, "dest_ip", translate("Internal address"))
for i, dataset in ipairs(luci.sys.net.arptable()) do
to:value(dataset["IP address"])
end
-toport = s:option(Value, "dest_port", translate("firewall_redirect_destport"))
+toport = s:option(Value, "dest_port", translate("Internal port (optional)"))
toport.optional = true
toport.size = 5
$Id$
]]--
-m = Map("firewall", translate("fw_traffic"))
-s = m:section(TypedSection, "forwarding", translate("fw_forwarding"), translate("fw_forwarding1"))
+m = Map("firewall", translate("Traffic Control"))
+s = m:section(TypedSection, "forwarding", translate("Zone-to-Zone traffic"), translate("Here you can specify which network traffic is allowed to flow between network zones. Only new connections will be matched. Packets belonging to already open connections are automatically allowed to pass the firewall. If you experience occasional connection problems try enabling MSS Clamping otherwise disable it for performance reasons."))
s.template = "cbi/tblsection"
s.addremove = true
s.anonymous = true
-iface = s:option(ListValue, "src", translate("fw_src"))
-oface = s:option(ListValue, "dest", translate("fw_dest"))
-s:option(Flag, "mtu_fix", translate("fw_mtufix"))
+iface = s:option(ListValue, "src", translate("Source"))
+oface = s:option(ListValue, "dest", translate("Destination"))
+s:option(Flag, "mtu_fix", translate("MSS Clamping"))
luci.model.uci.cursor():foreach("firewall", "zone",
function (section)
end
end
-s:option(DummyValue, "_name", translate("name"))
-s:option(DummyValue, "proto", translate("protocol"))
+s:option(DummyValue, "_name", translate("Name"))
+s:option(DummyValue, "proto", translate("Protocol"))
-src = s:option(DummyValue, "src", translate("fw_src"))
+src = s:option(DummyValue, "src", translate("Source"))
function src.cfgvalue(self, s)
return "%s:%s:%s" % {
self.map:get(s, "src") or "*",
}
end
-dest = s:option(DummyValue, "dest", translate("fw_dest"))
+dest = s:option(DummyValue, "dest", translate("Destination"))
function dest.cfgvalue(self, s)
return "%s:%s:%s" % {
- self.map:get(s, "dest") or translate("device", "device"),
+ self.map:get(s, "dest") or translate("Device"),
self.map:get(s, "dest_ip") or "0.0.0.0/0",
self.map:get(s, "dest_port") or "*"
}
$Id$
]]--
arg[1] = arg[1] or ""
-m = Map("firewall", translate("firewall_rule"), translate("firewall_rule_desc"))
+m = Map("firewall", translate("Advanced Rules"), translate("Advanced rules let you customize the firewall to your needs. Only new connections will be matched. Packets belonging to already open connections are automatically allowed to pass the firewall."))
s = m:section(NamedSection, arg[1], "rule", "")
s.anonymous = true
s.addremove = false
-back = s:option(DummyValue, "_overview", translate("overview"))
+back = s:option(DummyValue, "_overview", translate("Overview"))
back.value = ""
back.titleref = luci.dispatcher.build_url("admin", "network", "firewall", "rule")
-name = s:option(Value, "_name", translate("name")..translate("cbi_optional"))
+name = s:option(Value, "_name", translate("Name")..translate(" (optional)"))
name.rmempty = true
-iface = s:option(ListValue, "src", translate("fw_src"))
+iface = s:option(ListValue, "src", translate("Source"))
iface.rmempty = true
-oface = s:option(ListValue, "dest", translate("fw_dest"))
-oface:value("", translate("device", "device"))
+oface = s:option(ListValue, "dest", translate("Destination"))
+oface:value("", translate("Device"))
oface.rmempty = true
luci.model.uci.cursor():foreach("firewall", "zone",
oface:value(section.name)
end)
-proto = s:option(Value, "proto", translate("protocol"))
+proto = s:option(Value, "proto", translate("Protocol"))
proto.optional = true
proto:value("")
proto:value("tcpudp", "TCP+UDP")
proto:value("udp", "UDP")
proto:value("icmp", "ICMP")
-s:option(Value, "src_ip", translate("firewall_rule_srcip")).optional = true
-s:option(Value, "dest_ip", translate("firewall_rule_destip")).optional = true
-s:option(Value, "src_mac", translate("firewall_rule_srcmac")).optional = true
+s:option(Value, "src_ip", translate("Source address")).optional = true
+s:option(Value, "dest_ip", translate("Destination address")).optional = true
+s:option(Value, "src_mac", translate("Source MAC-Address")).optional = true
-sport = s:option(Value, "src_port", translate("firewall_rule_srcport"))
+sport = s:option(Value, "src_port", translate("Source port"))
sport:depends("proto", "tcp")
sport:depends("proto", "udp")
sport:depends("proto", "tcpudp")
-dport = s:option(Value, "dest_port", translate("firewall_rule_destport"))
+dport = s:option(Value, "dest_port", translate("Destination port"))
dport:depends("proto", "tcp")
dport:depends("proto", "udp")
dport:depends("proto", "tcpudp")
-jump = s:option(ListValue, "target", translate("firewall_rule_target"))
+jump = s:option(ListValue, "target", translate("Action"))
jump.rmempty = true
jump.default = "ACCEPT"
-jump:value("DROP", translate("fw_drop"))
-jump:value("ACCEPT", translate("fw_accept"))
-jump:value("REJECT", translate("fw_reject"))
+jump:value("DROP", translate("drop"))
+jump:value("ACCEPT", translate("accept"))
+jump:value("REJECT", translate("reject"))
return m
$Id$
]]--
require("luci.tools.webadmin")
-m = Map("firewall", translate("fw_fw"), translate("fw_fw1"))
+m = Map("firewall", translate("Firewall"), translate("The firewall creates zones over your network interfaces to control network traffic flow."))
s = m:section(TypedSection, "defaults")
s.anonymous = true
s:option(Flag, "syn_flood")
-local di = s:option(Flag, "drop_invalid", translate("fw_dropinvalid"))
+local di = s:option(Flag, "drop_invalid", translate("Drop invalid packets"))
di.rmempty = false
function di.cfgvalue(...)
return AbstractValue.cfgvalue(...) or "1"
p[3] = s:option(ListValue, "forward")
for i, v in ipairs(p) do
- v:value("REJECT", translate("fw_reject"))
- v:value("DROP", translate("fw_drop"))
- v:value("ACCEPT", translate("fw_accept"))
+ v:value("REJECT", translate("reject"))
+ v:value("DROP", translate("drop"))
+ v:value("ACCEPT", translate("accept"))
end
-s = m:section(TypedSection, "zone", translate("fw_zones"))
+s = m:section(TypedSection, "zone", translate("Zones"))
s.template = "cbi/tblsection"
s.anonymous = true
s.addremove = true
-name = s:option(Value, "name", translate("name"))
+name = s:option(Value, "name", translate("Name"))
name.size = 8
p = {}
p[3] = s:option(ListValue, "forward")
for i, v in ipairs(p) do
- v:value("REJECT", translate("fw_reject"))
- v:value("DROP", translate("fw_drop"))
- v:value("ACCEPT", translate("fw_accept"))
+ v:value("REJECT", translate("reject"))
+ v:value("DROP", translate("drop"))
+ v:value("ACCEPT", translate("accept"))
end
s:option(Flag, "masq")
return
end
- local page = entry({"admin", "services", "hd_idle"}, cbi("hd_idle"), luci.i18n.translate("hd_idle", "hd-idle"), 60)
+ local page = entry({"admin", "services", "hd_idle"}, cbi("hd_idle"), luci.i18n.translate("hd-idle"), 60)
page.i18n = "hd_idle"
page.dependent = true
end
require("nixio.fs")
-m = Map("hd-idle", translate("hd_idle"), translate("hd_idle_desc"))
+m = Map("hd-idle", translate("hd-idle"), translate("hd-idle is a utility program for spinning-down external disks after a period of idle time."))
-s = m:section(TypedSection, "hd-idle", translate("settings"))
+s = m:section(TypedSection, "hd-idle", translate("Settings"))
s.anonymous = true
-s:option(Flag, "enabled", translate("enable", "Enable"))
+s:option(Flag, "enabled", translate("enable"))
-disk = s:option(Value, "disk", translate("disk"))
+disk = s:option(Value, "disk", translate("Disk"))
disk.rmempty = true
for dev in nixio.fs.glob("/dev/[sh]d[a-z]") do
disk:value(nixio.fs.basename(dev))
end
-s:option(Value, "idle_time_interval", translate("idle_time_interval")).default = 10
+s:option(Value, "idle_time_interval", translate("Idle-Time")).default = 10
s.rmempty = true
-unit = s:option(ListValue, "idle_time_unit", translate("idle_time_unit"))
+unit = s:option(ListValue, "idle_time_unit", translate("Idle-Time unit"))
unit.default = "minutes"
unit:value("minutes", "min")
unit:value("hours", "h")
unit.rmempty = true
-s:option(Flag, "enable_debug", translate("enable_debug"))
+s:option(Flag, "enable_debug", translate("Enable debug"))
return m
entry(
{"admin", "system", "init"}, form("init/init"),
- luci.i18n.translate("initmgr", "Init Scripts")
+ luci.i18n.translate("Initscripts")
).i18n = "initmgr"
end
end
-m = SimpleForm("initmgr", translate("initmgr"), translate("initmgr_desc"))
+m = SimpleForm("initmgr", translate("Initscripts"), translate("You can enable or disable installed init scripts here. Changes will applied after a device reboot.<br /><strong>Warning: If you disable essential init scripts like \"network\", your device might become inaccesable!</strong>"))
m.reset = false
s = m:section(Table, inits)
-i = s:option(DummyValue, "index", translate("initmgr_index"))
-n = s:option(DummyValue, "name", translate("initmgr_name"))
+i = s:option(DummyValue, "index", translate("Start priority"))
+n = s:option(DummyValue, "name", translate("Initscript"))
e = s:option(Flag, "enabled", translate("initmgr_enabled"))
require("luci.i18n")
luci.i18n.loadc("livestats")
- entry( {"admin", "status", "wifistat"}, template("livestats/wireless"), luci.i18n.translate("livestats_stat_wireless"), 90 ).i18n = "livestats"
+ entry( {"admin", "status", "wifistat"}, template("livestats/wireless"), luci.i18n.translate("Realtime Wireless Status"), 90 ).i18n = "livestats"
entry( {"admin", "status", "trafstat"}, template("livestats/traffic"), luci.i18n.translate("livestats_stat_traffic"), 91 ).i18n = "livestats"
entry( {"admin", "status", "loadavg"}, template("livestats/loadavg"), luci.i18n.translate("livestats_stat_loadavg"), 92 ).i18n = "livestats"
- entry( {"mini", "network", "wifistat"}, template("livestats/wireless"), luci.i18n.translate("livestats_stat_wireless"), 90 ).i18n = "livestats"
+ entry( {"mini", "network", "wifistat"}, template("livestats/wireless"), luci.i18n.translate("Realtime Wireless Status"), 90 ).i18n = "livestats"
entry( {"mini", "network", "trafstat"}, template("livestats/traffic"), luci.i18n.translate("livestats_stat_traffic"), 91 ).i18n = "livestats"
entry( {"mini", "system", "loadavg"}, template("livestats/loadavg"), luci.i18n.translate("livestats_stat_loadavg"), 92 ).i18n = "livestats"
end
[ 0, "1 min", 1, "5 min", 2, "15 min" ],
// Graph layout options
- { title: '<%:livestats_loadavg%>', strokeWidth: 2.5, shouldFill: false, strokeColor: null,
+ { title: '<%:load average%>', strokeWidth: 2.5, shouldFill: false, strokeColor: null,
padding: { left: 70, right: 10, top: 10, bottom: 20 },
instances: [ false ], yAxis: [ 0, 2 ], drawBackground: false },
null,
2000,
// Data sources
- [ "0", "<%:livestats_incoming%> (kiB/s)", "8", "<%:livestats_outgoing%> (kiB/s)" ],
+ [ "0", "<%:incoming%> (kiB/s)", "8", "<%:outgoing%> (kiB/s)" ],
// Graph layout options
{
shouldFill: false,
drawBackground: false,
strokeColor: null,
- title: '<%:livestats_traffic%> %s',
+ title: '<%:traffic on%> %s',
strokeWidth: 2.5, height: 140,
padding: { left: 70, right: 10, top: 10, bottom: 20 },
instances: [ <%=table.concat(interfaces, ", ") %> ],
// Graph layout options
{ drawBackground: false, yAxis: [ 0, 50 ],
- title: '<%:livestats_wifi%> %s',
+ title: '<%:signal-to-noise ratio for%> %s',
padding: { left: 40, right: 10, top: 10, bottom: 20 },
instanceNames: {
<%- for k,v in pairs(luci.sys.wifi.getiwconfig()) do %>
return
end
- local page = entry({"admin", "system", "mmc_over_gpio"}, cbi("mmc_over_gpio"), luci.i18n.translate("mmc_over_gpio", "mmc_over_gpio"), 60)
+ local page = entry({"admin", "system", "mmc_over_gpio"}, cbi("mmc_over_gpio"), luci.i18n.translate("MMC/SD driver configuration"), 60)
page.i18n = "mmc_over_gpio"
page.dependent = true
end
]]--
-m = Map("mmc_over_gpio", translate("mmc_over_gpio"),
- translate("mmc_over_gpio_desc"))
+m = Map("mmc_over_gpio", translate("MMC/SD driver configuration"),
+ translate("MMC/SD driver configuration"))
-s = m:section(TypedSection, "mmc_over_gpio", translate("settings"))
+s = m:section(TypedSection, "mmc_over_gpio", translate("Settings"))
s.addremove = true
s.anonymous = true
-s:option(Flag, "enabled", translate("enabled", "Enable"))
+s:option(Flag, "enabled", translate("Enable"))
-s:option(Value, "name", translate("name"))
+s:option(Value, "name", translate("Name"))
pin = s:option(Value, "DI_pin", translate("DI_pin"))
for i = 0,7 do pin:value(i) end
pin = s:option(Value, "CS_pin", translate("CS_pin"))
for i = 0,7 do pin:value(i) end
-s:option(Value, "mode", translate("mode"))
+s:option(Value, "mode", translate("Mode"))
return m
return
end
- local page = entry({"admin", "system", "ntpc"}, cbi("ntpc/ntpc"), luci.i18n.translate("ntpc"), 50)
+ local page = entry({"admin", "system", "ntpc"}, cbi("ntpc/ntpc"), luci.i18n.translate("Time Synchronisation"), 50)
page.i18n = "ntpc"
page.dependent = true
- local page = entry({"mini", "system", "ntpc"}, cbi("ntpc/ntpcmini", {autoapply=true}), luci.i18n.translate("ntpc"), 50)
+ local page = entry({"mini", "system", "ntpc"}, cbi("ntpc/ntpcmini", {autoapply=true}), luci.i18n.translate("Time Synchronisation"), 50)
page.i18n = "ntpc"
page.dependent = true
end
\ No newline at end of file
$Id$
]]--
-m = Map("ntpclient", translate("ntpc"), translate("ntpc_desc"))
+m = Map("ntpclient", translate("Time Synchronisation"), translate("Synchronizes the system time"))
-s = m:section(TypedSection, "ntpclient", translate("general"))
+s = m:section(TypedSection, "ntpclient", translate("General"))
s.anonymous = true
s:option(DummyValue, "_time", translate("ntpc_current")).value = os.date("%c")
-s:option(Value, "interval", translate("ntpc_interval")).rmempty = true
-s:option(Value, "count", translate("ntpc_count"), translate("ntpc_count_desc")).rmempty = true
+s:option(Value, "interval", translate("Update Interval (in s)")).rmempty = true
+s:option(Value, "count", translate("Count of Time Measurements"), translate("empty = infinite")).rmempty = true
-s2 = m:section(TypedSection, "ntpdrift", translate("ntpc_drift"))
+s2 = m:section(TypedSection, "ntpdrift", translate("Clock Adjustment"))
s2.anonymous = true
-s2:option(Value, "freq", translate("ntpc_drift_freq")).rmempty = true
+s2:option(Value, "freq", translate("Offset Frequency")).rmempty = true
-s3 = m:section(TypedSection, "ntpserver", translate("ntpc_timeserver"))
+s3 = m:section(TypedSection, "ntpserver", translate("Time Server"))
s3.anonymous = true
s3.addremove = true
s3.template = "cbi/tblsection"
-s3:option(Value, "hostname", translate("hostname"))
-s3:option(Value, "port", translate("port")).rmempty = true
+s3:option(Value, "hostname", translate("Hostname"))
+s3:option(Value, "port", translate("Port")).rmempty = true
return m
\ No newline at end of file
$Id$
]]--
require("luci.tools.webadmin")
-m = Map("ntpclient", translate("ntpc"), translate("ntpc_desc"))
+m = Map("ntpclient", translate("Time Synchronisation"), translate("Synchronizes the system time"))
-s = m:section(TypedSection, "ntpclient", translate("general"))
+s = m:section(TypedSection, "ntpclient", translate("General"))
s.anonymous = true
s:option(DummyValue, "_time", translate("ntpc_current")).value = os.date("%c")
-s:option(Value, "interval", translate("ntpc_interval")).rmempty = true
+s:option(Value, "interval", translate("Update Interval (in s)")).rmempty = true
-s3 = m:section(TypedSection, "ntpserver", translate("ntpc_timeserver"))
+s3 = m:section(TypedSection, "ntpserver", translate("Time Server"))
s3.anonymous = true
s3.addremove = true
s3.template = "cbi/tblsection"
-s3:option(Value, "hostname", translate("hostname"))
-s3:option(Value, "port", translate("port")).rmempty = true
+s3:option(Value, "hostname", translate("Hostname"))
+s3:option(Value, "port", translate("Port")).rmempty = true
return m
\ No newline at end of file
local page = node("admin", "status", "olsr", "routes")
page.target = call("action_routes")
- page.title = i18n("olsr_routes", "Routen")
+ page.title = i18n("Routen")
page.order = 10
local page = node("admin", "status", "olsr", "topology")
page.target = call("action_topology")
- page.title = i18n("olsr_topology", "Topologie")
+ page.title = i18n("Topologie")
page.order = 20
local page = node("admin", "status", "olsr", "hna")
require("luci.tools.webadmin")
-m = Map("olsrd", translate("olsrd", "OLSR Daemon"))
+m = Map("olsrd", translate("OLSR Daemon"))
s = m:section(TypedSection, "olsrd", translate("olsrd_general"))
s.dynamic = true
s:option(Value, "Pollrate").optional = true
tcr = s:option(ListValue, "TcRedundancy")
-tcr:value("0", translate("olsrd_olsrd_tcredundancy_0"))
-tcr:value("1", translate("olsrd_olsrd_tcredundancy_1"))
-tcr:value("2", translate("olsrd_olsrd_tcredundancy_2"))
+tcr:value("0", translate("MPR selectors"))
+tcr:value("1", translate("MPR selectors and MPR"))
+tcr:value("2", translate("all neighbours"))
tcr.optional = true
s:option(Value, "MprCoverage").optional = true
lql = s:option(ListValue, "LinkQualityLevel")
lql:value("0", translate("disable"))
-lql:value("1", translate("olsrd_olsrd_linkqualitylevel_1"))
-lql:value("2", translate("olsrd_olsrd_linkqualitylevel_2"))
+lql:value("1", translate("MPR selection"))
+lql:value("2", translate("MPR selection and routing"))
lql.optional = true
s:option(Value, "LinkQualityAging").optional = true
lqa = s:option(ListValue, "LinkQualityAlgorithm")
lqa.optional = true
-lqa:value("etx_fpm", translate("olsrd_etx_fpm"))
-lqa:value("etx_float", translate("olsrd_etx_float"))
-lqa:value("etx_ff", translate("olsrd_etx_ff"))
+lqa:value("etx_fpm", translate("fixed point math"))
+lqa:value("etx_float", translate("floating point"))
+lqa:value("etx_ff", translate("Freifunk"))
lqa.optional = true
lqfish = s:option(Flag, "LinkQualityFishEye")
-i = m:section(TypedSection, "Interface", translate("interfaces"))
+i = m:section(TypedSection, "Interface", translate("Interfaces"))
i.anonymous = true
i.addremove = true
i.dynamic = true
return Flag.cfgvalue(self, section) or "0"
end
-network = i:option(ListValue, "interface", translate("network"))
+network = i:option(ListValue, "interface", translate("Network"))
luci.tools.webadmin.cbi_add_networks(network)
i:option(Value, "Ip4Broadcast").optional = true
ip6t = i:option(ListValue, "Ip6AddrType")
-ip6t:value("", translate("cbi_select"))
+ip6t:value("", translate("-- Please choose --"))
ip6t:value("auto")
ip6t:value("site-local")
ip6t:value("unique-local")
$Id$
]]--
-mh = Map("olsrd", translate("olsrd_hna", "OLSR - HNA-Ankündigungen"))
+mh = Map("olsrd", translate("OLSR - HNA-Announcements"))
hna4 = mh:section(TypedSection, "Hna4")
local fs = require "nixio.fs"
if arg[1] then
- mp = Map("olsrd", translate("olsrd_plugins", "OLSR - Plugins"))
+ mp = Map("olsrd", translate("OLSR - Plugins"))
p = mp:section(TypedSection, "LoadPlugin")
p:depends("library", arg[1])
return Flag.cfgvalue(self, section) or "0"
end
- lib = p:option(DummyValue, "library", translate("library"))
+ lib = p:option(DummyValue, "library", translate("Library"))
lib.default = arg[1]
local function Range(x,y)
-%>
<%+header%>
-<h2><a id="content" name="content"><%:olsrd%></a></h2>
-<p class="error"><%:olsrd_error%></p>
-<p><%:olsrd_error_desc%></p>
+<h2><a id="content" name="content"><%:OLSR Daemon%></a></h2>
+<p class="error"><%:Unable to connect to the OLSR daemon!%></p>
+<p><%:Make sure that OLSRd is running, the "txtinfo" plugin is loaded, configured on port 2006 and accepts connections from "127.0.0.1".%></p>
<%+footer%>
-%>
<%+header%>
-<h2><a id="content" name="content"><%:olsrd_hna2%></a></h2>
-<p><%:olsrd_hna_desc%></p>
+<h2><a id="content" name="content"><%:Active host net announcements%></a></h2>
+<p><%:Overview of currently active OLSR host net announcements%></p>
<br />
<table class="smalltext" cellspacing="0" cellpadding="6">
<tr>
-<th><%:olsrd_network%></th>
-<th><%:olsrd_gateway%></th>
+<th><%:Announced network%></th>
+<th><%:OLSR gateway%></th>
</tr>
<% for k, route in ipairs(routes) do %>
<tr>
-%>
<%+header%>
-<h2><a id="content" name="content"><%:olsrd_links%></a></h2>
-<p><%:olsrd_links_desc%></p>
+<h2><a id="content" name="content"><%:OLSR connections%></a></h2>
+<p><%:Overview of currently established OLSR connections%></p>
<br />
<table class="smalltext" cellspacing="0" cellpadding="6">
<tr>
-<th><%:olsrd_neighbour_ip%></th>
-<th><%:olsrd_local_ip%></th>
+<th><%:Neighbour IP%></th>
+<th><%:Local interface IP%></th>
<th>LQ</th>
<th>NLQ</th>
<th>ETX</th>
<% end %>
</table>
<br />
-<h3><%:legend%>:</h3>
+<h3><%:Legend%>:</h3>
<ul>
-<li><strong>LQ: </strong><%:olsrd_links_lq_desc%></li>
-<li><strong>NLQ: </strong><%:olsrd_links_nlq_desc%></li>
-<li><strong>ETX: </strong><%:olsrd_links_etx_desc%></li>
+<li><strong>LQ: </strong><%:Success rate of sent packages%></li>
+<li><strong>NLQ: </strong><%:Success rate of received packages%></li>
+<li><strong>ETX: </strong><%:Expected retransmission count%></li>
</ul>
<%+footer%>
-%>
<%+header%>
-<h2><a id="content" name="content"><%:olsrd_mid%></a></h2>
-<p><%:olsrd_mid_desc%></p>
+<h2><a id="content" name="content"><%:Active MID announcements%></a></h2>
+<p><%:Overview of known multiple interface announcements%></p>
<br />
<table class="smalltext" cellspacing="0" cellpadding="6">
<tr>
-<th><%:olsrd_node%></th>
-<th><%:olsrd_mid_aliases%></th>
+<th><%:OLSR node%></th>
+<th><%:Secondary OLSR interfaces%></th>
</tr>
<% for k, mid in ipairs(mids) do %>
<tr>
-%>
<%+header%>
-<h2><a id="content" name="content"><%:olsrd_routes%></a></h2>
-<p><%:olsrd_routes_desc%></p>
+<h2><a id="content" name="content"><%:Known OLSR routes%></a></h2>
+<p><%:Overview of currently known routes to other OLSR nodes%></p>
<br />
<table class="smalltext" cellspacing="0" cellpadding="6">
<tr>
-<th><%:olsrd_network%></th>
-<th><%:olsrd_gateway%></th>
-<th><%:interface%></th>
-<th><%:metric%></th>
+<th><%:Announced network%></th>
+<th><%:OLSR gateway%></th>
+<th><%:Interface%></th>
+<th><%:Metric%></th>
<th>ETX</th>
</tr>
<% for k, route in ipairs(routes) do
-%>
<%+header%>
-<h2><a id="content" name="content"><%:olsrd_topology%></a></h2>
-<p><%:olsrd_topology_desc%></p>
+<h2><a id="content" name="content"><%:Active OLSR nodes%></a></h2>
+<p><%:Overview of currently known OLSR nodes%></p>
<br />
<table class="smalltext" cellspacing="0" cellpadding="6">
<tr>
-<th><%:olsrd_node%></th>
-<th><%:olsrd_topology_lasthop%></th>
+<th><%:OLSR node%></th>
+<th><%:Last hop%></th>
<th>LQ</th>
<th>ILQ</th>
<th>ETX</th>
require("luci.i18n")
luci.i18n.loadc("openvpn")
- entry( {"admin", "services", "openvpn"}, cbi("openvpn"), luci.i18n.translate("openvpn", "OpenVPN") ).i18n = "openvpn"
+ entry( {"admin", "services", "openvpn"}, cbi("openvpn"), luci.i18n.translate("OpenVPN") ).i18n = "openvpn"
entry( {"admin", "services", "openvpn", "basic"}, cbi("openvpn-basic"), nil ).leaf = true
entry( {"admin", "services", "openvpn", "advanced"}, cbi("openvpn-advanced"), nil ).leaf = true
end
local sys = require "luci.sys"
local uci = require "luci.model.uci".cursor()
-local m = Map("openvpn", translate("openvpn"))
-local s = m:section( TypedSection, "openvpn", translate("openvpn_overview"), translate("openvpn_overview_desc") )
+local m = Map("openvpn", translate("OpenVPN"))
+local s = m:section( TypedSection, "openvpn", translate("OpenVPN instances"), translate("Below is a list of configured OpenVPN instances and their current state") )
s.template = "cbi/tblsection"
s.template_addremove = "openvpn/cbi-select-input-add"
s.addremove = true
end
-s:option( Flag, "enable", translate("openvpn_enable") )
+s:option( Flag, "enable", translate("Enabled") )
-local active = s:option( DummyValue, "_active", translate("openvpn_active") )
+local active = s:option( DummyValue, "_active", translate("Started") )
function active.cfgvalue(self, section)
local pid = fs.readfile("/var/run/openvpn-%s.pid" % section)
if pid and #pid > 0 and tonumber(pid) ~= nil then
return (sys.process.signal(pid, 0))
- and translatef("openvpn_active_yes", "yes (%i)", pid)
- or translate("openvpn_active_no")
+ and translatef("yes (%i)", pid)
+ or translate("no")
end
- return translate("openvpn_active_no")
+ return translate("no")
end
-local updown = s:option( Button, "_updown", translate("openvpn_updown", "Start/Stop") )
+local updown = s:option( Button, "_updown", translate("Start/Stop") )
updown._state = false
function updown.cbid(self, section)
local pid = fs.readfile("/var/run/openvpn-%s.pid" % section)
end
end
-local port = s:option( DummyValue, "port", translate("openvpn_port") )
+local port = s:option( DummyValue, "port", translate("Port") )
function port.cfgvalue(self, section)
local val = AbstractValue.cfgvalue(self, section)
return val or "1194"
end
-local proto = s:option( DummyValue, "proto", translate("openvpn_proto") )
+local proto = s:option( DummyValue, "proto", translate("Protocol") )
function proto.cfgvalue(self, section)
local val = AbstractValue.cfgvalue(self, section)
return val or "udp"
<option value="<%=k%>"><%=luci.util.pcdata(v)%></option>
<% end -%>
</select>
- <input class="cbi-button cbi-button-add" type="submit" value="<%:cbi_add%>" title="<%:cbi_add%>" />
- <% if self.invalid_cts then %><br /><%:cbi_invalid%></div><% end %>
+ <input class="cbi-button cbi-button-add" type="submit" value="<%:Add%>" title="<%:Add%>" />
+ <% if self.invalid_cts then %><br /><%:Invalid%></div><% end %>
</div>
<fieldset class="cbi-section">
<legend>
<a href="<%=luci.dispatcher.build_url("admin", "services", "openvpn")%>"><%:openvpn_overview Overview%></a> »
- <%=luci.i18n.translatef("openvpn_instance", "%s", self.instance)%>
+ <%=luci.i18n.translatef("Instance \"%s\"", self.instance)%>
</legend>
<% if self.mode == "basic" then %>
function index()
require("luci.i18n").loadc("freifunk")
entry({"admin", "network", "firewall", "p2pblock"}, cbi("luci_fw/p2pblock"),
- luci.i18n.translate("ff_p2pblock", "P2P-Block"), 40)
+ luci.i18n.translate("P2P-Block"), 40)
end
local sys = require "luci.sys"
-m = Map("freifunk_p2pblock", translate("ff_p2pblock", "P2P-Block"),
- translate("ff_p2pblock_desc", "P2P-Block is a greylisting mechanism to block various peer-to-peer protocols for non-whitelisted clients."))
+m = Map("freifunk_p2pblock", translate("P2P-Block"),
+ translate("P2P-Block is a greylisting mechanism to block various peer-to-peer protocols for non-whitelisted clients."))
s = m:section(NamedSection, "p2pblock", "settings", "Settings")
s.anonymous = true
s.addremove = false
-en = s:option(Flag, "_enabled", translate("ff_p2pblock_enabled", "Enable P2P-Block"))
+en = s:option(Flag, "_enabled", translate("Enable P2P-Block"))
en.rmempty = false
function en.cfgvalue()
end
end
-s:option(Value, "portrange", translate("ff_p2pblock_portrange", "Portrange"))
+s:option(Value, "portrange", translate("Portrange"))
-s:option(Value, "blocktime", translate("ff_p2pblock_blocktime", "Block Time"),
- translate("ff_p2pblock_blocktime_desc", "seconds"))
+s:option(Value, "blocktime", translate("Block Time"),
+ translate("seconds"))
-s:option(DynamicList, "whitelist", translate("ff_p2pblock_whitelist", "Whitelisted IPs"))
+s:option(DynamicList, "whitelist", translate("Whitelisted IPs"))
-l7 = s:option(MultiValue, "layer7", translate("ff_p2pblock_layer7", "Layer7-Protokolle"))
+l7 = s:option(MultiValue, "layer7", translate("Layer7-Protocols"))
l7.widget = "checkbox"
l7:value("aim", "AIM Chat")
l7:value("bittorrent", "Bittorrent")
l7:value("ssl", "SSL Protocol")
l7:value("vnc", "VNC Protocol")
-ipp2p = s:option(MultiValue, "ipp2p", translate("ff_p2pblock_ipp2p", "IP-P2P"))
+ipp2p = s:option(MultiValue, "ipp2p", translate("IP-P2P"))
ipp2p.widget = "checkbox"
ipp2p:value("edk", "eDonkey, eMule, Kademlia")
ipp2p:value("kazaa", "KaZaA, FastTrack")
return
end
- local page = entry({"admin", "services", "p910nd"}, cbi("p910nd"), luci.i18n.translate("p910nd", "Printer server"), 60)
+ local page = entry({"admin", "services", "p910nd"}, cbi("p910nd"), luci.i18n.translate("p910nd - Printer server"), 60)
page.i18n = "p910nd"
page.dependent = true
end
local uci = luci.model.uci.cursor_state()
-m = Map("p910nd", translate("p910nd", "p910nd"),
- translatef("p910nd_desc"))
+m = Map("p910nd", translate("p910nd - Printer server"),
+ translatef("First you have to install the packages to get support for USB (kmod-usb-printer) or parallel port (kmod-lp)."))
-s = m:section(TypedSection, "p910nd", translate("settings", "settings"))
+s = m:section(TypedSection, "p910nd", translate("Settings"))
s.addremove = true
s.anonymous = true
s:option(Flag, "enabled", translate("enable"))
-s:option(Value, "device", translate("device", "Device")).rmempty = true
+s:option(Value, "device", translate("Device")).rmempty = true
-s:option(Value, "port", translate("port"), translate("port_help")).rmempty = true
+s:option(Value, "port", translate("Port"), translate("port_help")).rmempty = true
-s:option(Flag, "bidirectional", translate("bidirectional"))
+s:option(Flag, "bidirectional", translate("Bidirectional mode"))
return m
luci.i18n.loadc("polipo")
local i18n = luci.i18n.translate
- local p = entry({"admin", "services", "polipo"}, cbi("polipo"), i18n("polipo", "Polipo"))
+ local p = entry({"admin", "services", "polipo"}, cbi("polipo"), i18n("Polipo"))
p.dependent = true
p.i18n = "polipo"
end
m = Map("qos")
-s = m:section(TypedSection, "interface", translate("interfaces"))
+s = m:section(TypedSection, "interface", translate("Interfaces"))
s.addremove = true
s:option(Flag, "enabled", translate("enable"))
s.addremove = true
t = s:option(ListValue, "target")
-t:value("Priority", translate("qos_priority"))
-t:value("Express", translate("qos_express"))
-t:value("Normal", translate("qos_normal"))
-t:value("Bulk", translate("qos_bulk"))
+t:value("Priority", translate("priority"))
+t:value("Express", translate("express"))
+t:value("Normal", translate("normal"))
+t:value("Bulk", translate("low"))
t.default = "Normal"
srch = s:option(Value, "srchost")
dsth:value("", translate("all"))
wa.cbi_add_knownips(dsth)
-l7 = s:option(ListValue, "layer7", translate("service"))
+l7 = s:option(ListValue, "layer7", translate("Service"))
l7.rmempty = true
l7:value("", translate("all"))
local pats = fs.dir("/etc/l7-protocols")
end
end
-p = s:option(Value, "proto", translate("protocol"))
+p = s:option(Value, "proto", translate("Protocol"))
p:value("", translate("all"))
p:value("tcp", "TCP")
p:value("udp", "UDP")
p:value("icmp", "ICMP")
p.rmempty = true
-ports = s:option(Value, "ports", translate("ports"))
+ports = s:option(Value, "ports", translate("Ports"))
ports.rmempty = true
ports:value("", translate("allf", translate("all")))
m = Map("qos")
-s = m:section(NamedSection, "wan", "interface", translate("m_n_inet"))
+s = m:section(NamedSection, "wan", "interface", translate("Internet Connection"))
-s:option(Flag, "enabled", translate("qos"))
-s:option(Value, "download", translate("qos_interface_download"), "kb/s")
-s:option(Value, "upload", translate("qos_interface_upload"), "kb/s")
+s:option(Flag, "enabled", translate("Quality of Service"))
+s:option(Value, "download", translate("Downlink"), "kb/s")
+s:option(Value, "upload", translate("Uplink"), "kb/s")
s = m:section(TypedSection, "classify")
s.template = "cbi/tblsection"
s.addremove = true
t = s:option(ListValue, "target")
-t:value("Priority", translate("qos_priority"))
-t:value("Express", translate("qos_express"))
-t:value("Normal", translate("qos_normal"))
-t:value("Bulk", translate("qos_bulk"))
+t:value("Priority", translate("priority"))
+t:value("Express", translate("express"))
+t:value("Normal", translate("normal"))
+t:value("Bulk", translate("low"))
t.default = "Normal"
srch = s:option(Value, "srchost")
dsth:value("", translate("all"))
wa.cbi_add_knownips(dsth)
-l7 = s:option(ListValue, "layer7", translate("service"))
+l7 = s:option(ListValue, "layer7", translate("Service"))
l7.rmempty = true
l7:value("", translate("all"))
local pats = fs.dir("/etc/l7-protocols")
end
end
-p = s:option(ListValue, "proto", translate("protocol"))
+p = s:option(ListValue, "proto", translate("Protocol"))
p:value("", translate("all"))
p:value("tcp", "TCP")
p:value("udp", "UDP")
p:value("icmp", "ICMP")
p.rmempty = true
-ports = s:option(Value, "ports", translate("ports"))
+ports = s:option(Value, "ports", translate("Ports"))
ports.rmempty = true
ports:value("", translate("allf", translate("all")))
require("luci.i18n")
luci.i18n.loadc("samba")
- local page = entry({"admin", "services", "samba"}, cbi("samba"), luci.i18n.translate("samba"))
+ local page = entry({"admin", "services", "samba"}, cbi("samba"), luci.i18n.translate("Network Shares"))
page.i18n = "samba"
page.dependent = true
end
\ No newline at end of file
s.addremove = true
s.template = "cbi/tblsection"
-s:option(Value, "name", translate("name"))
+s:option(Value, "name", translate("Name"))
s:option(Value, "path").titleref = luci.dispatcher.build_url("admin", "system", "fstab")
s:option(Value, "users").rmempty = true
count = count + 1
-%>
<tr class="cbi-section-table-row cbi-rowstyle-<%=2-(count%2)%>">
- <td class="cbi-section-table-cell"><%=c.hostname or "<em>" .. translate("ff_splash_unknown", "unknown") .. "</em>"%></td>
- <td class="cbi-section-table-cell"><%=c.ip or "<em>" .. translate("ff_splash_unknown", "unknown") .. "</em>"%></td>
+ <td class="cbi-section-table-cell"><%=c.hostname or "<em>" .. translate("unknown") .. "</em>"%></td>
+ <td class="cbi-section-table-cell"><%=c.ip or "<em>" .. translate("unknown") .. "</em>"%></td>
<td class="cbi-section-table-cell"><%=showmac(c.mac)%></td>
<td class="cbi-section-table-cell"><%=
(c.limit >= os.time()) and wat.date_format(c.limit-os.time()) or
- (c.policy ~= "normal") and "-" or "<em>" .. translate("ff_splash_expired", "expired") .. "</em>"
+ (c.policy ~= "normal") and "-" or "<em>" .. translate("expired") .. "</em>"
%></td>
<td class="cbi-section-table-cell"><%=wat.byte_format(c.bytes_in)%> / <%=wat.byte_format(c.bytes_out)%></td>
<td class="cbi-section-table-cell">
}
-- create toplevel menu nodes
- local st = entry({"admin", "statistics"}, call("statistics_index"), _i18n("statistics"), 80)
+ local st = entry({"admin", "statistics"}, call("statistics_index"), _i18n("Statistics"), 80)
st.i18n = "statistics"
st.index = true
$Id$
]]--
-m = Map("tinyproxy", translate("tinyproxy"), translate("tinyproxy_desc"))
+m = Map("tinyproxy", translate("Tinyproxy"), translate("Tinyproxy is a small and fast non-caching HTTP(S)-Proxy"))
-s = m:section(TypedSection, "tinyproxy", translate("general"))
+s = m:section(TypedSection, "tinyproxy", translate("General"))
s.anonymous = true
s:option(Flag, "enable", translate("enable"))
-s:option(Value, "Port", translate("port"))
+s:option(Value, "Port", translate("Port"))
s:option(Value, "Listen").optional = true
s:option(Value, "Bind").optional = true
s:option(Value, "Timeout").optional = true
s.addremove = true
t = s:option(ListValue, "type")
-t:value("proxy", translate("tinyproxy_type_proxy"))
-t:value("reject", translate("tinyproxy_type_reject"))
+t:value("proxy", translate("Via proxy"))
+t:value("reject", translate("Reject access"))
ta = s:option(Value, "target")
ta.rmempty = true
$Id$
]]--
-m = Map("upnpd", translate("upnpd"), translate("upnpd_desc"))
+m = Map("upnpd", translate("Universal Plug & Play"), translate("UPNP allows clients in the local network to automatically configure the router."))
s = m:section(NamedSection, "config", "upnpd", "")
e = s:option(Flag, "enabled", translate("enable"))
$Id$
]]--
-m = Map("upnpd", translate("upnpd"), translate("upnpd_desc"))
+m = Map("upnpd", translate("Universal Plug & Play"), translate("UPNP allows clients in the local network to automatically configure the router."))
s = m:section(NamedSection, "config", "upnpd", "")
e = s:option(Flag, "enabled", translate("enable"))
return
end
- local page = entry({"admin", "services", "ushare"}, cbi("ushare"), luci.i18n.translate("ushare", "uShare"), 60)
+ local page = entry({"admin", "services", "ushare"}, cbi("ushare"), luci.i18n.translate("uShare"), 60)
page.i18n = "uvc_streamer"
page.dependent = true
end
]]--
-m = Map("ushare", translate("ushare"),
+m = Map("ushare", translate("uShare"),
translate("ushare_desc"))
-s = m:section(TypedSection, "ushare", translate("settings"))
+s = m:section(TypedSection, "ushare", translate("Settings"))
s.addremove = false
s.anonymous = true
-s:option(Flag, "enabled", translate("enabled", "Enable"))
+s:option(Flag, "enabled", translate("Enable"))
-s:option(Value, "username", translate("username"))
+s:option(Value, "username", translate("Username"))
-s:option(Value, "servername", translate("servername"))
+s:option(Value, "servername", translate("Servername"))
-dif = s:option( Value, "interface", translate("interface"))
+dif = s:option( Value, "interface", translate("Interface"))
for _, nif in ipairs(luci.sys.net.devices()) do
if nif ~= "lo" then dif:value(nif) end
end
-s:option(Value, "content_directories", translate("content_directories"))
+s:option(Value, "content_directories", translate("Content directories"))
-s:option(Flag, "disable_webif", translate("disable_webif"))
+s:option(Flag, "disable_webif", translate("Disable webinterface"))
-s:option(Flag, "disable_telnet", translate("disable_telnet"))
+s:option(Flag, "disable_telnet", translate("Disable telnet console"))
-s:option(Value, "options", translate("options"))
+s:option(Value, "options", translate("Options"))
return m
return
end
- local page = entry({"admin", "services", "uvc_streamer"}, cbi("uvc_streamer"), luci.i18n.translate("uvc_streamer", "UVC Streaming"), 60)
+ local page = entry({"admin", "services", "uvc_streamer"}, cbi("uvc_streamer"), luci.i18n.translate("Webcam streaming"), 60)
page.i18n = "uvc_streamer"
page.dependent = true
end
addr = addr or "192.168.1.1"
port = port or 8080
-m = Map("uvc-streamer", translate("uvc_streamer"),
+m = Map("uvc-streamer", translate("Webcam streaming"),
translatef("uvc_streamer_desc", nil, addr, port, addr, port))
-s = m:section(TypedSection, "uvc-streamer", translate("settings"))
+s = m:section(TypedSection, "uvc-streamer", translate("Settings"))
s.addremove = false
s.anonymous = true
-s:option(Flag, "enabled", translate("enabled", "Enable"))
+s:option(Flag, "enabled", translate("Enable"))
-s:option(Value, "device", translate("device")).rmempty = true
+s:option(Value, "device", translate("Device")).rmempty = true
-nm = s:option(Value, "resolution", translate("resolution"))
+nm = s:option(Value, "resolution", translate("Resolution"))
nm:value("640x480")
nm:value("320x240")
nm:value("160x120")
-s:option(Value, "framespersecond", translate("framespersecond")).rmempty = true
+s:option(Value, "framespersecond", translate("Frames per second")).rmempty = true
-s:option(Value, "port", translate("port", "Port")).rmempty = true
+s:option(Value, "port", translate("Port")).rmempty = true
return m
require("luci.i18n")
luci.i18n.loadc("voice_core")
- local e = entry({"admin", "voice"}, template("luci_voice/index") , luci.i18n.translate("l_v_adminvoice", "Voice"), 90)
+ local e = entry({"admin", "voice"}, template("luci_voice/index") , luci.i18n.translate("Voice"), 90)
e.index = true
e.i18n = "voice_core"
- e = entry({"mini", "voice"}, template("luci_voice/index"), luci.i18n.translate("l_v_minivoice", "Voice"), 90)
+ e = entry({"mini", "voice"}, template("luci_voice/index"), luci.i18n.translate("Voice"), 90)
e.index = true
e.i18n = "voice_core"
- e = entry({"mini", "voice", "phones"}, template("luci_voice/phone_index"), luci.i18n.translate("l_v_miniphones"), 90)
+ e = entry({"mini", "voice", "phones"}, template("luci_voice/phone_index"), luci.i18n.translate("Phones"), 90)
e.index = true
e.i18n = "voice_core"
-%>
<%+header%>
-<h2><a id="content" name="content"><%:l_v_d_di_voicediag%></a></h2>
-<p><%:l_v_d_di_voicediag1%></p>
-<p><%:l_v_d_di_voicediag2%></p>
+<h2><a id="content" name="content"><%:Diagnostics%></a></h2>
+<p><%:Under this menu are options that allow you to configure and perform tests on the voice operations of your system. These are known as diagnostics.%></p>
+<p><%:The diagnostics available on your device depend on the modules that you have installed.%></p>
<%+footer%>
<input class="cbi-button cbi-button-back" type="submit" name="cbi.delg.back" value="<%:cbi_back < Back%>" />
<% end %>
<% if self.allow_reset then %>
- <input class="cbi-button cbi-button-reset" type="reset" value="<%:reset%>" />
+ <input class="cbi-button cbi-button-reset" type="reset" value="<%:Reset%>" />
<% end %>
<% if self.allow_cancel then %>
- <input class="cbi-button cbi-button-cancel" type="submit" name="cbi.cancel" value="<%:cancel%>" />
+ <input class="cbi-button cbi-button-cancel" type="submit" name="cbi.cancel" value="<%:Cancel%>" />
<% end %>
<% if self.allow_finish and not self:get_next(self.current) then %>
<input class="cbi-button cbi-button-finish" type="submit" value="<%:cbi_finish Finish%>" />
%>
<input class="cbi-input-text" value="<%=pcdata(val)%>" onchange="cbi_d_update(this.id)" type="text"<%= attr("id", cbid .. "." .. i) .. attr("name", cbid) .. ifattr(self.size, "size")%> />
<% if i <= #vals then %>
- <input class="cbi-input-image" type="image" value="<%:cbi_del%>" name="cbi.rle.<%=section .. "." .. self.option .. "." .. i%>" alt="<%:cbi_del%>" title="<%:cbi_del%>" src="<%=resource%>/cbi/remove.gif" />
+ <input class="cbi-input-image" type="image" value="<%:Delete%>" name="cbi.rle.<%=section .. "." .. self.option .. "." .. i%>" alt="<%:Delete%>" title="<%:Delete%>" src="<%=resource%>/cbi/remove.gif" />
<% else %>
- <input class="cbi-input-image" type="image" value="<%:cbi_add%>" name="cbi.ale.<%=section .. "." .. self.option%>" alt="<%:cbi_add%>" title="<%:cbi_add%>" src="<%=resource%>/cbi/add.gif" />
+ <input class="cbi-input-image" type="image" value="<%:Add%>" name="cbi.ale.<%=section .. "." .. self.option%>" alt="<%:Add%>" title="<%:Add%>" src="<%=resource%>/cbi/add.gif" />
<% end %>
<% if #self.keylist > 0 then -%>
<script type="text/javascript">
-%>
}, '<%- if not self.rmempty and not self.optional then -%>
<%-:cbi_select-%>
- <%- end -%>', '<%:cbi_manual%>');
+ <%- end -%>', '<%:-- custom --%>');
</script>
<% end -%>
<% if i <= #vals then %><br />
<% end end %>
</span>
<% end end %>
- <% if empty then %><em><%:a_s_ipt_zone_empty (no interfaces attached)%></em><% end %>
+ <% if empty then %><em><%:(no interfaces attached)%></em><% end %>
</label>
</li>
<% end end %>
<li style="padding:0.5em">
<input class="cbi-input-radio" onclick="cbi_d_update(this.id)" onchange="cbi_d_update(this.id)" type="radio"<%=attr("id", cbid .. "_new") .. attr("name", cbid) .. attr("value", "-") .. ifattr(not selected, "checked", "checked")%> />
<div style="background-color:<%=fwm.zone.get_color()%>; padding:0.5em; display:inline">
- <label<%=attr("for", cbid .. "_new")%>><em><%:a_s_ipt_zone_unspec_create unspecified -or- create:%> </em></label>
+ <label<%=attr("for", cbid .. "_new")%>><em><%:unspecified -or- create:%> </em></label>
<input style="width:6em" type="text"<%=attr("name", cbid .. ".newzone") .. ifattr(not selected, "value", self.default)%> onfocus="document.getElementById('<%=cbid%>_new').checked=true" />
</div>
</li>
<input class="cbi-button cbi-button-skip" type="submit" name="cbi.skip" value="<%:skip Skip%>" />
<% end %>
<% if not autoapply then%>
- <input class="cbi-button cbi-button-apply" type="submit" name="cbi.apply" value="<%:saveapply%>" />
+ <input class="cbi-button cbi-button-apply" type="submit" name="cbi.apply" value="<%:Save & Apply%>" />
<% end %>
- <input class="cbi-button cbi-button-save" type="submit" value="<%:save%>" />
- <input class="cbi-button cbi-button-reset" type="reset" value="<%:reset%>" />
+ <input class="cbi-button cbi-button-save" type="submit" value="<%:Save%>" />
+ <input class="cbi-button cbi-button-reset" type="reset" value="<%:Reset%>" />
<script type="text/javascript">cbi_d_update();</script>
</div>
<%- end -%>
<div class="cbi-value<% if self.error and self.error[section] then %> cbi-value-error<% end %>" id="cbi-<%=self.config.."-"..section.."-"..self.option%>">
<%- if self.title and #self.title > 0 then -%>
<label class="cbi-value-title"<%= attr("for", cbid) %>>
- <%- if self.titleref then -%><a title="<%=self.titledesc or translate('cbi_gorel')%>" class="cbi-title-ref" href="<%=self.titleref%>"><%- end -%>
+ <%- if self.titleref then -%><a title="<%=self.titledesc or translate(' ')%>" class="cbi-title-ref" href="<%=self.titleref%>"><%- end -%>
<%-=self.title-%>
<%- if self.titleref then -%></a><%- end -%>
</label>
<div>
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
<input type="hidden" name="cbi.submit" value="1" />
- <input type="submit" value="<%:save%>" class="hidden" />
+ <input type="submit" value="<%:Save%>" class="hidden" />
</div>
<div class="cbi-map-descr"><%=self.description%></div>
<%- if self._apply then -%>
<fieldset class="cbi-section">
- <legend><%:cbi_applying%></legend>
+ <legend><%:Applying changes%></legend>
<ul class="cbi-apply"><%-
local fp = self._apply()
self._apply = nil
%>
<img<%=attr("title", iface:get_i18n())%> style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.png" />
<% end end %>
- <% if empty then %><em><%:a_s_ipt_zone_empty (no interfaces attached)%></em><% end %>
+ <% if empty then %><em><%:(no interfaces attached)%></em><% end %>
</span>
</label>
</li>
<li style="padding:0.25em 0">
<input class="cbi-input-radio" onclick="cbi_d_update(this.id)" onchange="cbi_d_update(this.id)" type="radio"<%=attr("id", cbid .. "_new") .. attr("name", cbid) .. attr("value", "-") .. ifattr(not value, "checked", "checked")%> />
<div style="padding:0.5em; display:inline">
- <label<%=attr("for", cbid .. "_new")%>><em><%:a_s_ipt_zone_unspec_create unspecified -or- create:%> </em></label>
+ <label<%=attr("for", cbid .. "_new")%>><em><%:unspecified -or- create:%> </em></label>
<input style="width:6em" type="text"<%=attr("name", cbid .. ".newnet")%> onfocus="document.getElementById('<%=cbid%>_new').checked=true" />
</div>
</li>
<%- end %>
<% if self.addremove then -%>
<div class="cbi-section-remove right">
- <input type="submit" name="cbi.rns.<%=self.config%>.<%=section%>" value="<%:cbi_del%>" />
+ <input type="submit" name="cbi.rns.<%=self.config%>.<%=section%>" value="<%:Delete%>" />
</div>
<%- end %>
<%+cbi/tabmenu%>
<legend><%=self.title%></legend>
<%- end %>
<div class="cbi-section-descr"><%=self.description%></div>
- <input type="submit" class="cbi-button-add" name="cbi.cns.<%=self.config%>.<%=self.section%>" value="<%:cbi_add%>" />
+ <input type="submit" class="cbi-button-add" name="cbi.cns.<%=self.config%>.<%=self.section%>" value="<%:Add%>" />
</fieldset>
<%- end %>
<% end %>
<%- end -%>
<%- for i, k in pairs(self.children) do if not k.optional then -%>
<th class="cbi-section-table-cell">
- <%- if k.titleref then -%><a title="<%=self.titledesc or translate('cbi_gorel')%>" class="cbi-title-ref" href="<%=k.titleref%>"><%- end -%>
+ <%- if k.titleref then -%><a title="<%=self.titledesc or translate(' ')%>" class="cbi-title-ref" href="<%=k.titleref%>"><%- end -%>
<%-=k.title-%>
<%- if k.titleref then -%></a><%- end -%>
</th>
<%- elseif type(self.extedit) == "function" then -%>
<%=self:extedit(section)%>
<%- end -%>
- " title="<%:edit%>"><img style="border: none" src="<%=resource%>/cbi/edit.gif" alt="<%:edit%>" /></a>
+ " title="<%:Edit%>"><img style="border: none" src="<%=resource%>/cbi/edit.gif" alt="<%:Edit%>" /></a>
<%- end; if self.addremove then %>
- <input type="image" value="<%:cbi_del%>" name="cbi.rts.<%=self.config%>.<%=k%>" alt="<%:cbi_del%>" title="<%:cbi_del%>" src="<%=resource%>/cbi/remove.gif" />
+ <input type="image" value="<%:Delete%>" name="cbi.rts.<%=self.config%>.<%=k%>" alt="<%:Delete%>" title="<%:Delete%>" src="<%=resource%>/cbi/remove.gif" />
<%- end -%>
</td>
<%- end -%>
<%- if isempty then -%>
<tr class="cbi-section-table-row">
- <td colspan="<%=count%>"><em><br /><%:cbi_sectempty%></em></td>
+ <td colspan="<%=count%>"><em><br /><%:This section contains no values yet%></em></td>
</tr>
<%- end -%>
</table>
<% if self.template_addremove then include(self.template_addremove) else -%>
<div class="cbi-section-create cbi-tblsection-create">
<% if self.anonymous then %>
- <input class="cbi-button cbi-button-add" type="submit" value="<%:cbi_add%>" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" title="<%:cbi_add%>" />
+ <input class="cbi-button cbi-button-add" type="submit" value="<%:Add%>" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" title="<%:Add%>" />
<% else %>
<% if self.invalid_cts then -%><div class="cbi-section-error"><% end %>
<input type="text" class="cbi-section-create-name" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" />
- <input class="cbi-button cbi-button-add" type="submit" value="<%:cbi_add%>" title="<%:cbi_add%>" />
+ <input class="cbi-button cbi-button-add" type="submit" value="<%:Add%>" title="<%:Add%>" />
<% if self.invalid_cts then -%>
- <br /><%:cbi_invalid%></div>
+ <br /><%:Invalid%></div>
<%- end %>
<% end %>
</div>
<% local isempty = true for i, k in ipairs(self:cfgsections()) do -%>
<% if self.addremove then -%>
<div class="cbi-section-remove right">
- <input type="submit" name="cbi.rts.<%=self.config%>.<%=k%>" value="<%:cbi_del%>" />
+ <input type="submit" name="cbi.rts.<%=self.config%>.<%=k%>" value="<%:Delete%>" />
</div>
<%- end %>
<%- end %>
<% if isempty then -%>
- <em><%:cbi_sectempty%><br /><br /></em>
+ <em><%:This section contains no values yet%><br /><br /></em>
<%- end %>
<% if self.addremove then -%>
<% if self.template_addremove then include(self.template_addremove) else -%>
<div class="cbi-section-create">
<% if self.anonymous then -%>
- <input type="submit" class="cbi-button cbi-button-add" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" value="<%:cbi_add%>" />
+ <input type="submit" class="cbi-button cbi-button-add" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" value="<%:Add%>" />
<%- else -%>
<% if self.invalid_cts then -%><div class="cbi-section-error"><% end %>
<input type="text" class="cbi-section-create-name" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" />
- <input type="submit" class="cbi-button cbi-button-add" value="<%:cbi_add%>" />
+ <input type="submit" class="cbi-button cbi-button-add" value="<%:Add%>" />
<% if self.invalid_cts then -%>
- <br /><%:cbi_invalid%></div>
+ <br /><%:Invalid%></div>
<%- end %>
<%- end %>
</div>
<% end %>
<% else %>
<select id="cbi.opt.<%=self.config%>.<%=section%>" name="cbi.opt.<%=self.config%>.<%=section%>">
- <option><%:cbi_addopt%></option>
+ <option><%:-- Additional Field --%></option>
<% for key, val in pairs(self.optionals[section]) do -%>
<option id="cbi-<%=self.config.."-"..section.."-"..val.option%>" value="<%=val.option%>"><%=striptags(val.title)%></option>
<%- end %>
<%- end %><% end %>
<% end %></script>
<% end %>
- <input type="submit" class="cbi-button cbi-button-fieldadd" value="<%:add%>" />
+ <input type="submit" class="cbi-button cbi-button-fieldadd" value="<%:Add%>" />
</div>
<% end %>
<% if s then %>
<%:cbi_upload Uploaded File%> (<%=t.byte_format(s.size)%>)
<input type="hidden"<%= attr("value", v) .. attr("name", cbid) .. attr("id", cbid) %> />
- <input class="cbi-input-image" type="image" value="<%:cbi_replace%>" name="cbi.rlf.<%=section .. "." .. self.option%>" alt="<%:cbi_replace%>" title="<%:cbi_replace%>" src="<%=resource%>/cbi/reload.gif" />
+ <input class="cbi-input-image" type="image" value="<%:Replace entry%>" name="cbi.rlf.<%=section .. "." .. self.option%>" alt="<%:Replace entry%>" title="<%:Replace entry%>" src="<%=resource%>/cbi/reload.gif" />
<% else %>
<input class="cbi-input-file" type="file"<%= attr("name", cbid) .. attr("id", cbid) %> />
<% end %>
function interface.get_type_i18n(self)
local x = self:type()
if x == "wifi" then
- return i18n.translate("a_s_if_wifidev", "Wireless Adapter")
+ return i18n.translate("Wireless Adapter")
elseif x == "bridge" then
- return i18n.translate("a_s_if_bridge", "Bridge")
+ return i18n.translate("Bridge")
elseif x == "switch" then
- return i18n.translate("a_s_if_ethswitch", "Ethernet Switch")
+ return i18n.translate("Ethernet Switch")
else
- return i18n.translate("a_s_if_ethdev", "Ethernet Adapter")
+ return i18n.translate("Ethernet Adapter")
end
end
function get_i18n(self, iface)
if iface.dev and iface.dev.wifi then
return "%s: %s %q" %{
- i18n.translate("a_s_if_wifinet", "Wireless Network"),
+ i18n.translate("Wireless Network"),
i18n.translate("a_s_if_iwmode_" .. (iface.dev.wifi.mode or "ap"), iface.dev.wifi.mode or "AP"),
iface.dev.wifi.ssid or iface.dev.wifi.bssid or "(hidden)"
}
else
- return "%s: %q" %{ i18n.translate("a_s_if_wifinet", "Wireless Network"), iface:name() }
+ return "%s: %q" %{ i18n.translate("Wireless Network"), iface:name() }
end
end
function get_i18n(self, iface)
if iface.wdev and iface.winfo then
return "%s: %s %q (%s)" %{
- i18n.translate("a_s_if_wifinet", "Wireless Network"),
+ i18n.translate("Wireless Network"),
i18n.translate("a_s_if_iwmode_" .. iface:active_mode(), iface.winfo.mode(iface.wdev)),
iface:active_ssid() or "(hidden)", iface.wdev
}
else
- return "%s: %q" %{ i18n.translate("a_s_if_wifinet", "Wireless Network"), iface:name() }
+ return "%s: %q" %{ i18n.translate("Wireless Network"), iface:name() }
end
end
-%>
<%+header%>
-<h2><a id="content" name="content"><%:about%> LuCI</a></h2>
-<p><%:c_lucidesc%></p>
+<h2><a id="content" name="content"><%:About%> LuCI</a></h2>
+<p><%:<abbr title="Lua Configuration Interface">LuCI</abbr> is a collection of free Lua software including an <abbr title="Model-View-Controller">MVC</abbr>-Webframework and webinterface for embedded devices. <abbr title="Lua Configuration Interface">LuCI</abbr> is licensed under the Apache-License.%></p>
-<p><strong><%:c_projecthome%>: </strong><a href="http://luci.freifunk-halle.net">luci.freifunk-halle.net</a></p>
+<p><strong><%:Project Homepage%>: </strong><a href="http://luci.freifunk-halle.net">luci.freifunk-halle.net</a></p>
<br />
-<h2><%:c_leaddev%></h2>
+<h2><%:Lead Development%></h2>
<ul style="font-weight: bold">
<li><a href="mailto:steven-at-midlink-dot-org">Steven "Cyrus" Barth</a> (OpenWrt, Freifunk Halle)</li>
<li><a href="mailto:xm-at-leipzig.freifunk-dot-net">Jo-Philipp "Jow" Wich</a> (Freifunk Leipzig)</li>
</ul>
<br />
-<h2><%:c_contributors%></h2>
+<h2><%:Contributing Developers%></h2>
<ul style="font-weight: bold">
<li><a href="mailto:mail-at-antonpopov-dot-de">Anton "xyron" Popov</a></li>
<li><a href="mailto:florian-at-openwrt-dot-org">Florian Fainelli</a> (OpenWrt)</li>
</ul>
<br />
-<h2><%:c_thanksto%></h2>
+<h2><%:Thanks To%></h2>
<ul style="font-weight: bold">
<li><a href="mailto:info-at-computerhilfe-halle-dot-de">Mono</a> (Freifunk Halle)</li>
<li><a href="mailto:tetzlav-at-leipzig.freifunk-dot-net">tetzlav</a> (Freifunk Leipzig)</li>
<form method="post" action="<%=luci.http.getenv("REQUEST_URI")%>">
<div class="cbi-map">
- <h2><a id="content" name="content"><%:sysauth_head%></a></h2>
+ <h2><a id="content" name="content"><%:Authorization Required%></a></h2>
<div class="cbi-map-descr">
- <%:sysauth_prompt%>
+ <%:Please enter your username and password.%>
<%- if fuser then %>
<div class="error"><%:sysauth_failed%></div>
<br />
</div>
<fieldset class="cbi-section"><fieldset class="cbi-section-node">
<div class="cbi-value">
- <label class="cbi-value-title"><%:username%></label>
+ <label class="cbi-value-title"><%:Username%></label>
<div class="cbi-value-field">
<input class="cbi-input-user" type="text" name="username" value="<%=duser%>" />
</div>
</div>
<div class="cbi-value">
- <label class="cbi-value-title"><%:password%></label>
+ <label class="cbi-value-title"><%:Password%></label>
<div class="cbi-value-field">
<input class="cbi-input-password" type="password" name="password" />
</div>
</div>
<div>
- <input type="submit" value="<%:login%>" class="cbi-button cbi-button-apply" />
- <input type="reset" value="<%:reset%>" class="cbi-button cbi-button-reset" />
+ <input type="submit" value="<%:Login%>" class="cbi-button cbi-button-apply" />
+ <input type="reset" value="<%:Reset%>" class="cbi-button cbi-button-reset" />
</div>
</form>
<%+footer%>
local page = node("admin")
page.target = alias("admin", "index")
- page.title = i18n("administration", "Administration")
+ page.title = i18n("Administration")
page.order = 10
page.i18n = "admin-core"
page.sysauth = "root"
local page = node("admin", "index")
page.target = template("admin_index/index")
- page.title = i18n("overview", "Ãœbersicht")
+ page.title = i18n("Overview")
page.order = 10
page.index = true
local page = node("admin", "index", "luci")
page.target = cbi("admin_index/luci")
- page.title = i18n("a_i_ui", "Oberfläche")
+ page.title = i18n("User Interface")
page.order = 10
- entry({"admin", "index", "components"}, call("redir_components"), i18n("luci_components", "LuCI Components"), 20)
- entry({"admin", "index", "logout"}, call("action_logout"), i18n("logout"), 90)
+ entry({"admin", "index", "components"}, call("redir_components"), i18n("LuCI Components"), 20)
+ entry({"admin", "index", "logout"}, call("action_logout"), i18n("Logout"), 90)
end
function redir_components()
local page = node("admin", "network")
page.target = alias("admin", "network", "network")
- page.title = i18n("network")
+ page.title = i18n("Network")
page.order = 50
page.index = true
local page = node("admin", "network", "vlan")
page.target = cbi("admin_network/vlan")
- page.title = i18n("a_n_switch")
+ page.title = i18n("Switch")
page.order = 20
- local page = entry({"admin", "network", "wireless"}, arcombine(template("admin_network/wifi_overview"), cbi("admin_network/wifi")), i18n("wifi"), 15)
+ local page = entry({"admin", "network", "wireless"}, arcombine(template("admin_network/wifi_overview"), cbi("admin_network/wifi")), i18n("Wifi"), 15)
page.i18n = "wifi"
page.leaf = true
page.subindex = true
page.i18n = "wifi"
page.leaf = true
- local page = entry({"admin", "network", "network"}, arcombine(cbi("admin_network/network"), cbi("admin_network/ifaces")), i18n("interfaces", "Schnittstellen"), 10)
+ local page = entry({"admin", "network", "network"}, arcombine(cbi("admin_network/network"), cbi("admin_network/ifaces")), i18n("Interfaces"), 10)
page.leaf = true
page.subindex = true
entry(
{"admin", "network", "dhcp", "leases"},
cbi("admin_network/dhcpleases"),
- i18n("dhcp_leases")
+ i18n("Leases")
)
local page = node("admin", "network", "hosts")
page.target = cbi("admin_network/hosts")
- page.title = i18n("hostnames", "Hostnames")
+ page.title = i18n("Hostnames")
page.order = 40
local page = node("admin", "network", "routes")
page.target = cbi("admin_network/routes")
- page.title = i18n("a_n_routes_static")
+ page.title = i18n("Static Routes")
page.order = 50
end
local page = node("admin", "services", "crontab")
page.target = form("admin_services/crontab")
- page.title = i18n("a_s_crontab")
+ page.title = i18n("Scheduled Tasks")
page.order = 50
local page = node("admin", "services")
page.target = template("admin_services/index")
- page.title = i18n("services", "Dienste")
+ page.title = i18n("Services")
page.order = 40
page.index = true
luci.i18n.loadc("admin-core")
local i18n = luci.i18n.translate
- entry({"admin", "status"}, template("admin_status/index"), i18n("status", "Status"), 20).index = true
- entry({"admin", "status", "interfaces"}, template("admin_status/interfaces"), i18n("interfaces", "Interfaces"), 1)
- entry({"admin", "status", "iptables"}, call("action_iptables"), i18n("a_s_ipt", "Firewall"), 2)
- entry({"admin", "status", "conntrack"}, template("admin_status/conntrack"), i18n("a_n_conntrack"), 3)
- entry({"admin", "status", "routes"}, template("admin_status/routes"), i18n("a_n_routes"), 4)
- entry({"admin", "status", "syslog"}, call("action_syslog"), i18n("syslog", "System Log"), 5)
- entry({"admin", "status", "dmesg"}, call("action_dmesg"), i18n("dmesg", "Kernel Log"), 6)
+ entry({"admin", "status"}, template("admin_status/index"), i18n("Status"), 20).index = true
+ entry({"admin", "status", "interfaces"}, template("admin_status/interfaces"), i18n("Interfaces"), 1)
+ entry({"admin", "status", "iptables"}, call("action_iptables"), i18n("Firewall"), 2)
+ entry({"admin", "status", "conntrack"}, template("admin_status/conntrack"), i18n("Active Connections"), 3)
+ entry({"admin", "status", "routes"}, template("admin_status/routes"), i18n("Routes"), 4)
+ entry({"admin", "status", "syslog"}, call("action_syslog"), i18n("System Log"), 5)
+ entry({"admin", "status", "dmesg"}, call("action_dmesg"), i18n("Kernel Log"), 6)
end
luci.i18n.loadc("admin-core")
local i18n = luci.i18n.translate
- entry({"admin", "system"}, alias("admin", "system", "system"), i18n("system"), 30).index = true
- entry({"admin", "system", "system"}, cbi("admin_system/system"), i18n("system"), 1)
- entry({"admin", "system", "packages"}, call("action_packages"), i18n("a_s_packages"), 10)
+ entry({"admin", "system"}, alias("admin", "system", "system"), i18n("System"), 30).index = true
+ entry({"admin", "system", "system"}, cbi("admin_system/system"), i18n("System"), 1)
+ entry({"admin", "system", "packages"}, call("action_packages"), i18n("Software"), 10)
entry({"admin", "system", "packages", "ipkg"}, form("admin_system/ipkg"))
- entry({"admin", "system", "passwd"}, form("admin_system/passwd"), i18n("a_s_changepw"), 20)
- entry({"admin", "system", "sshkeys"}, form("admin_system/sshkeys"), i18n("a_s_sshkeys"), 30)
- entry({"admin", "system", "processes"}, form("admin_system/processes"), i18n("process_head"), 45)
- entry({"admin", "system", "fstab"}, cbi("admin_system/fstab"), i18n("a_s_fstab"), 50)
+ entry({"admin", "system", "passwd"}, form("admin_system/passwd"), i18n("Admin Password"), 20)
+ entry({"admin", "system", "sshkeys"}, form("admin_system/sshkeys"), i18n("<abbr title=\"Secure Shell\">SSH</abbr>-Keys"), 30)
+ entry({"admin", "system", "processes"}, form("admin_system/processes"), i18n("Processes"), 45)
+ entry({"admin", "system", "fstab"}, cbi("admin_system/fstab"), i18n("Mount Points"), 50)
if nixio.fs.access("/sys/class/leds") then
- entry({"admin", "system", "leds"}, cbi("admin_system/leds"), i18n("leds", "LEDs"), 60)
+ entry({"admin", "system", "leds"}, cbi("admin_system/leds"), i18n("<abbr title=\"Light Emitting Diode\">LED</abbr> Configuration"), 60)
end
- entry({"admin", "system", "backup"}, call("action_backup"), i18n("a_s_backup"), 70)
- entry({"admin", "system", "upgrade"}, call("action_upgrade"), i18n("admin_upgrade"), 80)
- entry({"admin", "system", "reboot"}, call("action_reboot"), i18n("reboot"), 90)
+ entry({"admin", "system", "backup"}, call("action_backup"), i18n("Backup / Restore"), 70)
+ entry({"admin", "system", "upgrade"}, call("action_upgrade"), i18n("Flash Firmware"), 80)
+ entry({"admin", "system", "reboot"}, call("action_reboot"), i18n("Reboot"), 90)
end
function action_packages()
local redir = luci.http.formvalue("redir", true) or
luci.dispatcher.build_url(unpack(luci.dispatcher.context.request))
- entry({"admin", "uci"}, nil, i18n("config"))
- entry({"admin", "uci", "changes"}, call("action_changes"), i18n("changes"), 40).query = {redir=redir}
- entry({"admin", "uci", "revert"}, call("action_revert"), i18n("revert"), 30).query = {redir=redir}
- entry({"admin", "uci", "apply"}, call("action_apply"), i18n("apply"), 20).query = {redir=redir}
- entry({"admin", "uci", "saveapply"}, call("action_apply"), i18n("saveapply"), 10).query = {redir=redir}
+ entry({"admin", "uci"}, nil, i18n("Configuration"))
+ entry({"admin", "uci", "changes"}, call("action_changes"), i18n("Changes"), 40).query = {redir=redir}
+ entry({"admin", "uci", "revert"}, call("action_revert"), i18n("Revert"), 30).query = {redir=redir}
+ entry({"admin", "uci", "apply"}, call("action_apply"), i18n("Apply"), 20).query = {redir=redir}
+ entry({"admin", "uci", "saveapply"}, call("action_apply"), i18n("Save & Apply"), 10).query = {redir=redir}
end
function convert_changes(changes)
$Id$
]]--
require("luci.config")
-m = Map("luci", translate("webui"), translate("a_i_luci1",
- "Hier können Eigenschaften und die Funktionalität der Oberfläche angepasst werden."))
+m = Map("luci", translate("Web <abbr title=\"User Interface\">UI</abbr>"), translate("Here you can customize the settings and the functionality of <abbr title=\"Lua Configuration Interface\">LuCI</abbr>."))
local fs = require "nixio.fs"
end
-c = m:section(NamedSection, "main", "core", translate("general"))
+c = m:section(NamedSection, "main", "core", translate("General"))
-l = c:option(ListValue, "lang", translate("language"))
+l = c:option(ListValue, "lang", translate("Language"))
l:value("auto")
local i18ndir = luci.i18n.i18ndir .. "default."
end
end
-t = c:option(ListValue, "mediaurlbase", translate("design"))
+t = c:option(ListValue, "mediaurlbase", translate("Design"))
for k, v in pairs(luci.config.themes) do
if k:sub(1, 1) ~= "." then
t:value(v, k)
end
end
-u = m:section(NamedSection, "uci_oncommit", "event", translate("a_i_ucicommit"),
- translate("a_i_ucicommit1"))
+u = m:section(NamedSection, "uci_oncommit", "event", translate("Post-commit actions"),
+ translate("These commands will be executed automatically when a given <abbr title=\"Unified Configuration Interface\">UCI</abbr> configuration is committed allowing changes to be applied instantly."))
u.dynamic = true
-f = m:section(NamedSection, "flash_keep", "extern", translate("a_i_keepflash"),
- translate("a_i_keepflash1"))
+f = m:section(NamedSection, "flash_keep", "extern", translate("Files to be kept when flashing a new firmware"),
+ translate("When flashing a new firmware with <abbr title=\"Lua Configuration Interface\">LuCI</abbr> these files will be added to the new firmware installation."))
f.dynamic = true
return m
s.addremove = true
s.anonymous = true
-iface = s:option(ListValue, "interface", translate("interface"))
+iface = s:option(ListValue, "interface", translate("Interface"))
luci.tools.webadmin.cbi_add_networks(iface)
local uci = luci.model.uci.cursor()
s:depends("interface", section[".name"])
end)
-s:option(Value, "start", translate("start")).rmempty = true
+s:option(Value, "start", translate("Start")).rmempty = true
-s:option(Value, "limit", translate("limit")).rmempty = true
+s:option(Value, "limit", translate("Limit")).rmempty = true
s:option(Value, "leasetime").rmempty = true
return Flag.cfgvalue(self, section) or "1"
end
-s:option(Value, "name", translate("name")).optional = true
+s:option(Value, "name", translate("Name")).optional = true
ignore = s:option(Flag, "ignore")
ignore.optional = true
-s:option(Value, "netmask", translate("netmask")).optional = true
+s:option(Value, "netmask", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask")).optional = true
s:option(Flag, "force").optional = true
local wa = require "luci.tools.webadmin"
local fs = require "nixio.fs"
-m2 = Map("luci_ethers", translate("dhcp_leases"))
+m2 = Map("luci_ethers", translate("Leases"))
local leasefn, leasefp, leases
uci:foreach("dhcp", "dnsmasq",
end
if leases then
- v = m2:section(Table, leases, translate("dhcp_leases_active"))
- ip = v:option(DummyValue, 3, translate("ipaddress"))
+ v = m2:section(Table, leases, translate("Active Leases"))
+ ip = v:option(DummyValue, 3, translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"))
- mac = v:option(DummyValue, 2, translate("macaddress"))
+ mac = v:option(DummyValue, 2, translate("<abbr title=\"Media Access Control\">MAC</abbr>-Address"))
- ltime = v:option(DummyValue, 1, translate("dhcp_timeremain"))
+ ltime = v:option(DummyValue, 1, translate("Leasetime remaining"))
function ltime.cfgvalue(self, ...)
local value = DummyValue.cfgvalue(self, ...)
return wa.date_format(os.difftime(tonumber(value), os.time()))
end
end
-s = m2:section(TypedSection, "static_lease", translate("luci_ethers"))
+s = m2:section(TypedSection, "static_lease", translate("Static Leases"))
s.addremove = true
s.anonymous = true
s.template = "cbi/tblsection"
-mac = s:option(Value, "macaddr", translate("macaddress"))
-ip = s:option(Value, "ipaddr", translate("ipaddress"))
+mac = s:option(Value, "macaddr", translate("<abbr title=\"Media Access Control\">MAC</abbr>-Address"))
+ip = s:option(Value, "ipaddr", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"))
sys.net.arptable(function(entry)
ip:value(entry["IP address"])
mac:value(
require("luci.sys")
require("luci.util")
-m = Map("luci_hosts", translate("hostnames"))
+m = Map("luci_hosts", translate("Hostnames"))
-s = m:section(TypedSection, "host", translate("hostnames_entries"))
+s = m:section(TypedSection, "host", translate("Host entries"))
s.addremove = true
s.anonymous = true
s.template = "cbi/tblsection"
-hn = s:option(Value, "hostname", translate("hostnames_hostname"))
-ip = s:option(Value, "ipaddr", translate("hostnames_address"))
+hn = s:option(Value, "hostname", translate("Hostname"))
+ip = s:option(Value, "ipaddr", translate("IP address"))
for i, dataset in ipairs(luci.sys.net.arptable()) do
ip:value(
dataset["IP address"],
local fw = require "luci.model.firewall"
local uci = require "luci.model.uci".cursor()
-m = SimpleForm("network", translate("a_n_create", "Create Or Attach Network"),
- translate("a_n_c_desc",
- "If the interface is attached to an existing network it will be <em>bridged</em> " ..
+m = SimpleForm("network", translate("Create Or Attach Network"),
+ translate("If the interface is attached to an existing network it will be <em>bridged</em> " ..
"to the existing interfaces and is covered by the firewall zone of the choosen network.<br />" ..
"Uncheck the attach option to define a new standalone network for this interface."
))
nw.init(uci)
fw.init(uci)
-attachnet = m:field(Flag, "_attach", translate("a_n_c_attach", "Attach to existing network"))
+attachnet = m:field(Flag, "_attach", translate("Attach to existing network"))
attachnet.rmempty = false
attachnet.default = "1"
-newnet = m:field(Value, "_netname_new", translate("a_n_c_netname", "Name of the new network"),
- translate("a_n_c_netname_desc",
- "The allowed characters are: <code>A-Z</code>, <code>a-z</code>, " ..
+newnet = m:field(Value, "_netname_new", translate("Name of the new network"),
+ translate("The allowed characters are: <code>A-Z</code>, <code>a-z</code>, " ..
"<code>0-9</code> and <code>_</code>"
))
newnet.default = "net_" .. arg[1]:gsub("[^%w_]+", "_")
addnet = m:field(Value, "_netname_attach",
- translate("a_n_c_network", "Network to attach interface to"))
+ translate("Network to attach interface to"))
addnet.template = "cbi/network_netlist"
addnet.widget = "radio"
addnet:depends("_attach", "1")
fwzone = m:field(Value, "_fwzone",
- translate("network_interface_fwzone"),
- translate("network_interface_fwzone_desc"))
+ translate("Create / Assign firewall-zone"),
+ translate("Choose the firewall zone you want to assign to this interface. Select <em>unspecified</em> to remove the interface from the associated zone or fill out the <em>create</em> field to define a new zone and attach the interface to it."))
fwzone.template = "cbi/firewall_zonelist"
addnet.widget = "radio"
local has_pppoa = fs.glob("/usr/lib/pppd/*/pppoatm.so")()
local has_ipv6 = fs.access("/proc/net/ipv6_route")
-m = Map("network", translate("interfaces"), translate("a_n_ifaces1"))
+m = Map("network", translate("Interfaces"), translate("On this page you can configure the network interfaces. You can bridge several interfaces by ticking the \"bridge interfaces\" field and enter the names of several network interfaces separated by spaces. You can also use <abbr title=\"Virtual Local Area Network\">VLAN</abbr> notation <samp>INTERFACE.VLANNR</samp> (<abbr title=\"for example\">e.g.</abbr>: <samp>eth0.1</samp>)."))
m:chain("firewall")
m:chain("wireless")
s = m:section(NamedSection, arg[1], "interface")
s.addremove = false
-s:tab("general", translate("a_n_general", "General Setup"))
-if has_ipv6 then s:tab("ipv6", translate("a_n_ipv6", "IPv6 Setup")) end
-if has_pppd then s:tab("ppp", translate("a_n_ppp", "PPP Settings")) end
-s:tab("physical", translate("a_n_physical", "Physical Settings"))
-s:tab("firewall", translate("a_n_firewall", "Firewall Settings"))
+s:tab("general", translate("General Setup"))
+if has_ipv6 then s:tab("ipv6", translate("IPv6 Setup")) end
+if has_pppd then s:tab("ppp", translate("PPP Settings")) end
+s:tab("physical", translate("Physical Settings"))
+s:tab("firewall", translate("Firewall Settings"))
--[[
-back = s:taboption("general", DummyValue, "_overview", translate("overview"))
+back = s:taboption("general", DummyValue, "_overview", translate("Overview"))
back.value = ""
back.titleref = luci.dispatcher.build_url("admin", "network", "network")
]]
-p = s:taboption("general", ListValue, "proto", translate("protocol"))
+p = s:taboption("general", ListValue, "proto", translate("Protocol"))
p.override_scheme = true
p.default = "static"
p:value("static", translate("static"))
p:value("none", translate("none"))
if not ( has_pppd and has_pppoe and has_pppoa and has_3g and has_pptp ) then
- p.description = translate("network_interface_prereq")
+ p.description = translate("You need to install \"comgt\" for UMTS/GPRS, \"ppp-mod-pppoe\" for PPPoE, \"ppp-mod-pppoa\" for PPPoA or \"pptp\" for PPtP support")
end
-br = s:taboption("physical", Flag, "type", translate("a_n_i_bridge"), translate("a_n_i_bridge1"))
+br = s:taboption("physical", Flag, "type", translate("Bridge interfaces"), translate("creates a bridge over specified interface(s)"))
br.enabled = "bridge"
br.rmempty = true
-stp = s:taboption("physical", Flag, "stp", translate("a_n_i_stp"),
- translate("a_n_i_stp1", "Enables the Spanning Tree Protocol on this bridge"))
+stp = s:taboption("physical", Flag, "stp", translate("Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"),
+ translate("Enables the Spanning Tree Protocol on this bridge"))
stp:depends("type", "1")
stp.rmempty = true
-ifname_single = s:taboption("physical", Value, "ifname_single", translate("interface"))
+ifname_single = s:taboption("physical", Value, "ifname_single", translate("Interface"))
ifname_single.template = "cbi/network_ifacelist"
ifname_single.widget = "radio"
ifname_single.nobridges = true
end
-ifname_multi = s:taboption("physical", MultiValue, "ifname_multi", translate("interface"))
+ifname_multi = s:taboption("physical", MultiValue, "ifname_multi", translate("Interface"))
ifname_multi.template = "cbi/network_ifacelist"
ifname_multi.nobridges = true
ifname_multi.network = arg[1]
local fwd_to, fwd_from
fwzone = s:taboption("firewall", Value, "_fwzone",
- translate("network_interface_fwzone"),
- translate("network_interface_fwzone_desc"))
+ translate("Create / Assign firewall-zone"),
+ translate("Choose the firewall zone you want to assign to this interface. Select <em>unspecified</em> to remove the interface from the associated zone or fill out the <em>create</em> field to define a new zone and attach the interface to it."))
fwzone.template = "cbi/firewall_zonelist"
fwzone.network = arg[1]
end
-ipaddr = s:taboption("general", Value, "ipaddr", translate("ipaddress"))
+ipaddr = s:taboption("general", Value, "ipaddr", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"))
ipaddr.rmempty = true
ipaddr:depends("proto", "static")
-nm = s:taboption("general", Value, "netmask", translate("netmask"))
+nm = s:taboption("general", Value, "netmask", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"))
nm.rmempty = true
nm:depends("proto", "static")
nm:value("255.255.255.0")
nm:value("255.255.0.0")
nm:value("255.0.0.0")
-gw = s:taboption("general", Value, "gateway", translate("gateway"))
+gw = s:taboption("general", Value, "gateway", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Gateway"))
gw:depends("proto", "static")
gw.rmempty = true
-bcast = s:taboption("general", Value, "bcast", translate("broadcast"))
+bcast = s:taboption("general", Value, "bcast", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Broadcast"))
bcast:depends("proto", "static")
if has_ipv6 then
- ip6addr = s:taboption("ipv6", Value, "ip6addr", translate("ip6address"), translate("cidr6"))
+ ip6addr = s:taboption("ipv6", Value, "ip6addr", translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Address"), translate("<abbr title=\"Classless Inter-Domain Routing\">CIDR</abbr>-Notation: address/prefix"))
ip6addr:depends("proto", "static")
- ip6gw = s:taboption("ipv6", Value, "ip6gw", translate("gateway6"))
+ ip6gw = s:taboption("ipv6", Value, "ip6gw", translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Gateway"))
ip6gw:depends("proto", "static")
end
-dns = s:taboption("general", Value, "dns", translate("dnsserver"))
+dns = s:taboption("general", Value, "dns", translate("<abbr title=\"Domain Name System\">DNS</abbr>-Server"))
dns:depends("peerdns", "")
mtu = s:taboption("physical", Value, "mtu", "MTU")
mtu.isinteger = true
-mac = s:taboption("physical", Value, "macaddr", translate("macaddress"))
+mac = s:taboption("physical", Value, "macaddr", translate("<abbr title=\"Media Access Control\">MAC</abbr>-Address"))
-srv = s:taboption("general", Value, "server", translate("network_interface_server"))
+srv = s:taboption("general", Value, "server", translate("<abbr title=\"Point-to-Point Tunneling Protocol\">PPTP</abbr>-Server"))
srv:depends("proto", "pptp")
srv.rmempty = true
if has_3g then
- service = s:taboption("general", ListValue, "service", translate("network_interface_service"))
- service:value("", translate("cbi_select"))
+ service = s:taboption("general", ListValue, "service", translate("Service type"))
+ service:value("", translate("-- Please choose --"))
service:value("umts", "UMTS/GPRS")
service:value("cdma", "CDMA")
service:value("evdo", "EV-DO")
service:depends("proto", "3g")
service.rmempty = true
- apn = s:taboption("general", Value, "apn", translate("network_interface_apn"))
+ apn = s:taboption("general", Value, "apn", translate("Access point (APN)"))
apn:depends("proto", "3g")
pincode = s:taboption("general", Value, "pincode",
- translate("network_interface_pincode"),
- translate("network_interface_pincode_desc")
+ translate("PIN code"),
+ translate("Make sure that you provide the correct pin code here or you might lock your sim card!")
)
pincode:depends("proto", "3g")
end
if has_pppd or has_pppoe or has_pppoa or has_3g or has_pptp then
- user = s:taboption("general", Value, "username", translate("username"))
+ user = s:taboption("general", Value, "username", translate("Username"))
user.rmempty = true
user:depends("proto", "pptp")
user:depends("proto", "pppoe")
user:depends("proto", "ppp")
user:depends("proto", "3g")
- pass = s:taboption("general", Value, "password", translate("password"))
+ pass = s:taboption("general", Value, "password", translate("Password"))
pass.rmempty = true
pass.password = true
pass:depends("proto", "pptp")
pass:depends("proto", "3g")
ka = s:taboption("ppp", Value, "keepalive",
- translate("network_interface_keepalive"),
- translate("network_interface_keepalive_desc")
+ translate("Keep-Alive"),
+ translate("Number of failed connection tests to initiate automatic reconnect")
)
ka:depends("proto", "pptp")
ka:depends("proto", "pppoe")
ka:depends("proto", "3g")
demand = s:taboption("ppp", Value, "demand",
- translate("network_interface_demand"),
- translate("network_interface_demand_desc")
+ translate("Automatic Disconnect"),
+ translate("Time (in seconds) after which an unused connection will be closed")
)
demand:depends("proto", "pptp")
demand:depends("proto", "pppoe")
end
if has_pppoa then
- encaps = s:taboption("ppp", ListValue, "encaps", translate("network_interface_encaps"))
+ encaps = s:taboption("ppp", ListValue, "encaps", translate("PPPoA Encapsulation"))
encaps:depends("proto", "pppoa")
- encaps:value("", translate("cbi_select"))
+ encaps:value("", translate("-- Please choose --"))
encaps:value("vc", "VC")
encaps:value("llc", "LLC")
if has_pptp or has_pppd or has_pppoe or has_pppoa or has_3g then
device = s:taboption("general", Value, "device",
- translate("network_interface_device"),
- translate("network_interface_device_desc")
+ translate("Modem device"),
+ translate("The device node of your modem, e.g. /dev/ttyUSB0")
)
device:depends("proto", "ppp")
device:depends("proto", "3g")
defaultroute = s:taboption("ppp", Flag, "defaultroute",
- translate("network_interface_defaultroute"),
- translate("network_interface_defaultroute_desc")
+ translate("Replace default route"),
+ translate("Let pppd replace the current default route to use the PPP interface after successful connect")
)
defaultroute:depends("proto", "ppp")
defaultroute:depends("proto", "pppoa")
end
peerdns = s:taboption("ppp", Flag, "peerdns",
- translate("network_interface_peerdns"),
- translate("network_interface_peerdns_desc")
+ translate("Use peer DNS"),
+ translate("Configure the local DNS server to use the name servers adverticed by the PPP peer")
)
peerdns:depends("proto", "ppp")
peerdns:depends("proto", "pppoa")
end
if has_ipv6 then
- ipv6 = s:taboption("ppp", Flag, "ipv6", translate("network_interface_ipv6") )
+ ipv6 = s:taboption("ppp", Flag, "ipv6", translate("Enable IPv6 on PPP link") )
ipv6:depends("proto", "ppp")
ipv6:depends("proto", "pppoa")
ipv6:depends("proto", "pppoe")
end
connect = s:taboption("ppp", Value, "connect",
- translate("network_interface_connect"),
- translate("network_interface_connect_desc")
+ translate("Connect script"),
+ translate("Let pppd run this script after establishing the PPP link")
)
connect:depends("proto", "ppp")
connect:depends("proto", "pppoe")
connect:depends("proto", "3g")
disconnect = s:taboption("ppp", Value, "disconnect",
- translate("network_interface_disconnect"),
- translate("network_interface_disconnect_desc")
+ translate("Disconnect script"),
+ translate("Let pppd run this script before tearing down the PPP link")
)
disconnect:depends("proto", "ppp")
disconnect:depends("proto", "pppoe")
disconnect:depends("proto", "3g")
pppd_options = s:taboption("ppp", Value, "pppd_options",
- translate("network_interface_pppd_options"),
- translate("network_interface_pppd_options_desc")
+ translate("Additional pppd options"),
+ translate("Specify additional command line arguments for pppd here")
)
pppd_options:depends("proto", "ppp")
pppd_options:depends("proto", "pppoa")
pppd_options:depends("proto", "3g")
maxwait = s:taboption("ppp", Value, "maxwait",
- translate("network_interface_maxwait"),
- translate("network_interface_maxwait_desc")
+ translate("Setup wait time"),
+ translate("Seconds to wait for the modem to become ready before attempting to connect")
)
maxwait:depends("proto", "3g")
end
-s2 = m:section(TypedSection, "alias", translate("aliases"))
+s2 = m:section(TypedSection, "alias", translate("Aliases"))
s2.addremove = true
s2:depends("interface", arg[1])
s2.defaults.interface = arg[1]
-s2:tab("general", translate("a_n_general", "General Setup"))
+s2:tab("general", translate("General Setup"))
s2.defaults.proto = "static"
-s2:taboption("general", Value, "ipaddr", translate("ipaddress")).rmempty = true
+s2:taboption("general", Value, "ipaddr", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address")).rmempty = true
-nm = s2:taboption("general", Value, "netmask", translate("netmask"))
+nm = s2:taboption("general", Value, "netmask", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"))
nm.rmempty = true
nm:value("255.255.255.0")
nm:value("255.255.0.0")
nm:value("255.0.0.0")
-s2:taboption("general", Value, "gateway", translate("gateway")).rmempty = true
-s2:taboption("general", Value, "bcast", translate("broadcast"))
-s2:taboption("general", Value, "dns", translate("dnsserver"))
+s2:taboption("general", Value, "gateway", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Gateway")).rmempty = true
+s2:taboption("general", Value, "bcast", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Broadcast"))
+s2:taboption("general", Value, "dns", translate("<abbr title=\"Domain Name System\">DNS</abbr>-Server"))
if has_ipv6 then
- s2:tab("ipv6", translate("a_n_ipv6", "IPv6 Setup"))
- s2:taboption("ipv6", Value, "ip6addr", translate("ip6address"), translate("cidr6"))
- s2:taboption("ipv6", Value, "ip6gw", translate("gateway6"))
+ s2:tab("ipv6", translate("IPv6 Setup"))
+ s2:taboption("ipv6", Value, "ip6addr", translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Address"), translate("<abbr title=\"Classless Inter-Domain Routing\">CIDR</abbr>-Notation: address/prefix"))
+ s2:taboption("ipv6", Value, "ip6gw", translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Gateway"))
end
return m
local fs = require "nixio.fs"
local netstate = luci.model.uci.cursor_state():get_all("network")
-m = Map("network", translate("interfaces"))
+m = Map("network", translate("Interfaces"))
local created
local netstat = sys.net.deviceinfo()
os.execute(call .. " " .. section .. " >/dev/null 2>&1")
end
-ifname = s:option(DummyValue, "ifname", translate("device"))
+ifname = s:option(DummyValue, "ifname", translate("Device"))
function ifname.cfgvalue(self, section)
return netstate[section] and netstate[section].ifname
end
end
-ipaddr = s:option(DummyValue, "ipaddr", translate("addresses"))
+ipaddr = s:option(DummyValue, "ipaddr", translate("Addresses"))
function ipaddr.cfgvalue(self, section)
return table.concat(wa.network_get_addresses(section), ", ")
end
]]--
require("luci.tools.webadmin")
-m = Map("network", translate("a_n_routes"), translate("a_n_routes1"))
+m = Map("network", translate("Routes"), translate("a_n_routes1"))
local routes6 = luci.sys.net.routes6()
local bit = require "bit"
-s = m:section(TypedSection, "route", translate("a_n_routes_static4"))
+s = m:section(TypedSection, "route", translate("Static IPv4 Routes"))
s.addremove = true
s.anonymous = true
s.template = "cbi/tblsection"
-iface = s:option(ListValue, "interface", translate("interface"))
+iface = s:option(ListValue, "interface", translate("Interface"))
luci.tools.webadmin.cbi_add_networks(iface)
-s:option(Value, "target", translate("target"), translate("a_n_r_target1"))
-s:option(Value, "netmask", translate("netmask"), translate("a_n_r_netmask1")).rmemepty = true
-s:option(Value, "gateway", translate("gateway"))
+s:option(Value, "target", translate("Target"), translate("Host-<abbr title=\"Internet Protocol Address\">IP</abbr> or Network"))
+s:option(Value, "netmask", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"), translate("if target is a network")).rmemepty = true
+s:option(Value, "gateway", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Gateway"))
if routes6 then
- s = m:section(TypedSection, "route6", translate("a_n_routes_static6"))
+ s = m:section(TypedSection, "route6", translate("Static IPv6 Routes"))
s.addremove = true
s.anonymous = true
s.template = "cbi/tblsection"
- iface = s:option(ListValue, "interface", translate("interface"))
+ iface = s:option(ListValue, "interface", translate("Interface"))
luci.tools.webadmin.cbi_add_networks(iface)
- s:option(Value, "target", translate("target"), translate("a_n_r_target6"))
- s:option(Value, "gateway", translate("gateway6")).rmempty = true
+ s:option(Value, "target", translate("Target"), translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Address or Network (CIDR)"))
+ s:option(Value, "gateway", translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Gateway")).rmempty = true
end
$Id$
]]--
-m = Map("network", translate("a_n_switch"), translate("a_n_switch1"))
+m = Map("network", translate("Switch"), translate("The network ports on your router can be combined to several <abbr title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can communicate directly with each other. <abbr title=\"Virtual Local Area Network\">VLAN</abbr>s are often used to separate different network segments. Often there is by default one Uplink port for a connection to the next greater network like the internet and other ports for a local network."))
s = m:section(TypedSection, "switch", "")
arg[1] = arg[1] or ""
arg[2] = arg[2] or ""
-m = Map("wireless", translate("networks"), translate("a_w_networks1"))
+m = Map("wireless", translate("Networks"), translate("You can run several wifi networks with one device. Be aware that there are certain hardware and driverspecific restrictions. Normally you can operate 1 Ad-Hoc or up to 3 Master-Mode and 1 Client-Mode network simultaneously."))
m:chain("network")
local ifsection
end
end)
-s = m:section(NamedSection, arg[1], "wifi-device", translate("device") .. " " .. arg[1])
+s = m:section(NamedSection, arg[1], "wifi-device", translate("Device") .. " " .. arg[1])
s.addremove = false
-s:tab("general", translate("a_w_general", "General Setup"))
-s:tab("macfilter", translate("a_w_macfilter", "MAC-Filter"))
-s:tab("advanced", translate("a_w_advanced", "Advanced Settings"))
+s:tab("general", translate("General Setup"))
+s:tab("macfilter", translate("MAC-Filter"))
+s:tab("advanced", translate("Advanced Settings"))
--[[
-back = s:option(DummyValue, "_overview", translate("overview"))
+back = s:option(DummyValue, "_overview", translate("Overview"))
back.value = ""
back.titleref = luci.dispatcher.build_url("admin", "network", "wireless")
]]
return Flag.cfgvalue(self, section) or "0"
end
-s:taboption("general", DummyValue, "type", translate("type"))
+s:taboption("general", DummyValue, "type", translate("Type"))
local hwtype = m:get(arg[1], "type")
-- NanoFoo
local nsantenna = m:get(arg[1], "antenna")
-ch = s:taboption("general", Value, "channel", translate("a_w_channel"))
-ch:value("auto", translate("wifi_auto"))
+ch = s:taboption("general", Value, "channel", translate("Channel"))
+ch:value("auto", translate("auto"))
for c, f in luci.util.kspairs(luci.sys.wifi.channels()) do
ch:value(c, "%i (%.3f GHz)" %{ c, f })
end
if hwtype == "mac80211" then
tp = s:taboption("general",
(tx_powers and #tx_powers > 0) and ListValue or Value,
- "txpower", translate("a_w_txpwr"), "dBm")
+ "txpower", translate("Transmit Power"), "dBm")
tp.rmempty = true
for _, p in ipairs(iw and iw.txpwrlist or {}) do
if hwtype == "atheros" then
tp = s:taboption("general",
(#tx_powers > 0) and ListValue or Value,
- "txpower", translate("a_w_txpwr"), "dBm")
+ "txpower", translate("Transmit Power"), "dBm")
tp.rmempty = true
for _, p in ipairs(iw.txpwrlist) do
tp:value(p.dbm, "%i dBm (%i mW)" %{ p.dbm, p.mw })
end
- mode = s:taboption("advanced", ListValue, "hwmode", translate("mode"))
- mode:value("", translate("wifi_auto"))
+ mode = s:taboption("advanced", ListValue, "hwmode", translate("Mode"))
+ mode:value("", translate("auto"))
mode:value("11b", "802.11b")
mode:value("11g", "802.11g")
mode:value("11a", "802.11a")
mode:value("11bg", "802.11b+g")
mode:value("11gst", "802.11g + Turbo")
mode:value("11ast", "802.11a + Turbo")
- mode:value("fh", translate("wifi_fh"))
+ mode:value("fh", translate("Frequency Hopping"))
- s:taboption("advanced", Flag, "diversity", translate("wifi_diversity")).rmempty = false
+ s:taboption("advanced", Flag, "diversity", translate("Diversity")).rmempty = false
if not nsantenna then
- ant1 = s:taboption("advanced", ListValue, "txantenna", translate("wifi_txantenna"))
+ ant1 = s:taboption("advanced", ListValue, "txantenna", translate("Transmitter Antenna"))
ant1.widget = "radio"
ant1.orientation = "horizontal"
ant1:depends("diversity", "")
- ant1:value("0", translate("wifi_auto"))
- ant1:value("1", translate("wifi_ant1", "Antenna 1"))
- ant1:value("2", translate("wifi_ant2", "Antenna 2"))
+ ant1:value("0", translate("auto"))
+ ant1:value("1", translate("Antenna 1"))
+ ant1:value("2", translate("Antenna 2"))
- ant2 = s:taboption("advanced", ListValue, "rxantenna", translate("wifi_rxantenna"))
+ ant2 = s:taboption("advanced", ListValue, "rxantenna", translate("Receiver Antenna"))
ant2.widget = "radio"
ant2.orientation = "horizontal"
ant2:depends("diversity", "")
- ant2:value("0", translate("wifi_auto"))
- ant2:value("1", translate("wifi_ant1", "Antenna 1"))
- ant2:value("2", translate("wifi_ant2", "Antenna 2"))
+ ant2:value("0", translate("auto"))
+ ant2:value("1", translate("Antenna 1"))
+ ant2:value("2", translate("Antenna 2"))
else -- NanoFoo
- local ant = s:taboption("advanced", ListValue, "antenna", translate("wifi_txantenna"))
+ local ant = s:taboption("advanced", ListValue, "antenna", translate("Transmitter Antenna"))
ant:value("auto")
ant:value("vertical")
ant:value("horizontal")
ant:value("external")
end
- s:taboption("advanced", Value, "distance", translate("wifi_distance"),
- translate("wifi_distance_desc"))
- s:taboption("advanced", Value, "regdomain", translate("wifi_regdomain"))
- s:taboption("advanced", Value, "country", translate("wifi_country"))
- s:taboption("advanced", Flag, "outdoor", translate("wifi_outdoor"))
+ s:taboption("advanced", Value, "distance", translate("Distance Optimization"),
+ translate("Distance to farthest network member in meters."))
+ s:taboption("advanced", Value, "regdomain", translate("Regulatory Domain"))
+ s:taboption("advanced", Value, "country", translate("Country Code"))
+ s:taboption("advanced", Flag, "outdoor", translate("Outdoor Channels"))
- --s:option(Flag, "nosbeacon", translate("wifi_nosbeacon"))
+ --s:option(Flag, "nosbeacon", translate("Disable HW-Beacon timer"))
end
if hwtype == "broadcom" then
tp = s:taboption("general",
(#tx_powers > 0) and ListValue or Value,
- "txpower", translate("a_w_txpwr"), "dBm")
+ "txpower", translate("Transmit Power"), "dBm")
tp.rmempty = true
for _, p in ipairs(iw.txpwrlist) do
tp:value(p.dbm, "%i dBm (%i mW)" %{ p.dbm, p.mw })
end
- mp = s:taboption("macfilter", ListValue, "macfilter", translate("wifi_macpolicy"))
+ mp = s:taboption("macfilter", ListValue, "macfilter", translate("MAC-Address Filter"))
mp:value("", translate("disable"))
- mp:value("allow", translate("wifi_whitelist"))
- mp:value("deny", translate("wifi_blacklist"))
- ml = s:taboption("macfilter", DynamicList, "maclist", translate("wifi_maclist"))
+ mp:value("allow", translate("Allow listed only"))
+ mp:value("deny", translate("Allow all except listed"))
+ ml = s:taboption("macfilter", DynamicList, "maclist", translate("MAC-List"))
ml:depends({macfilter="allow"})
ml:depends({macfilter="deny"})
- ant1 = s:taboption("advanced", ListValue, "txantenna", translate("wifi_txantenna"))
+ ant1 = s:taboption("advanced", ListValue, "txantenna", translate("Transmitter Antenna"))
ant1.widget = "radio"
ant1:depends("diversity", "")
- ant1:value("3", translate("wifi_auto"))
- ant1:value("0", translate("wifi_ant1", "Antenna 1"))
- ant1:value("1", translate("wifi_ant2", "Antenna 2"))
+ ant1:value("3", translate("auto"))
+ ant1:value("0", translate("Antenna 1"))
+ ant1:value("1", translate("Antenna 2"))
- ant2 = s:taboption("advanced", ListValue, "rxantenna", translate("wifi_rxantenna"))
+ ant2 = s:taboption("advanced", ListValue, "rxantenna", translate("Receiver Antenna"))
ant2.widget = "radio"
ant2:depends("diversity", "")
- ant2:value("3", translate("wifi_auto"))
- ant2:value("0", translate("wifi_ant1", "Antenna 1"))
- ant2:value("1", translate("wifi_ant2", "Antenna 2"))
+ ant2:value("3", translate("auto"))
+ ant2:value("0", translate("Antenna 1"))
+ ant2:value("1", translate("Antenna 2"))
- s:taboption("advanced", Flag, "frameburst", translate("wifi_bursting"))
+ s:taboption("advanced", Flag, "frameburst", translate("Frame Bursting"))
- s:taboption("advanced", Value, "distance", translate("wifi_distance"))
+ s:taboption("advanced", Value, "distance", translate("Distance Optimization"))
--s:option(Value, "slottime", translate("wifi_slottime"))
- s:taboption("advanced", Value, "country", translate("wifi_country"))
- s:taboption("advanced", Value, "maxassoc", translate("wifi_maxassoc"))
+ s:taboption("advanced", Value, "country", translate("Country Code"))
+ s:taboption("advanced", Value, "maxassoc", translate("Connection Limit"))
end
--------------------- HostAP Device ---------------------
if hwtype == "prism2" then
- s:taboption("advanced", Value, "txpower", translate("a_w_txpwr"), "att units").rmempty = true
+ s:taboption("advanced", Value, "txpower", translate("Transmit Power"), "att units").rmempty = true
- s:taboption("advanced", Flag, "diversity", translate("wifi_diversity")).rmempty = false
+ s:taboption("advanced", Flag, "diversity", translate("Diversity")).rmempty = false
- s:taboption("advanced", Value, "txantenna", translate("wifi_txantenna"))
- s:taboption("advanced", Value, "rxantenna", translate("wifi_rxantenna"))
+ s:taboption("advanced", Value, "txantenna", translate("Transmitter Antenna"))
+ s:taboption("advanced", Value, "rxantenna", translate("Receiver Antenna"))
end
s.anonymous = true
s.defaults.device = arg[1]
- s:tab("general", translate("a_w_general", "General Setup"))
- s:tab("encryption", translate("a_w_security", "Wireless Security"))
- s:tab("macfilter", translate("a_w_macfilter", "MAC-Filter"))
- s:tab("advanced", translate("a_w_advanced", "Advanced Settings"))
+ s:tab("general", translate("General Setup"))
+ s:tab("encryption", translate("Wireless Security"))
+ s:tab("macfilter", translate("MAC-Filter"))
+ s:tab("advanced", translate("Advanced Settings"))
- s:taboption("general", Value, "ssid", translate("wifi_essid"))
+ s:taboption("general", Value, "ssid", translate("<abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"))
- mode = s:taboption("general", ListValue, "mode", translate("mode"))
+ mode = s:taboption("general", ListValue, "mode", translate("Mode"))
mode.override_values = true
- mode:value("ap", translate("a_w_ap"))
- mode:value("sta", translate("a_w_client"))
- mode:value("adhoc", translate("a_w_adhoc"))
+ mode:value("ap", translate("Access Point"))
+ mode:value("sta", translate("Client"))
+ mode:value("adhoc", translate("Ad-Hoc"))
- bssid = s:taboption("general", Value, "bssid", translate("wifi_bssid"))
+ bssid = s:taboption("general", Value, "bssid", translate("<abbr title=\"Basic Service Set Identifier\">BSSID</abbr>"))
- network = s:taboption("general", Value, "network", translate("network"), translate("a_w_network1"))
+ network = s:taboption("general", Value, "network", translate("Network"), translate("Add the Wifi network to physical network"))
network.rmempty = true
network.template = "cbi/network_netlist"
network.widget = "radio"
mode:value("mesh", "802.11s")
end
- mode:value("ahdemo", translate("a_w_ahdemo"))
- mode:value("monitor", translate("a_w_monitor"))
+ mode:value("ahdemo", translate("Pseudo Ad-Hoc (ahdemo)"))
+ mode:value("monitor", translate("Monitor"))
bssid:depends({mode="adhoc"})
- s:taboption("advanced", Value, "frag", translate("wifi_frag"))
- s:taboption("advanced", Value, "rts", translate("wifi_rts"))
+ s:taboption("advanced", Value, "frag", translate("Fragmentation Threshold"))
+ s:taboption("advanced", Value, "rts", translate("RTS/CTS Threshold"))
end
-------------------- Madwifi Interface ----------------------
if hwtype == "atheros" then
- mode:value("ahdemo", translate("a_w_ahdemo"))
- mode:value("monitor", translate("a_w_monitor"))
- mode:value("ap-wds", "%s (%s)" % {translate("a_w_ap"), translate("a_w_wds")})
- mode:value("sta-wds", "%s (%s)" % {translate("a_w_client"), translate("a_w_wds")})
+ mode:value("ahdemo", translate("Pseudo Ad-Hoc (ahdemo)"))
+ mode:value("monitor", translate("Monitor"))
+ mode:value("ap-wds", "%s (%s)" % {translate("Access Point"), translate("WDS")})
+ mode:value("sta-wds", "%s (%s)" % {translate("Client"), translate("WDS")})
function mode.write(self, section, value)
if value == "ap-wds" then
bssid:depends({mode="adhoc"})
bssid:depends({mode="ahdemo"})
- wdssep = s:taboption("advanced", Flag, "wdssep", translate("wifi_wdssep"))
+ wdssep = s:taboption("advanced", Flag, "wdssep", translate("Separate WDS"))
wdssep:depends({mode="ap-wds"})
s:taboption("advanced", Flag, "doth", "802.11h")
- hidden = s:taboption("general", Flag, "hidden", translate("wifi_hidden"))
+ hidden = s:taboption("general", Flag, "hidden", translate("Hide <abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"))
hidden:depends({mode="ap"})
hidden:depends({mode="adhoc"})
hidden:depends({mode="ap-wds"})
isolate = s:taboption("advanced", Flag, "isolate", translate("wifi_isolate"),
translate("wifi_isolate_desc"))
isolate:depends({mode="ap"})
- s:taboption("advanced", Flag, "bgscan", translate("wifi_bgscan"))
+ s:taboption("advanced", Flag, "bgscan", translate("Background Scan"))
- mp = s:taboption("macfilter", ListValue, "macpolicy", translate("wifi_macpolicy"))
+ mp = s:taboption("macfilter", ListValue, "macpolicy", translate("MAC-Address Filter"))
mp:value("", translate("disable"))
- mp:value("deny", translate("wifi_whitelist"))
- mp:value("allow", translate("wifi_blacklist"))
- ml = s:taboption("macfilter", DynamicList, "maclist", translate("wifi_maclist"))
+ mp:value("deny", translate("Allow listed only"))
+ mp:value("allow", translate("Allow all except listed"))
+ ml = s:taboption("macfilter", DynamicList, "maclist", translate("MAC-List"))
ml:depends({macpolicy="allow"})
ml:depends({macpolicy="deny"})
- s:taboption("advanced", Value, "rate", translate("wifi_rate"))
- s:taboption("advanced", Value, "mcast_rate", translate("wifi_mcast_rate"))
- s:taboption("advanced", Value, "frag", translate("wifi_frag"))
- s:taboption("advanced", Value, "rts", translate("wifi_rts"))
- s:taboption("advanced", Value, "minrate", translate("wifi_minrate"))
- s:taboption("advanced", Value, "maxrate", translate("wifi_maxrate"))
- s:taboption("advanced", Flag, "compression", translate("wifi_compression"))
+ s:taboption("advanced", Value, "rate", translate("Transmission Rate"))
+ s:taboption("advanced", Value, "mcast_rate", translate("Multicast Rate"))
+ s:taboption("advanced", Value, "frag", translate("Fragmentation Threshold"))
+ s:taboption("advanced", Value, "rts", translate("RTS/CTS Threshold"))
+ s:taboption("advanced", Value, "minrate", translate("Minimum Rate"))
+ s:taboption("advanced", Value, "maxrate", translate("Maximum Rate"))
+ s:taboption("advanced", Flag, "compression", translate("Compression"))
- s:taboption("advanced", Flag, "bursting", translate("wifi_bursting"))
- s:taboption("advanced", Flag, "turbo", translate("wifi_turbo"))
- s:taboption("advanced", Flag, "ff", translate("wifi_ff"))
+ s:taboption("advanced", Flag, "bursting", translate("Frame Bursting"))
+ s:taboption("advanced", Flag, "turbo", translate("Turbo Mode"))
+ s:taboption("advanced", Flag, "ff", translate("Fast Frames"))
- s:taboption("advanced", Flag, "wmm", translate("wifi_wmm"))
- s:taboption("advanced", Flag, "xr", translate("wifi_xr"))
- s:taboption("advanced", Flag, "ar", translate("wifi_ar"))
+ s:taboption("advanced", Flag, "wmm", translate("WMM Mode"))
+ s:taboption("advanced", Flag, "xr", translate("XR Support"))
+ s:taboption("advanced", Flag, "ar", translate("AR Support"))
- local swm = s:taboption("advanced", Flag, "sw_merge", translate("wifi_nosbeacon"))
+ local swm = s:taboption("advanced", Flag, "sw_merge", translate("Disable HW-Beacon timer"))
swm:depends({mode="adhoc"})
- local nos = s:taboption("advanced", Flag, "nosbeacon", translate("wifi_nosbeacon"))
+ local nos = s:taboption("advanced", Flag, "nosbeacon", translate("Disable HW-Beacon timer"))
nos:depends({mode="sta"})
nos:depends({mode="sta-wds"})
- local probereq = s:taboption("advanced", Flag, "probereq", translate("wifi_noprobereq"))
+ local probereq = s:taboption("advanced", Flag, "probereq", translate("Do not send probe responses"))
probereq.enabled = "0"
probereq.disabled = "1"
end
-------------------- Broadcom Interface ----------------------
if hwtype == "broadcom" then
- mode:value("wds", translate("a_w_wds"))
- mode:value("monitor", translate("a_w_monitor"))
+ mode:value("wds", translate("WDS"))
+ mode:value("monitor", translate("Monitor"))
- hidden = s:taboption("general", Flag, "hidden", translate("wifi_hidden"))
+ hidden = s:taboption("general", Flag, "hidden", translate("Hide <abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"))
hidden:depends({mode="ap"})
hidden:depends({mode="adhoc"})
hidden:depends({mode="wds"})
isolate:depends({mode="ap"})
s:taboption("advanced", Flag, "doth", "802.11h")
- s:taboption("advanced", Flag, "wmm", translate("wifi_wmm"))
+ s:taboption("advanced", Flag, "wmm", translate("WMM Mode"))
bssid:depends({mode="wds"})
bssid:depends({mode="adhoc"})
----------------------- HostAP Interface ---------------------
if hwtype == "prism2" then
- mode:value("wds", translate("a_w_wds"))
- mode:value("monitor", translate("a_w_monitor"))
+ mode:value("wds", translate("WDS"))
+ mode:value("monitor", translate("Monitor"))
- hidden = s:taboption("general", Flag, "hidden", translate("wifi_hidden"))
+ hidden = s:taboption("general", Flag, "hidden", translate("Hide <abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"))
hidden:depends({mode="ap"})
hidden:depends({mode="adhoc"})
hidden:depends({mode="wds"})
bssid:depends({mode="sta"})
- mp = s:taboption("macfilter", ListValue, "macpolicy", translate("wifi_macpolicy"))
+ mp = s:taboption("macfilter", ListValue, "macpolicy", translate("MAC-Address Filter"))
mp:value("", translate("disable"))
- mp:value("deny", translate("wifi_whitelist"))
- mp:value("allow", translate("wifi_blacklist"))
- ml = s:taboption("macfilter", DynamicList, "maclist", translate("wifi_maclist"))
+ mp:value("deny", translate("Allow listed only"))
+ mp:value("allow", translate("Allow all except listed"))
+ ml = s:taboption("macfilter", DynamicList, "maclist", translate("MAC-List"))
ml:depends({macpolicy="allow"})
ml:depends({macpolicy="deny"})
- s:taboption("advanced", Value, "rate", translate("wifi_rate"))
- s:taboption("advanced", Value, "frag", translate("wifi_frag"))
- s:taboption("advanced", Value, "rts", translate("wifi_rts"))
+ s:taboption("advanced", Value, "rate", translate("Transmission Rate"))
+ s:taboption("advanced", Value, "frag", translate("Fragmentation Threshold"))
+ s:taboption("advanced", Value, "rts", translate("RTS/CTS Threshold"))
end
------------------- WiFI-Encryption -------------------
- encr = s:taboption("encryption", ListValue, "encryption", translate("encryption"))
+ encr = s:taboption("encryption", ListValue, "encryption", translate("Encryption"))
encr.override_values = true
encr:depends({mode="ap"})
encr:depends({mode="sta"})
encr:depends("mode", "sta-wds")
encr:depends("mode", "wds")
- server = s:taboption("encryption", Value, "server", translate("a_w_radiussrv"))
+ server = s:taboption("encryption", Value, "server", translate("RadiusServer"))
server:depends({mode="ap", encryption="wpa"})
server:depends({mode="ap", encryption="wpa2"})
server.rmempty = true
- port = s:taboption("encryption", Value, "port", translate("a_w_radiusport"))
+ port = s:taboption("encryption", Value, "port", translate("Radius-Port"))
port:depends({mode="ap", encryption="wpa"})
port:depends({mode="ap", encryption="wpa2"})
port.rmempty = true
- key = s:taboption("encryption", Value, "key", translate("key"))
+ key = s:taboption("encryption", Value, "key", translate("Key"))
key:depends("encryption", "wep")
key:depends("encryption", "psk")
key:depends("encryption", "psk2")
key.password = true
if hwtype == "atheros" or hwtype == "mac80211" or hwtype == "prism2" then
- nasid = s:taboption("encryption", Value, "nasid", translate("a_w_nasid"))
+ nasid = s:taboption("encryption", Value, "nasid", translate("NAS ID"))
nasid:depends({mode="ap", encryption="wpa"})
nasid:depends({mode="ap", encryption="wpa2"})
nasid.rmempty = true
- eaptype = s:taboption("encryption", ListValue, "eap_type", translate("a_w_eaptype"))
+ eaptype = s:taboption("encryption", ListValue, "eap_type", translate("EAP-Method"))
eaptype:value("TLS")
eaptype:value("TTLS")
eaptype:value("PEAP")
eaptype:depends({mode="sta", encryption="wpa"})
eaptype:depends({mode="sta", encryption="wpa2"})
- cacert = s:taboption("encryption", FileUpload, "ca_cert", translate("a_w_cacert"))
+ cacert = s:taboption("encryption", FileUpload, "ca_cert", translate("Path to CA-Certificate"))
cacert:depends({mode="sta", encryption="wpa"})
cacert:depends({mode="sta", encryption="wpa2"})
- privkey = s:taboption("encryption", FileUpload, "priv_key", translate("a_w_tlsprivkey"))
+ privkey = s:taboption("encryption", FileUpload, "priv_key", translate("Path to Private Key"))
privkey:depends({mode="sta", eap_type="TLS", encryption="wpa2"})
privkey:depends({mode="sta", eap_type="TLS", encryption="wpa"})
- privkeypwd = s:taboption("encryption", Value, "priv_key_pwd", translate("a_w_tlsprivkeypwd"))
+ privkeypwd = s:taboption("encryption", Value, "priv_key_pwd", translate("Password of Private Key"))
privkeypwd:depends({mode="sta", eap_type="TLS", encryption="wpa2"})
privkeypwd:depends({mode="sta", eap_type="TLS", encryption="wpa"})
- auth = s:taboption("encryption", Value, "auth", translate("a_w_peapauth"))
+ auth = s:taboption("encryption", Value, "auth", translate("Authentication"))
auth:value("PAP")
auth:value("CHAP")
auth:value("MSCHAP")
auth:depends({mode="sta", eap_type="TTLS", encryption="wpa"})
- identity = s:taboption("encryption", Value, "identity", translate("a_w_peapidentity"))
+ identity = s:taboption("encryption", Value, "identity", translate("Identity"))
identity:depends({mode="sta", eap_type="PEAP", encryption="wpa2"})
identity:depends({mode="sta", eap_type="PEAP", encryption="wpa"})
identity:depends({mode="sta", eap_type="TTLS", encryption="wpa2"})
identity:depends({mode="sta", eap_type="TTLS", encryption="wpa"})
- password = s:taboption("encryption", Value, "password", translate("a_w_peappassword"))
+ password = s:taboption("encryption", Value, "password", translate("Password"))
password:depends({mode="sta", eap_type="PEAP", encryption="wpa2"})
password:depends({mode="sta", eap_type="PEAP", encryption="wpa"})
password:depends({mode="sta", eap_type="TTLS", encryption="wpa2"})
end
-m = SimpleForm("wireless", translate("wifi"))
+m = SimpleForm("wireless", translate("Wifi"))
-s = m:section(Table, ifaces, translate("networks"))
+s = m:section(Table, ifaces, translate("Networks"))
function s.extedit(self, section)
local device = self.map:get(section, "device") or ""
return luci.dispatcher.build_url(unpack(luci.dispatcher.context.requested.path)) .. "/" .. device
end
-link = s:option(DummyValue, "_link", translate("link"))
+link = s:option(DummyValue, "_link", translate("Link"))
function link.cfgvalue(self, section)
local ifname = self.map:get(section, "ifname")
return wifidata[ifname] and wifidata[ifname]["Link Quality"] or "-"
or wifidata[ifname]["Access Point"])) or "-"
end
-channel = s:option(DummyValue, "channel", translate("channel"))
+channel = s:option(DummyValue, "channel", translate("Channel"))
function channel.cfgvalue(self, section)
return wireless[self.map:get(section, "device")].channel
end
-protocol = s:option(DummyValue, "_mode", translate("protocol"))
+protocol = s:option(DummyValue, "_mode", translate("Protocol"))
function protocol.cfgvalue(self, section)
local mode = wireless[self.map:get(section, "device")].mode
return mode and "802." .. mode
end
-mode = s:option(DummyValue, "mode", translate("mode"))
-encryption = s:option(DummyValue, "encryption", translate("iwscan_encr"))
+mode = s:option(DummyValue, "mode", translate("Mode"))
+encryption = s:option(DummyValue, "encryption", translate("<abbr title=\"Encrypted\">Encr.</abbr>"))
-power = s:option(DummyValue, "_power", translate("power"))
+power = s:option(DummyValue, "_power", translate("Power"))
function power.cfgvalue(self, section)
local ifname = self.map:get(section, "ifname")
return wifidata[ifname] and wifidata[ifname]["Tx-Power"] or "-"
end
-scan = s:option(Button, "_scan", translate("scan"))
+scan = s:option(Button, "_scan", translate("Scan"))
scan.inputstyle = "find"
function scan.cfgvalue(self, section)
return self.map:get(section, "ifname") or false
end
-t2 = m:section(Table, {}, translate("iwscan"), translate("iwscan1"))
+t2 = m:section(Table, {}, translate("<abbr title=\"Wireless Local Area Network\">WLAN</abbr>-Scan"), translate("Wifi networks in your local environment"))
function scan.write(self, section)
t2.render = t2._render
t2._render = t2.render
t2.render = function() end
-t2:option(DummyValue, "Quality", translate("iwscan_link"))
+t2:option(DummyValue, "Quality", translate("Link"))
essid = t2:option(DummyValue, "ESSID", "ESSID")
function essid.cfgvalue(self, section)
return luci.util.pcdata(self.map:get(section, "ESSID"))
end
t2:option(DummyValue, "Address", "BSSID")
-t2:option(DummyValue, "Mode", translate("mode"))
-chan = t2:option(DummyValue, "channel", translate("channel"))
+t2:option(DummyValue, "Mode", translate("Mode"))
+chan = t2:option(DummyValue, "channel", translate("Channel"))
function chan.cfgvalue(self, section)
return self.map:get(section, "Channel")
or self.map:get(section, "Frequency")
or "-"
end
-t2:option(DummyValue, "Encryption key", translate("iwscan_encr"))
+t2:option(DummyValue, "Encryption key", translate("<abbr title=\"Encrypted\">Encr.</abbr>"))
-t2:option(DummyValue, "Signal level", translate("iwscan_signal"))
+t2:option(DummyValue, "Signal level", translate("Signal"))
-t2:option(DummyValue, "Noise level", translate("iwscan_noise"))
+t2:option(DummyValue, "Noise level", translate("Noise"))
-s2 = m:section(SimpleSection, translate("a_w_create"))
-create = s2:option(ListValue, "create", translate("device"))
-create:value("", translate("cbi_select"))
+s2 = m:section(SimpleSection, translate("Create Network"))
+create = s2:option(ListValue, "create", translate("Device"))
+create:value("", translate("-- Please choose --"))
for k, v in pairs(wireless) do
if v[".type"] == "wifi-device" then
create:value(k)
local fs = require "nixio.fs"
local cronfile = "/etc/crontabs/root"
-f = SimpleForm("crontab", translate("a_s_crontab"), translate("a_s_crontab1"))
+f = SimpleForm("crontab", translate("Scheduled Tasks"), translate("This is the system crontab in which scheduled tasks can be defined."))
t = f:field(TextValue, "crons")
t.rmempty = true
]]--
m = Map("dhcp", "Dnsmasq")
-s = m:section(TypedSection, "dnsmasq", translate("settings"))
+s = m:section(TypedSection, "dnsmasq", translate("Settings"))
s.anonymous = true
s:option(Flag, "domainneeded")
$Id$
]]--
-m = Map("dropbear", "Dropbear SSHd", translate("a_srv_dropbear1"))
+m = Map("dropbear", "Dropbear SSHd", translate("Dropbear offers <abbr title=\"Secure Shell\">SSH</abbr> network shell access and an integrated <abbr title=\"Secure Copy\">SCP</abbr> server"))
s = m:section(TypedSection, "dropbear", "")
s.anonymous = true
-port = s:option(Value, "Port", translate("port"))
+port = s:option(Value, "Port", translate("Port"))
port.isinteger = true
-pwauth = s:option(Flag, "PasswordAuth", translate("a_srv_d_pwauth"), translate("a_srv_d_pwauth1"))
+pwauth = s:option(Flag, "PasswordAuth", translate("Password authentication"), translate("Allow <abbr title=\"Secure Shell\">SSH</abbr> password authentication"))
pwauth.enabled = 'on'
pwauth.disabled = 'off'
pwauth.rmempty = false
$Id$
]]--
-m = Map("httpd", "Busybox HTTPd", translate("a_srv_http1"))
+m = Map("httpd", "Busybox HTTPd", translate("A small webserver which can be used to serve <abbr title=\"Lua Configuration Interface\">LuCI</abbr>."))
s = m:section(TypedSection, "httpd", "")
s.anonymous = true
s.addremove = true
-port = s:option(Value, "port", translate("port"))
+port = s:option(Value, "port", translate("Port"))
port.isinteger = true
-s:option(Value, "home", translate("a_srv_http_root"))
+s:option(Value, "home", translate("Document root"))
-config = s:option(Value, "c_file", translate("configfile"), translate("a_srv_http_config1"))
+config = s:option(Value, "c_file", translate("Configuration file"), translate("defaults to <code>/etc/httpd.conf</code>"))
config.rmempty = true
-realm = s:option(Value, "realm", translate("a_srv_http_authrealm"), translate("a_srv_http_authrealm1"))
+realm = s:option(Value, "realm", translate("Authentication Realm"), translate("The realm which will be displayed at the authentication prompt for protected pages."))
realm.rmempty = true
return m
$Id$
]]--
-m = Map("lucittpd", "LuCIttpd", translate("a_srv_lucittpd"))
+m = Map("lucittpd", "LuCIttpd", translate("A lightweight HTTP/1.1 webserver written in C and Lua designed to serve LuCI"))
s = m:section(NamedSection, "lucittpd", "lucittpd", "")
-s:option(Value, "port", translate("port"))
-s:option(Value, "root", translate("a_srv_http_root"))
-s:option(Value, "path", translate("a_srv_http_path"))
-s:option(Flag, "keepalive", translate("a_srv_http_keepalive"))
-s:option(Value, "timeout", translate("a_srv_http_timeout"))
+s:option(Value, "port", translate("Port"))
+s:option(Value, "root", translate("Document root"))
+s:option(Value, "path", translate("Plugin path"))
+s:option(Flag, "keepalive", translate("Enable Keep-Alive"))
+s:option(Value, "timeout", translate("Connection timeout"))
return m
end
-m = Map("fstab", translate("a_s_fstab"))
+m = Map("fstab", translate("Mount Points"))
local mounts = luci.sys.mounts()
-v = m:section(Table, mounts, translate("a_s_fstab_active"))
+v = m:section(Table, mounts, translate("Mounted file systems"))
-fs = v:option(DummyValue, "fs", translate("filesystem"))
+fs = v:option(DummyValue, "fs", translate("Filesystem"))
-mp = v:option(DummyValue, "mountpoint", translate("a_s_fstab_mountpoint"))
+mp = v:option(DummyValue, "mountpoint", translate("Mount Point"))
-avail = v:option(DummyValue, "avail", translate("a_s_fstab_avail"))
+avail = v:option(DummyValue, "avail", translate("Available"))
function avail.cfgvalue(self, section)
return luci.tools.webadmin.byte_format(
( tonumber(mounts[section].available) or 0 ) * 1024
)
end
-used = v:option(DummyValue, "used", translate("a_s_fstab_used"))
+used = v:option(DummyValue, "used", translate("Used"))
function used.cfgvalue(self, section)
return ( mounts[section].percent or "0%" ) .. " (" ..
luci.tools.webadmin.byte_format(
-mount = m:section(TypedSection, "mount", translate("a_s_fstab_mountpoints"), translate("a_s_fstab_mountpoints1"))
+mount = m:section(TypedSection, "mount", translate("Mount Points"), translate("Mount Points define at which point a memory device will be attached to the filesystem"))
mount.anonymous = true
mount.addremove = true
mount.template = "cbi/tblsection"
mount:option(Flag, "enabled", translate("enable")).rmempty = false
-dev = mount:option(Value, "device", translate("device"), translate("a_s_fstab_device1"))
+dev = mount:option(Value, "device", translate("Device"), translate("The device file of the memory or partition (<abbr title=\"for example\">e.g.</abbr> <code>/dev/sda1</code>)"))
for i, d in ipairs(devices) do
dev:value(d, size[d] and "%s (%s MB)" % {d, size[d]})
end
-mount:option(Value, "target", translate("a_s_fstab_mountpoint"))
-mount:option(Value, "fstype", translate("filesystem"), translate("a_s_fstab_fs1"))
-mount:option(Value, "options", translate("options"), translatef("manpage", "siehe '%s' manpage", "mount"))
+mount:option(Value, "target", translate("Mount Point"))
+mount:option(Value, "fstype", translate("Filesystem"), translate("The filesystem that was used to format the memory (<abbr title=\"for example\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem\">ext3</abbr></samp>)"))
+mount:option(Value, "options", translate("Options"), translatef("see \'%s\' manpage"%s' manpage", "mount"))
-swap = m:section(TypedSection, "swap", "SWAP", translate("a_s_fstab_swap1"))
+swap = m:section(TypedSection, "swap", "SWAP", translate("If your physical memory is insufficient unused data can be temporarily swapped to a swap-device resulting in a higher amount of usable <abbr title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very slow process as the swap-device cannot be accessed with the high datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."))
swap.anonymous = true
swap.addremove = true
swap.template = "cbi/tblsection"
swap:option(Flag, "enabled", translate("enable")).rmempty = false
-dev = swap:option(Value, "device", translate("device"), translate("a_s_fstab_device1"))
+dev = swap:option(Value, "device", translate("Device"), translate("The device file of the memory or partition (<abbr title=\"for example\">e.g.</abbr> <code>/dev/sda1</code>)"))
for i, d in ipairs(devices) do
dev:value(d, size[d] and "%s (%s MB)" % {d, size[d]})
end
]]--
local ipkgfile = "/etc/opkg.conf"
-f = SimpleForm("ipkgconf", translate("a_s_p_ipkg"))
+f = SimpleForm("ipkgconf", translate("OPKG-Configuration"))
t = f:field(TextValue, "lines")
t.rows = 10
$Id$
]]--
-m = Map("system", translate("leds"), translate("leds_desc"))
+m = Map("system", translate("<abbr title=\"Light Emitting Diode\">LED</abbr> Configuration"), translate("Customizes the behaviour of the device <abbr title=\"Light Emitting Diode\">LED</abbr>s if possible."))
local sysfs_path = "/sys/class/leds/"
local leds = {}
mode = s:option(MultiValue, "mode")
mode.rmempty = true
mode:depends("trigger", "netdev")
-mode:value("link", translate("system_led_mode_link"))
-mode:value("tx", translate("system_led_mode_tx"))
-mode:value("rx", translate("system_led_mode_rx"))
+mode:value("link", translate("Link On"))
+mode:value("tx", translate("Transmit"))
+mode:value("rx", translate("Receive"))
return m
$Id$
]]--
-f = SimpleForm("password", translate("a_s_changepw"), translate("a_s_changepw1"))
+f = SimpleForm("password", translate("Admin Password"), translate("Change the password of the system administrator (User <code>root</code>)"))
-pw1 = f:field(Value, "pw1", translate("password"))
+pw1 = f:field(Value, "pw1", translate("Password"))
pw1.password = true
pw1.rmempty = false
-pw2 = f:field(Value, "pw2", translate("confirmation"))
+pw2 = f:field(Value, "pw2", translate("Confirmation"))
pw2.password = true
pw2.rmempty = false
local stat = luci.sys.user.setpasswd("root", data.pw1) == 0
if stat then
- f.message = translate("a_s_changepw_changed")
+ f.message = translate("Password successfully changed")
else
- f.errmessage = translate("unknownerror")
+ f.errmessage = translate("Unknown Error")
end
data.pw1 = nil
$Id$
]]--
-f = SimpleForm("processes", translate("process_head"), translate("process_descr"))
+f = SimpleForm("processes", translate("Processes"), translate("This list gives an overview over currently running system processes and their status."))
f.reset = false
f.submit = false
t = f:section(Table, luci.sys.process.list())
-t:option(DummyValue, "PID", translate("process_pid"))
-t:option(DummyValue, "USER", translate("process_owner"))
-t:option(DummyValue, "COMMAND", translate("process_command"))
-t:option(DummyValue, "%CPU", translate("process_cpu"))
-t:option(DummyValue, "%MEM", translate("process_mem"))
+t:option(DummyValue, "PID", translate("PID"))
+t:option(DummyValue, "USER", translate("Owner"))
+t:option(DummyValue, "COMMAND", translate("Command"))
+t:option(DummyValue, "%CPU", translate("CPU usage (%)"))
+t:option(DummyValue, "%MEM", translate("Memory usage (%)"))
-hup = t:option(Button, "_hup", translate("process_hup"))
+hup = t:option(Button, "_hup", translate("Hang Up"))
hup.inputstyle = "reload"
function hup.write(self, section)
null, self.tag_error[section] = luci.sys.process.signal(section, 1)
end
-term = t:option(Button, "_term", translate("process_term"))
+term = t:option(Button, "_term", translate("Terminate"))
term.inputstyle = "remove"
function term.write(self, section)
null, self.tag_error[section] = luci.sys.process.signal(section, 15)
end
-kill = t:option(Button, "_kill", translate("process_kill"))
+kill = t:option(Button, "_kill", translate("Kill"))
kill.inputstyle = "reset"
function kill.write(self, section)
null, self.tag_error[section] = luci.sys.process.signal(section, 9)
]]--
local keyfile = "/etc/dropbear/authorized_keys"
-f = SimpleForm("sshkeys", translate("a_s_sshkeys"), translate("a_s_sshkeys1"))
+f = SimpleForm("sshkeys", translate("<abbr title=\"Secure Shell\">SSH</abbr>-Keys"), translate("Here you can paste public <abbr title=\"Secure Shell\">SSH</abbr>-Keys (one per line) for <abbr title=\"Secure Shell\">SSH</abbr> public-key authentication."))
t = f:field(TextValue, "keys")
t.rmempty = true
require("luci.sys.zoneinfo")
require("luci.tools.webadmin")
-m = Map("system", translate("system"), translate("a_s_desc"))
+m = Map("system", translate("System"), translate("Here you can configure the basic aspects of your device like its hostname or the timezone."))
s = m:section(TypedSection, "system", "")
s.anonymous = true
local system, model, memtotal, memcached, membuffers, memfree = luci.sys.sysinfo()
local uptime = luci.sys.uptime()
-s:option(DummyValue, "_system", translate("system")).value = system
-s:option(DummyValue, "_cpu", translate("m_i_processor")).value = model
+s:option(DummyValue, "_system", translate("System")).value = system
+s:option(DummyValue, "_cpu", translate("Processor")).value = model
local load1, load5, load15 = luci.sys.loadavg()
-s:option(DummyValue, "_la", translate("load")).value =
+s:option(DummyValue, "_la", translate("Load")).value =
string.format("%.2f, %.2f, %.2f", load1, load5, load15)
-s:option(DummyValue, "_memtotal", translate("m_i_memory")).value =
+s:option(DummyValue, "_memtotal", translate("Memory")).value =
string.format("%.2f MB (%.0f%% %s, %.0f%% %s, %.0f%% %s)",
tonumber(memtotal) / 1024,
100 * memcached / memtotal,
tostring(translate("mem_free", ""))
)
-s:option(DummyValue, "_systime", translate("m_i_systemtime")).value =
+s:option(DummyValue, "_systime", translate("Local Time")).value =
os.date("%c")
-s:option(DummyValue, "_uptime", translate("m_i_uptime")).value =
+s:option(DummyValue, "_uptime", translate("Uptime")).value =
luci.tools.webadmin.date_format(tonumber(uptime))
-hn = s:option(Value, "hostname", translate("hostname"))
+hn = s:option(Value, "hostname", translate("Hostname"))
function hn.write(self, section, value)
Value.write(self, section, value)
end
-tz = s:option(ListValue, "zonename", translate("timezone"))
+tz = s:option(ListValue, "zonename", translate("Timezone"))
tz:value("UTC")
for i, zone in ipairs(luci.sys.zoneinfo.TZ) do
-%>
<%+header%>
-<h2><a id="content" name="content"><%:a_i_i_hello%></a></h2>
-<p><%:a_i_i_admin1%></p>
-<p><%:a_i_i_admin2%><br />
-<%:a_i_i_admin3%></p>
-<p><%:a_i_i_admin4%></p>
-<p><%:a_i_i_admin5%></p>
-<p><%:a_i_i_admin6%></p>
-<p><em><strong><a href="<%=controller%>/about"><%:a_i_i_team%></a></strong></em></p>
+<h2><a id="content" name="content"><%:Hello!%></a></h2>
+<p><%:This is the administration area of <abbr title="Lua Configuration Interface">LuCI</abbr>.%></p>
+<p><%:<abbr title="Lua Configuration Interface">LuCI</abbr> is a free, flexible, and user friendly graphical interface for configuring OpenWrt Kamikaze.%><br />
+<%:On the following pages you can adjust all important settings of your router.%></p>
+<p><%:Notice: In <abbr title="Lua Configuration Interface">LuCI</abbr> changes have to be confirmed by clicking Changes - Save & Apply before being applied.%></p>
+<p><%:As we always want to improve this interface we are looking forward to your feedback and suggestions.%></p>
+<p><%:And now have fun with your router!%></p>
+<p><em><strong><a href="<%=controller%>/about"><%:The <abbr title="Lua Configuration Interface">LuCI</abbr> Team%></a></strong></em></p>
<%+footer%>
\ No newline at end of file
<%+header%>
-<h2><a id="content" name="content"><%:a_s_iw_scan Wireless Scan%></a></h2>
+<h2><a id="content" name="content"><%:Wireless Scan%></a></h2>
<div class="cbi-map">
<fieldset class="cbi-section">
</div>
<div class="cbi-page-actions right">
<form class="inline" action="<%=luci.dispatcher.build_url("admin/network/wireless")%>" method="get">
- <input class="cbi-button-reset" type="submit" value="<%:a_s_iw_back_overview Back to overview%>" />
+ <input class="cbi-button-reset" type="submit" value="<%:Back to overview%>" />
</form>
<form class="inline" action="<%=REQUEST_URI%>" method="get">
<input type="hidden" name="device" value="<%=utl.pcdata(dev)%>" />
- <input class="cbi-input-find" type="submit" value="<%:a_s_iw_scan_repeat Repeat scan%>" />
+ <input class="cbi-input-find" type="submit" value="<%:Repeat scan%>" />
</form>
</div>
local requirement
if iwinfo.type(dev) == "broadcom" and not nixio.fs.access("/usr/sbin/nas") then
- requirement = luci.i18n.translatef("a_s_iw_require_nas",
- "You need to install the <a href='%s'>Broadcom <em>nas</em> supplicant</a> to use WPA!"
+ requirement = luci.i18n.translatef("You need to install the <a href='%s'>Broadcom <em>nas</em> supplicant</a> to use WPA!"
% luci.dispatcher.build_url("admin/system/packages?url=nas&submit=1"))
elseif not nixio.fs.access("/usr/sbin/wpa_supplicant") then
- requirement = luci.i18n.translatef("a_s_iw_require_wpasupplicant",
- "You need to install <a href='%s'><em>wpa-supplicant</em></a> to use WPA!"
+ requirement = luci.i18n.translatef("You need to install <a href='%s'><em>wpa-supplicant</em></a> to use WPA!"
% luci.dispatcher.build_url("admin/system/packages?url=wpa-supplicant&submit=1"))
end
<%+header%>
-<h2><a id="content" name="content"><%:a_s_iw_join Join Network%></a></h2>
+<h2><a id="content" name="content"><%:Join Network%></a></h2>
<form method="post" action="<%=REQUEST_URI%>">
<div class="cbi-map">
<div class="cbi-map-descr">
- <%=luci.i18n.translatef("a_s_iw_join_desc", "You are about to join the wireless network <em><strong>%s</strong></em>. " ..
+ <%=luci.i18n.translatef("You are about to join the wireless network <em><strong>%s</strong></em>. " ..
"In order to complete the process, you need to provide some additional details.",
utl.pcdata(luci.http.formvalue("join") or "(hidden)")
)%>
</fieldset>
</div>
<div class="cbi-page-actions">
- <input class="cbi-button-apply" type="submit" value="<%:a_s_iw_join_confirm Join network%>" />
- <input class="cbi-button-reset" type="submit" name="cancel" value="<%:a_s_iw_back_scan Back to scan results%>" />
+ <input class="cbi-button-apply" type="submit" value="<%:Join network%>" />
+ <input class="cbi-button-reset" type="submit" name="cancel" value="<%:Back to scan results%>" />
</div>
</form>
<%+header%>
-<h2><a id="content" name="content"><%:a_s_iw_overview Wireless Overview%></a></h2>
+<h2><a id="content" name="content"><%:Wireless Overview%></a></h2>
<div class="cbi-map">
- <h2><a id="content" name="content"><%:a_s_iw_overview2 Associated Stations%></a></h2>
+ <h2><a id="content" name="content"><%:Associated Stations%></a></h2>
<fieldset class="cbi-section">
<table class="cbi-section-table" style="margin:10px; width:50%">
-%>
<%+header%>
-<h2><a id="content" name="content"><%:services%></a></h2>
-<p><%:a_srv_services1%></p>
-<p><%:a_srv_services2%></p>
+<h2><a id="content" name="content"><%:Services%></a></h2>
+<p><%:Services and daemons perform certain tasks on your device.%></p>
+<p><%:Most of them are network servers, that offer a certain service for your device or network like shell access, serving webpages like <abbr title="Lua Configuration Interface">LuCI</abbr>, doing mesh routing, sending e-mails, ...%></p>
<%+footer%>
\ No newline at end of file
<%+header%>
<div class="cbi-map" id="cbi-conntrack">
- <h2><a id="content" name="content"><%:a_n_conntrack%></a></h2>
- <div class="cbi-map-descr"><%:a_n_conntrack_desc%></div>
+ <h2><a id="content" name="content"><%:Active Connections%></a></h2>
+ <div class="cbi-map-descr"><%:This page gives an overview over currently active network connections.%></div>
<fieldset class="cbi-section" id="cbi-table-table">
<legend>ARP</legend>
<div class="cbi-section-node">
<table class="cbi-section-table">
<tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"><%:ipaddress%></th>
- <th class="cbi-section-table-cell"><%:macaddress%></th>
- <th class="cbi-section-table-cell"><%:interface%></th>
+ <th class="cbi-section-table-cell"><%:<abbr title="Internet Protocol Version 4">IPv4</abbr>-Address%></th>
+ <th class="cbi-section-table-cell"><%:<abbr title="Media Access Control">MAC</abbr>-Address%></th>
+ <th class="cbi-section-table-cell"><%:Interface%></th>
</tr>
<% luci.sys.net.arptable(function(e) %>
<br />
<fieldset class="cbi-section" id="cbi-table-table">
- <legend><%:a_n_conntrack%></legend>
+ <legend><%:Active Connections%></legend>
<div class="cbi-section-node">
<table class="cbi-section-table">
<tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"><%:network%></th>
- <th class="cbi-section-table-cell"><%:protocol%></th>
- <th class="cbi-section-table-cell"><%:source%></th>
- <th class="cbi-section-table-cell"><%:destination%></th>
+ <th class="cbi-section-table-cell"><%:Network%></th>
+ <th class="cbi-section-table-cell"><%:Protocol%></th>
+ <th class="cbi-section-table-cell"><%:Source%></th>
+ <th class="cbi-section-table-cell"><%:Destination%></th>
</tr>
<% style = true; luci.sys.net.conntrack(function(c) %>
-%>
<%+header%>
-<h2><a id="content" name="content"><%:dmesg%></a></h2>
+<h2><a id="content" name="content"><%:Kernel Log%></a></h2>
<div id="content_syslog">
<textarea readonly="readonly" wrap="off" rows="<%=dmesg:cmatch("\n")+2%>" id="syslog"><%=dmesg:pcdata()%></textarea>
</div>
-%>
<%+header%>
-<h2><a id="content" name="content"><%:status%></a></h2>
-<p><%:a_st_i_status1%></p>
-<p><%:a_st_i_status2%></p>
+<h2><a id="content" name="content"><%:Status%></a></h2>
+<p><%:Here you can find information about the current system status like <abbr title="Central Processing Unit">CPU</abbr> clock frequency, memory usage or network interface data.%></p>
+<p><%:Also kernel or service logfiles can be viewed here to get an overview over their current state.%></p>
<%+footer%>
\ No newline at end of file
function get_iwmode(w)
local m = {
- ap = translate("a_s_if_iwmode_ap", "Master"),
- sta = translate("a_s_if_iwmode_sta", "Client"),
- wds = translate("a_s_if_iwmode_wds", "WDS"),
- stawds = translate("a_s_if_iwmode_stawds", "Client + WDS"),
- apwds = translate("a_s_if_iwmode_apwds", "Master + WDS"),
- adhoc = translate("a_s_if_iwmode_adhoc", "Ad-Hoc"),
- ahdemo = translate("a_s_if_iwmode_ahdemo", "Pseudo Ad-Hoc")
+ ap = translate("Master"),
+ sta = translate("Client"),
+ wds = translate("WDS"),
+ stawds = translate("Client + WDS"),
+ apwds = translate("Master + WDS"),
+ adhoc = translate("Ad-Hoc"),
+ ahdemo = translate("Pseudo Ad-Hoc")
}
return m[w.mode] or w.mode
<%+header%>
-<h2><a id="content" name="content"><%:a_s_if_status Interface Status%></a></h2>
+<h2><a id="content" name="content"><%:Interface Status%></a></h2>
<form method="post" action="<%=REQUEST_URI%>">
<div class="cbi-map">
if dev and devinfo and devinfo[dev] then
%>
- <h3><%:a_s_if_interface Interface%> <%=i['.name']%></h3>
+ <h3><%:Interface%> <%=i['.name']%></h3>
<p style="font-size:90%;padding-left:1em">
- <strong><%:a_s_if_device Device%>:</strong>
- <%=dev%> (<%:a_s_if_mac MAC%> <%=get_mac(dev)%>)<br />
+ <strong><%:Device%>:</strong>
+ <%=dev%> (<%:MAC%> <%=get_mac(dev)%>)<br />
- <strong><%:a_s_if_type Type%>:</strong>
+ <strong><%:Type%>:</strong>
<% if is_wifi(dev) then iw = get_iwinfo(dev) -%>
- <%:a_s_if_wifidev Wireless Adapter%> (<%=iw.type%>)<br />
+ <%:Wireless Adapter%> (<%=iw.type%>)<br />
<% if iw then %>
- └ <strong><%:a_s_if_iwmode Mode%>:</strong> <%=get_iwmode(iw)%><br />
- └ <strong><%:a_s_if_iwssid SSID%>:</strong> <%=iw.ssid%><br />
- └ <strong><%:a_s_if_iwchannel Channel%>:</strong> <%=iw.channel%>
+ └ <strong><%:Mode%>:</strong> <%=get_iwmode(iw)%><br />
+ └ <strong><%:SSID%>:</strong> <%=iw.ssid%><br />
+ └ <strong><%:Channel%>:</strong> <%=iw.channel%>
<% end %>
<% else -%>
<% if vlan then %>
- <%:a_s_if_ethswitch Ethernet Switch%> (<%=get_switch_driver(dev)%>)<br />
- └ <strong><%:a_s_if_vlan VLAN%>:</strong> <%=get_vlan(dev)%> (<%:a_s_if_vlanports Ports%> <%=table.concat(get_vlan_ports(dev), ", ")%>)
+ <%:Ethernet Switch%> (<%=get_switch_driver(dev)%>)<br />
+ └ <strong><%:VLAN%>:</strong> <%=get_vlan(dev)%> (<%:Ports%> <%=table.concat(get_vlan_ports(dev), ", ")%>)
<% else %>
- <%:a_s_if_ethdev Ethernet Adapter%>
+ <%:Ethernet Adapter%>
<% end %>
<% end -%><br />
- <strong><%:a_s_if_transfer Transfer%></strong><br />
- └ <strong><%:a_s_if_transfer_rx RX%>:</strong> <%=devinfo[dev][2]%> <%:a_s_if_pkts Pkts.%> (<%=wba.byte_format(tonumber(devinfo[dev][1]))%>)<br />
- └ <strong><%:a_s_if_transfer_tx TX%>:</strong> <%=devinfo[dev][10]%> <%:a_s_if_pkts Pkts.%> (<%=wba.byte_format(tonumber(devinfo[dev][9]))%>)<br />
+ <strong><%:Transfer%></strong><br />
+ └ <strong><%:RX%>:</strong> <%=devinfo[dev][2]%> <%:Pkts.%> (<%=wba.byte_format(tonumber(devinfo[dev][1]))%>)<br />
+ └ <strong><%:TX%>:</strong> <%=devinfo[dev][10]%> <%:Pkts.%> (<%=wba.byte_format(tonumber(devinfo[dev][9]))%>)<br />
<%- if ( i.ipaddr and #i.ipaddr > 0 ) or ( i.ip6addr and #i.ip6addr > 0 ) then -%>
- <strong><%:a_s_if_ipconfig IP Configuration%></strong><br />
- └ <strong><%:a_s_if_ipconfig_primary Primary%>:</strong>
+ <strong><%:IP Configuration%></strong><br />
+ └ <strong><%:Primary%>:</strong>
<% if i.ipaddr and #i.ipaddr > 0 then %>
<%=i.ipaddr%>/<%=i.netmask%>
<% if i.proto == "dhcp" then -%>
- (<%:a_s_if_ipconfig_dhcp DHCP assigned%>)
+ (<%:DHCP assigned%>)
<%- end %>
<% else %>
- <em><%:a_s_if_ipconfig_none Not configured%></em>
+ <em><%:Not configured%></em>
<% end %><br />
<% for i, a in ipairs(get_aliases(i)) do %>
- └ <strong><%:a_s_if_ipconfig_alias Alias%> #<%=i%>:</strong>
- <%=a.ipaddr%>/<%=a.netmask%> (<%:a_s_if_device Device%> <%=dev%>:<%=i%>) <br />
+ └ <strong><%:Alias%> #<%=i%>:</strong>
+ <%=a.ipaddr%>/<%=a.netmask%> (<%:Device%> <%=dev%>:<%=i%>) <br />
<% end %>
<% if i.ip6addr and #i.ip6addr > 0 then %>
- └ <strong><%:a_s_if_ipconfig_ipv6 IPv6%>:</strong> <%=i.ip6addr%><br />
+ └ <strong><%:IPv6%>:</strong> <%=i.ip6addr%><br />
<% end %>
<%- end -%>
<br /></p>
if br and devinfo and devinfo[dev] then
%>
- <h3><%:a_s_if_bridge Bridge%> <%=br.name%></h3>
+ <h3><%:Bridge%> <%=br.name%></h3>
<p style="font-size:90%;padding-left:1em">
- <strong><%:a_s_if_device Device%>:</strong>
- <%=dev%> (<%:a_s_if_mac MAC%> <%=get_mac(dev)%>)<br />
+ <strong><%:Device%>:</strong>
+ <%=dev%> (<%:MAC%> <%=get_mac(dev)%>)<br />
- <strong><%:a_s_if_type Type%>:</strong>
- <%:a_s_if_ethbridge Ethernet Bridge%><br />
+ <strong><%:Type%>:</strong>
+ <%:Ethernet Bridge%><br />
- └ <strong><%:a_s_if_bridge_id ID%>:</strong> <%=br.id%><br />
- └ <strong><%:a_s_if_bridge_stp STP%>:</strong> <%=br.stp and "enabled" or "disabled"%><br />
+ └ <strong><%:ID%>:</strong> <%=br.id%><br />
+ └ <strong><%:STP%>:</strong> <%=br.stp and "enabled" or "disabled"%><br />
- <strong><%:a_s_if_transfer Transfer%></strong><br />
- └ <strong><%:a_s_if_transfer_rx RX%>:</strong> <%=devinfo[dev][2]%> Pkts. (<%=wba.byte_format(tonumber(devinfo[dev][1]))%>)<br />
- └ <strong><%:a_s_if_transfer_tx TX%>:</strong> <%=devinfo[dev][10]%> Pkts. (<%=wba.byte_format(tonumber(devinfo[dev][9]))%>)<br />
+ <strong><%:Transfer%></strong><br />
+ └ <strong><%:RX%>:</strong> <%=devinfo[dev][2]%> Pkts. (<%=wba.byte_format(tonumber(devinfo[dev][1]))%>)<br />
+ └ <strong><%:TX%>:</strong> <%=devinfo[dev][10]%> Pkts. (<%=wba.byte_format(tonumber(devinfo[dev][9]))%>)<br />
<%- if ( b.ipaddr and #b.ipaddr > 0 ) or ( b.ip6addr and #b.ip6addr > 0 ) then -%>
- <strong><%:a_s_if_ipconfig IP Configuration%></strong><br />
- └ <strong><%:a_s_if_ipconfig_primary Primary%>:</strong>
+ <strong><%:IP Configuration%></strong><br />
+ └ <strong><%:Primary%>:</strong>
<% if b.ipaddr and #b.ipaddr > 0 then %>
<%=b.ipaddr%>/<%=b.netmask%>
<% if b.proto == "dhcp" then -%>
- (<%:a_s_if_ipconfig_dhcp DHCP assigned%>)
+ (<%:DHCP assigned%>)
<%- end %>
<% else %>
- <em><%:a_s_if_ipconfig_none Not configured%></em>
+ <em><%:Not configured%></em>
<% end %><br />
<% for i, a in ipairs(get_aliases(b)) do %>
- └ <strong><%:a_s_if_ipconfig_alias Alias%> #<%=i%>:</strong>
- <%=a.ipaddr%>/<%=a.netmask%> (<%:a_s_if_device Device%> <%=dev%>:<%=i%>) <br />
+ └ <strong><%:Alias%> #<%=i%>:</strong>
+ <%=a.ipaddr%>/<%=a.netmask%> (<%:Device%> <%=dev%>:<%=i%>) <br />
<% end %>
<% if b.ip6addr and #b.ip6addr > 0 then %>
- └ <strong><%:a_s_if_ipconfig_ipv6 IPv6%>:</strong> <%=b.ip6addr%><br />
+ └ <strong><%:IPv6%>:</strong> <%=b.ip6addr%><br />
<% end %>
<%- end -%>
dev = i
vlan = get_vlan(dev)
%>
- <strong><%:a_s_if_bridge_port Bridge Port%> <%=n%></strong><br />
+ <strong><%:Bridge Port%> <%=n%></strong><br />
- └ <strong><%:a_s_if_device Device%>:</strong>
- <%=dev%> (<%:a_s_if_mac MAC%> <%=get_mac(dev)%>)<br />
+ └ <strong><%:Device%>:</strong>
+ <%=dev%> (<%:MAC%> <%=get_mac(dev)%>)<br />
- └ <strong><%:a_s_if_type Type%>:</strong>
+ └ <strong><%:Type%>:</strong>
<% if is_wifi(dev) then iw = get_iwinfo(dev) -%>
- <%:a_s_if_wifidev Wireless Adapter%> (<%=iw.type%>)<br />
+ <%:Wireless Adapter%> (<%=iw.type%>)<br />
<% if iw then %>
- └ <strong><%:a_s_if_iwmode Mode%>:</strong> <%=get_iwmode(iw)%><br />
- └ <strong><%:a_s_if_iwssid SSID%>:</strong> <%=iw.ssid%><br />
- └ <strong><%:a_s_if_iwchannel Channel%>:</strong> <%=iw.channel%>
+ └ <strong><%:Mode%>:</strong> <%=get_iwmode(iw)%><br />
+ └ <strong><%:SSID%>:</strong> <%=iw.ssid%><br />
+ └ <strong><%:Channel%>:</strong> <%=iw.channel%>
<% end %>
<% else -%>
<% if vlan then %>
- <%:a_s_if_ethswitch Ethernet Switch%> (<%=get_switch_driver(dev)%>)<br />
- └ <strong><%:a_s_if_vlan VLAN%>:</strong>
- <%=get_vlan(dev)%> (<%:a_s_if_vlan_ports Ports%> <%=table.concat(get_vlan_ports(dev), ", ")%>)
+ <%:Ethernet Switch%> (<%=get_switch_driver(dev)%>)<br />
+ └ <strong><%:VLAN%>:</strong>
+ <%=get_vlan(dev)%> (<%:Ports%> <%=table.concat(get_vlan_ports(dev), ", ")%>)
<% else %>
- <%:a_s_if_ethdev Ethernet Adapter%>
+ <%:Ethernet Adapter%>
<% end %>
<% end -%><br />
<% end %>
<%+header%>
-<h2><a id="content" name="content"><%:a_s_ipt_status Firewall Status%></a></h2>
+<h2><a id="content" name="content"><%:Firewall Status%></a></h2>
<form method="post" action="<%=REQUEST_URI%>">
<div class="cbi-map">
<fieldset class="cbi-section">
- <h3><%:a_s_ipt_actions Actions%></h3>
+ <h3><%:Actions%></h3>
<ul>
- <li><a href="<%=REQUEST_URI%>?zero=1"><%:a_s_ipt_reset Reset Counters%></a></li>
- <li><a href="<%=REQUEST_URI%>?restart=1"><%:a_s_ipt_restart Restart Firewall%></a></li>
+ <li><a href="<%=REQUEST_URI%>?zero=1"><%:Reset Counters%></a></li>
+ <li><a href="<%=REQUEST_URI%>?restart=1"><%:Restart Firewall%></a></li>
</ul>
<br /><br />
<% for _, tbl in ipairs({"Filter", "NAT", "Mangle"}) do chaincnt = 0 %>
- <h3><%:a_s_ipt_table Table%>: <%=tbl%></h3>
+ <h3><%:Table%>: <%=tbl%></h3>
<table class="cbi-section-table" style="font-size:90%">
<% for _, chain in ipairs(ipt:chains(tbl)) do
rowcnt = 0
<tr class="cbi-section-table-titles cbi-rowstyle-<%=rowstyle()%>">
<th class="cbi-section-table-cell" style="text-align:left" colspan="11">
<br /><a name="rule_<%=tbl:lower()%>_<%=chain%>"></a>
- <%:a_s_ipt_chain Chain%> <em><%=chain%></em>
+ <%:Chain%> <em><%=chain%></em>
(<%- if chaininfo.policy then -%>
- <%:a_s_ipt_policy Policy%>: <em><%=chaininfo.policy%></em>, <%:a_s_ipt_packets Packets%>: <%=chaininfo.packets%>, <%:a_s_ipt_bytes Traffic%>: <%=wba.byte_format(chaininfo.bytes)-%>
+ <%:Policy%>: <em><%=chaininfo.policy%></em>, <%:Packets%>: <%=chaininfo.packets%>, <%:Traffic%>: <%=wba.byte_format(chaininfo.bytes)-%>
<%- else -%>
- <%:a_s_ipt_references References%>: <%=chaininfo.references-%>
+ <%:References%>: <%=chaininfo.references-%>
<%- end -%>)
</th>
</tr>
<tr class="cbi-section-table-descr">
- <th class="cbi-section-table-cell"><%:a_s_ipt_rulenum Rule #%></th>
- <th class="cbi-section-table-cell"><%:a_s_ipt_packets Pkts.%></th>
- <th class="cbi-section-table-cell"><%:a_s_ipt_bytes Traffic%></th>
- <th class="cbi-section-table-cell"><%:a_s_ipt_target Target%></th>
- <th class="cbi-section-table-cell"><%:a_s_ipt_proto Prot.%></th>
- <th class="cbi-section-table-cell"><%:a_s_ipt_flags Flags%></th>
- <th class="cbi-section-table-cell"><%:a_s_ipt_inputif In%></th>
- <th class="cbi-section-table-cell"><%:a_s_ipt_outputif Out%></th>
- <th class="cbi-section-table-cell"><%:a_s_ipt_source Source%></th>
- <th class="cbi-section-table-cell"><%:a_s_ipt_destination Destination%></th>
- <th class="cbi-section-table-cell" style="width:30%"><%:a_s_ipt_options Options%></th>
+ <th class="cbi-section-table-cell"><%:Rule #%></th>
+ <th class="cbi-section-table-cell"><%:Pkts.%></th>
+ <th class="cbi-section-table-cell"><%:Traffic%></th>
+ <th class="cbi-section-table-cell"><%:Target%></th>
+ <th class="cbi-section-table-cell"><%:Prot.%></th>
+ <th class="cbi-section-table-cell"><%:Flags%></th>
+ <th class="cbi-section-table-cell"><%:In%></th>
+ <th class="cbi-section-table-cell"><%:Out%></th>
+ <th class="cbi-section-table-cell"><%:Source%></th>
+ <th class="cbi-section-table-cell"><%:Destination%></th>
+ <th class="cbi-section-table-cell" style="width:30%"><%:Options%></th>
</tr>
<% for _, rule in ipairs(ipt:find({table=tbl, chain=chain})) do %>
<% if rowcnt == 1 then %>
<tr class="cbi-section-table-titles cbi-rowstyle-<%=rowstyle()%>">
- <td colspan="11"><em><%:a_s_ipt_norules No rules in this chain%></em></td>
+ <td colspan="11"><em><%:No rules in this chain%></em></td>
</tr>
<% end %>
<% end %>
<% if chaincnt == 0 then %>
<tr class="cbi-section-table-titles cbi-rowstyle-<%=rowstyle()%>">
- <td colspan="11"><em><%:a_s_ipt_nochains No chains in this table%></em></td>
+ <td colspan="11"><em><%:No chains in this table%></em></td>
</tr>
<% end %>
</table>
<%+header%>
<div class="cbi-map" id="cbi-network">
- <h2><a id="content" name="content"><%:a_n_routes%></a></h2>
+ <h2><a id="content" name="content"><%:Routes%></a></h2>
<div class="cbi-map-descr"><%:a_n_routes1%></div>
<fieldset class="cbi-section" id="cbi-table-table">
- <legend><%:a_n_routes_kernel4%></legend>
+ <legend><%:Active <abbr title="Internet Protocol Version 4">IPv4</abbr>-Routes%></legend>
<div class="cbi-section-node">
<table class="cbi-section-table">
<tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"><%:network%></th>
- <th class="cbi-section-table-cell"><%:target%></th>
- <th class="cbi-section-table-cell"><%:netmask%></th>
- <th class="cbi-section-table-cell"><%:gateway%></th>
- <th class="cbi-section-table-cell"><%:metric%></th>
+ <th class="cbi-section-table-cell"><%:Network%></th>
+ <th class="cbi-section-table-cell"><%:Target%></th>
+ <th class="cbi-section-table-cell"><%:<abbr title="Internet Protocol Version 4">IPv4</abbr>-Netmask%></th>
+ <th class="cbi-section-table-cell"><%:<abbr title="Internet Protocol Version 4">IPv4</abbr>-Gateway%></th>
+ <th class="cbi-section-table-cell"><%:Metric%></th>
</tr>
<% luci.sys.net.routes(function(rt) %>
<tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
<% if nixio.fs.access("/proc/net/ipv6_route") then style = true %>
<fieldset class="cbi-section" id="cbi-table-table">
- <legend><%:a_n_routes_kernel6%></legend>
+ <legend><%:Active <abbr title="Internet Protocol Version 6">IPv6</abbr>-Routes%></legend>
<div class="cbi-section-node">
<table class="cbi-section-table">
<tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"><%:network%></th>
- <th class="cbi-section-table-cell"><%:target%></th>
- <th class="cbi-section-table-cell"><%:gateway6%></th>
- <th class="cbi-section-table-cell"><%:metric%></th>
+ <th class="cbi-section-table-cell"><%:Network%></th>
+ <th class="cbi-section-table-cell"><%:Target%></th>
+ <th class="cbi-section-table-cell"><%:<abbr title="Internet Protocol Version 6">IPv6</abbr>-Gateway%></th>
+ <th class="cbi-section-table-cell"><%:Metric%></th>
</tr>
<% luci.sys.net.routes6(function(rt) %>
<tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
-%>
<%+header%>
-<h2><a id="content" name="content"><%:syslog%></a></h2>
+<h2><a id="content" name="content"><%:System Log%></a></h2>
<div id="content_syslog">
<textarea readonly="readonly" wrap="off" rows="<%=syslog:cmatch("\n")+2%>" id="syslog"><%=syslog:pcdata()%></textarea>
</div>
-%>
<%+header%>
-<h2><a id="content" name="content"><%:system%></a></h2>
+<h2><a id="content" name="content"><%:System%></a></h2>
<br />
-<p><% if msg then %><%=msg%><% else %><%:a_s_applyreboot1%><% end %></p>
-<p><%:a_s_reboot_running%></p>
+<p><% if msg then %><%=msg%><% else %><%:Changes applied.%><% end %></p>
+<p><%:Please wait: Device rebooting...%></p>
<script type="text/javascript">setTimeout("location='<%=controller%>'", 60000)</script>
<%+footer%>
\ No newline at end of file
-%>
<%+header%>
-<h2><a id="content" name="content"><%:system%></a></h2>
-<h3><%:a_s_backup%></h3>
-<p><%:a_s_backup1%></p>
+<h2><a id="content" name="content"><%:System%></a></h2>
+<h3><%:Backup / Restore%></h3>
+<p><%:Here you can backup and restore your router configuration and - if possible - reset the router to the default settings.%></p>
<br />
<div>
<ul>
- <li><a href="<%=REQUEST_URI%>?backup=kthxbye"><%:a_s_backup_backup%></a></li>
+ <li><a href="<%=REQUEST_URI%>?backup=kthxbye"><%:Create backup%></a></li>
<% if reset_avail then -%>
- <li><a href="<%=REQUEST_URI%>?reset=yarly" onclick="return confirm('<%:a_s_backup_reset1%>')"><%:a_s_backup_reset%></a></li>
+ <li><a href="<%=REQUEST_URI%>?reset=yarly" onclick="return confirm('<%:Proceed reverting all settings and resetting to firmware defaults?%>')"><%:Reset router to defaults%></a></li>
<% end -%>
</ul>
</div>
<br />
<form method="post" action="<%=REQUEST_URI%>" enctype="multipart/form-data">
- <div class="left"><%:a_s_backup_archive%>:</div>
+ <div class="left"><%:Backup Archive%>:</div>
<div>
<input type="file" size="30" name="archive" />
</div>
<div>
- <input type="submit" class="cbi-input-apply" value="<%:a_s_backup_restore%>" />
+ <input type="submit" class="cbi-input-apply" value="<%:Restore backup%>" />
</div>
</form>
<%+footer%>
\ No newline at end of file
-%>
<ul>
-<li><strong><%:a_s_p_ipkg_pkglists%>:</strong> <code>src <em>Name</em> <em>URL</em></code></li>
-<li><strong><%:a_s_p_ipkg_targets%>:</strong> <code>dest <em>Name</em> <em>Pfad</em></code></li>
+<li><strong><%:Package lists%>:</strong> <code>src <em>Name</em> <em>URL</em></code></li>
+<li><strong><%:Installation targets%>:</strong> <code>dest <em>Name</em> <em>Pfad</em></code></li>
</ul>
code = bit.rshift(tonumber(code), 8)
return translate(
'a_s_packages_code%i' % code,
- '%s %i' % { translate('code'), code }
+ '%s %i' % { translate('Code'), code }
)
end
-%>
<%+header%>
-<h2><a id="content" name="content"><%:system%></a></h2>
-<h3><%:a_s_packages%></h3>
+<h2><a id="content" name="content"><%:System%></a></h2>
+<h3><%:Software%></h3>
<br />
<% if install or remove or update or upgrade then %>
-<div class="code"><strong><%:status%>:</strong><br />
+<div class="code"><strong><%:Status%>:</strong><br />
<% if update then %>
- <%:a_s_packages_update%>: <% if update == 0 then %><span class="ok"><%:ok%></span><% else %><span class="error"><%:error%> (<%=opkg_error(update)%>)</span><% end %><br />
+ <%:Package lists updated%>: <% if update == 0 then %><span class="ok"><%:OK%></span><% else %><span class="error"><%:Error%> (<%=opkg_error(update)%>)</span><% end %><br />
<% end %>
<% if upgrade then%>
- <%:a_s_packages_upgrade%>: <% if upgrade == 0 then %><span class="ok"><%:ok%></span><% else %><span class="error"><%:error%> (<%=opkg_error(upgrade)%>)</span><% end %><br />
+ <%:Upgrade installed packages%>: <% if upgrade == 0 then %><span class="ok"><%:OK%></span><% else %><span class="error"><%:Error%> (<%=opkg_error(upgrade)%>)</span><% end %><br />
<% end %>
<% if install then for k,v in pairs(install) do %>
- <%:a_s_packages_install%> '<%=k%>': <% if v == 0 then %><span class="ok"><%:ok%></span><% else %><span class="error"><%:error%> (<%=opkg_error(v)%>)</span><% end %><br />
+ <%:Install%> '<%=k%>': <% if v == 0 then %><span class="ok"><%:OK%></span><% else %><span class="error"><%:Error%> (<%=opkg_error(v)%>)</span><% end %><br />
<% end end %>
<% if remove then for k,v in pairs(remove) do %>
- <%:a_s_packages_remove%> '<%=k%>': <% if v == 0 then %><span class="ok"><%:ok%></span><% else %><span class="error"><%:error%> (<%=opkg_error(v)%>)</span><% end %><br />
+ <%:Remove%> '<%=k%>': <% if v == 0 then %><span class="ok"><%:OK%></span><% else %><span class="error"><%:Error%> (<%=opkg_error(v)%>)</span><% end %><br />
<% end end %>
</div>
<br />
<div class="cbi-map">
<fieldset class="cbi-section">
<ul>
- <li><a href="<%=REQUEST_URI%>/ipkg"><%:a_s_packages_ipkg%></a></li>
- <li><a href="<%=REQUEST_URI%>?update=1"><%:a_s_packages_updatelist%></a></li>
+ <li><a href="<%=REQUEST_URI%>/ipkg"><%:Edit package lists and installation targets%></a></li>
+ <li><a href="<%=REQUEST_URI%>?update=1"><%:Update package lists%></a></li>
</ul>
<br />
<fieldset class="cbi-section-node">
<div class="cbi-value">
- <label class="cbi-value-title"><%:a_s_packages_installurl%>:</label>
+ <label class="cbi-value-title"><%:Download and install package%>:</label>
<div class="cbi-value-field">
<input type="text" name="url" size="30" value="" />
- <input class="cbi-input-save" type="submit" name="submit" value="<%:ok%>" />
+ <input class="cbi-input-save" type="submit" name="submit" value="<%:OK%>" />
</div>
</div>
<div class="cbi-value">
- <label class="cbi-value-title"><%:filter%>:</label>
+ <label class="cbi-value-title"><%:Filter%>:</label>
<div class="cbi-value-field">
<input type="text" name="query" size="20" value="<%=query%>" />
- <input type="submit" class="cbi-input-find" name="search" value="<%:a_s_packages_search%>" />
+ <input type="submit" class="cbi-input-find" name="search" value="<%:Find package%>" />
</div>
</div>
<table class="cbi-section-table">
<tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"><%:a_s_packages_name%></th>
- <th class="cbi-section-table-cell"><%:version%></th>
- <th class="cbi-section-table-cell"><%:install%></th>
- <th class="cbi-section-table-cell"><%:delete%></th>
- <th class="cbi-section-table-cell"><%:descr%></th>
+ <th class="cbi-section-table-cell"><%:Package name%></th>
+ <th class="cbi-section-table-cell"><%:Version%></th>
+ <th class="cbi-section-table-cell"><%:Install%></th>
+ <th class="cbi-section-table-cell"><%:Delete%></th>
+ <th class="cbi-section-table-cell"><%:Description%></th>
</tr>
<% for k, pkg in pairs(pkgs) do %>
<tr class="cbi-section-table-row cbi-rowstyle-<%=rowstyle()%>">
<td><%=luci.util.pcdata(pkg.Package)%></td>
<td><%=luci.util.pcdata(pkg.Version)%></td>
<td><% if not pkg.Status or not pkg.Status.installed then %><input type="checkbox" name="install.<%=pkg.Package%>" value="1" /><% else %><%:installed%><% end %></td>
- <td><% if pkg.Status and pkg.Status.installed then %><input type="checkbox" name="remove.<%=pkg.Package%>" value="1" /><% else %><%:notinstalled%><% end %></td>
+ <td><% if pkg.Status and pkg.Status.installed then %><input type="checkbox" name="remove.<%=pkg.Package%>" value="1" /><% else %><%:not installed%><% end %></td>
<td><%=luci.util.pcdata(pkg.Description)%></td>
</tr>
<% end %>
<br />
<div style="text-align: right">
- <input type="submit" class="cbi-input-apply" name="submit" value="<%:a_s_packages_do%>" />
+ <input type="submit" class="cbi-input-apply" name="submit" value="<%:Perform Actions%>" />
</div>
</fieldset></fieldset>
</div>
-%>
<%+header%>
-<h2><a id="content" name="content"><%:system%></a></h2>
-<h3><%:reboot%></h3>
-<p><%:a_s_reboot1%></p>
+<h2><a id="content" name="content"><%:System%></a></h2>
+<h3><%:Reboot%></h3>
+<p><%:Reboots the operating system of your device%></p>
<%-
local c = require("luci.model.uci").cursor():changes()
if c and next(c) then
-%>
- <p class="warning"><%:a_s_reboot_u%></p>
+ <p class="warning"><%:Warning: There are unsaved changes that will be lost while rebooting!%></p>
<%-
end
if not reboot then
-%>
-<p><a href="<%=controller%>/admin/system/reboot?reboot=1"><%:a_s_reboot_do%></a></p>
+<p><a href="<%=controller%>/admin/system/reboot?reboot=1"><%:Perform reboot%></a></p>
<%- else -%>
-<p><%:a_s_reboot_running%></p>
+<p><%:Please wait: Device rebooting...%></p>
<script type="text/javascript">setTimeout("location='<%=controller%>/admin'", 60000)</script>
<%- end -%>
<%+footer%>
\ No newline at end of file
<%+header%>
-<h2><a id="content" name="content"><%:system%></a></h2>
+<h2><a id="content" name="content"><%:System%></a></h2>
<h3><%:admin_upgrade Flash Firmware%></h3>
<% if step == 1 then %>
if flashsize > 0 then
write(luci.i18n.translatef(
- "admin_upgrade_spaceavail",
" (%s available)",
w.byte_format(flashsize)
))
-%>
<%+header%>
-<h2><a id="content" name="content"><%:config%></a></h2>
-<p><strong><%:uci_applied%>:</strong></p>
+<h2><a id="content" name="content"><%:Configuration%></a></h2>
+<p><strong><%:The following changes have been applied%>:</strong></p>
<div class="cbi-section">
<code><%=(changes or "-")%></code>
<%+header%>
-<h2><a id="content" name="content"><%:config%></a></h2>
-<p><strong><%:changes%>:</strong></p>
+<h2><a id="content" name="content"><%:Configuration%></a></h2>
+<p><strong><%:Changes%>:</strong></p>
<div class="cbi-section">
<code><%=changes%></code>
<div style="text-align:right">
<form class="inline" method="get" action="<%=controller%>/admin/uci/apply">
- <input class="cbi-button cbi-button-apply" type="submit" value="<%:apply%>" />
+ <input class="cbi-button cbi-button-apply" type="submit" value="<%:Apply%>" />
</form>
<form class="inline" method="get" action="<%=controller%>/admin/uci/saveapply">
- <input class="cbi-button cbi-button-save" type="submit" value="<%:saveapply%>" />
+ <input class="cbi-button cbi-button-save" type="submit" value="<%:Save & Apply%>" />
</form>
<form class="inline" method="get" action="<%=controller%>/admin/uci/revert">
- <input class="cbi-button cbi-button-reset" type="submit" value="<%:revert%>" />
+ <input class="cbi-button cbi-button-reset" type="submit" value="<%:Revert%>" />
</form>
</div>
</div>
<%+header%>
-<h2><a id="content" name="content"><%:config%></a></h2>
-<p><strong><%:uci_reverted%>:</strong></p>
+<h2><a id="content" name="content"><%:Configuration%></a></h2>
+<p><strong><%:The following changes have been reverted%>:</strong></p>
<div class="cbi-section">
<code><%=(changes or "-")%></code>
entry({"about"}, template("about")).i18n = "admin-core"
- local page = entry({"mini"}, alias("mini", "index"), i18n("essentials", "Essentials"), 10)
+ local page = entry({"mini"}, alias("mini", "index"), i18n("Essentials"), 10)
page.i18n = "admin-core"
page.sysauth = "root"
page.sysauth_authenticator = "htmlauth"
page.index = true
- entry({"mini", "index"}, alias("mini", "index", "index"), i18n("overview"), 10).index = true
- entry({"mini", "index", "index"}, form("mini/index"), i18n("general"), 1).ignoreindex = true
- entry({"mini", "index", "luci"}, cbi("mini/luci", {autoapply=true}), i18n("settings"), 10)
- entry({"mini", "index", "logout"}, call("action_logout"), i18n("logout"))
+ entry({"mini", "index"}, alias("mini", "index", "index"), i18n("Overview"), 10).index = true
+ entry({"mini", "index", "index"}, form("mini/index"), i18n("General"), 1).ignoreindex = true
+ entry({"mini", "index", "luci"}, cbi("mini/luci", {autoapply=true}), i18n("Settings"), 10)
+ entry({"mini", "index", "logout"}, call("action_logout"), i18n("Logout"))
end
function action_logout()
luci.i18n.loadc("admin-core")
local i18n = luci.i18n.translate
- entry({"mini", "network"}, alias("mini", "network", "index"), i18n("network"), 20).index = true
- entry({"mini", "network", "index"}, cbi("mini/network", {autoapply=true}), i18n("general"), 1)
- entry({"mini", "network", "wifi"}, cbi("mini/wifi", {autoapply=true}), i18n("wifi"), 10).i18n="wifi"
+ entry({"mini", "network"}, alias("mini", "network", "index"), i18n("Network"), 20).index = true
+ entry({"mini", "network", "index"}, cbi("mini/network", {autoapply=true}), i18n("General"), 1)
+ entry({"mini", "network", "wifi"}, cbi("mini/wifi", {autoapply=true}), i18n("Wifi"), 10).i18n="wifi"
entry({"mini", "network", "dhcp"}, cbi("mini/dhcp", {autoapply=true}), "DHCP", 20)
end
\ No newline at end of file
luci.i18n.loadc("admin-core")
local i18n = luci.i18n.translate
- entry({"mini", "system"}, alias("mini", "system", "index"), i18n("system"), 40).index = true
- entry({"mini", "system", "index"}, cbi("mini/system", {autoapply=true}), i18n("general"), 1)
- entry({"mini", "system", "passwd"}, form("mini/passwd"), i18n("a_s_changepw"), 10)
- entry({"mini", "system", "backup"}, call("action_backup"), i18n("a_s_backup"), 80)
- entry({"mini", "system", "upgrade"}, call("action_upgrade"), i18n("admin_upgrade"), 90)
- entry({"mini", "system", "reboot"}, call("action_reboot"), i18n("reboot"), 100)
+ entry({"mini", "system"}, alias("mini", "system", "index"), i18n("System"), 40).index = true
+ entry({"mini", "system", "index"}, cbi("mini/system", {autoapply=true}), i18n("General"), 1)
+ entry({"mini", "system", "passwd"}, form("mini/passwd"), i18n("Admin Password"), 10)
+ entry({"mini", "system", "backup"}, call("action_backup"), i18n("Backup / Restore"), 80)
+ entry({"mini", "system", "upgrade"}, call("action_upgrade"), i18n("Flash Firmware"), 90)
+ entry({"mini", "system", "reboot"}, call("action_reboot"), i18n("Reboot"), 100)
end
function action_backup()
enable:value(0, translate("enable"))
enable:value(1, translate("disable"))
-start = s:option(Value, "start", translate("m_n_d_firstaddress"))
+start = s:option(Value, "start", translate("First leased address"))
start.rmempty = true
start:depends("ignore", "0")
-limit = s:option(Value, "limit", translate("m_n_d_numleases"), "")
+limit = s:option(Value, "limit", translate("Number of leased addresses"), "")
limit:depends("ignore", "0")
function limit.cfgvalue(self, section)
-m2 = Map("luci_ethers", translate("dhcp_leases"))
+m2 = Map("luci_ethers", translate("Leases"))
local leasefn, leasefp, leases
uci:foreach("dhcp", "dnsmasq",
end
if leases then
- v = m2:section(Table, leases, translate("dhcp_leases_active"))
- ip = v:option(DummyValue, 3, translate("ipaddress"))
+ v = m2:section(Table, leases, translate("Active Leases"))
+ ip = v:option(DummyValue, 3, translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"))
- mac = v:option(DummyValue, 2, translate("macaddress"))
+ mac = v:option(DummyValue, 2, translate("<abbr title=\"Media Access Control\">MAC</abbr>-Address"))
- ltime = v:option(DummyValue, 1, translate("dhcp_timeremain"))
+ ltime = v:option(DummyValue, 1, translate("Leasetime remaining"))
function ltime.cfgvalue(self, ...)
local value = DummyValue.cfgvalue(self, ...)
return wa.date_format(os.difftime(tonumber(value), os.time()))
end
end
-s = m2:section(TypedSection, "static_lease", translate("luci_ethers"))
+s = m2:section(TypedSection, "static_lease", translate("Static Leases"))
s.addremove = true
s.anonymous = true
s.template = "cbi/tblsection"
-mac = s:option(Value, "macaddr", translate("macaddress"))
-ip = s:option(Value, "ipaddr", translate("ipaddress"))
+mac = s:option(Value, "macaddr", translate("<abbr title=\"Media Access Control\">MAC</abbr>-Address"))
+ip = s:option(Value, "ipaddr", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"))
sys.net.arptable(function(entry)
ip:value(entry["IP address"])
mac:value(
require "luci.config"
local fs = require "nixio.fs"
-m = Map("luci", translate("webui"), translate("a_i_luci1"))
+m = Map("luci", translate("Web <abbr title=\"User Interface\">UI</abbr>"), translate("Here you can customize the settings and the functionality of <abbr title=\"Lua Configuration Interface\">LuCI</abbr>."))
-- force reload of global luci config namespace to reflect the changes
function m.commit_handler(self)
end
-c = m:section(NamedSection, "main", "core", translate("general"))
+c = m:section(NamedSection, "main", "core", translate("General"))
-l = c:option(ListValue, "lang", translate("language"))
+l = c:option(ListValue, "lang", translate("Language"))
l:value("auto")
local i18ndir = luci.i18n.i18ndir .. "default."
end
end
-t = c:option(ListValue, "mediaurlbase", translate("design"))
+t = c:option(ListValue, "mediaurlbase", translate("Design"))
for k, v in pairs(luci.config.themes) do
if k:sub(1, 1) ~= "." then
t:value(v, k)
end
end
-m = Map("network", translate("network"))
-s = m:section(Table, ifaces, translate("status"))
+m = Map("network", translate("Network"))
+s = m:section(Table, ifaces, translate("Status"))
s.parse = function() end
-s:option(DummyValue, ".name", translate("network"))
+s:option(DummyValue, ".name", translate("Network"))
hwaddr = s:option(DummyValue, "_hwaddr",
- translate("network_interface_hwaddr"), translate("network_interface_hwaddr_desc"))
+ translate("<abbr title=\"Media Access Control\">MAC</abbr>-Address"), translate("Hardware Address"))
function hwaddr.cfgvalue(self, section)
local ix = self.map:get(section, "ifname") or ""
return fs.readfile("/sys/class/net/" .. ix .. "/address")
end
-s:option(DummyValue, "ipaddr", translate("ipaddress"))
+s:option(DummyValue, "ipaddr", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"))
-s:option(DummyValue, "netmask", translate("netmask"))
+s:option(DummyValue, "netmask", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"))
txrx = s:option(DummyValue, "_txrx",
- translate("network_interface_txrx"), translate("network_interface_txrx_desc"))
+ translate("Traffic"), translate("transmitted / received"))
function txrx.cfgvalue(self, section)
local ix = self.map:get(section, "ifname")
end
errors = s:option(DummyValue, "_err",
- translate("network_interface_err"), translate("network_interface_err_desc"))
+ translate("Errors"), translate("TX / RX"))
function errors.cfgvalue(self, section)
local ix = self.map:get(section, "ifname")
-s = m:section(NamedSection, "lan", "interface", translate("m_n_local"))
+s = m:section(NamedSection, "lan", "interface", translate("Local Network"))
s.addremove = false
-s:option(Value, "ipaddr", translate("ipaddress"))
+s:option(Value, "ipaddr", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"))
-nm = s:option(Value, "netmask", translate("netmask"))
+nm = s:option(Value, "netmask", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"))
nm:value("255.255.255.0")
nm:value("255.255.0.0")
nm:value("255.0.0.0")
-gw = s:option(Value, "gateway", translate("gateway") .. translate("cbi_optional"))
+gw = s:option(Value, "gateway", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Gateway") .. translate(" (optional)"))
gw.rmempty = true
-dns = s:option(Value, "dns", translate("dnsserver") .. translate("cbi_optional"))
+dns = s:option(Value, "dns", translate("<abbr title=\"Domain Name System\">DNS</abbr>-Server") .. translate(" (optional)"))
dns.rmempty = true
-s = m:section(NamedSection, "wan", "interface", translate("m_n_inet"))
+s = m:section(NamedSection, "wan", "interface", translate("Internet Connection"))
s.addremove = false
-p = s:option(ListValue, "proto", translate("protocol"))
+p = s:option(ListValue, "proto", translate("Protocol"))
p.override_values = true
p:value("none", "disabled")
-p:value("static", translate("manual", "manual"))
-p:value("dhcp", translate("automatic", "automatic"))
+p:value("static", translate("manual"))
+p:value("dhcp", translate("automatic"))
if has_pppoe then p:value("pppoe", "PPPoE") end
if has_pptp then p:value("pptp", "PPTP") end
end
if not ( has_pppoe and has_pptp ) then
- p.description = translate("network_interface_prereq_mini")
+ p.description = translate("You need to install \"ppp-mod-pppoe\" for PPPoE or \"pptp\" for PPtP support")
end
-ip = s:option(Value, "ipaddr", translate("ipaddress"))
+ip = s:option(Value, "ipaddr", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"))
ip:depends("proto", "static")
-nm = s:option(Value, "netmask", translate("netmask"))
+nm = s:option(Value, "netmask", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"))
nm:depends("proto", "static")
-gw = s:option(Value, "gateway", translate("gateway"))
+gw = s:option(Value, "gateway", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Gateway"))
gw:depends("proto", "static")
gw.rmempty = true
-dns = s:option(Value, "dns", translate("dnsserver"))
+dns = s:option(Value, "dns", translate("<abbr title=\"Domain Name System\">DNS</abbr>-Server"))
dns:depends("proto", "static")
dns.rmempty = true
-usr = s:option(Value, "username", translate("username"))
+usr = s:option(Value, "username", translate("Username"))
usr:depends("proto", "pppoe")
usr:depends("proto", "pptp")
-pwd = s:option(Value, "password", translate("password"))
+pwd = s:option(Value, "password", translate("Password"))
pwd.password = true
pwd:depends("proto", "pppoe")
pwd:depends("proto", "pptp")
-- This cures some cancer for providers with pre-war routers
if fs.access("/etc/config/firewall") then
mssfix = s:option(Flag, "_mssfix",
- translate("m_n_mssfix"), translate("m_n_mssfix_desc"))
+ translate("Clamp Segment Size"), translate("Fixes problems with unreachable websites, submitting forms or other unexpected behaviour for some ISPs."))
mssfix.rmempty = false
function mssfix.cfgvalue(self)
end
end
-kea = s:option(Flag, "keepalive", translate("m_n_keepalive"))
+kea = s:option(Flag, "keepalive", translate("automatically reconnect"))
kea:depends("proto", "pppoe")
kea:depends("proto", "pptp")
kea.rmempty = true
kea.enabled = "10"
-cod = s:option(Value, "demand", translate("m_n_dialondemand"), "s")
+cod = s:option(Value, "demand", translate("disconnect when idle for"), "s")
cod:depends("proto", "pppoe")
cod:depends("proto", "pptp")
cod.rmempty = true
-srv = s:option(Value, "server", translate("m_n_pptp_server"))
+srv = s:option(Value, "server", translate("<abbr title=\"Point-to-Point Tunneling Protocol\">PPTP</abbr>-Server"))
srv:depends("proto", "pptp")
srv.rmempty = true
$Id$
]]--
-f = SimpleForm("password", translate("a_s_changepw"), translate("a_s_changepw1"))
+f = SimpleForm("password", translate("Admin Password"), translate("Change the password of the system administrator (User <code>root</code>)"))
-pw1 = f:field(Value, "pw1", translate("password"))
+pw1 = f:field(Value, "pw1", translate("Password"))
pw1.password = true
pw1.rmempty = false
-pw2 = f:field(Value, "pw2", translate("confirmation"))
+pw2 = f:field(Value, "pw2", translate("Confirmation"))
pw2.password = true
pw2.rmempty = false
local stat = luci.sys.user.setpasswd("root", data.pw1) == 0
if stat then
- f.message = translate("a_s_changepw_changed")
+ f.message = translate("Password successfully changed")
else
- f.errmessage = translate("unknownerror")
+ f.errmessage = translate("Unknown Error")
end
data.pw1 = nil
require("luci.tools.webadmin")
-m = Map("system", translate("system"), translate("a_s_desc"))
+m = Map("system", translate("System"), translate("Here you can configure the basic aspects of your device like its hostname or the timezone."))
s = m:section(TypedSection, "system", "")
s.anonymous = true
local system, model, memtotal, memcached, membuffers, memfree = luci.sys.sysinfo()
local uptime = luci.sys.uptime()
-s:option(DummyValue, "_system", translate("system")).value = system
-s:option(DummyValue, "_cpu", translate("m_i_processor")).value = model
+s:option(DummyValue, "_system", translate("System")).value = system
+s:option(DummyValue, "_cpu", translate("Processor")).value = model
local load1, load5, load15 = luci.sys.loadavg()
-s:option(DummyValue, "_la", translate("load")).value =
+s:option(DummyValue, "_la", translate("Load")).value =
string.format("%.2f, %.2f, %.2f", load1, load5, load15)
-s:option(DummyValue, "_memtotal", translate("m_i_memory")).value =
+s:option(DummyValue, "_memtotal", translate("Memory")).value =
string.format("%.2f MB (%.0f%% %s, %.0f%% %s, %.0f%% %s)",
tonumber(memtotal) / 1024,
100 * memcached / memtotal,
tostring(translate("mem_free", ""))
)
-s:option(DummyValue, "_systime", translate("m_i_systemtime")).value =
+s:option(DummyValue, "_systime", translate("Local Time")).value =
os.date("%c")
-s:option(DummyValue, "_uptime", translate("m_i_uptime")).value =
+s:option(DummyValue, "_uptime", translate("Uptime")).value =
luci.tools.webadmin.date_format(tonumber(uptime))
-hn = s:option(Value, "hostname", translate("hostname"))
+hn = s:option(Value, "hostname", translate("Hostname"))
function hn.write(self, section, value)
Value.write(self, section, value)
end
-tz = s:option(ListValue, "zonename", translate("timezone"))
+tz = s:option(ListValue, "zonename", translate("Timezone"))
tz:value("UTC")
for i, zone in ipairs(luci.sys.zoneinfo.TZ) do
-- Main Map --
-m = Map("wireless", translate("wifi"), translate("a_w_devices1"))
+m = Map("wireless", translate("Wifi"), translate("Here you can configure installed wifi devices."))
m:chain("network")
-- Status Table --
-s = m:section(Table, ifaces, translate("networks"))
+s = m:section(Table, ifaces, translate("Networks"))
-link = s:option(DummyValue, "_link", translate("link"))
+link = s:option(DummyValue, "_link", translate("Link"))
function link.cfgvalue(self, section)
local ifname = self.map:get(section, "ifname")
return wifidata[ifname] and wifidata[ifname]["Link Quality"] or "-"
or wifidata[ifname]["Access Point"])) or "-"
end
-channel = s:option(DummyValue, "channel", translate("channel"))
+channel = s:option(DummyValue, "channel", translate("Channel"))
function channel.cfgvalue(self, section)
return wireless[self.map:get(section, "device")].channel
end
-protocol = s:option(DummyValue, "_mode", translate("protocol"))
+protocol = s:option(DummyValue, "_mode", translate("Protocol"))
function protocol.cfgvalue(self, section)
local mode = wireless[self.map:get(section, "device")].mode
return mode and "802." .. mode
end
-mode = s:option(DummyValue, "mode", translate("mode"))
-encryption = s:option(DummyValue, "encryption", translate("iwscan_encr"))
+mode = s:option(DummyValue, "mode", translate("Mode"))
+encryption = s:option(DummyValue, "encryption", translate("<abbr title=\"Encrypted\">Encr.</abbr>"))
-power = s:option(DummyValue, "_power", translate("power"))
+power = s:option(DummyValue, "_power", translate("Power"))
function power.cfgvalue(self, section)
local ifname = self.map:get(section, "ifname")
return wifidata[ifname] and wifidata[ifname]["Tx-Power"] or "-"
end
-scan = s:option(Button, "_scan", translate("scan"))
+scan = s:option(Button, "_scan", translate("Scan"))
scan.inputstyle = "find"
function scan.cfgvalue(self, section)
-- WLAN-Scan-Table --
-t2 = m:section(Table, {}, translate("iwscan"), translate("iwscan1"))
+t2 = m:section(Table, {}, translate("<abbr title=\"Wireless Local Area Network\">WLAN</abbr>-Scan"), translate("Wifi networks in your local environment"))
function scan.write(self, section)
m.autoapply = false
t2._render = t2.render
t2.render = function() end
-t2:option(DummyValue, "Quality", translate("iwscan_link"))
+t2:option(DummyValue, "Quality", translate("Link"))
essid = t2:option(DummyValue, "ESSID", "ESSID")
function essid.cfgvalue(self, section)
return self.map:get(section, "ESSID")
end
t2:option(DummyValue, "Address", "BSSID")
-t2:option(DummyValue, "Mode", translate("mode"))
-chan = t2:option(DummyValue, "channel", translate("channel"))
+t2:option(DummyValue, "Mode", translate("Mode"))
+chan = t2:option(DummyValue, "channel", translate("Channel"))
function chan.cfgvalue(self, section)
return self.map:get(section, "Channel")
or self.map:get(section, "Frequency")
or "-"
end
-t2:option(DummyValue, "Encryption key", translate("iwscan_encr"))
+t2:option(DummyValue, "Encryption key", translate("<abbr title=\"Encrypted\">Encr.</abbr>"))
-t2:option(DummyValue, "Signal level", translate("iwscan_signal"))
+t2:option(DummyValue, "Signal level", translate("Signal"))
-t2:option(DummyValue, "Noise level", translate("iwscan_noise"))
+t2:option(DummyValue, "Noise level", translate("Noise"))
-- Config Section --
-s = m:section(NamedSection, wifidevs[1], "wifi-device", translate("devices"))
+s = m:section(NamedSection, wifidevs[1], "wifi-device", translate("Devices"))
s.addremove = false
en = s:option(Flag, "disabled", translate("enable"))
local hwtype = m:get(wifidevs[1], "type")
if hwtype == "atheros" then
- mode = s:option(ListValue, "hwmode", translate("mode"))
+ mode = s:option(ListValue, "hwmode", translate("Mode"))
mode.override_values = true
mode:value("", "auto")
mode:value("11b", "802.11b")
end
-ch = s:option(Value, "channel", translate("a_w_channel"))
+ch = s:option(Value, "channel", translate("Channel"))
for i=1, 14 do
ch:value(i, i .. " (2.4 GHz)")
end
-s = m:section(TypedSection, "wifi-iface", translate("m_n_local"))
+s = m:section(TypedSection, "wifi-iface", translate("Local Network"))
s.anonymous = true
s.addremove = false
-s:option(Value, "ssid", translate("a_w_netid"))
+s:option(Value, "ssid", translate("Network Name (<abbr title=\"Extended Service Set Identifier\">ESSID</abbr>)"))
-bssid = s:option(Value, "bssid", translate("wifi_bssid"))
+bssid = s:option(Value, "bssid", translate("<abbr title=\"Basic Service Set Identifier\">BSSID</abbr>"))
local devs = {}
luci.model.uci.cursor():foreach("wireless", "wifi-device",
end)
if #devs > 1 then
- device = s:option(DummyValue, "device", translate("device"))
+ device = s:option(DummyValue, "device", translate("Device"))
else
s.defaults.device = devs[1]
end
-mode = s:option(ListValue, "mode", translate("mode"))
+mode = s:option(ListValue, "mode", translate("Mode"))
mode.override_values = true
-mode:value("ap", translate("m_w_ap"))
-mode:value("adhoc", translate("m_w_adhoc"))
-mode:value("sta", translate("m_w_client"))
+mode:value("ap", translate("Provide (Access Point)"))
+mode:value("adhoc", translate("Independent (Ad-Hoc)"))
+mode:value("sta", translate("Join (Client)"))
function mode.write(self, section, value)
if value == "sta" then
return ListValue.write(self, section, value)
end
-encr = s:option(ListValue, "encryption", translate("encryption"))
+encr = s:option(ListValue, "encryption", translate("Encryption"))
encr.override_values = true
encr:value("none", "No Encryption")
encr:value("wep", "WEP")
encr:value("psk+psk2", "WPA-PSK/WPA2-PSK Mixed Mode")
end
-key = s:option(Value, "key", translate("key"))
+key = s:option(Value, "key", translate("Key"))
key:depends("encryption", "wep")
key:depends("encryption", "psk")
key:depends("encryption", "psk2")
key.rmempty = true
key.password = true
-server = s:option(Value, "server", translate("a_w_radiussrv"))
+server = s:option(Value, "server", translate("RadiusServer"))
server:depends({mode="ap", encryption="wpa"})
server:depends({mode="ap", encryption="wpa2"})
server.rmempty = true
-port = s:option(Value, "port", translate("a_w_radiusport"))
+port = s:option(Value, "port", translate("Radius-Port"))
port:depends({mode="ap", encryption="wpa"})
port:depends({mode="ap", encryption="wpa2"})
port.rmempty = true
if hwtype == "atheros" or hwtype == "mac80211" then
- nasid = s:option(Value, "nasid", translate("a_w_nasid"))
+ nasid = s:option(Value, "nasid", translate("NAS ID"))
nasid:depends({mode="ap", encryption="wpa"})
nasid:depends({mode="ap", encryption="wpa2"})
nasid.rmempty = true
- eaptype = s:option(ListValue, "eap_type", translate("a_w_eaptype"))
+ eaptype = s:option(ListValue, "eap_type", translate("EAP-Method"))
eaptype:value("TLS")
eaptype:value("TTLS")
eaptype:value("PEAP")
eaptype:depends({mode="sta", encryption="wpa"})
eaptype:depends({mode="sta", encryption="wpa2"})
- cacert = s:option(FileUpload, "ca_cert", translate("a_w_cacert"))
+ cacert = s:option(FileUpload, "ca_cert", translate("Path to CA-Certificate"))
cacert:depends({mode="sta", encryption="wpa"})
cacert:depends({mode="sta", encryption="wpa2"})
- privkey = s:option(FileUpload, "priv_key", translate("a_w_tlsprivkey"))
+ privkey = s:option(FileUpload, "priv_key", translate("Path to Private Key"))
privkey:depends({mode="sta", eap_type="TLS", encryption="wpa2"})
privkey:depends({mode="sta", eap_type="TLS", encryption="wpa"})
- privkeypwd = s:option(Value, "priv_key_pwd", translate("a_w_tlsprivkeypwd"))
+ privkeypwd = s:option(Value, "priv_key_pwd", translate("Password of Private Key"))
privkeypwd:depends({mode="sta", eap_type="TLS", encryption="wpa2"})
privkeypwd:depends({mode="sta", eap_type="TLS", encryption="wpa"})
- auth = s:option(Value, "auth", translate("a_w_peapauth"))
+ auth = s:option(Value, "auth", translate("Authentication"))
auth:value("PAP")
auth:value("CHAP")
auth:value("MSCHAP")
auth:depends({mode="sta", eap_type="TTLS", encryption="wpa"})
- identity = s:option(Value, "identity", translate("a_w_peapidentity"))
+ identity = s:option(Value, "identity", translate("Identity"))
identity:depends({mode="sta", eap_type="PEAP", encryption="wpa2"})
identity:depends({mode="sta", eap_type="PEAP", encryption="wpa"})
identity:depends({mode="sta", eap_type="TTLS", encryption="wpa2"})
identity:depends({mode="sta", eap_type="TTLS", encryption="wpa"})
- password = s:option(Value, "password", translate("a_w_peappassword"))
+ password = s:option(Value, "password", translate("Password"))
password:depends({mode="sta", eap_type="PEAP", encryption="wpa2"})
password:depends({mode="sta", eap_type="PEAP", encryption="wpa"})
password:depends({mode="sta", eap_type="TTLS", encryption="wpa2"})
if hwtype == "atheros" or hwtype == "broadcom" then
- iso = s:option(Flag, "isolate", translate("a_w_apisolation"), translate("a_w_apisolation1"))
+ iso = s:option(Flag, "isolate", translate("AP-Isolation"), translate("Prevents Client to Client communication"))
iso.rmempty = true
iso:depends("mode", "ap")
- hide = s:option(Flag, "hidden", translate("a_w_hideessid"))
+ hide = s:option(Flag, "hidden", translate("Hide <abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"))
hide.rmempty = true
hide:depends("mode", "ap")
end
-%>
<%+header%>
-<h2><a id="content" name="content"><%:system%></a></h2>
+<h2><a id="content" name="content"><%:System%></a></h2>
<br />
-<p><% if msg then %><%=msg%><% else %><%:a_s_applyreboot1%><% end %></p>
-<p><%:a_s_reboot_running%></p>
+<p><% if msg then %><%=msg%><% else %><%:Changes applied.%><% end %></p>
+<p><%:Please wait: Device rebooting...%></p>
<script type="text/javascript">setTimeout("location='<%=controller%>'", 60000)</script>
<%+footer%>
\ No newline at end of file
-%>
<%+header%>
-<h2><a id="content" name="content"><%:system%></a></h2>
-<h3><%:a_s_backup%></h3>
-<p><%:a_s_backup1%></p>
+<h2><a id="content" name="content"><%:System%></a></h2>
+<h3><%:Backup / Restore%></h3>
+<p><%:Here you can backup and restore your router configuration and - if possible - reset the router to the default settings.%></p>
<br />
<div>
<ul>
- <li><a href="<%=REQUEST_URI%>?backup=kthxbye"><%:a_s_backup_backup%></a></li>
+ <li><a href="<%=REQUEST_URI%>?backup=kthxbye"><%:Create backup%></a></li>
<% if reset_avail then -%>
- <li><a href="<%=REQUEST_URI%>?reset=yarly" onclick="return confirm('<%:a_s_backup_reset1%>')"><%:a_s_backup_reset%></a></li>
+ <li><a href="<%=REQUEST_URI%>?reset=yarly" onclick="return confirm('<%:Proceed reverting all settings and resetting to firmware defaults?%>')"><%:Reset router to defaults%></a></li>
<% end -%>
</ul>
</div>
<br />
<form method="post" action="<%=REQUEST_URI%>" enctype="multipart/form-data">
- <div class="left"><%:a_s_backup_archive%>:</div>
+ <div class="left"><%:Backup Archive%>:</div>
<div>
<input type="file" size="30" name="archive" />
</div>
<div>
- <input type="submit" class="cbi-input-apply" value="<%:a_s_backup_restore%>" />
+ <input type="submit" class="cbi-input-apply" value="<%:Restore backup%>" />
</div>
</form>
<%+footer%>
\ No newline at end of file
$Id$
-%>
-<h2><a id="content" name="content"><%:a_i_i_hello%></a></h2>
-<p><%:a_i_i_admin1%></p>
-<p><%:a_i_i_admin2%><br />
-<%:a_i_i_admin3%></p>
-<p><%:a_i_i_admin5%></p>
-<p><%:a_i_i_admin6%></p>
-<p><em><strong><a href="<%=controller%>/about"><%:a_i_i_team%></a></strong></em></p>
+<h2><a id="content" name="content"><%:Hello!%></a></h2>
+<p><%:This is the administration area of <abbr title="Lua Configuration Interface">LuCI</abbr>.%></p>
+<p><%:<abbr title="Lua Configuration Interface">LuCI</abbr> is a free, flexible, and user friendly graphical interface for configuring OpenWrt Kamikaze.%><br />
+<%:On the following pages you can adjust all important settings of your router.%></p>
+<p><%:As we always want to improve this interface we are looking forward to your feedback and suggestions.%></p>
+<p><%:And now have fun with your router!%></p>
+<p><em><strong><a href="<%=controller%>/about"><%:The <abbr title="Lua Configuration Interface">LuCI</abbr> Team%></a></strong></em></p>
-%>
<%+header%>
-<h2><a id="content" name="content"><%:system%></a></h2>
-<h3><%:reboot%></h3>
-<p><%:a_s_reboot1%></p>
+<h2><a id="content" name="content"><%:System%></a></h2>
+<h3><%:Reboot%></h3>
+<p><%:Reboots the operating system of your device%></p>
<%-
local c = require("luci.model.uci").cursor():changes()
if c and next(c) then
-%>
- <p class="warning"><%:a_s_reboot_u%></p>
+ <p class="warning"><%:Warning: There are unsaved changes that will be lost while rebooting!%></p>
<%-
end
if not reboot then
-%>
-<p><a href="<%=REQUEST_URI%>?reboot=1"><%:a_s_reboot_do%></a></p>
+<p><a href="<%=REQUEST_URI%>?reboot=1"><%:Perform reboot%></a></p>
<%- else -%>
-<p><%:a_s_reboot_running%></p>
+<p><%:Please wait: Device rebooting...%></p>
<script type="text/javascript">setTimeout("location='<%=controller%>'", 60000)</script>
<%- end -%>
<%+footer%>
\ No newline at end of file
<%+header%>
-<h2><a id="content" name="content"><%:system%></a></h2>
+<h2><a id="content" name="content"><%:System%></a></h2>
<h3><%:admin_upgrade Flash Firmware%></h3>
<% if step == 1 then %>
if flashsize > 0 then
write(luci.i18n.translatef(
- "admin_upgrade_spaceavail",
" (%s available)",
w.byte_format(flashsize)
))
local page = node("freifunk", "status", "status")
page.target = form("freifunk/public_status")
- page.title = i18n("overview")
+ page.title = i18n("Overview")
page.order = 20
page.i18n = "admin-core"
page.setuser = false
assign({"freifunk", "olsr"}, {"admin", "status", "olsr"}, "OLSR", 30)
if nixio.fs.access("/etc/config/luci_statistics") then
- assign({"freifunk", "graph"}, {"admin", "statistics", "graph"}, i18n("stat_statistics", "Statistiken"), 40)
+ assign({"freifunk", "graph"}, {"admin", "statistics", "graph"}, i18n("Statistics"), 40)
end
assign({"mini", "freifunk"}, {"admin", "freifunk"}, "Freifunk", 15)
page.title = "Kontakt"
page.order = 40
- entry({"freifunk", "map"}, template("freifunk-map/frame"), i18n("freifunk_map", "Karte"), 50)
+ entry({"freifunk", "map"}, template("freifunk-map/frame"), i18n("Karte"), 50)
entry({"freifunk", "map", "content"}, template("freifunk-map/map"), nil, 51)
end
local i18n = luci.i18n.translate
entry({"admin", "system", "remote_update"}, call("act_remote_update"),
- i18n("ff_remote_update", "Freifunk Remote Update"), 90)
+ i18n("Freifunk Remote Update"), 90)
end
function act_remote_update()
c = m:section(NamedSection, "contact", "public", "")
-c:option(Value, "nickname", translate("ff_nickname"))
-c:option(Value, "name", translate("ff_name"))
-c:option(Value, "mail", translate("ff_mail"), translate("ff_mail1"))
-c:option(Value, "phone", translate("ff_phone"))
-c:option(Value, "location", translate("ff_location"))
-c:option(Value, "note", translate("ff_note"))
+c:option(Value, "nickname", translate("Nickname"))
+c:option(Value, "name", translate("Realname"))
+c:option(Value, "mail", translate("E-Mail"), translate("You really should provide your address here!"))
+c:option(Value, "phone", translate("Phone"))
+c:option(Value, "location", translate("Location"))
+c:option(Value, "note", translate("Notice"))
m2 = Map("system", translate("geo"))
s = m2:section(TypedSection, "system", "")
-s:option(Value, "latitude", translate("latitude", "Breite")).rmempty = true
-s:option(Value, "longitude", translate("longitude", "Länge")).rmempty = true
+s:option(Value, "latitude", translate("Breite")).rmempty = true
+s:option(Value, "longitude", translate("Länge")).rmempty = true
return m, m2
local system, model, memtotal, memcached, membuffers, memfree = luci.sys.sysinfo()
local uptime = luci.sys.uptime()
-f:field(DummyValue, "_system", translate("system")).value = system
-f:field(DummyValue, "_cpu", translate("m_i_processor")).value = model
+f:field(DummyValue, "_system", translate("System")).value = system
+f:field(DummyValue, "_cpu", translate("Processor")).value = model
local load1, load5, load15 = luci.sys.loadavg()
-f:field(DummyValue, "_la", translate("load")).value =
+f:field(DummyValue, "_la", translate("Load")).value =
string.format("%.2f, %.2f, %.2f", load1, load5, load15)
-f:field(DummyValue, "_memtotal", translate("m_i_memory")).value =
+f:field(DummyValue, "_memtotal", translate("Memory")).value =
string.format("%.2f MB (%.0f%% %s, %.0f%% %s, %.0f%% %s)",
tonumber(memtotal) / 1024,
100 * memcached / memtotal,
tostring(translate("mem_free", ""))
)
-f:field(DummyValue, "_systime", translate("m_i_systemtime")).value =
+f:field(DummyValue, "_systime", translate("Local Time")).value =
os.date("%c")
-f:field(DummyValue, "_uptime", translate("m_i_uptime")).value =
+f:field(DummyValue, "_uptime", translate("Uptime")).value =
luci.tools.webadmin.date_format(tonumber(uptime))
m.submit = false
m.reset = false
-s = m:section(Table, ifaces, translate("networks"))
+s = m:section(Table, ifaces, translate("Networks"))
-link = s:option(DummyValue, "_link", translate("link"))
+link = s:option(DummyValue, "_link", translate("Link"))
function link.cfgvalue(self, section)
local ifname = self.map:get(section, "ifname")
return wifidata[ifname] and wifidata[ifname]["Link Quality"] or "-"
or wifidata[ifname]["Access Point"])) or "-"
end
-channel = s:option(DummyValue, "channel", translate("channel"))
+channel = s:option(DummyValue, "channel", translate("Channel"))
function channel.cfgvalue(self, section)
return wireless[self.map:get(section, "device")].channel
end
-protocol = s:option(DummyValue, "_mode", translate("protocol"))
+protocol = s:option(DummyValue, "_mode", translate("Protocol"))
function protocol.cfgvalue(self, section)
local mode = wireless[self.map:get(section, "device")].mode
return mode and "802." .. mode
end
-mode = s:option(DummyValue, "mode", translate("mode"))
-encryption = s:option(DummyValue, "encryption", translate("iwscan_encr"))
+mode = s:option(DummyValue, "mode", translate("Mode"))
+encryption = s:option(DummyValue, "encryption", translate("<abbr title=\"Encrypted\">Encr.</abbr>"))
-power = s:option(DummyValue, "_power", translate("power"))
+power = s:option(DummyValue, "_power", translate("Power"))
function power.cfgvalue(self, section)
local ifname = self.map:get(section, "ifname")
return wifidata[ifname] and wifidata[ifname]["Tx-Power"] or "-"
end
-scan = s:option(Button, "_scan", translate("scan"))
+scan = s:option(Button, "_scan", translate("Scan"))
scan.inputstyle = "find"
function scan.cfgvalue(self, section)
return self.map:get(section, "ifname") or false
end
-t2 = m:section(Table, {}, translate("iwscan"), translate("iwscan1"))
+t2 = m:section(Table, {}, translate("<abbr title=\"Wireless Local Area Network\">WLAN</abbr>-Scan"), translate("Wifi networks in your local environment"))
function scan.write(self, section)
t2.render = t2._render
t2._render = t2.render
t2.render = function() end
-t2:option(DummyValue, "Quality", translate("iwscan_link"))
+t2:option(DummyValue, "Quality", translate("Link"))
essid = t2:option(DummyValue, "ESSID", "ESSID")
function essid.cfgvalue(self, section)
return luci.util.pcdata(self.map:get(section, "ESSID"))
end
t2:option(DummyValue, "Address", "BSSID")
-t2:option(DummyValue, "Mode", translate("mode"))
-chan = t2:option(DummyValue, "channel", translate("channel"))
+t2:option(DummyValue, "Mode", translate("Mode"))
+chan = t2:option(DummyValue, "channel", translate("Channel"))
function chan.cfgvalue(self, section)
return self.map:get(section, "Channel")
or self.map:get(section, "Frequency")
or "-"
end
-t2:option(DummyValue, "Encryption key", translate("iwscan_encr"))
+t2:option(DummyValue, "Encryption key", translate("<abbr title=\"Encrypted\">Encr.</abbr>"))
-t2:option(DummyValue, "Signal level", translate("iwscan_signal"))
+t2:option(DummyValue, "Signal level", translate("Signal"))
-t2:option(DummyValue, "Noise level", translate("iwscan_noise"))
+t2:option(DummyValue, "Noise level", translate("Noise"))
-- Routes --
v = r:section(Table, routes)
-net = v:option(DummyValue, "iface", translate("network"))
+net = v:option(DummyValue, "iface", translate("Network"))
function net.cfgvalue(self, section)
return luci.tools.webadmin.iface_get_network(routes[section].device)
or routes[section].device
end
-target = v:option(DummyValue, "target", translate("target"))
+target = v:option(DummyValue, "target", translate("Target"))
function target.cfgvalue(self, section)
return routes[section].dest:network():string()
end
-netmask = v:option(DummyValue, "netmask", translate("netmask"))
+netmask = v:option(DummyValue, "netmask", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"))
function netmask.cfgvalue(self, section)
return routes[section].dest:mask():string()
end
-gateway = v:option(DummyValue, "gateway", translate("gateway"))
+gateway = v:option(DummyValue, "gateway", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Gateway"))
function gateway.cfgvalue(self, section)
return routes[section].gateway:string()
end
-metric = v:option(DummyValue, "metric", translate("metric"))
+metric = v:option(DummyValue, "metric", translate("Metric"))
function metric.cfgvalue(self, section)
return routes[section].metric
end
if #routes6 > 0 then
v6 = r:section(Table, routes6)
- net = v6:option(DummyValue, "iface", translate("network"))
+ net = v6:option(DummyValue, "iface", translate("Network"))
function net.cfgvalue(self, section)
return luci.tools.webadmin.iface_get_network(routes6[section].device)
or routes6[section].device
end
- target = v6:option(DummyValue, "target", translate("target"))
+ target = v6:option(DummyValue, "target", translate("Target"))
function target.cfgvalue(self, section)
return routes6[section].dest:string()
end
- gateway = v6:option(DummyValue, "gateway6", translate("gateway6"))
+ gateway = v6:option(DummyValue, "gateway6", translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Gateway"))
function gateway.cfgvalue(self, section)
return routes6[section].source:string()
end
- metric = v6:option(DummyValue, "metric", translate("metric"))
+ metric = v6:option(DummyValue, "metric", translate("Metric"))
function metric.cfgvalue(self, section)
local metr = routes6[section].metric
local lower = bit.band(metr, 0xffff)
<% local contact = luci.model.uci.cursor():get_all("freifunk", "contact") %>
<h2><a id="content" name="content"><%:contact%></a></h2>
<table cellspacing="0" cellpadding="6">
- <tr><th><%:ff_nickname%>:</th><td><%=contact.nickname%></td></tr>
- <tr><th><%:ff_name%>:</th><td><%=contact.name%></td></tr>
- <tr><th><%:ff_mail%>:</th><td><%=contact.mail%></td></tr>
- <tr><th><%:ff_phone%>:</th><td><%=contact.phone%></td></tr>
- <tr><th><%:ff_location%>:</th><td><%=contact.location%></td></tr>
- <tr><th><%:ff_geocoord%>:</th><td><%=contact.geo%></td></tr>
- <tr><th><%:ff_note%>:</th><td><%=contact.note%></td></tr>
+ <tr><th><%:Nickname%>:</th><td><%=contact.nickname%></td></tr>
+ <tr><th><%:Realname%>:</th><td><%=contact.name%></td></tr>
+ <tr><th><%:E-Mail%>:</th><td><%=contact.mail%></td></tr>
+ <tr><th><%:Phone%>:</th><td><%=contact.phone%></td></tr>
+ <tr><th><%:Location%>:</th><td><%=contact.location%></td></tr>
+ <tr><th><%:Coordinates%>:</th><td><%=contact.geo%></td></tr>
+ <tr><th><%:Notice%>:</th><td><%=contact.note%></td></tr>
</table>
<%+footer%>
-%>
<%+header%>
<% local ff = luci.model.uci.cursor():get_all("freifunk") %>
-<h2><a id="content" name="content"><%:ff_hellonet%> <%=ff.community.name or 'Freifunk Deutschland'%>!</a></h2>
-<p><%:ff_public1%><br />
-<%:ff_public2%> <%=luci.sys.hostname()%>. <%:ff_public3%>
+<h2><a id="content" name="content"><%:Hello and welcome in the network of%> <%=ff.community.name or 'Freifunk Deutschland'%>!</a></h2>
+<p><%:We are an initiative to establish a free, independent and open wireless mesh network.%><br />
+<%:This is the access point%> <%=luci.sys.hostname()%>. <%:It is operated by%>
<a href="<%=luci.dispatcher.build_url("freifunk", "index", "contact")%>"> <%=ff.contact.nickname%></a>.</p>
-<p><%:ff_public4%> <a href="http://freifunk.net">Freifunk.net</a>.<br />
-<%:ff_public5%> <a href="<%=ff.community.homepage or 'http//freifunk.net'%>"><%=ff.community.name or 'Freifunk'%></a>.</p>
-<p><strong><%:ff_note%></strong>: <%:ff_public6%></p>
+<p><%:You can find further information about the global Freifunk initiative at%> <a href="http://freifunk.net">Freifunk.net</a>.<br />
+<%:If you are interested in our project then contact the local community%> <a href="<%=ff.community.homepage or 'http//freifunk.net'%>"><%=ff.community.name or 'Freifunk'%></a>.</p>
+<p><strong><%:Notice%></strong>: <%:Internet access depends on technical and organisational conditions and may or may not work for you.%></p>
<%+footer%>
end
if leases then
- v = m2:section(Table, leases, translate("dhcp_leases_active"))
- ip = v:option(DummyValue, 3, translate("ipaddress"))
+ v = m2:section(Table, leases, translate("Active Leases"))
+ ip = v:option(DummyValue, 3, translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"))
- mac = v:option(DummyValue, 2, translate("macaddress"))
+ mac = v:option(DummyValue, 2, translate("<abbr title=\"Media Access Control\">MAC</abbr>-Address"))
- ltime = v:option(DummyValue, 1, translate("dhcp_timeremain"))
+ ltime = v:option(DummyValue, 1, translate("Leasetime remaining"))
function ltime.cfgvalue(self, ...)
local value = DummyValue.cfgvalue(self, ...)
return wa.date_format(os.difftime(tonumber(value), os.time()))
s.anonymous = true
s.template = "cbi/tblsection"
-hn = s:option(Value, "name", translate("hostnames_hostname"))
-mac = s:option(Value, "mac", translate("macaddress"))
-ip = s:option(Value, "ip", translate("ipaddress"))
+hn = s:option(Value, "name", translate("Hostname"))
+mac = s:option(Value, "mac", translate("<abbr title=\"Media Access Control\">MAC</abbr>-Address"))
+ip = s:option(Value, "ip", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"))
sys.net.arptable(function(entry)
ip:value(entry["IP address"])
mac:value(
s = m:section(NamedSection, "wan", "interface")
s.addremove = false
-s:tab("general", translate("niu_general", "General Settings"))
-s:tab("expert", translate("niu_expert", "Expert Settings"))
+s:tab("general", translate("General Settings"))
+s:tab("expert", translate("Expert Settings"))
-p = s:taboption("general", ListValue, "proto", translate("protocol"))
+p = s:taboption("general", ListValue, "proto", translate("Protocol"))
p.override_scheme = true
p.default = "static"
p:value("static", translate("static"))
-ipaddr = s:taboption("general", Value, "ipaddr", translate("ipaddress"))
+ipaddr = s:taboption("general", Value, "ipaddr", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"))
ipaddr.rmempty = true
ipaddr:depends("proto", "static")
-nm = s:taboption("general", Value, "netmask", translate("netmask"))
+nm = s:taboption("general", Value, "netmask", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"))
nm.rmempty = true
nm:depends("proto", "static")
nm:value("255.255.255.0")
nm:value("255.255.0.0")
nm:value("255.0.0.0")
-gw = s:taboption("general", Value, "gateway", translate("gateway"))
+gw = s:taboption("general", Value, "gateway", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Gateway"))
gw:depends("proto", "static")
gw.rmempty = true
-bcast = s:taboption("expert", Value, "bcast", translate("broadcast"))
+bcast = s:taboption("expert", Value, "bcast", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Broadcast"))
bcast:depends("proto", "static")
if has_ipv6 then
- ip6addr = s:taboption("expert", Value, "ip6addr", translate("ip6address"), translate("cidr6"))
+ ip6addr = s:taboption("expert", Value, "ip6addr", translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Address"), translate("<abbr title=\"Classless Inter-Domain Routing\">CIDR</abbr>-Notation: address/prefix"))
ip6addr:depends("proto", "static")
- ip6gw = s:taboption("expert", Value, "ip6gw", translate("gateway6"))
+ ip6gw = s:taboption("expert", Value, "ip6gw", translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Gateway"))
ip6gw:depends("proto", "static")
end
-dns = s:taboption("expert", Value, "dns", translate("dnsserver"))
+dns = s:taboption("expert", Value, "dns", translate("<abbr title=\"Domain Name System\">DNS</abbr>-Server"))
dns:depends("peerdns", "")
mtu = s:taboption("expert", Value, "mtu", "MTU")
mtu.isinteger = true
-mac = s:taboption("expert", Value, "macaddr", translate("macaddress"))
+mac = s:taboption("expert", Value, "macaddr", translate("<abbr title=\"Media Access Control\">MAC</abbr>-Address"))
-srv = s:taboption("general", Value, "server", translate("network_interface_server"))
+srv = s:taboption("general", Value, "server", translate("<abbr title=\"Point-to-Point Tunneling Protocol\">PPTP</abbr>-Server"))
srv:depends("proto", "pptp")
srv.rmempty = true
if has_pppd or has_pppoe or has_pppoa or has_pptp then
- user = s:taboption("general", Value, "username", translate("username"))
+ user = s:taboption("general", Value, "username", translate("Username"))
user.rmempty = true
user:depends("proto", "pptp")
user:depends("proto", "pppoe")
user:depends("proto", "pppoa")
- pass = s:taboption("general", Value, "password", translate("password"))
+ pass = s:taboption("general", Value, "password", translate("Password"))
pass.rmempty = true
pass.password = true
pass:depends("proto", "pptp")
pass:depends("proto", "pppoa")
ka = s:taboption("expert", Value, "keepalive",
- translate("network_interface_keepalive"),
- translate("network_interface_keepalive_desc")
+ translate("Keep-Alive"),
+ translate("Number of failed connection tests to initiate automatic reconnect")
)
ka.default = "5"
ka:depends("proto", "pptp")
ka:depends("proto", "pppoa")
demand = s:taboption("expert", Value, "demand",
- translate("network_interface_demand"),
- translate("network_interface_demand_desc")
+ translate("Automatic Disconnect"),
+ translate("Time (in seconds) after which an unused connection will be closed")
)
demand:depends("proto", "pptp")
demand:depends("proto", "pppoe")
end
if has_pppoa then
- encaps = s:taboption("expert", ListValue, "encaps", translate("network_interface_encaps"))
+ encaps = s:taboption("expert", ListValue, "encaps", translate("PPPoA Encapsulation"))
encaps:depends("proto", "pppoa")
- encaps:value("", translate("cbi_select"))
+ encaps:value("", translate("-- Please choose --"))
encaps:value("vc", "VC")
encaps:value("llc", "LLC")
if has_pptp or has_pppd or has_pppoe or has_pppoa or has_3g then
--[[
defaultroute = s:taboption("expert", Flag, "defaultroute",
- translate("network_interface_defaultroute"),
- translate("network_interface_defaultroute_desc")
+ translate("Replace default route"),
+ translate("Let pppd replace the current default route to use the PPP interface after successful connect")
)
defaultroute:depends("proto", "pppoa")
defaultroute:depends("proto", "pppoe")
end
]]
peerdns = s:taboption("expert", Flag, "peerdns",
- translate("network_interface_peerdns"),
- translate("network_interface_peerdns_desc")
+ translate("Use peer DNS"),
+ translate("Configure the local DNS server to use the name servers adverticed by the PPP peer")
)
peerdns:depends("proto", "pppoa")
peerdns:depends("proto", "pppoe")
peerdns.default = "1"
if has_ipv6 then
- ipv6 = s:taboption("expert", Flag, "ipv6", translate("network_interface_ipv6") )
+ ipv6 = s:taboption("expert", Flag, "ipv6", translate("Enable IPv6 on PPP link") )
ipv6:depends("proto", "pppoa")
ipv6:depends("proto", "pppoe")
ipv6:depends("proto", "pptp")
s = m:section(NamedSection, "lan", "interface")
s.addremove = false
-s:tab("general", translate("niu_general", "General Settings"))
+s:tab("general", translate("General Settings"))
-ipaddr = s:taboption("general", Value, "ipaddr", translate("ipaddress"))
+ipaddr = s:taboption("general", Value, "ipaddr", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"))
-nm = s:taboption("general", Value, "netmask", translate("netmask"))
+nm = s:taboption("general", Value, "netmask", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"))
nm:value("255.255.255.0")
nm:value("255.255.0.0")
nm:value("255.0.0.0")
-s:tab("expert", translate("niu_expert", "Expert Settings"))
+s:tab("expert", translate("Expert Settings"))
-mac = s:taboption("expert", Value, "macaddr", translate("macaddress"))
+mac = s:taboption("expert", Value, "macaddr", translate("<abbr title=\"Media Access Control\">MAC</abbr>-Address"))
mtu = s:taboption("expert", Value, "mtu", "MTU")
mtu.isinteger = true
-dns = s:taboption("expert", Value, "dns", translate("dnsserver"))
+dns = s:taboption("expert", Value, "dns", translate("<abbr title=\"Domain Name System\">DNS</abbr>-Server"))
dns:depends("peerdns", "")
-gw = s:taboption("expert", Value, "gateway", translate("gateway"))
-bcast = s:taboption("expert", Value, "bcast", translate("broadcast"))
+gw = s:taboption("expert", Value, "gateway", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Gateway"))
+bcast = s:taboption("expert", Value, "bcast", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Broadcast"))
if has_ipv6 then
- ip6addr = s:taboption("expert", Value, "ip6addr", translate("ip6address"), translate("cidr6"))
- ip6gw = s:taboption("expert", Value, "ip6gw", translate("gateway6"))
+ ip6addr = s:taboption("expert", Value, "ip6addr", translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Address"), translate("<abbr title=\"Classless Inter-Domain Routing\">CIDR</abbr>-Notation: address/prefix"))
+ ip6gw = s:taboption("expert", Value, "ip6gw", translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Gateway"))
end
-stp = s:taboption("expert", Flag, "stp", translate("a_n_i_stp"),
- translate("a_n_i_stp1", "Enables the Spanning Tree Protocol on this bridge"))
+stp = s:taboption("expert", Flag, "stp", translate("Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"),
+ translate("Enables the Spanning Tree Protocol on this bridge"))
-ifname_multi = s:taboption("expert", MultiValue, "ifname_multi", translate("interface"))
+ifname_multi = s:taboption("expert", MultiValue, "ifname_multi", translate("Interface"))
ifname_multi.template = "cbi/network_ifacelist"
ifname_multi.nobridges = true
ifname_multi.widget = "checkbox"
s.addremove = false
s.dynamic = false
-s:tab("general", translate("niu_general", "General Settings"))
+s:tab("general", translate("General Settings"))
s:depends("interface", "lan")
enable:value(1, translate("disable"))
-s:tab("expert", translate("niu_expert", "Expert Settings"))
-start = s:taboption("expert", Value, "start", translate("m_n_d_firstaddress"))
-limit = s:taboption("expert", Value, "limit", translate("m_n_d_numleases"), "")
+s:tab("expert", translate("Expert Settings"))
+start = s:taboption("expert", Value, "start", translate("First leased address"))
+limit = s:taboption("expert", Value, "limit", translate("Number of leased addresses"), "")
time = s:taboption("expert", Value, "leasetime")
$Id$
]]--
-m = Map("network", translate("a_n_routes"), translate("a_n_routes1"))
+m = Map("network", translate("Routes"), translate("a_n_routes1"))
local routes6 = luci.sys.net.routes6()
local bit = require "bit"
-s = m:section(TypedSection, "route", translate("a_n_routes_static4"))
+s = m:section(TypedSection, "route", translate("Static IPv4 Routes"))
s.addremove = true
s.anonymous = true
s.template = "cbi/tblsection"
-iface1 = s:option(ListValue, "interface", translate("interface"))
+iface1 = s:option(ListValue, "interface", translate("Interface"))
-s:option(Value, "target", translate("target"), translate("a_n_r_target1"))
-s:option(Value, "netmask", translate("netmask"), translate("a_n_r_netmask1")).rmemepty = true
-s:option(Value, "gateway", translate("gateway"))
+s:option(Value, "target", translate("Target"), translate("Host-<abbr title=\"Internet Protocol Address\">IP</abbr> or Network"))
+s:option(Value, "netmask", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"), translate("if target is a network")).rmemepty = true
+s:option(Value, "gateway", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Gateway"))
if routes6 then
- s = m:section(TypedSection, "route6", translate("a_n_routes_static6"))
+ s = m:section(TypedSection, "route6", translate("Static IPv6 Routes"))
s.addremove = true
s.anonymous = true
s.template = "cbi/tblsection"
- iface2 = s:option(ListValue, "interface", translate("interface"))
+ iface2 = s:option(ListValue, "interface", translate("Interface"))
- s:option(Value, "target", translate("target"), translate("a_n_r_target6"))
- s:option(Value, "gateway", translate("gateway6")).rmempty = true
+ s:option(Value, "target", translate("Target"), translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Address or Network (CIDR)"))
+ s:option(Value, "gateway", translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Gateway")).rmempty = true
end
m.uci:foreach("network", "interface", function(s)
</div></div>
<div class="pathbar separator black whitetext bold">
-<%:path%>: <%
+<%:Path%>: <%
local c = tree
local url = controller
for k,v in pairs(request) do
<div class="mainmenu" style="float:right; margin-right:2em">
<div>
<% if ucic > 0 then %>
- <a class="warning" href="<%=controller%>/<%=category%>/uci/changes"><%:unsavedchanges%>: <%=ucic%></a>
+ <a class="warning" href="<%=controller%>/<%=category%>/uci/changes"><%:Unsaved Changes%>: <%=ucic%></a>
<% submenu("/" .. category .. "/uci/", tree.nodes[category].nodes["uci"]) -%>
<% else %>
- <a href="#"><%:changes%>: 0</a>
+ <a href="#"><%:Changes%>: 0</a>
<% end %>
</div>
</div>
</div>
<div class="pathbar separator black whitetext bold">
-<%:path%>: <%
+<%:Path%>: <%
local c = tree
local url = controller
for k,v in pairs(request) do
<div class="mainmenu" style="float:right; margin-right:2em">
<div>
<% if ucic > 0 then %>
- <a class="warning" href="<%=controller%>/<%=category%>/uci/changes"><%:unsavedchanges%>: <%=ucic%></a>
+ <a class="warning" href="<%=controller%>/<%=category%>/uci/changes"><%:Unsaved Changes%>: <%=ucic%></a>
<% submenu("/" .. category .. "/uci/", tree.nodes[category].nodes["uci"]) -%>
<% else %>
- <a href="#"><%:changes%>: 0</a>
+ <a href="#"><%:Changes%>: 0</a>
<% end %>
</div>
</div>
<h1><%=luci.version.distname%></h1>
<p>
<%=luci.version.distversion%><br />
-<%:load%>: <%="%.2f" % load1%> <%="%.2f" % load5%> <%="%.2f" % load15%><br />
-<%:hostname%>: <%=hostname%>
+<%:Load%>: <%="%.2f" % load1%> <%="%.2f" % load5%> <%="%.2f" % load15%><br />
+<%:Hostname%>: <%=hostname%>
</p>
</div>
end
-%>
<ul id="savemenu" class="dropdowns">
-<li><% if ucic > 0 then %><a class="warning" href="<%=controller%>/<%=category%>/uci/changes/"><%:unsavedchanges%>: <%=ucic%></a><%
+<li><% if ucic > 0 then %><a class="warning" href="<%=controller%>/<%=category%>/uci/changes/"><%:Unsaved Changes%>: <%=ucic%></a><%
submenu("/" .. category .. "/uci/", tree.nodes[category].nodes["uci"])
else -%>
-<a href="#"><%:changes%>: 0</a><% end -%>
+<a href="#"><%:Changes%>: 0</a><% end -%>
</li>
</ul><% end %>
</div>
<div class="pathbar separator black whitetext bold">
-<%:path%>: <%
+<%:Path%>: <%
local c = tree
local url = controller
for k,v in pairs(request) do
<div class="mainmenu" style="float:right; margin-right:2em">
<div>
<% if ucic > 0 then %>
- <a class="warning" href="<%=controller%>/<%=category%>/uci/changes"><%:unsavedchanges%>: <%=ucic%></a>
+ <a class="warning" href="<%=controller%>/<%=category%>/uci/changes"><%:Unsaved Changes%>: <%=ucic%></a>
<% submenu("/" .. category .. "/uci/", tree.nodes[category].nodes["uci"]) -%>
<% else %>
- <a href="#"><%:changes%>: 0</a>
+ <a href="#"><%:Changes%>: 0</a>
<% end %>
</div>
</div>
<h1><%=luci.version.distname%></h1>
<p>
: <%=luci.version.distversion%> |
-<%:load%>: <%="%.2f" % load1%> <%="%.2f" % load5%> <%="%.2f" % load15%> |
-<%:hostname%>: <%=hostname%>
+<%:Load%>: <%="%.2f" % load1%> <%="%.2f" % load5%> <%="%.2f" % load15%> |
+<%:Hostname%>: <%=hostname%>
</p>
</div>
end
-%>
<ul id="savemenu" class="dropdowns">
-<li><% if ucic > 0 then %><a class="warning" href="<%=controller%>/<%=category%>/uci/changes/"><%:unsavedchanges%>: <%=ucic%></a><%
+<li><% if ucic > 0 then %><a class="warning" href="<%=controller%>/<%=category%>/uci/changes/"><%:Unsaved Changes%>: <%=ucic%></a><%
submenu("/" .. category .. "/uci/", tree.nodes[category].nodes["uci"])
else -%>
-<a href="#"><%:changes%>: 0</a><% end -%>
+<a href="#"><%:Changes%>: 0</a><% end -%>
</li>
</ul><% end %>
<h1><%=luci.version.distname%></h1>
<p>
<%=luci.version.distversion%><br />
-<%:load%>: <%="%.2f" % load1%> <%="%.2f" % load5%> <%="%.2f" % load15%><br />
-<%:hostname%>: <%=hostname%>
+<%:Load%>: <%="%.2f" % load1%> <%="%.2f" % load5%> <%="%.2f" % load15%><br />
+<%:Hostname%>: <%=hostname%>
</p>
</div>
end
-%>
<ul id="savemenu" class="dropdowns">
-<li><% if ucic > 0 then %><a class="warning" href="<%=controller%>/<%=category%>/uci/changes/"><%:unsavedchanges%>: <%=ucic%></a><%
+<li><% if ucic > 0 then %><a class="warning" href="<%=controller%>/<%=category%>/uci/changes/"><%:Unsaved Changes%>: <%=ucic%></a><%
submenu("/" .. category .. "/uci/", tree.nodes[category].nodes["uci"])
else -%>
-<a href="#"><%:changes%>: 0</a><% end -%>
+<a href="#"><%:Changes%>: 0</a><% end -%>
</li>
</ul><% end %>
<h1><%=luci.version.distname%></h1>
<p>
<%=luci.version.distversion%><br />
-<%:load%>: <%="%.2f" % load1%> <%="%.2f" % load5%> <%="%.2f" % load15%><br />
-<%:hostname%>: <%=hostname%>
+<%:Load%>: <%="%.2f" % load1%> <%="%.2f" % load5%> <%="%.2f" % load15%><br />
+<%:Hostname%>: <%=hostname%>
</p>
</div>
end
-%>
<ul id="savemenu" class="dropdowns">
-<li><% if ucic > 0 then %><a class="warning" href="<%=controller%>/<%=category%>/uci/changes/"><%:unsavedchanges%>: <%=ucic%></a><%
+<li><% if ucic > 0 then %><a class="warning" href="<%=controller%>/<%=category%>/uci/changes/"><%:Unsaved Changes%>: <%=ucic%></a><%
submenu("/" .. category .. "/uci/", tree.nodes[category].nodes["uci"])
else -%>
-<a href="#"><%:changes%>: 0</a><% end -%>
+<a href="#"><%:Changes%>: 0</a><% end -%>
</li>
</ul><% end %>
end
end
-%>
-<% if ucic > 0 then %><div class="menubar"><div><a class="warning" href="<%=controller%>/<%=category%>/uci/changes/"><%:unsavedchanges%>: <%=ucic%></a><%
+<% if ucic > 0 then %><div class="menubar"><div><a class="warning" href="<%=controller%>/<%=category%>/uci/changes/"><%:Unsaved Changes%>: <%=ucic%></a><%
ucimenu("/" .. category .. "/uci/", tree.nodes[category].nodes["uci"], "changes")-%>
<div class="clear"></div>
</div></div>
<div class="menubar">
<h2 class="navigation"><a id="navigation" name="navigation"><%:navigation Navigation%></a></h2>
-<strong><%:path%>:</strong>
+<strong><%:Path%>:</strong>
<a href="<%=controller%>"><%= luci.__appname__ %></a>
<%