all: change most translate statements to new format, some need manual cleanup

This commit is contained in:
Jo-Philipp Wich 2009-10-31 15:54:11 +00:00
parent dc7138e424
commit 7c76587588
175 changed files with 1186 additions and 1193 deletions

View file

@ -18,12 +18,12 @@ function index()
require("luci.i18n") require("luci.i18n")
local i18n = luci.i18n.translate 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.i18n = "coovachilli"
cc.subindex = true cc.subindex = true
entry( { "admin", "services", "coovachilli", "network" }, cbi("coovachilli_network"), i18n("coovachilli_network", "Network Configuration"), 10) entry( { "admin", "services", "coovachilli", "network" }, cbi("coovachilli_network"), i18n("Network Configuration"), 10)
entry( { "admin", "services", "coovachilli", "radius" }, cbi("coovachilli_radius"), i18n("coovachilli_radius", "Radius Configuration"), 20) entry( { "admin", "services", "coovachilli", "radius" }, cbi("coovachilli_radius"), i18n("RADIUS configuration"), 20)
entry( { "admin", "services", "coovachilli", "auth" }, cbi("coovachilli_auth"), i18n("coovachilli_auth", "UAM and MAC Authentication"), 30) entry( { "admin", "services", "coovachilli", "auth" }, cbi("coovachilli_auth"), i18n("UAM and MAC Authentication"), 30)
end end

View file

@ -21,12 +21,12 @@ function index()
return return
end 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.i18n = "ddns"
page.dependent = true 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.i18n = "ddns"
page.dependent = true page.dependent = true
end end

View file

@ -13,14 +13,14 @@ You may obtain a copy of the License at
$Id$ $Id$
]]-- ]]--
require("luci.tools.webadmin") 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 = m:section(TypedSection, "service", "")
s.addremove = true s.addremove = true
s:option(Flag, "enabled", translate("enable")) 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.rmempty = true
svc:value("") svc:value("")
svc:value("dyndns.org") svc:value("dyndns.org")
@ -29,23 +29,23 @@ svc:value("zoneedit.com")
svc:value("no-ip.com") svc:value("no-ip.com")
svc:value("freedns.afraid.org") svc:value("freedns.afraid.org")
s:option(Value, "domain", translate("hostname")).rmempty = true s:option(Value, "domain", translate("Hostname")).rmempty = true
s:option(Value, "username", translate("username")).rmempty = true s:option(Value, "username", translate("Username")).rmempty = true
pw = s:option(Value, "password", translate("password")) pw = s:option(Value, "password", translate("Password"))
pw.rmempty = true pw.rmempty = true
pw.password = true pw.password = true
src = s:option(ListValue, "ip_source") src = s:option(ListValue, "ip_source")
src:value("network", translate("network")) src:value("network", translate("Network"))
src:value("interface", translate("interface")) src:value("interface", translate("Interface"))
src:value("web", "URL") 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:depends("ip_source", "network")
iface.rmempty = true iface.rmempty = true
luci.tools.webadmin.cbi_add_networks(iface) 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:depends("ip_source", "interface")
iface.rmempty = true iface.rmempty = true
for k, v in pairs(luci.sys.net.devices()) do for k, v in pairs(luci.sys.net.devices()) do

View file

@ -12,14 +12,14 @@ You may obtain a copy of the License at
$Id$ $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 = m:section(TypedSection, "service", "")
s.addremove = true s.addremove = true
s:option(Flag, "enabled", translate("enable")) 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.rmempty = true
svc:value("dyndns.org") svc:value("dyndns.org")
svc:value("changeip.com") svc:value("changeip.com")
@ -27,9 +27,9 @@ svc:value("zoneedit.com")
svc:value("no-ip.com") svc:value("no-ip.com")
svc:value("freedns.afraid.org") svc:value("freedns.afraid.org")
s:option(Value, "domain", translate("hostname")).rmempty = true s:option(Value, "domain", translate("Hostname")).rmempty = true
s:option(Value, "username", translate("username")).rmempty = true s:option(Value, "username", translate("Username")).rmempty = true
pw = s:option(Value, "password", translate("password")) pw = s:option(Value, "password", translate("Password"))
pw.rmempty = true pw.rmempty = true
pw.password = true pw.password = true

View file

@ -19,7 +19,7 @@ function index()
require("luci.i18n") require("luci.i18n")
luci.i18n.loadc("diag_core") 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.index = true
e.i18n = "diag_core" e.i18n = "diag_core"
e.dependent = true e.dependent = true

View file

@ -12,7 +12,7 @@ $Id$
-%> -%>
<%+header%> <%+header%>
<h2><a id="content" name="content"><%:l_d_c_i_diag%></a></h2> <h2><a id="content" name="content"><%:Diagnostics%></a></h2>
<p><%:l_d_c_i_diag1%></p> <p><%:The entries in the menu allow you to perform diagnostic tests on your system to aid in troubleshooting.%></p>
<p><%:l_d_c_i_diag2%></p> <p><%:The diagnostics available under this menu depend on what modules you have installed on your device.%></p>
<%+footer%> <%+footer%>

View file

@ -12,7 +12,7 @@ $Id$
-%> -%>
<%+header%> <%+header%>
<h2><a id="content" name="content"><%:l_d_c_nci_diag%></a></h2> <h2><a id="content" name="content"><%:Diagnostics%></a></h2>
<p><%:l_d_c_nci_diag1%></p> <p><%:With this menu you can configure network diagnostics, such as network device scans and ping tests.%></p>
<p><%:l_d_c_nci_diag2%></p> <p><%:The diagnostics available under this menu depend on what modules you have installed on your device.%></p>
<%+footer%> <%+footer%>

View file

@ -90,11 +90,11 @@ function parse_output(devmap, outnets, haslink, type, mini, debug)
row["mac"] = "" row["mac"] = ""
end end
if (type == "smap") then if (type == "smap") then
row["vendor"] = luci.i18n.translate("l_d_d_dc_nosipdev") row["vendor"] = luci.i18n.translate("No SIP devices")
else else
row["vendor"] = luci.i18n.translate("l_d_d_dc_nodev") row["vendor"] = luci.i18n.translate("No devices detected")
end end
row["type"] = luci.i18n.translate("l_d_d_dc_checkothernet") row["type"] = luci.i18n.translate("check other networks")
if (not mini) then if (not mini) then
row["model"] = "" row["model"] = ""
end end
@ -109,40 +109,40 @@ function parse_output(devmap, outnets, haslink, type, mini, debug)
local s local s
if (type == "smap") then if (type == "smap") then
if (mini) 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 else
local interfacestring = "" local interfacestring = ""
if ( interface ~= "" ) then if ( interface ~= "" ) then
interfacestring = ", " .. interface interfacestring = ", " .. interface
end 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 end
s.template = "diag/smapsection" s.template = "diag/smapsection"
else else
if (mini) then 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 else
local interfacestring = "" local interfacestring = ""
if ( interface ~= "" ) then if ( interface ~= "" ) then
interfacestring = ", " .. interface interfacestring = ", " .. interface
end 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
end end
s:option(DummyValue, "ip", translate("l_d_d_dc_mac_ip")) s:option(DummyValue, "ip", translate("IP Address"))
if (not mini) then if (not mini) then
s:option(DummyValue, "mac", translate("l_d_d_dc_mac_address")) s:option(DummyValue, "mac", translate("MAC Address"))
end end
s:option(DummyValue, "vendor", translate("l_d_d_dc_mac_vendor")) s:option(DummyValue, "vendor", translate("Vendor"))
s:option(DummyValue, "type", translate("l_d_d_dc_mac_device_type")) s:option(DummyValue, "type", translate("Device Type"))
if (not mini) then if (not mini) then
s:option(DummyValue, "model", translate("l_d_d_dc_mac_model")) s:option(DummyValue, "model", translate("Model"))
end end
if (haslink) then 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 end
if (debug) then if (debug) then
s:option(DummyValue, "raw", translate("l_d_d_dc_raw")) s:option(DummyValue, "raw", translate("Raw"))
end end
curnet = next(outnets, curnet) curnet = next(outnets, curnet)
end end
@ -170,24 +170,24 @@ end
function config_devinfo_scan(map, scannet) function config_devinfo_scan(map, scannet)
local o 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.optional = false
o.rmempty = 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 o.optional = false
luci.controller.luci_diag.devinfo_common.cbi_add_networks(o) luci.controller.luci_diag.devinfo_common.cbi_add_networks(o)
local scansubnet 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 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.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.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 o.optional = true
end end

View file

@ -18,51 +18,51 @@ function index()
require("luci.i18n") require("luci.i18n")
luci.i18n.loadc("diag_devinfo") 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.leaf = true
e.subindex = true e.subindex = true
e.i18n = "diag_devinfo" e.i18n = "diag_devinfo"
e.dependent = true 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.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.leaf = true
e.i18n = "diag_devinfo" e.i18n = "diag_devinfo"
e.dependent = true 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.leaf = true
e.i18n = "diag_devinfo" e.i18n = "diag_devinfo"
e.dependent = true 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.leaf = true
e.i18n = "diag_devinfo" e.i18n = "diag_devinfo"
e.dependent = true 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.i18n = "diag_devinfo"
e.dependent = true 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.i18n = "diag_devinfo"
e.dependent = true 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.i18n = "diag_devinfo"
e.dependent = true 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.i18n = "diag_devinfo"
e.dependent = true 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.i18n = "diag_devinfo"
e.dependent = true 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.i18n = "diag_devinfo"
e.dependent = true e.dependent = true

View file

@ -81,15 +81,15 @@ end
function action_links(netdiscovermap, mini) function action_links(netdiscovermap, mini)
luci.i18n.loadc("diag_devinfo") luci.i18n.loadc("diag_devinfo")
s = netdiscovermap:section(SimpleSection, "", translate("l_d_d_nc_netdiscover_actions")) s = netdiscovermap:section(SimpleSection, "", translate("Actions"))
b = s:option(DummyValue, "_config", translate("l_d_d_nc_config_scan")) b = s:option(DummyValue, "_config", translate("Configure Scans"))
b.value = "" b.value = ""
if (mini) then if (mini) then
b.titleref = luci.dispatcher.build_url("mini", "network", "netdiscover_devinfo_config") b.titleref = luci.dispatcher.build_url("mini", "network", "netdiscover_devinfo_config")
else else
b.titleref = luci.dispatcher.build_url("admin", "network", "diag_config", "netdiscover_devinfo_config") b.titleref = luci.dispatcher.build_url("admin", "network", "diag_config", "netdiscover_devinfo_config")
end 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 = "" b.value = ""
if (mini) then if (mini) then
b.titleref = luci.dispatcher.build_url("mini", "diag", "netdiscover_devinfo") b.titleref = luci.dispatcher.build_url("mini", "diag", "netdiscover_devinfo")

View file

@ -91,15 +91,15 @@ end
function action_links(smapmap, mini) function action_links(smapmap, mini)
luci.i18n.loadc("diag_devinfo") luci.i18n.loadc("diag_devinfo")
s = smapmap:section(SimpleSection, "", translate("l_d_d_sc_smap_actions")) s = smapmap:section(SimpleSection, "", translate("Actions"))
b = s:option(DummyValue, "_config", translate("l_d_d_sc_config_scan")) b = s:option(DummyValue, "_config", translate("Configure Scans"))
b.value = "" b.value = ""
if (mini) then if (mini) then
b.titleref = luci.dispatcher.build_url("mini", "voice", "phones", "phone_scan_config") b.titleref = luci.dispatcher.build_url("mini", "voice", "phones", "phone_scan_config")
else else
b.titleref = luci.dispatcher.build_url("admin", "network", "diag_config", "smap_devinfo_config") b.titleref = luci.dispatcher.build_url("admin", "network", "diag_config", "smap_devinfo_config")
end 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 = "" b.value = ""
if (mini) then if (mini) then
b.titleref = luci.dispatcher.build_url("mini", "diag", "phone_scan") b.titleref = luci.dispatcher.build_url("mini", "diag", "phone_scan")

View file

@ -12,25 +12,25 @@ You may obtain a copy of the License at
$Id$ $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.addremove = true
s.anonymous = 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.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.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.optional = false
v = s:option(Value, "vendor", translate("l_d_d_m_vendor")) v = s:option(Value, "vendor", translate("Vendor"))
v.optional = false 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.optional = false
v = s:option(Value, "model", translate("l_d_d_m_model")) v = s:option(Value, "model", translate("Model"))
v.optional = false 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 v.optional = true
return m return m

View file

@ -21,7 +21,7 @@ require("luci.controller.luci_diag.devinfo_common")
local debug = false 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.reset = false
m.submit = false m.submit = false

View file

@ -14,14 +14,14 @@ $Id$
require("luci.controller.luci_diag.devinfo_common") 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")) s = m:section(SimpleSection, "", translate("Use Configuration"))
b = s:option(DummyValue, "_scans", translate("l_d_d_ndc_do_scans")) b = s:option(DummyValue, "_scans", translate("Perform Scans (this can take a few minutes)"))
b.value = "" b.value = ""
b.titleref = luci.dispatcher.build_url("admin", "status", "netdiscover_devinfo") 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.addremove = true
scannet.anonymous = false scannet.anonymous = false

View file

@ -14,14 +14,14 @@ $Id$
require("luci.controller.luci_diag.devinfo_common") 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")) s = m:section(SimpleSection, "", translate("Use Configuration"))
b = s:option(DummyValue, "_scans", translate("l_d_d_ndc_mini_do_scans")) b = s:option(DummyValue, "_scans", translate("Perform Scans (this can take a few minutes)"))
b.value = "" b.value = ""
b.titleref = luci.dispatcher.build_url("mini", "diag", "netdiscover_devinfo") 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.addremove = true
scannet.anonymous = false scannet.anonymous = false

View file

@ -21,7 +21,7 @@ require("luci.controller.luci_diag.devinfo_common")
local debug = 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.reset = false
m.submit = false m.submit = false

View file

@ -21,7 +21,7 @@ require("luci.controller.luci_diag.devinfo_common")
local debug = 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.reset = false
m.submit = false m.submit = false

View file

@ -14,19 +14,19 @@ $Id$
require("luci.controller.luci_diag.devinfo_common") 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")) s = m:section(SimpleSection, "", translate("Use Configuration"))
b = s:option(DummyValue, "_scans", translate("l_d_d_sdc_do_scans")) b = s:option(DummyValue, "_scans", translate("Perform Scans (this can take a few minutes)"))
b.value = "" b.value = ""
b.titleref = luci.dispatcher.build_url("admin", "status", "smap_devinfo") 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.addremove = true
scannet.anonymous = false scannet.anonymous = false
local ports local ports
ports = scannet:option(Value, "ports", translate("l_d_d_sdc_ports")) ports = scannet:option(Value, "ports", translate("Ports"))
ports.optional = true ports.optional = true
ports.rmempty = true ports.rmempty = true

View file

@ -14,19 +14,19 @@ $Id$
require("luci.controller.luci_diag.devinfo_common") 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")) s = m:section(SimpleSection, "", translate("Use Configuration"))
b = s:option(DummyValue, "_scans", translate("l_d_d_sdc_mini_do_scans")) b = s:option(DummyValue, "_scans", translate("Perform Scans (this can take a few minutes)"))
b.value = "" b.value = ""
b.titleref = luci.dispatcher.build_url("mini", "diag", "phone_scan") 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.addremove = true
scannet.anonymous = false scannet.anonymous = false
local ports 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.optional = true
ports.rmempty = true ports.rmempty = true

View file

@ -21,7 +21,7 @@ require("luci.controller.luci_diag.devinfo_common")
local debug = false 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.reset = false
m.submit = false m.submit = false

View file

@ -38,7 +38,7 @@ end
<%- end -%> <%- end -%>
<%- for i, k in pairs(self.children) do if not k.optional then -%> <%- for i, k in pairs(self.children) do if not k.optional then -%>
<th class="cbi-section-table-cell"> <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-%> <%-=k.title-%>
<%- if k.titleref then -%></a><%- end -%> <%- if k.titleref then -%></a><%- end -%>
</th> </th>
@ -92,9 +92,9 @@ end
<%- elseif type(self.extedit) == "function" then -%> <%- elseif type(self.extedit) == "function" then -%>
<%=self:extedit(section)%> <%=self:extedit(section)%>
<%- end -%> <%- 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 %> <%- 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 -%> <%- end -%>
</td> </td>
<%- end -%> <%- end -%>
@ -103,7 +103,7 @@ end
<%- if isempty then -%> <%- if isempty then -%>
<tr class="cbi-section-table-row"> <tr class="cbi-section-table-row">
<td colspan="<%=count%>"><em><br /><%:sectempty%></em></td> <td colspan="<%=count%>"><em><br /><%: %></em></td>
</tr> </tr>
<%- end -%> <%- end -%>
</table> </table>
@ -120,13 +120,13 @@ end
<% if self.template_addremove then include(self.template_addremove) else -%> <% if self.template_addremove then include(self.template_addremove) else -%>
<div class="cbi-section-create cbi-smapsection-create"> <div class="cbi-section-create cbi-smapsection-create">
<% if self.anonymous then %> <% 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 %> <% else %>
<% if self.invalid_cts then -%><div class="cbi-section-error"><% end %> <% 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="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 -%> <% if self.invalid_cts then -%>
<br /><%:cbi_invalid%></div> <br /><%:Invalid%></div>
<%- end %> <%- end %>
<% end %> <% end %>
</div> </div>

View file

@ -4,10 +4,10 @@ function index()
require("luci.i18n").loadc("luci-fw") require("luci.i18n").loadc("luci-fw")
local i18n = luci.i18n.translate 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"}, alias("admin", "network", "firewall", "zones"), i18n("Firewall"), 60).i18n = "luci-fw"
entry({"admin", "network", "firewall", "zones"}, cbi("luci_fw/zones"), i18n("fw_zones"), 10) 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("fw_redirect"), 30).leaf = true 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("fw_traffic"), 20).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 end

View file

@ -12,7 +12,7 @@ You may obtain a copy of the License at
$Id$ $Id$
]]-- ]]--
require("luci.sys") 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 = m:section(TypedSection, "redirect", "")
@ -23,10 +23,10 @@ s.template = "cbi/tblsection"
s.addremove = true s.addremove = true
s.anonymous = 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 name.size = 10
proto = s:option(ListValue, "proto", translate("protocol")) proto = s:option(ListValue, "proto", translate("Protocol"))
proto:value("tcp", "TCP") proto:value("tcp", "TCP")
proto:value("udp", "UDP") proto:value("udp", "UDP")
proto:value("tcpudp", "TCP+UDP") proto:value("tcpudp", "TCP+UDP")

View file

@ -12,7 +12,7 @@ You may obtain a copy of the License at
$Id$ $Id$
]]-- ]]--
require("luci.sys") 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 = m:section(TypedSection, "redirect", "")
@ -21,17 +21,17 @@ s.addremove = true
s.anonymous = true s.anonymous = true
s.extedit = luci.dispatcher.build_url("admin", "network", "firewall", "redirect", "%s") 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 name.size = 10
iface = s:option(ListValue, "src", translate("fw_zone")) iface = s:option(ListValue, "src", translate("Zone"))
iface.default = "wan" iface.default = "wan"
luci.model.uci.cursor():foreach("firewall", "zone", luci.model.uci.cursor():foreach("firewall", "zone",
function (section) function (section)
iface:value(section.name) iface:value(section.name)
end) end)
proto = s:option(ListValue, "proto", translate("protocol")) proto = s:option(ListValue, "proto", translate("Protocol"))
proto:value("tcp", "TCP") proto:value("tcp", "TCP")
proto:value("udp", "UDP") proto:value("udp", "UDP")
proto:value("tcpudp", "TCP+UDP") proto:value("tcpudp", "TCP+UDP")

View file

@ -14,56 +14,56 @@ $Id$
require("luci.sys") require("luci.sys")
arg[1] = arg[1] or "" 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 = m:section(NamedSection, arg[1], "redirect", "")
s.anonymous = true s.anonymous = true
s.addremove = false s.addremove = false
back = s:option(DummyValue, "_overview", translate("overview")) back = s:option(DummyValue, "_overview", translate("Overview"))
back.value = "" back.value = ""
back.titleref = luci.dispatcher.build_url("admin", "network", "firewall", "redirect") 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.rmempty = true
name.size = 10 name.size = 10
iface = s:option(ListValue, "src", translate("fw_zone")) iface = s:option(ListValue, "src", translate("Zone"))
iface.default = "wan" iface.default = "wan"
luci.model.uci.cursor():foreach("firewall", "zone", luci.model.uci.cursor():foreach("firewall", "zone",
function (section) function (section)
iface:value(section.name) iface:value(section.name)
end) end)
s:option(Value, "src_ip", translate("firewall_redirect_srcip")).optional = true s:option(Value, "src_ip", translate("Source address")).optional = true
s:option(Value, "src_mac", translate("firewall_redirect_srcmac")).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.optional = true
sport:depends("proto", "tcp") sport:depends("proto", "tcp")
sport:depends("proto", "udp") sport:depends("proto", "udp")
sport:depends("proto", "tcpudp") sport:depends("proto", "tcpudp")
proto = s:option(ListValue, "proto", translate("protocol")) proto = s:option(ListValue, "proto", translate("Protocol"))
proto.optional = true proto.optional = true
proto:value("") proto:value("")
proto:value("tcp", "TCP") proto:value("tcp", "TCP")
proto:value("udp", "UDP") proto:value("udp", "UDP")
proto:value("tcpudp", "TCP+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.size = 5
dport:depends("proto", "tcp") dport:depends("proto", "tcp")
dport:depends("proto", "udp") dport:depends("proto", "udp")
dport:depends("proto", "tcpudp") 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 for i, dataset in ipairs(luci.sys.net.arptable()) do
to:value(dataset["IP address"]) to:value(dataset["IP address"])
end 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.optional = true
toport.size = 5 toport.size = 5

View file

@ -13,15 +13,15 @@ You may obtain a copy of the License at
$Id$ $Id$
]]-- ]]--
m = Map("firewall", translate("fw_traffic")) m = Map("firewall", translate("Traffic Control"))
s = m:section(TypedSection, "forwarding", translate("fw_forwarding"), translate("fw_forwarding1")) 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.template = "cbi/tblsection"
s.addremove = true s.addremove = true
s.anonymous = true s.anonymous = true
iface = s:option(ListValue, "src", translate("fw_src")) iface = s:option(ListValue, "src", translate("Source"))
oface = s:option(ListValue, "dest", translate("fw_dest")) oface = s:option(ListValue, "dest", translate("Destination"))
s:option(Flag, "mtu_fix", translate("fw_mtufix")) s:option(Flag, "mtu_fix", translate("MSS Clamping"))
luci.model.uci.cursor():foreach("firewall", "zone", luci.model.uci.cursor():foreach("firewall", "zone",
function (section) function (section)
@ -54,10 +54,10 @@ function s.parse(self, ...)
end end
end end
s:option(DummyValue, "_name", translate("name")) s:option(DummyValue, "_name", translate("Name"))
s:option(DummyValue, "proto", translate("protocol")) 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) function src.cfgvalue(self, s)
return "%s:%s:%s" % { return "%s:%s:%s" % {
self.map:get(s, "src") or "*", self.map:get(s, "src") or "*",
@ -66,10 +66,10 @@ function src.cfgvalue(self, s)
} }
end end
dest = s:option(DummyValue, "dest", translate("fw_dest")) dest = s:option(DummyValue, "dest", translate("Destination"))
function dest.cfgvalue(self, s) function dest.cfgvalue(self, s)
return "%s:%s:%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_ip") or "0.0.0.0/0",
self.map:get(s, "dest_port") or "*" self.map:get(s, "dest_port") or "*"
} }

View file

@ -12,25 +12,25 @@ You may obtain a copy of the License at
$Id$ $Id$
]]-- ]]--
arg[1] = arg[1] or "" 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 = m:section(NamedSection, arg[1], "rule", "")
s.anonymous = true s.anonymous = true
s.addremove = false s.addremove = false
back = s:option(DummyValue, "_overview", translate("overview")) back = s:option(DummyValue, "_overview", translate("Overview"))
back.value = "" back.value = ""
back.titleref = luci.dispatcher.build_url("admin", "network", "firewall", "rule") 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 name.rmempty = true
iface = s:option(ListValue, "src", translate("fw_src")) iface = s:option(ListValue, "src", translate("Source"))
iface.rmempty = true iface.rmempty = true
oface = s:option(ListValue, "dest", translate("fw_dest")) oface = s:option(ListValue, "dest", translate("Destination"))
oface:value("", translate("device", "device")) oface:value("", translate("Device"))
oface.rmempty = true oface.rmempty = true
luci.model.uci.cursor():foreach("firewall", "zone", luci.model.uci.cursor():foreach("firewall", "zone",
@ -39,7 +39,7 @@ luci.model.uci.cursor():foreach("firewall", "zone",
oface:value(section.name) oface:value(section.name)
end) end)
proto = s:option(Value, "proto", translate("protocol")) proto = s:option(Value, "proto", translate("Protocol"))
proto.optional = true proto.optional = true
proto:value("") proto:value("")
proto:value("tcpudp", "TCP+UDP") proto:value("tcpudp", "TCP+UDP")
@ -47,26 +47,26 @@ proto:value("tcp", "TCP")
proto:value("udp", "UDP") proto:value("udp", "UDP")
proto:value("icmp", "ICMP") proto:value("icmp", "ICMP")
s:option(Value, "src_ip", translate("firewall_rule_srcip")).optional = true s:option(Value, "src_ip", translate("Source address")).optional = true
s:option(Value, "dest_ip", translate("firewall_rule_destip")).optional = true s:option(Value, "dest_ip", translate("Destination address")).optional = true
s:option(Value, "src_mac", translate("firewall_rule_srcmac")).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", "tcp")
sport:depends("proto", "udp") sport:depends("proto", "udp")
sport:depends("proto", "tcpudp") 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", "tcp")
dport:depends("proto", "udp") dport:depends("proto", "udp")
dport:depends("proto", "tcpudp") dport:depends("proto", "tcpudp")
jump = s:option(ListValue, "target", translate("firewall_rule_target")) jump = s:option(ListValue, "target", translate("Action"))
jump.rmempty = true jump.rmempty = true
jump.default = "ACCEPT" jump.default = "ACCEPT"
jump:value("DROP", translate("fw_drop")) jump:value("DROP", translate("drop"))
jump:value("ACCEPT", translate("fw_accept")) jump:value("ACCEPT", translate("accept"))
jump:value("REJECT", translate("fw_reject")) jump:value("REJECT", translate("reject"))
return m return m

View file

@ -12,14 +12,14 @@ You may obtain a copy of the License at
$Id$ $Id$
]]-- ]]--
require("luci.tools.webadmin") 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 = m:section(TypedSection, "defaults")
s.anonymous = true s.anonymous = true
s:option(Flag, "syn_flood") 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 di.rmempty = false
function di.cfgvalue(...) function di.cfgvalue(...)
return AbstractValue.cfgvalue(...) or "1" return AbstractValue.cfgvalue(...) or "1"
@ -31,18 +31,18 @@ p[2] = s:option(ListValue, "output")
p[3] = s:option(ListValue, "forward") p[3] = s:option(ListValue, "forward")
for i, v in ipairs(p) do for i, v in ipairs(p) do
v:value("REJECT", translate("fw_reject")) v:value("REJECT", translate("reject"))
v:value("DROP", translate("fw_drop")) v:value("DROP", translate("drop"))
v:value("ACCEPT", translate("fw_accept")) v:value("ACCEPT", translate("accept"))
end end
s = m:section(TypedSection, "zone", translate("fw_zones")) s = m:section(TypedSection, "zone", translate("Zones"))
s.template = "cbi/tblsection" s.template = "cbi/tblsection"
s.anonymous = true s.anonymous = true
s.addremove = true s.addremove = true
name = s:option(Value, "name", translate("name")) name = s:option(Value, "name", translate("Name"))
name.size = 8 name.size = 8
p = {} p = {}
@ -51,9 +51,9 @@ p[2] = s:option(ListValue, "output")
p[3] = s:option(ListValue, "forward") p[3] = s:option(ListValue, "forward")
for i, v in ipairs(p) do for i, v in ipairs(p) do
v:value("REJECT", translate("fw_reject")) v:value("REJECT", translate("reject"))
v:value("DROP", translate("fw_drop")) v:value("DROP", translate("drop"))
v:value("ACCEPT", translate("fw_accept")) v:value("ACCEPT", translate("accept"))
end end
s:option(Flag, "masq") s:option(Flag, "masq")

View file

@ -22,7 +22,7 @@ function index()
return return
end 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.i18n = "hd_idle"
page.dependent = true page.dependent = true
end end

View file

@ -15,27 +15,27 @@ $Id$
require("nixio.fs") 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.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 disk.rmempty = true
for dev in nixio.fs.glob("/dev/[sh]d[a-z]") do for dev in nixio.fs.glob("/dev/[sh]d[a-z]") do
disk:value(nixio.fs.basename(dev)) disk:value(nixio.fs.basename(dev))
end 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 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.default = "minutes"
unit:value("minutes", "min") unit:value("minutes", "min")
unit:value("hours", "h") unit:value("hours", "h")
unit.rmempty = true unit.rmempty = true
s:option(Flag, "enable_debug", translate("enable_debug")) s:option(Flag, "enable_debug", translate("Enable debug"))
return m return m

View file

@ -24,6 +24,6 @@ function index()
entry( entry(
{"admin", "system", "init"}, form("init/init"), {"admin", "system", "init"}, form("init/init"),
luci.i18n.translate("initmgr", "Init Scripts") luci.i18n.translate("Initscripts")
).i18n = "initmgr" ).i18n = "initmgr"
end end

View file

@ -30,13 +30,13 @@ for _, name in ipairs(luci.sys.init.names()) do
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 m.reset = false
s = m:section(Table, inits) s = m:section(Table, inits)
i = s:option(DummyValue, "index", translate("initmgr_index")) i = s:option(DummyValue, "index", translate("Start priority"))
n = s:option(DummyValue, "name", translate("initmgr_name")) n = s:option(DummyValue, "name", translate("Initscript"))
e = s:option(Flag, "enabled", translate("initmgr_enabled")) e = s:option(Flag, "enabled", translate("initmgr_enabled"))

View file

@ -19,11 +19,11 @@ function index()
require("luci.i18n") require("luci.i18n")
luci.i18n.loadc("livestats") 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", "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( {"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", "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" entry( {"mini", "system", "loadavg"}, template("livestats/loadavg"), luci.i18n.translate("livestats_stat_loadavg"), 92 ).i18n = "livestats"
end end

View file

@ -18,7 +18,7 @@
[ 0, "1 min", 1, "5 min", 2, "15 min" ], [ 0, "1 min", 1, "5 min", 2, "15 min" ],
// Graph layout options // 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 }, padding: { left: 70, right: 10, top: 10, bottom: 20 },
instances: [ false ], yAxis: [ 0, 2 ], drawBackground: false }, instances: [ false ], yAxis: [ 0, 2 ], drawBackground: false },
null, null,

View file

@ -32,14 +32,14 @@
2000, 2000,
// Data sources // Data sources
[ "0", "<%:livestats_incoming%> (kiB/s)", "8", "<%:livestats_outgoing%> (kiB/s)" ], [ "0", "<%:incoming%> (kiB/s)", "8", "<%:outgoing%> (kiB/s)" ],
// Graph layout options // Graph layout options
{ {
shouldFill: false, shouldFill: false,
drawBackground: false, drawBackground: false,
strokeColor: null, strokeColor: null,
title: '<%:livestats_traffic%> %s', title: '<%:traffic on%> %s',
strokeWidth: 2.5, height: 140, strokeWidth: 2.5, height: 140,
padding: { left: 70, right: 10, top: 10, bottom: 20 }, padding: { left: 70, right: 10, top: 10, bottom: 20 },
instances: [ <%=table.concat(interfaces, ", ") %> ], instances: [ <%=table.concat(interfaces, ", ") %> ],

View file

@ -22,7 +22,7 @@
// Graph layout options // Graph layout options
{ drawBackground: false, yAxis: [ 0, 50 ], { 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 }, padding: { left: 40, right: 10, top: 10, bottom: 20 },
instanceNames: { instanceNames: {
<%- for k,v in pairs(luci.sys.wifi.getiwconfig()) do %> <%- for k,v in pairs(luci.sys.wifi.getiwconfig()) do %>

View file

@ -22,7 +22,7 @@ function index()
return return
end 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.i18n = "mmc_over_gpio"
page.dependent = true page.dependent = true
end end

View file

@ -13,16 +13,16 @@ $Id$
]]-- ]]--
m = Map("mmc_over_gpio", translate("mmc_over_gpio"), m = Map("mmc_over_gpio", translate("MMC/SD driver configuration"),
translate("mmc_over_gpio_desc")) 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.addremove = true
s.anonymous = 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")) pin = s:option(Value, "DI_pin", translate("DI_pin"))
for i = 0,7 do pin:value(i) end for i = 0,7 do pin:value(i) end
@ -36,6 +36,6 @@ for i = 0,7 do pin:value(i) end
pin = s:option(Value, "CS_pin", translate("CS_pin")) pin = s:option(Value, "CS_pin", translate("CS_pin"))
for i = 0,7 do pin:value(i) end for i = 0,7 do pin:value(i) end
s:option(Value, "mode", translate("mode")) s:option(Value, "mode", translate("Mode"))
return m return m

View file

@ -21,12 +21,12 @@ function index()
return return
end 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.i18n = "ntpc"
page.dependent = true 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.i18n = "ntpc"
page.dependent = true page.dependent = true
end end

View file

@ -12,28 +12,28 @@ You may obtain a copy of the License at
$Id$ $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.anonymous = true
s:option(DummyValue, "_time", translate("ntpc_current")).value = os.date("%c") 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
s:option(Value, "count", translate("ntpc_count"), translate("ntpc_count_desc")).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.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.anonymous = true
s3.addremove = true s3.addremove = true
s3.template = "cbi/tblsection" s3.template = "cbi/tblsection"
s3:option(Value, "hostname", translate("hostname")) s3:option(Value, "hostname", translate("Hostname"))
s3:option(Value, "port", translate("port")).rmempty = true s3:option(Value, "port", translate("Port")).rmempty = true
return m return m

View file

@ -13,22 +13,22 @@ You may obtain a copy of the License at
$Id$ $Id$
]]-- ]]--
require("luci.tools.webadmin") 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.anonymous = true
s:option(DummyValue, "_time", translate("ntpc_current")).value = os.date("%c") 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.anonymous = true
s3.addremove = true s3.addremove = true
s3.template = "cbi/tblsection" s3.template = "cbi/tblsection"
s3:option(Value, "hostname", translate("hostname")) s3:option(Value, "hostname", translate("Hostname"))
s3:option(Value, "port", translate("port")).rmempty = true s3:option(Value, "port", translate("Port")).rmempty = true
return m return m

View file

@ -16,12 +16,12 @@ function index()
local page = node("admin", "status", "olsr", "routes") local page = node("admin", "status", "olsr", "routes")
page.target = call("action_routes") page.target = call("action_routes")
page.title = i18n("olsr_routes", "Routen") page.title = i18n("Routen")
page.order = 10 page.order = 10
local page = node("admin", "status", "olsr", "topology") local page = node("admin", "status", "olsr", "topology")
page.target = call("action_topology") page.target = call("action_topology")
page.title = i18n("olsr_topology", "Topologie") page.title = i18n("Topologie")
page.order = 20 page.order = 20
local page = node("admin", "status", "olsr", "hna") local page = node("admin", "status", "olsr", "hna")

View file

@ -14,7 +14,7 @@ $Id$
require("luci.tools.webadmin") 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 = m:section(TypedSection, "olsrd", translate("olsrd_general"))
s.dynamic = true s.dynamic = true
@ -38,26 +38,26 @@ noint.optional = true
s:option(Value, "Pollrate").optional = true s:option(Value, "Pollrate").optional = true
tcr = s:option(ListValue, "TcRedundancy") tcr = s:option(ListValue, "TcRedundancy")
tcr:value("0", translate("olsrd_olsrd_tcredundancy_0")) tcr:value("0", translate("MPR selectors"))
tcr:value("1", translate("olsrd_olsrd_tcredundancy_1")) tcr:value("1", translate("MPR selectors and MPR"))
tcr:value("2", translate("olsrd_olsrd_tcredundancy_2")) tcr:value("2", translate("all neighbours"))
tcr.optional = true tcr.optional = true
s:option(Value, "MprCoverage").optional = true s:option(Value, "MprCoverage").optional = true
lql = s:option(ListValue, "LinkQualityLevel") lql = s:option(ListValue, "LinkQualityLevel")
lql:value("0", translate("disable")) lql:value("0", translate("disable"))
lql:value("1", translate("olsrd_olsrd_linkqualitylevel_1")) lql:value("1", translate("MPR selection"))
lql:value("2", translate("olsrd_olsrd_linkqualitylevel_2")) lql:value("2", translate("MPR selection and routing"))
lql.optional = true lql.optional = true
s:option(Value, "LinkQualityAging").optional = true s:option(Value, "LinkQualityAging").optional = true
lqa = s:option(ListValue, "LinkQualityAlgorithm") lqa = s:option(ListValue, "LinkQualityAlgorithm")
lqa.optional = true lqa.optional = true
lqa:value("etx_fpm", translate("olsrd_etx_fpm")) lqa:value("etx_fpm", translate("fixed point math"))
lqa:value("etx_float", translate("olsrd_etx_float")) lqa:value("etx_float", translate("floating point"))
lqa:value("etx_ff", translate("olsrd_etx_ff")) lqa:value("etx_ff", translate("Freifunk"))
lqa.optional = true lqa.optional = true
lqfish = s:option(Flag, "LinkQualityFishEye") lqfish = s:option(Flag, "LinkQualityFishEye")
@ -92,7 +92,7 @@ willingness.optional = true
i = m:section(TypedSection, "Interface", translate("interfaces")) i = m:section(TypedSection, "Interface", translate("Interfaces"))
i.anonymous = true i.anonymous = true
i.addremove = true i.addremove = true
i.dynamic = true i.dynamic = true
@ -105,13 +105,13 @@ function ign.cfgvalue(self, section)
return Flag.cfgvalue(self, section) or "0" return Flag.cfgvalue(self, section) or "0"
end end
network = i:option(ListValue, "interface", translate("network")) network = i:option(ListValue, "interface", translate("Network"))
luci.tools.webadmin.cbi_add_networks(network) luci.tools.webadmin.cbi_add_networks(network)
i:option(Value, "Ip4Broadcast").optional = true i:option(Value, "Ip4Broadcast").optional = true
ip6t = i:option(ListValue, "Ip6AddrType") ip6t = i:option(ListValue, "Ip6AddrType")
ip6t:value("", translate("cbi_select")) ip6t:value("", translate("-- Please choose --"))
ip6t:value("auto") ip6t:value("auto")
ip6t:value("site-local") ip6t:value("site-local")
ip6t:value("unique-local") ip6t:value("unique-local")

View file

@ -12,7 +12,7 @@ You may obtain a copy of the License at
$Id$ $Id$
]]-- ]]--
mh = Map("olsrd", translate("olsrd_hna", "OLSR - HNA-Ankündigungen")) mh = Map("olsrd", translate("OLSR - HNA-Announcements"))
hna4 = mh:section(TypedSection, "Hna4") hna4 = mh:section(TypedSection, "Hna4")

View file

@ -17,7 +17,7 @@ local ip = require "luci.ip"
local fs = require "nixio.fs" local fs = require "nixio.fs"
if arg[1] then if arg[1] then
mp = Map("olsrd", translate("olsrd_plugins", "OLSR - Plugins")) mp = Map("olsrd", translate("OLSR - Plugins"))
p = mp:section(TypedSection, "LoadPlugin") p = mp:section(TypedSection, "LoadPlugin")
p:depends("library", arg[1]) p:depends("library", arg[1])
@ -31,7 +31,7 @@ if arg[1] then
return Flag.cfgvalue(self, section) or "0" return Flag.cfgvalue(self, section) or "0"
end end
lib = p:option(DummyValue, "library", translate("library")) lib = p:option(DummyValue, "library", translate("Library"))
lib.default = arg[1] lib.default = arg[1]
local function Range(x,y) local function Range(x,y)

View file

@ -13,7 +13,7 @@ $Id$
-%> -%>
<%+header%> <%+header%>
<h2><a id="content" name="content"><%:olsrd%></a></h2> <h2><a id="content" name="content"><%:OLSR Daemon%></a></h2>
<p class="error"><%:olsrd_error%></p> <p class="error"><%:Unable to connect to the OLSR daemon!%></p>
<p><%:olsrd_error_desc%></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%> <%+footer%>

View file

@ -13,13 +13,13 @@ $Id$
-%> -%>
<%+header%> <%+header%>
<h2><a id="content" name="content"><%:olsrd_hna2%></a></h2> <h2><a id="content" name="content"><%:Active host net announcements%></a></h2>
<p><%:olsrd_hna_desc%></p> <p><%:Overview of currently active OLSR host net announcements%></p>
<br /> <br />
<table class="smalltext" cellspacing="0" cellpadding="6"> <table class="smalltext" cellspacing="0" cellpadding="6">
<tr> <tr>
<th><%:olsrd_network%></th> <th><%:Announced network%></th>
<th><%:olsrd_gateway%></th> <th><%:OLSR gateway%></th>
</tr> </tr>
<% for k, route in ipairs(routes) do %> <% for k, route in ipairs(routes) do %>
<tr> <tr>

View file

@ -13,13 +13,13 @@ $Id$
-%> -%>
<%+header%> <%+header%>
<h2><a id="content" name="content"><%:olsrd_links%></a></h2> <h2><a id="content" name="content"><%:OLSR connections%></a></h2>
<p><%:olsrd_links_desc%></p> <p><%:Overview of currently established OLSR connections%></p>
<br /> <br />
<table class="smalltext" cellspacing="0" cellpadding="6"> <table class="smalltext" cellspacing="0" cellpadding="6">
<tr> <tr>
<th><%:olsrd_neighbour_ip%></th> <th><%:Neighbour IP%></th>
<th><%:olsrd_local_ip%></th> <th><%:Local interface IP%></th>
<th>LQ</th> <th>LQ</th>
<th>NLQ</th> <th>NLQ</th>
<th>ETX</th> <th>ETX</th>
@ -48,10 +48,10 @@ $Id$
<% end %> <% end %>
</table> </table>
<br /> <br />
<h3><%:legend%>:</h3> <h3><%:Legend%>:</h3>
<ul> <ul>
<li><strong>LQ: </strong><%:olsrd_links_lq_desc%></li> <li><strong>LQ: </strong><%:Success rate of sent packages%></li>
<li><strong>NLQ: </strong><%:olsrd_links_nlq_desc%></li> <li><strong>NLQ: </strong><%:Success rate of received packages%></li>
<li><strong>ETX: </strong><%:olsrd_links_etx_desc%></li> <li><strong>ETX: </strong><%:Expected retransmission count%></li>
</ul> </ul>
<%+footer%> <%+footer%>

View file

@ -13,13 +13,13 @@ $Id$
-%> -%>
<%+header%> <%+header%>
<h2><a id="content" name="content"><%:olsrd_mid%></a></h2> <h2><a id="content" name="content"><%:Active MID announcements%></a></h2>
<p><%:olsrd_mid_desc%></p> <p><%:Overview of known multiple interface announcements%></p>
<br /> <br />
<table class="smalltext" cellspacing="0" cellpadding="6"> <table class="smalltext" cellspacing="0" cellpadding="6">
<tr> <tr>
<th><%:olsrd_node%></th> <th><%:OLSR node%></th>
<th><%:olsrd_mid_aliases%></th> <th><%:Secondary OLSR interfaces%></th>
</tr> </tr>
<% for k, mid in ipairs(mids) do %> <% for k, mid in ipairs(mids) do %>
<tr> <tr>

View file

@ -13,15 +13,15 @@ $Id$
-%> -%>
<%+header%> <%+header%>
<h2><a id="content" name="content"><%:olsrd_routes%></a></h2> <h2><a id="content" name="content"><%:Known OLSR routes%></a></h2>
<p><%:olsrd_routes_desc%></p> <p><%:Overview of currently known routes to other OLSR nodes%></p>
<br /> <br />
<table class="smalltext" cellspacing="0" cellpadding="6"> <table class="smalltext" cellspacing="0" cellpadding="6">
<tr> <tr>
<th><%:olsrd_network%></th> <th><%:Announced network%></th>
<th><%:olsrd_gateway%></th> <th><%:OLSR gateway%></th>
<th><%:interface%></th> <th><%:Interface%></th>
<th><%:metric%></th> <th><%:Metric%></th>
<th>ETX</th> <th>ETX</th>
</tr> </tr>
<% for k, route in ipairs(routes) do <% for k, route in ipairs(routes) do

View file

@ -13,13 +13,13 @@ $Id$
-%> -%>
<%+header%> <%+header%>
<h2><a id="content" name="content"><%:olsrd_topology%></a></h2> <h2><a id="content" name="content"><%:Active OLSR nodes%></a></h2>
<p><%:olsrd_topology_desc%></p> <p><%:Overview of currently known OLSR nodes%></p>
<br /> <br />
<table class="smalltext" cellspacing="0" cellpadding="6"> <table class="smalltext" cellspacing="0" cellpadding="6">
<tr> <tr>
<th><%:olsrd_node%></th> <th><%:OLSR node%></th>
<th><%:olsrd_topology_lasthop%></th> <th><%:Last hop%></th>
<th>LQ</th> <th>LQ</th>
<th>ILQ</th> <th>ILQ</th>
<th>ETX</th> <th>ETX</th>

View file

@ -18,7 +18,7 @@ function index()
require("luci.i18n") require("luci.i18n")
luci.i18n.loadc("openvpn") 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", "basic"}, cbi("openvpn-basic"), nil ).leaf = true
entry( {"admin", "services", "openvpn", "advanced"}, cbi("openvpn-advanced"), nil ).leaf = true entry( {"admin", "services", "openvpn", "advanced"}, cbi("openvpn-advanced"), nil ).leaf = true
end end

View file

@ -16,8 +16,8 @@ local fs = require "nixio.fs"
local sys = require "luci.sys" local sys = require "luci.sys"
local uci = require "luci.model.uci".cursor() local uci = require "luci.model.uci".cursor()
local m = Map("openvpn", translate("openvpn")) local m = Map("openvpn", translate("OpenVPN"))
local s = m:section( TypedSection, "openvpn", translate("openvpn_overview"), translate("openvpn_overview_desc") ) 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 = "cbi/tblsection"
s.template_addremove = "openvpn/cbi-select-input-add" s.template_addremove = "openvpn/cbi-select-input-add"
s.addremove = true s.addremove = true
@ -70,20 +70,20 @@ function s.create(self, name)
end 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) function active.cfgvalue(self, section)
local pid = fs.readfile("/var/run/openvpn-%s.pid" % section) local pid = fs.readfile("/var/run/openvpn-%s.pid" % section)
if pid and #pid > 0 and tonumber(pid) ~= nil then if pid and #pid > 0 and tonumber(pid) ~= nil then
return (sys.process.signal(pid, 0)) return (sys.process.signal(pid, 0))
and translatef("openvpn_active_yes", "yes (%i)", pid) and translatef("yes (%i)", pid)
or translate("openvpn_active_no") or translate("no")
end end
return translate("openvpn_active_no") return translate("no")
end end
local updown = s:option( Button, "_updown", translate("openvpn_updown", "Start/Stop") ) local updown = s:option( Button, "_updown", translate("Start/Stop") )
updown._state = false updown._state = false
function updown.cbid(self, section) function updown.cbid(self, section)
local pid = fs.readfile("/var/run/openvpn-%s.pid" % section) local pid = fs.readfile("/var/run/openvpn-%s.pid" % section)
@ -103,13 +103,13 @@ function updown.write(self, section, value)
end end
end end
local port = s:option( DummyValue, "port", translate("openvpn_port") ) local port = s:option( DummyValue, "port", translate("Port") )
function port.cfgvalue(self, section) function port.cfgvalue(self, section)
local val = AbstractValue.cfgvalue(self, section) local val = AbstractValue.cfgvalue(self, section)
return val or "1194" return val or "1194"
end end
local proto = s:option( DummyValue, "proto", translate("openvpn_proto") ) local proto = s:option( DummyValue, "proto", translate("Protocol") )
function proto.cfgvalue(self, section) function proto.cfgvalue(self, section)
local val = AbstractValue.cfgvalue(self, section) local val = AbstractValue.cfgvalue(self, section)
return val or "udp" return val or "udp"

View file

@ -6,6 +6,6 @@
<option value="<%=k%>"><%=luci.util.pcdata(v)%></option> <option value="<%=k%>"><%=luci.util.pcdata(v)%></option>
<% end -%> <% end -%>
</select> </select>
<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><% end %> <% if self.invalid_cts then %><br /><%:Invalid%></div><% end %>
</div> </div>

View file

@ -16,7 +16,7 @@ $Id$
<fieldset class="cbi-section"> <fieldset class="cbi-section">
<legend> <legend>
<a href="<%=luci.dispatcher.build_url("admin", "services", "openvpn")%>"><%:openvpn_overview Overview%></a> &raquo; <a href="<%=luci.dispatcher.build_url("admin", "services", "openvpn")%>"><%:openvpn_overview Overview%></a> &raquo;
<%=luci.i18n.translatef("openvpn_instance", "%s", self.instance)%> <%=luci.i18n.translatef("Instance \"%s\"", self.instance)%>
</legend> </legend>
<% if self.mode == "basic" then %> <% if self.mode == "basic" then %>

View file

@ -17,5 +17,5 @@ module("luci.controller.ff_p2pblock", package.seeall)
function index() function index()
require("luci.i18n").loadc("freifunk") require("luci.i18n").loadc("freifunk")
entry({"admin", "network", "firewall", "p2pblock"}, cbi("luci_fw/p2pblock"), entry({"admin", "network", "firewall", "p2pblock"}, cbi("luci_fw/p2pblock"),
luci.i18n.translate("ff_p2pblock", "P2P-Block"), 40) luci.i18n.translate("P2P-Block"), 40)
end end

View file

@ -14,14 +14,14 @@ $Id$
local sys = require "luci.sys" local sys = require "luci.sys"
m = Map("freifunk_p2pblock", translate("ff_p2pblock", "P2P-Block"), m = Map("freifunk_p2pblock", translate("P2P-Block"),
translate("ff_p2pblock_desc", "P2P-Block is a greylisting mechanism to block various peer-to-peer protocols for non-whitelisted clients.")) 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 = m:section(NamedSection, "p2pblock", "settings", "Settings")
s.anonymous = true s.anonymous = true
s.addremove = false 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 en.rmempty = false
function en.cfgvalue() function en.cfgvalue()
@ -36,14 +36,14 @@ function en.write(self, section, val)
end end
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"), s:option(Value, "blocktime", translate("Block Time"),
translate("ff_p2pblock_blocktime_desc", "seconds")) 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.widget = "checkbox"
l7:value("aim", "AIM Chat") l7:value("aim", "AIM Chat")
l7:value("bittorrent", "Bittorrent") l7:value("bittorrent", "Bittorrent")
@ -62,7 +62,7 @@ l7:value("smtp", "SMTP Protocol")
l7:value("ssl", "SSL Protocol") l7:value("ssl", "SSL Protocol")
l7:value("vnc", "VNC 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.widget = "checkbox"
ipp2p:value("edk", "eDonkey, eMule, Kademlia") ipp2p:value("edk", "eDonkey, eMule, Kademlia")
ipp2p:value("kazaa", "KaZaA, FastTrack") ipp2p:value("kazaa", "KaZaA, FastTrack")

View file

@ -22,7 +22,7 @@ function index()
return return
end 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.i18n = "p910nd"
page.dependent = true page.dependent = true
end end

View file

@ -15,19 +15,19 @@ $Id$
local uci = luci.model.uci.cursor_state() local uci = luci.model.uci.cursor_state()
m = Map("p910nd", translate("p910nd", "p910nd"), m = Map("p910nd", translate("p910nd - Printer server"),
translatef("p910nd_desc")) 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.addremove = true
s.anonymous = true s.anonymous = true
s:option(Flag, "enabled", translate("enable")) 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 return m

View file

@ -22,7 +22,7 @@ function index()
luci.i18n.loadc("polipo") luci.i18n.loadc("polipo")
local i18n = luci.i18n.translate 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.dependent = true
p.i18n = "polipo" p.i18n = "polipo"
end end

View file

@ -17,7 +17,7 @@ local fs = require "nixio.fs"
m = Map("qos") m = Map("qos")
s = m:section(TypedSection, "interface", translate("interfaces")) s = m:section(TypedSection, "interface", translate("Interfaces"))
s.addremove = true s.addremove = true
s:option(Flag, "enabled", translate("enable")) s:option(Flag, "enabled", translate("enable"))
@ -40,10 +40,10 @@ s.anonymous = true
s.addremove = true s.addremove = true
t = s:option(ListValue, "target") t = s:option(ListValue, "target")
t:value("Priority", translate("qos_priority")) t:value("Priority", translate("priority"))
t:value("Express", translate("qos_express")) t:value("Express", translate("express"))
t:value("Normal", translate("qos_normal")) t:value("Normal", translate("normal"))
t:value("Bulk", translate("qos_bulk")) t:value("Bulk", translate("low"))
t.default = "Normal" t.default = "Normal"
srch = s:option(Value, "srchost") srch = s:option(Value, "srchost")
@ -56,7 +56,7 @@ dsth.rmempty = true
dsth:value("", translate("all")) dsth:value("", translate("all"))
wa.cbi_add_knownips(dsth) wa.cbi_add_knownips(dsth)
l7 = s:option(ListValue, "layer7", translate("service")) l7 = s:option(ListValue, "layer7", translate("Service"))
l7.rmempty = true l7.rmempty = true
l7:value("", translate("all")) l7:value("", translate("all"))
local pats = fs.dir("/etc/l7-protocols") local pats = fs.dir("/etc/l7-protocols")
@ -68,14 +68,14 @@ if pats then
end end
end end
p = s:option(Value, "proto", translate("protocol")) p = s:option(Value, "proto", translate("Protocol"))
p:value("", translate("all")) p:value("", translate("all"))
p:value("tcp", "TCP") p:value("tcp", "TCP")
p:value("udp", "UDP") p:value("udp", "UDP")
p:value("icmp", "ICMP") p:value("icmp", "ICMP")
p.rmempty = true p.rmempty = true
ports = s:option(Value, "ports", translate("ports")) ports = s:option(Value, "ports", translate("Ports"))
ports.rmempty = true ports.rmempty = true
ports:value("", translate("allf", translate("all"))) ports:value("", translate("allf", translate("all")))

View file

@ -18,11 +18,11 @@ local fs = require "nixio.fs"
m = Map("qos") 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(Flag, "enabled", translate("Quality of Service"))
s:option(Value, "download", translate("qos_interface_download"), "kb/s") s:option(Value, "download", translate("Downlink"), "kb/s")
s:option(Value, "upload", translate("qos_interface_upload"), "kb/s") s:option(Value, "upload", translate("Uplink"), "kb/s")
s = m:section(TypedSection, "classify") s = m:section(TypedSection, "classify")
s.template = "cbi/tblsection" s.template = "cbi/tblsection"
@ -31,10 +31,10 @@ s.anonymous = true
s.addremove = true s.addremove = true
t = s:option(ListValue, "target") t = s:option(ListValue, "target")
t:value("Priority", translate("qos_priority")) t:value("Priority", translate("priority"))
t:value("Express", translate("qos_express")) t:value("Express", translate("express"))
t:value("Normal", translate("qos_normal")) t:value("Normal", translate("normal"))
t:value("Bulk", translate("qos_bulk")) t:value("Bulk", translate("low"))
t.default = "Normal" t.default = "Normal"
srch = s:option(Value, "srchost") srch = s:option(Value, "srchost")
@ -47,7 +47,7 @@ dsth.rmempty = true
dsth:value("", translate("all")) dsth:value("", translate("all"))
wa.cbi_add_knownips(dsth) wa.cbi_add_knownips(dsth)
l7 = s:option(ListValue, "layer7", translate("service")) l7 = s:option(ListValue, "layer7", translate("Service"))
l7.rmempty = true l7.rmempty = true
l7:value("", translate("all")) l7:value("", translate("all"))
local pats = fs.dir("/etc/l7-protocols") local pats = fs.dir("/etc/l7-protocols")
@ -59,14 +59,14 @@ if pats then
end end
end end
p = s:option(ListValue, "proto", translate("protocol")) p = s:option(ListValue, "proto", translate("Protocol"))
p:value("", translate("all")) p:value("", translate("all"))
p:value("tcp", "TCP") p:value("tcp", "TCP")
p:value("udp", "UDP") p:value("udp", "UDP")
p:value("icmp", "ICMP") p:value("icmp", "ICMP")
p.rmempty = true p.rmempty = true
ports = s:option(Value, "ports", translate("ports")) ports = s:option(Value, "ports", translate("Ports"))
ports.rmempty = true ports.rmempty = true
ports:value("", translate("allf", translate("all"))) ports:value("", translate("allf", translate("all")))

View file

@ -21,7 +21,7 @@ function index()
require("luci.i18n") require("luci.i18n")
luci.i18n.loadc("samba") 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.i18n = "samba"
page.dependent = true page.dependent = true
end end

View file

@ -29,7 +29,7 @@ s.anonymous = true
s.addremove = true s.addremove = true
s.template = "cbi/tblsection" 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, "path").titleref = luci.dispatcher.build_url("admin", "system", "fstab")
s:option(Value, "users").rmempty = true s:option(Value, "users").rmempty = true

View file

@ -158,12 +158,12 @@ end
count = count + 1 count = count + 1
-%> -%>
<tr class="cbi-section-table-row cbi-rowstyle-<%=2-(count%2)%>"> <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.hostname or "<em>" .. translate("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.ip or "<em>" .. translate("unknown") .. "</em>"%></td>
<td class="cbi-section-table-cell"><%=showmac(c.mac)%></td> <td class="cbi-section-table-cell"><%=showmac(c.mac)%></td>
<td class="cbi-section-table-cell"><%= <td class="cbi-section-table-cell"><%=
(c.limit >= os.time()) and wat.date_format(c.limit-os.time()) or (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>
<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"><%=wat.byte_format(c.bytes_in)%> / <%=wat.byte_format(c.bytes_out)%></td>
<td class="cbi-section-table-cell"> <td class="cbi-section-table-cell">

View file

@ -50,7 +50,7 @@ function index()
} }
-- create toplevel menu nodes -- 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.i18n = "statistics"
st.index = true st.index = true

View file

@ -12,14 +12,14 @@ You may obtain a copy of the License at
$Id$ $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.anonymous = true
s:option(Flag, "enable", translate("enable")) 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, "Listen").optional = true
s:option(Value, "Bind").optional = true s:option(Value, "Bind").optional = true
s:option(Value, "Timeout").optional = true s:option(Value, "Timeout").optional = true
@ -68,8 +68,8 @@ s.anonymous = true
s.addremove = true s.addremove = true
t = s:option(ListValue, "type") t = s:option(ListValue, "type")
t:value("proxy", translate("tinyproxy_type_proxy")) t:value("proxy", translate("Via proxy"))
t:value("reject", translate("tinyproxy_type_reject")) t:value("reject", translate("Reject access"))
ta = s:option(Value, "target") ta = s:option(Value, "target")
ta.rmempty = true ta.rmempty = true

View file

@ -12,7 +12,7 @@ You may obtain a copy of the License at
$Id$ $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", "") s = m:section(NamedSection, "config", "upnpd", "")
e = s:option(Flag, "enabled", translate("enable")) e = s:option(Flag, "enabled", translate("enable"))

View file

@ -12,7 +12,7 @@ You may obtain a copy of the License at
$Id$ $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", "") s = m:section(NamedSection, "config", "upnpd", "")
e = s:option(Flag, "enabled", translate("enable")) e = s:option(Flag, "enabled", translate("enable"))

View file

@ -22,7 +22,7 @@ function index()
return return
end 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.i18n = "uvc_streamer"
page.dependent = true page.dependent = true
end end

View file

@ -13,30 +13,30 @@ $Id$
]]-- ]]--
m = Map("ushare", translate("ushare"), m = Map("ushare", translate("uShare"),
translate("ushare_desc")) translate("ushare_desc"))
s = m:section(TypedSection, "ushare", translate("settings")) s = m:section(TypedSection, "ushare", translate("Settings"))
s.addremove = false s.addremove = false
s.anonymous = true 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 for _, nif in ipairs(luci.sys.net.devices()) do
if nif ~= "lo" then dif:value(nif) end if nif ~= "lo" then dif:value(nif) end
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 m

View file

@ -22,7 +22,7 @@ function index()
return return
end 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.i18n = "uvc_streamer"
page.dependent = true page.dependent = true
end end

View file

@ -24,24 +24,24 @@ uci:foreach( "uvc-streamer", "uvc-streamer",
addr = addr or "192.168.1.1" addr = addr or "192.168.1.1"
port = port or 8080 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)) 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.addremove = false
s.anonymous = true 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("640x480")
nm:value("320x240") nm:value("320x240")
nm:value("160x120") 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 return m

View file

@ -18,15 +18,15 @@ function index()
require("luci.i18n") require("luci.i18n")
luci.i18n.loadc("voice_core") 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.index = true
e.i18n = "voice_core" 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.index = true
e.i18n = "voice_core" 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.index = true
e.i18n = "voice_core" e.i18n = "voice_core"

View file

@ -12,7 +12,7 @@ $Id$
-%> -%>
<%+header%> <%+header%>
<h2><a id="content" name="content"><%:l_v_d_di_voicediag%></a></h2> <h2><a id="content" name="content"><%:Diagnostics%></a></h2>
<p><%:l_v_d_di_voicediag1%></p> <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><%:l_v_d_di_voicediag2%></p> <p><%:The diagnostics available on your device depend on the modules that you have installed.%></p>
<%+footer%> <%+footer%>

View file

@ -21,10 +21,10 @@ $Id$
<input class="cbi-button cbi-button-back" type="submit" name="cbi.delg.back" value="<%:cbi_back &lt; Back%>" /> <input class="cbi-button cbi-button-back" type="submit" name="cbi.delg.back" value="<%:cbi_back &lt; Back%>" />
<% end %> <% end %>
<% if self.allow_reset then %> <% 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 %> <% end %>
<% if self.allow_cancel then %> <% 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 %> <% end %>
<% if self.allow_finish and not self:get_next(self.current) then %> <% 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-button cbi-button-finish" type="submit" value="<%:cbi_finish Finish%>" />

View file

@ -20,9 +20,9 @@ $Id$
%> %>
<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")%> /> <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 %> <% 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 %> <% 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 %> <% end %>
<% if #self.keylist > 0 then -%> <% if #self.keylist > 0 then -%>
<script type="text/javascript"> <script type="text/javascript">
@ -37,7 +37,7 @@ $Id$
-%> -%>
}, '<%- if not self.rmempty and not self.optional then -%> }, '<%- if not self.rmempty and not self.optional then -%>
<%-:cbi_select-%> <%-:cbi_select-%>
<%- end -%>', '<%:cbi_manual%>'); <%- end -%>', '<%:-- custom --%>');
</script> </script>
<% end -%> <% end -%>
<% if i <= #vals then %><br /> <% if i <= #vals then %><br />

View file

@ -68,7 +68,7 @@ $Id$
<% end end %> <% end end %>
</span> </span>
<% end end %> <% 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> </label>
</li> </li>
<% end end %> <% end end %>
@ -77,7 +77,7 @@ $Id$
<li style="padding:0.5em"> <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")%> /> &nbsp; <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")%> /> &nbsp;
<div style="background-color:<%=fwm.zone.get_color()%>; padding:0.5em; display:inline"> <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:%>&nbsp;</em></label> <label<%=attr("for", cbid .. "_new")%>><em><%:unspecified -or- create:%>&nbsp;</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" /> <input style="width:6em" type="text"<%=attr("name", cbid .. ".newzone") .. ifattr(not selected, "value", self.default)%> onfocus="document.getElementById('<%=cbid%>_new').checked=true" />
</div> </div>
</li> </li>

View file

@ -18,10 +18,10 @@ $Id$
<input class="cbi-button cbi-button-skip" type="submit" name="cbi.skip" value="<%:skip Skip%>" /> <input class="cbi-button cbi-button-skip" type="submit" name="cbi.skip" value="<%:skip Skip%>" />
<% end %> <% end %>
<% if not autoapply then%> <% 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 %> <% end %>
<input class="cbi-button cbi-button-save" type="submit" value="<%:save%>" /> <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-reset" type="reset" value="<%:Reset%>" />
<script type="text/javascript">cbi_d_update();</script> <script type="text/javascript">cbi_d_update();</script>
</div> </div>
<%- end -%> <%- end -%>

View file

@ -16,7 +16,7 @@ $Id$
<div class="cbi-value<% if self.error and self.error[section] then %> cbi-value-error<% end %>" id="cbi-<%=self.config.."-"..section.."-"..self.option%>"> <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 -%> <%- if self.title and #self.title > 0 then -%>
<label class="cbi-value-title"<%= attr("for", cbid) %>> <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-%> <%-=self.title-%>
<%- if self.titleref then -%></a><%- end -%> <%- if self.titleref then -%></a><%- end -%>
</label> </label>

View file

@ -18,5 +18,5 @@ $Id$
<div> <div>
<script type="text/javascript" src="<%=resource%>/cbi.js"></script> <script type="text/javascript" src="<%=resource%>/cbi.js"></script>
<input type="hidden" name="cbi.submit" value="1" /> <input type="hidden" name="cbi.submit" value="1" />
<input type="submit" value="<%:save%>" class="hidden" /> <input type="submit" value="<%:Save%>" class="hidden" />
</div> </div>

View file

@ -18,7 +18,7 @@ $Id$
<div class="cbi-map-descr"><%=self.description%></div> <div class="cbi-map-descr"><%=self.description%></div>
<%- if self._apply then -%> <%- if self._apply then -%>
<fieldset class="cbi-section"> <fieldset class="cbi-section">
<legend><%:cbi_applying%></legend> <legend><%:Applying changes%></legend>
<ul class="cbi-apply"><%- <ul class="cbi-apply"><%-
local fp = self._apply() local fp = self._apply()
self._apply = nil self._apply = nil

View file

@ -41,7 +41,7 @@ $Id$
%> %>
<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" /> <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 %> <% 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> </span>
</label> </label>
</li> </li>
@ -51,7 +51,7 @@ $Id$
<li style="padding:0.25em 0"> <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")%> /> &nbsp; <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")%> /> &nbsp;
<div style="padding:0.5em; display:inline"> <div style="padding:0.5em; display:inline">
<label<%=attr("for", cbid .. "_new")%>><em><%:a_s_ipt_zone_unspec_create unspecified -or- create:%>&nbsp;</em></label> <label<%=attr("for", cbid .. "_new")%>><em><%:unspecified -or- create:%>&nbsp;</em></label>
<input style="width:6em" type="text"<%=attr("name", cbid .. ".newnet")%> onfocus="document.getElementById('<%=cbid%>_new').checked=true" /> <input style="width:6em" type="text"<%=attr("name", cbid .. ".newnet")%> onfocus="document.getElementById('<%=cbid%>_new').checked=true" />
</div> </div>
</li> </li>

View file

@ -23,7 +23,7 @@ $Id$
<%- end %> <%- end %>
<% if self.addremove then -%> <% if self.addremove then -%>
<div class="cbi-section-remove right"> <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> </div>
<%- end %> <%- end %>
<%+cbi/tabmenu%> <%+cbi/tabmenu%>
@ -39,7 +39,7 @@ $Id$
<legend><%=self.title%></legend> <legend><%=self.title%></legend>
<%- end %> <%- end %>
<div class="cbi-section-descr"><%=self.description%></div> <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> </fieldset>
<%- end %> <%- end %>
<% end %> <% end %>

View file

@ -39,7 +39,7 @@ end
<%- end -%> <%- end -%>
<%- for i, k in pairs(self.children) do if not k.optional then -%> <%- for i, k in pairs(self.children) do if not k.optional then -%>
<th class="cbi-section-table-cell"> <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-%> <%-=k.title-%>
<%- if k.titleref then -%></a><%- end -%> <%- if k.titleref then -%></a><%- end -%>
</th> </th>
@ -90,9 +90,9 @@ end
<%- elseif type(self.extedit) == "function" then -%> <%- elseif type(self.extedit) == "function" then -%>
<%=self:extedit(section)%> <%=self:extedit(section)%>
<%- end -%> <%- 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 %> <%- 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 -%> <%- end -%>
</td> </td>
<%- end -%> <%- end -%>
@ -101,7 +101,7 @@ end
<%- if isempty then -%> <%- if isempty then -%>
<tr class="cbi-section-table-row"> <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> </tr>
<%- end -%> <%- end -%>
</table> </table>
@ -118,13 +118,13 @@ end
<% if self.template_addremove then include(self.template_addremove) else -%> <% if self.template_addremove then include(self.template_addremove) else -%>
<div class="cbi-section-create cbi-tblsection-create"> <div class="cbi-section-create cbi-tblsection-create">
<% if self.anonymous then %> <% 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 %> <% else %>
<% if self.invalid_cts then -%><div class="cbi-section-error"><% end %> <% 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="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 -%> <% if self.invalid_cts then -%>
<br /><%:cbi_invalid%></div> <br /><%:Invalid%></div>
<%- end %> <%- end %>
<% end %> <% end %>
</div> </div>

View file

@ -21,7 +21,7 @@ $Id$
<% local isempty = true for i, k in ipairs(self:cfgsections()) do -%> <% local isempty = true for i, k in ipairs(self:cfgsections()) do -%>
<% if self.addremove then -%> <% if self.addremove then -%>
<div class="cbi-section-remove right"> <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> </div>
<%- end %> <%- end %>
@ -40,20 +40,20 @@ $Id$
<%- end %> <%- end %>
<% if isempty then -%> <% if isempty then -%>
<em><%:cbi_sectempty%><br /><br /></em> <em><%:This section contains no values yet%><br /><br /></em>
<%- end %> <%- end %>
<% if self.addremove then -%> <% if self.addremove then -%>
<% if self.template_addremove then include(self.template_addremove) else -%> <% if self.template_addremove then include(self.template_addremove) else -%>
<div class="cbi-section-create"> <div class="cbi-section-create">
<% if self.anonymous then -%> <% 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 -%> <%- else -%>
<% if self.invalid_cts then -%><div class="cbi-section-error"><% end %> <% 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="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 -%> <% if self.invalid_cts then -%>
<br /><%:cbi_invalid%></div> <br /><%:Invalid%></div>
<%- end %> <%- end %>
<%- end %> <%- end %>
</div> </div>

View file

@ -55,7 +55,7 @@ $Id$
<% end %> <% end %>
<% else %> <% else %>
<select id="cbi.opt.<%=self.config%>.<%=section%>" name="cbi.opt.<%=self.config%>.<%=section%>"> <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 -%> <% for key, val in pairs(self.optionals[section]) do -%>
<option id="cbi-<%=self.config.."-"..section.."-"..val.option%>" value="<%=val.option%>"><%=striptags(val.title)%></option> <option id="cbi-<%=self.config.."-"..section.."-"..val.option%>" value="<%=val.option%>"><%=striptags(val.title)%></option>
<%- end %> <%- end %>
@ -75,6 +75,6 @@ $Id$
<%- end %><% end %> <%- end %><% end %>
<% end %></script> <% end %></script>
<% end %> <% end %>
<input type="submit" class="cbi-button cbi-button-fieldadd" value="<%:add%>" /> <input type="submit" class="cbi-button cbi-button-fieldadd" value="<%:Add%>" />
</div> </div>
<% end %> <% end %>

View file

@ -22,7 +22,7 @@ $Id$
<% if s then %> <% if s then %>
<%:cbi_upload Uploaded File%> (<%=t.byte_format(s.size)%>) <%:cbi_upload Uploaded File%> (<%=t.byte_format(s.size)%>)
<input type="hidden"<%= attr("value", v) .. attr("name", cbid) .. attr("id", cbid) %> /> <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 %> <% else %>
<input class="cbi-input-file" type="file"<%= attr("name", cbid) .. attr("id", cbid) %> /> <input class="cbi-input-file" type="file"<%= attr("name", cbid) .. attr("id", cbid) %> />
<% end %> <% end %>

View file

@ -396,13 +396,13 @@ end
function interface.get_type_i18n(self) function interface.get_type_i18n(self)
local x = self:type() local x = self:type()
if x == "wifi" then if x == "wifi" then
return i18n.translate("a_s_if_wifidev", "Wireless Adapter") return i18n.translate("Wireless Adapter")
elseif x == "bridge" then elseif x == "bridge" then
return i18n.translate("a_s_if_bridge", "Bridge") return i18n.translate("Bridge")
elseif x == "switch" then elseif x == "switch" then
return i18n.translate("a_s_if_ethswitch", "Ethernet Switch") return i18n.translate("Ethernet Switch")
else else
return i18n.translate("a_s_if_ethdev", "Ethernet Adapter") return i18n.translate("Ethernet Adapter")
end end
end end

View file

@ -77,12 +77,12 @@ end
function get_i18n(self, iface) function get_i18n(self, iface)
if iface.dev and iface.dev.wifi then if iface.dev and iface.dev.wifi then
return "%s: %s %q" %{ 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"), 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)" iface.dev.wifi.ssid or iface.dev.wifi.bssid or "(hidden)"
} }
else 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
end end

View file

@ -100,12 +100,12 @@ end
function get_i18n(self, iface) function get_i18n(self, iface)
if iface.wdev and iface.winfo then if iface.wdev and iface.winfo then
return "%s: %s %q (%s)" %{ 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)), i18n.translate("a_s_if_iwmode_" .. iface:active_mode(), iface.winfo.mode(iface.wdev)),
iface:active_ssid() or "(hidden)", iface.wdev iface:active_ssid() or "(hidden)", iface.wdev
} }
else 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
end end

View file

@ -13,13 +13,13 @@ $Id$
-%> -%>
<%+header%> <%+header%>
<h2><a id="content" name="content"><%:about%> LuCI</a></h2> <h2><a id="content" name="content"><%:About%> LuCI</a></h2>
<p><%:c_lucidesc%></p> <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 /> <br />
<h2><%:c_leaddev%></h2> <h2><%:Lead Development%></h2>
<ul style="font-weight: bold"> <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: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> <li><a href="mailto:xm-at-leipzig.freifunk-dot-net">Jo-Philipp "Jow" Wich</a> (Freifunk Leipzig)</li>
@ -27,7 +27,7 @@ $Id$
</ul> </ul>
<br /> <br />
<h2><%:c_contributors%></h2> <h2><%:Contributing Developers%></h2>
<ul style="font-weight: bold"> <ul style="font-weight: bold">
<li><a href="mailto:mail-at-antonpopov-dot-de">Anton "xyron" Popov</a></li> <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> <li><a href="mailto:florian-at-openwrt-dot-org">Florian Fainelli</a> (OpenWrt)</li>
@ -36,7 +36,7 @@ $Id$
</ul> </ul>
<br /> <br />
<h2><%:c_thanksto%></h2> <h2><%:Thanks To%></h2>
<ul style="font-weight: bold"> <ul style="font-weight: bold">
<li><a href="mailto:info-at-computerhilfe-halle-dot-de">Mono</a> (Freifunk Halle)</li> <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> <li><a href="mailto:tetzlav-at-leipzig.freifunk-dot-net">tetzlav</a> (Freifunk Leipzig)</li>

View file

@ -17,9 +17,9 @@ $Id$
<form method="post" action="<%=luci.http.getenv("REQUEST_URI")%>"> <form method="post" action="<%=luci.http.getenv("REQUEST_URI")%>">
<div class="cbi-map"> <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"> <div class="cbi-map-descr">
<%:sysauth_prompt%> <%:Please enter your username and password.%>
<%- if fuser then %> <%- if fuser then %>
<div class="error"><%:sysauth_failed%></div> <div class="error"><%:sysauth_failed%></div>
<br /> <br />
@ -27,13 +27,13 @@ $Id$
</div> </div>
<fieldset class="cbi-section"><fieldset class="cbi-section-node"> <fieldset class="cbi-section"><fieldset class="cbi-section-node">
<div class="cbi-value"> <div class="cbi-value">
<label class="cbi-value-title"><%:username%></label> <label class="cbi-value-title"><%:Username%></label>
<div class="cbi-value-field"> <div class="cbi-value-field">
<input class="cbi-input-user" type="text" name="username" value="<%=duser%>" /> <input class="cbi-input-user" type="text" name="username" value="<%=duser%>" />
</div> </div>
</div> </div>
<div class="cbi-value"> <div class="cbi-value">
<label class="cbi-value-title"><%:password%></label> <label class="cbi-value-title"><%:Password%></label>
<div class="cbi-value-field"> <div class="cbi-value-field">
<input class="cbi-input-password" type="password" name="password" /> <input class="cbi-input-password" type="password" name="password" />
</div> </div>
@ -42,8 +42,8 @@ $Id$
</div> </div>
<div> <div>
<input type="submit" value="<%:login%>" class="cbi-button cbi-button-apply" /> <input type="submit" value="<%:Login%>" class="cbi-button cbi-button-apply" />
<input type="reset" value="<%:reset%>" class="cbi-button cbi-button-reset" /> <input type="reset" value="<%:Reset%>" class="cbi-button cbi-button-reset" />
</div> </div>
</form> </form>
<%+footer%> <%+footer%>

View file

@ -27,7 +27,7 @@ function index()
local page = node("admin") local page = node("admin")
page.target = alias("admin", "index") page.target = alias("admin", "index")
page.title = i18n("administration", "Administration") page.title = i18n("Administration")
page.order = 10 page.order = 10
page.i18n = "admin-core" page.i18n = "admin-core"
page.sysauth = "root" page.sysauth = "root"
@ -37,17 +37,17 @@ function index()
local page = node("admin", "index") local page = node("admin", "index")
page.target = template("admin_index/index") page.target = template("admin_index/index")
page.title = i18n("overview", "Übersicht") page.title = i18n("Overview")
page.order = 10 page.order = 10
page.index = true page.index = true
local page = node("admin", "index", "luci") local page = node("admin", "index", "luci")
page.target = cbi("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 page.order = 10
entry({"admin", "index", "components"}, call("redir_components"), i18n("luci_components", "LuCI Components"), 20) entry({"admin", "index", "components"}, call("redir_components"), i18n("LuCI Components"), 20)
entry({"admin", "index", "logout"}, call("action_logout"), i18n("logout"), 90) entry({"admin", "index", "logout"}, call("action_logout"), i18n("Logout"), 90)
end end
function redir_components() function redir_components()

View file

@ -20,16 +20,16 @@ function index()
local page = node("admin", "network") local page = node("admin", "network")
page.target = alias("admin", "network", "network") page.target = alias("admin", "network", "network")
page.title = i18n("network") page.title = i18n("Network")
page.order = 50 page.order = 50
page.index = true page.index = true
local page = node("admin", "network", "vlan") local page = node("admin", "network", "vlan")
page.target = cbi("admin_network/vlan") page.target = cbi("admin_network/vlan")
page.title = i18n("a_n_switch") page.title = i18n("Switch")
page.order = 20 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.i18n = "wifi"
page.leaf = true page.leaf = true
page.subindex = true page.subindex = true
@ -42,7 +42,7 @@ function index()
page.i18n = "wifi" page.i18n = "wifi"
page.leaf = true 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.leaf = true
page.subindex = true page.subindex = true
@ -69,17 +69,17 @@ function index()
entry( entry(
{"admin", "network", "dhcp", "leases"}, {"admin", "network", "dhcp", "leases"},
cbi("admin_network/dhcpleases"), cbi("admin_network/dhcpleases"),
i18n("dhcp_leases") i18n("Leases")
) )
local page = node("admin", "network", "hosts") local page = node("admin", "network", "hosts")
page.target = cbi("admin_network/hosts") page.target = cbi("admin_network/hosts")
page.title = i18n("hostnames", "Hostnames") page.title = i18n("Hostnames")
page.order = 40 page.order = 40
local page = node("admin", "network", "routes") local page = node("admin", "network", "routes")
page.target = cbi("admin_network/routes") page.target = cbi("admin_network/routes")
page.title = i18n("a_n_routes_static") page.title = i18n("Static Routes")
page.order = 50 page.order = 50
end end

View file

@ -19,12 +19,12 @@ function index()
local page = node("admin", "services", "crontab") local page = node("admin", "services", "crontab")
page.target = form("admin_services/crontab") page.target = form("admin_services/crontab")
page.title = i18n("a_s_crontab") page.title = i18n("Scheduled Tasks")
page.order = 50 page.order = 50
local page = node("admin", "services") local page = node("admin", "services")
page.target = template("admin_services/index") page.target = template("admin_services/index")
page.title = i18n("services", "Dienste") page.title = i18n("Services")
page.order = 40 page.order = 40
page.index = true page.index = true

View file

@ -17,13 +17,13 @@ function index()
luci.i18n.loadc("admin-core") luci.i18n.loadc("admin-core")
local i18n = luci.i18n.translate local i18n = luci.i18n.translate
entry({"admin", "status"}, template("admin_status/index"), i18n("status", "Status"), 20).index = true entry({"admin", "status"}, template("admin_status/index"), i18n("Status"), 20).index = true
entry({"admin", "status", "interfaces"}, template("admin_status/interfaces"), i18n("interfaces", "Interfaces"), 1) entry({"admin", "status", "interfaces"}, template("admin_status/interfaces"), i18n("Interfaces"), 1)
entry({"admin", "status", "iptables"}, call("action_iptables"), i18n("a_s_ipt", "Firewall"), 2) entry({"admin", "status", "iptables"}, call("action_iptables"), i18n("Firewall"), 2)
entry({"admin", "status", "conntrack"}, template("admin_status/conntrack"), i18n("a_n_conntrack"), 3) entry({"admin", "status", "conntrack"}, template("admin_status/conntrack"), i18n("Active Connections"), 3)
entry({"admin", "status", "routes"}, template("admin_status/routes"), i18n("a_n_routes"), 4) entry({"admin", "status", "routes"}, template("admin_status/routes"), i18n("Routes"), 4)
entry({"admin", "status", "syslog"}, call("action_syslog"), i18n("syslog", "System Log"), 5) entry({"admin", "status", "syslog"}, call("action_syslog"), i18n("System Log"), 5)
entry({"admin", "status", "dmesg"}, call("action_dmesg"), i18n("dmesg", "Kernel Log"), 6) entry({"admin", "status", "dmesg"}, call("action_dmesg"), i18n("Kernel Log"), 6)
end end

View file

@ -18,22 +18,22 @@ function index()
luci.i18n.loadc("admin-core") luci.i18n.loadc("admin-core")
local i18n = luci.i18n.translate local i18n = luci.i18n.translate
entry({"admin", "system"}, alias("admin", "system", "system"), i18n("system"), 30).index = true 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", "system"}, cbi("admin_system/system"), i18n("System"), 1)
entry({"admin", "system", "packages"}, call("action_packages"), i18n("a_s_packages"), 10) entry({"admin", "system", "packages"}, call("action_packages"), i18n("Software"), 10)
entry({"admin", "system", "packages", "ipkg"}, form("admin_system/ipkg")) 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", "passwd"}, form("admin_system/passwd"), i18n("Admin Password"), 20)
entry({"admin", "system", "sshkeys"}, form("admin_system/sshkeys"), i18n("a_s_sshkeys"), 30) 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("process_head"), 45) entry({"admin", "system", "processes"}, form("admin_system/processes"), i18n("Processes"), 45)
entry({"admin", "system", "fstab"}, cbi("admin_system/fstab"), i18n("a_s_fstab"), 50) entry({"admin", "system", "fstab"}, cbi("admin_system/fstab"), i18n("Mount Points"), 50)
if nixio.fs.access("/sys/class/leds") then 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 end
entry({"admin", "system", "backup"}, call("action_backup"), i18n("a_s_backup"), 70) entry({"admin", "system", "backup"}, call("action_backup"), i18n("Backup / Restore"), 70)
entry({"admin", "system", "upgrade"}, call("action_upgrade"), i18n("admin_upgrade"), 80) entry({"admin", "system", "upgrade"}, call("action_upgrade"), i18n("Flash Firmware"), 80)
entry({"admin", "system", "reboot"}, call("action_reboot"), i18n("reboot"), 90) entry({"admin", "system", "reboot"}, call("action_reboot"), i18n("Reboot"), 90)
end end
function action_packages() function action_packages()

View file

@ -18,11 +18,11 @@ function index()
local redir = luci.http.formvalue("redir", true) or local redir = luci.http.formvalue("redir", true) or
luci.dispatcher.build_url(unpack(luci.dispatcher.context.request)) luci.dispatcher.build_url(unpack(luci.dispatcher.context.request))
entry({"admin", "uci"}, nil, i18n("config")) entry({"admin", "uci"}, nil, i18n("Configuration"))
entry({"admin", "uci", "changes"}, call("action_changes"), i18n("changes"), 40).query = {redir=redir} 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", "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", "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", "saveapply"}, call("action_apply"), i18n("Save & Apply"), 10).query = {redir=redir}
end end
function convert_changes(changes) function convert_changes(changes)

View file

@ -12,8 +12,7 @@ You may obtain a copy of the License at
$Id$ $Id$
]]-- ]]--
require("luci.config") require("luci.config")
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>."))
"Hier können Eigenschaften und die Funktionalität der Oberfläche angepasst werden."))
local fs = require "nixio.fs" local fs = require "nixio.fs"
@ -24,9 +23,9 @@ function m.commit_handler(self)
end 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") l:value("auto")
local i18ndir = luci.i18n.i18ndir .. "default." local i18ndir = luci.i18n.i18ndir .. "default."
@ -37,19 +36,19 @@ for k, v in luci.util.kspairs(luci.config.languages) do
end end
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 for k, v in pairs(luci.config.themes) do
if k:sub(1, 1) ~= "." then if k:sub(1, 1) ~= "." then
t:value(v, k) t:value(v, k)
end end
end end
u = m:section(NamedSection, "uci_oncommit", "event", translate("a_i_ucicommit"), u = m:section(NamedSection, "uci_oncommit", "event", translate("Post-commit actions"),
translate("a_i_ucicommit1")) 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 u.dynamic = true
f = m:section(NamedSection, "flash_keep", "extern", translate("a_i_keepflash"), f = m:section(NamedSection, "flash_keep", "extern", translate("Files to be kept when flashing a new firmware"),
translate("a_i_keepflash1")) 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 f.dynamic = true
return m return m

Some files were not shown because too many files have changed in this diff Show more