build: gccbuild luabuild
gccbuild:
- make -C libs/lmo CC="cc" CFLAGS="" LDFLAGS="" SDK="$(shell test -f .running-sdk && echo 1)" host-install
+ make -C libs/web CC="cc" CFLAGS="" LDFLAGS="" SDK="$(shell test -f .running-sdk && echo 1)" host-install
for i in $(MODULES); do \
make -C$$i SDK="$(shell test -f .running-sdk && echo 1)" compile || { \
echo "*** Compilation of $$i failed!"; \
return
end
- entry({"admin", "network", "ahcpd"}, cbi("ahcp"), _("AHCP Server"), 90).i18n = "ahcp"
+ entry({"admin", "network", "ahcpd"}, cbi("ahcp"), _("AHCP Server"), 90)
entry({"admin", "network", "ahcpd", "status"}, call("ahcp_status"))
end
function index()
- entry({"admin", "services", "asterisk"}, cbi("asterisk"), "Asterisk", 80).i18n = "asterisk"
+ entry({"admin", "services", "asterisk"}, cbi("asterisk"), "Asterisk", 80)
entry({"admin", "services", "asterisk", "voice"}, cbi("asterisk-voice"), "Voice Functions", 1)
entry({"admin", "services", "asterisk", "meetme"}, cbi("asterisk-meetme"), "Meetme Conferences", 2)
--- /dev/null
+PO = commands
+
+include ../../build/config.mk
+include ../../build/module.mk
--- /dev/null
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2012 Jo-Philipp Wich <jow@openwrt.org>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+]]--
+
+module("luci.controller.commands", package.seeall)
+
+function index()
+ entry({"admin", "system", "commands"}, firstchild(), _("Custom Commands"), 80)
+ entry({"admin", "system", "commands", "dashboard"}, template("commands"), _("Dashboard"), 1)
+ entry({"admin", "system", "commands", "config"}, cbi("commands"), _("Configure"), 2)
+ entry({"admin", "system", "commands", "run"}, call("action_run"), nil, 3).leaf = true
+ entry({"admin", "system", "commands", "download"}, call("action_download"), nil, 3).leaf = true
+
+ entry({"command"}, call("action_public"), nil, 1).leaf = true
+end
+
+--- Decode a given string into arguments following shell quoting rules
+--- [[abc \def "foo\"bar" abc'def']] -> [[abc def]] [[foo"bar]] [[abcdef]]
+local function parse_args(str)
+ local args = { }
+
+ local function isspace(c)
+ if c == 9 or c == 10 or c == 11 or c == 12 or c == 13 or c == 32 then
+ return c
+ end
+ end
+
+ local function isquote(c)
+ if c == 34 or c == 39 or c == 96 then
+ return c
+ end
+ end
+
+ local function isescape(c)
+ if c == 92 then
+ return c
+ end
+ end
+
+ local function ismeta(c)
+ if c == 36 or c == 92 or c == 96 then
+ return c
+ end
+ end
+
+ --- Convert given table of byte values into a Lua string and append it to
+ --- the "args" table. Segment byte value sequence into chunks of 256 values
+ --- to not trip over the parameter limit for string.char()
+ local function putstr(bytes)
+ local chunks = { }
+ local csz = 256
+ local upk = unpack
+ local chr = string.char
+ local min = math.min
+ local len = #bytes
+ local off
+
+ for off = 1, len, csz do
+ chunks[#chunks+1] = chr(upk(bytes, off, min(off + csz - 1, len)))
+ end
+
+ args[#args+1] = table.concat(chunks)
+ end
+
+ --- Scan substring defined by the indexes [s, e] of the string "str",
+ --- perform unquoting and de-escaping on the fly and store the result in
+ --- a table of byte values which is passed to putstr()
+ local function unquote(s, e)
+ local off, esc, quote
+ local res = { }
+
+ for off = s, e do
+ local byte = str:byte(off)
+ local q = isquote(byte)
+ local e = isescape(byte)
+ local m = ismeta(byte)
+
+ if e then
+ esc = true
+ elseif esc then
+ if m then res[#res+1] = 92 end
+ res[#res+1] = byte
+ esc = false
+ elseif q and quote and q == quote then
+ quote = nil
+ elseif q and not quote then
+ quote = q
+ else
+ if m then res[#res+1] = 92 end
+ res[#res+1] = byte
+ end
+ end
+
+ putstr(res)
+ end
+
+ --- Find substring boundaries in "str". Ignore escaped or quoted
+ --- whitespace, pass found start- and end-index for each substring
+ --- to unquote()
+ local off, esc, start, quote
+ for off = 1, #str + 1 do
+ local byte = str:byte(off)
+ local q = isquote(byte)
+ local s = isspace(byte) or (off > #str)
+ local e = isescape(byte)
+
+ if esc then
+ esc = false
+ elseif e then
+ esc = true
+ elseif q and quote and q == quote then
+ quote = nil
+ elseif q and not quote then
+ start = start or off
+ quote = q
+ elseif s and not quote then
+ if start then
+ unquote(start, off - 1)
+ start = nil
+ end
+ else
+ start = start or off
+ end
+ end
+
+ --- If the "quote" is still set we encountered an unfinished string
+ if quote then
+ unquote(start, #str)
+ end
+
+ return args
+end
+
+local function parse_cmdline(cmdid, args)
+ local uci = require "luci.model.uci".cursor()
+ if uci:get("luci", cmdid) == "command" then
+ local cmd = uci:get_all("luci", cmdid)
+ local argv = parse_args(cmd.command)
+ local i, v
+
+ if cmd.param == "1" and args then
+ for i, v in ipairs(parse_args(luci.http.urldecode(args))) do
+ argv[#argv+1] = v
+ end
+ end
+
+ for i, v in ipairs(argv) do
+ if v:match("[^%w%.%-i/]") then
+ argv[i] = '"%s"' % v:gsub('"', '\\"')
+ end
+ end
+
+ return argv
+ end
+end
+
+function action_run(...)
+ local fs = require "nixio.fs"
+ local argv = parse_cmdline(...)
+ if argv then
+ local outfile = os.tmpname()
+ local errfile = os.tmpname()
+
+ local rv = os.execute(table.concat(argv, " ") .. " >%s 2>%s" %{ outfile, errfile })
+ local stdout = fs.readfile(outfile, 1024 * 512) or ""
+ local stderr = fs.readfile(errfile, 1024 * 512) or ""
+
+ fs.unlink(outfile)
+ fs.unlink(errfile)
+
+ local binary = not not (stdout:match("[%z\1-\8\14-\31]"))
+
+ luci.http.prepare_content("application/json")
+ luci.http.write_json({
+ command = table.concat(argv, " "),
+ stdout = not binary and stdout,
+ stderr = stderr,
+ exitcode = rv,
+ binary = binary
+ })
+ else
+ luci.http.status(404, "No such command")
+ end
+end
+
+function action_download(...)
+ local fs = require "nixio.fs"
+ local argv = parse_cmdline(...)
+ if argv then
+ local fd = io.popen(table.concat(argv, " ") .. " 2>/dev/null")
+ if fd then
+ local chunk = fd:read(4096) or ""
+ local name
+ if chunk:match("[%z\1-\8\14-\31]") then
+ luci.http.header("Content-Disposition", "attachment; filename=%s"
+ % fs.basename(argv[1]):gsub("%W+", ".") .. ".bin")
+ luci.http.prepare_content("application/octet-stream")
+ else
+ luci.http.header("Content-Disposition", "attachment; filename=%s"
+ % fs.basename(argv[1]):gsub("%W+", ".") .. ".txt")
+ luci.http.prepare_content("text/plain")
+ end
+
+ while chunk do
+ luci.http.write(chunk)
+ chunk = fd:read(4096)
+ end
+
+ fd:close()
+ else
+ luci.http.status(500, "Failed to execute command")
+ end
+ else
+ luci.http.status(404, "No such command")
+ end
+end
+
+function action_public(cmdid, args)
+ local uci = require "luci.model.uci".cursor()
+ if cmdid and
+ uci:get("luci", cmdid) == "command" and
+ uci:get("luci", cmdid, "public") == "1"
+ then
+ action_download(cmdid, args)
+ else
+ luci.http.status(403, "Access to command denied")
+ end
+end
--- /dev/null
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2012 Jo-Philipp Wich <jow@openwrt.org>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+]]--
+
+local m, s
+
+m = Map("luci", translate("Custom Commands"),
+ translate("This page allows you to configure custom shell commands which can be easily invoked from the web interface."))
+
+s = m:section(TypedSection, "command", "")
+s.template = "cbi/tblsection"
+s.anonymous = true
+s.addremove = true
+
+
+s:option(Value, "name", translate("Description"),
+ translate("A short textual description of the configured command"))
+
+s:option(Value, "command", translate("Command"),
+ translate("Command line to execute"))
+
+s:option(Flag, "param", translate("Custom arguments"),
+ translate("Allow the user to provide additional command line arguments"))
+
+s:option(Flag, "public", translate("Public access"),
+ translate("Allow executing the command and downloading its output without prior authentication"))
+
+return m
--- /dev/null
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2012 Jo-Philipp Wich <jow@openwrt.org>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+-%>
+
+<% css = [[
+
+.commandbox {
+ height: 12em;
+ width: 30%;
+ float: left;
+ height: 12em;
+ margin: 5px;
+ position: relative;
+}
+
+.commandbox h3 {
+ font-size: 1.5em !important;
+ line-height: 2em !important;
+ margin: 0 !important;
+}
+
+.commandbox input[type="text"] {
+ width: 50% !important;
+}
+
+.commandbox div {
+ position: absolute;
+ left: 0;
+ bottom: 1.5em;
+}
+
+]] -%>
+
+<%+header%>
+
+<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
+<script type="text/javascript">//<![CDATA[
+ var stxhr = new XHR();
+
+ function command_run(id)
+ {
+ var args;
+ var field = document.getElementById(id);
+ if (field)
+ args = encodeURIComponent(field.value);
+
+ var legend = document.getElementById('command-rc-legend');
+ var output = document.getElementById('command-rc-output');
+
+ if (legend && output)
+ {
+ output.innerHTML =
+ '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /> ' +
+ '<%:Waiting for command to complete...%>'
+ ;
+
+ legend.parentNode.style.display = 'block';
+ legend.style.display = 'inline';
+
+ stxhr.get('<%=luci.dispatcher.build_url("admin", "system", "commands", "run")%>/' + id + (args ? '/' + args : ''), null,
+ function(x, st)
+ {
+ if (st)
+ {
+ if (st.binary)
+ st.stdout = '[<%:Binary data not displayed, download instead.%>]';
+
+ legend.style.display = 'none';
+ output.innerHTML = String.format(
+ '<pre><strong># %h\n</strong>%h<span style="color:red">%h</span></pre>' +
+ '<div class="alert-message warning">%s (<%:Code:%> %d)</div>',
+ st.command, st.stdout, st.stderr,
+ (st.exitcode == 0) ? '<%:Command successful%>' : '<%:Command failed%>',
+ st.exitcode);
+ }
+ else
+ {
+ legend.style.display = 'none';
+ output.innerHTML = '<span class="error"><%:Failed to execute command!%></span>';
+ }
+
+ location.hash = '#output';
+ }
+ );
+ }
+ }
+
+ function command_download(id)
+ {
+ var args;
+ var field = document.getElementById(id);
+ if (field)
+ args = encodeURIComponent(field.value);
+
+ location.href = '<%=luci.dispatcher.build_url("admin", "system", "commands", "download")%>/' + id + (args ? '/' + args : '');
+ }
+
+ function command_link(id)
+ {
+ var legend = document.getElementById('command-rc-legend');
+ var output = document.getElementById('command-rc-output');
+
+ var args;
+ var field = document.getElementById(id);
+ if (field)
+ args = encodeURIComponent(field.value);
+
+ if (legend && output)
+ {
+ var link = location.protocol + '//' + location.hostname +
+ (location.port ? ':' + location.port : '') +
+ location.pathname.split(';')[0] + 'command/' +
+ id + (args ? '/' + args : '');
+
+ legend.style.display = 'none';
+ output.parentNode.style.display = 'block';
+ output.innerHTML = String.format(
+ '<div class="alert-message"><%:Access command with%> <a href="%s">%s</a></div>',
+ link, link
+ );
+
+ location.hash = '#output';
+ }
+ }
+
+//]]></script>
+
+<%
+ local uci = require "luci.model.uci".cursor()
+ local commands = { }
+
+ uci:foreach("luci", "command", function(s) commands[#commands+1] = s end)
+%>
+
+<form method="get" action="<%=pcdata(luci.http.getenv("REQUEST_URI"))%>">
+ <div class="cbi-map">
+ <h2><a id="content" name="content"><%:Custom Commands%></a></h2>
+
+ <fieldset class="cbi-section">
+ <% local _, command; for _, command in ipairs(commands) do %>
+ <div class="commandbox">
+ <h3><%=pcdata(command.name)%></h3>
+ <p><%:Command:%> <code><%=pcdata(command.command)%></code></p>
+ <% if command.param == "1" then %>
+ <p><%:Arguments:%> <input type="text" id="<%=command['.name']%>" /></p>
+ <% end %>
+ <div>
+ <input type="button" value="<%:Run%>" class="cbi-button cbi-button-apply" onclick="command_run('<%=command['.name']%>')" />
+ <input type="button" value="<%:Download%>" class="cbi-button cbi-button-download" onclick="command_download('<%=command['.name']%>')" />
+ <% if command.public == "1" then %>
+ <input type="button" value="<%:Link%>" class="cbi-button cbi-button-link" onclick="command_link('<%=command['.name']%>')" />
+ <% end %>
+ </div>
+ </div>
+ <% end %>
+
+ <br style="clear:both" /><br />
+ <a name="output"></a>
+ </fieldset>
+ </div>
+
+ <fieldset class="cbi-section" style="display:none">
+ <legend id="command-rc-legend"><%:Collecting data...%></legend>
+ <span id="command-rc-output"></span>
+ </fieldset>
+</form>
+
+<%+footer%>
local cc
cc = entry( { "admin", "services", "coovachilli" }, cbi("coovachilli"), _("CoovaChilli"), 90)
- cc.i18n = "coovachilli"
cc.subindex = true
entry( { "admin", "services", "coovachilli", "network" }, cbi("coovachilli_network"), _("Network Configuration"), 10)
local page
page = entry({"admin", "services", "ddns"}, cbi("ddns/ddns"), _("Dynamic DNS"), 60)
- page.i18n = "ddns"
page.dependent = true
page = entry({"mini", "network", "ddns"}, cbi("ddns/ddns", {autoapply=true}), _("Dynamic DNS"), 60)
- page.i18n = "ddns"
page.dependent = true
end
end
-s:option(Value, "check_interval",
- translate("Check for changed IP every")).default = 10
+ci = s:option(Value, "check_interval", translate("Check for changed IP every"))
+ci.datatype = "and(uinteger,min(1))"
+ci.default = 10
+
unit = s:option(ListValue, "check_unit", translate("Check-time unit"))
unit.default = "minutes"
unit:value("minutes", translate("min"))
unit:value("hours", translate("h"))
-s:option(Value, "force_interval", translate("Force update every")).default = 72
+fi = s:option(Value, "force_interval", translate("Force update every"))
+fi.datatype = "and(uinteger,min(1))"
+fi.default = 72
+
unit = s:option(ListValue, "force_unit", translate("Force-time unit"))
unit.default = "hours"
unit:value("minutes", translate("min"))
]]--
-require("luci.i18n")
-
module("luci.controller.luci_diag", package.seeall)
function index()
e = entry({"admin", "network", "diag_config"}, template("diag/network_config_index") , _("Configure Diagnostics"), 120)
e.index = true
- e.i18n = "diag_core"
e.dependent = true
e = entry({"mini", "diag"}, template("diag/index"), _("Diagnostics"), 120)
e.index = true
- e.i18n = "diag_core"
e.dependent = true
end
function parse_output(devmap, outnets, haslink, type, mini, debug)
local curnet = next(outnets, nil)
- luci.i18n.loadc("diag_devinfo")
-
while (curnet) do
local output = outnets[curnet]["output"]
local subnet = outnets[curnet]["subnet"]
e = entry({"admin", "voice", "diag", "phones"}, arcombine(cbi("luci_diag/smap_devinfo"), cbi("luci_diag/smap_devinfo_config")), _("Phones"), 10)
e.leaf = true
e.subindex = true
- e.i18n = "diag_devinfo"
e.dependent = true
e = entry({"admin", "voice", "diag", "phones", "config"}, cbi("luci_diag/smap_devinfo_config"), _("Configure"), 10)
- e.i18n = "diag_devinfo"
e = entry({"admin", "status", "smap_devinfo"}, cbi("luci_diag/smap_devinfo"), _("SIP Devices on Network"), 120)
e.leaf = true
- e.i18n = "diag_devinfo"
e.dependent = true
e = entry({"admin", "network", "diag_config", "netdiscover_devinfo_config"}, cbi("luci_diag/netdiscover_devinfo_config"), _("Network Device Scan"), 100)
e.leaf = true
- e.i18n = "diag_devinfo"
e.dependent = true
e = entry({"admin", "network", "diag_config", "smap_devinfo_config"}, cbi("luci_diag/smap_devinfo_config"), _("SIP Device Scan"))
e.leaf = true
- e.i18n = "diag_devinfo"
e.dependent = true
e = entry({"admin", "status", "netdiscover_devinfo"}, cbi("luci_diag/netdiscover_devinfo"), _("Devices on Network"), 90)
- e.i18n = "diag_devinfo"
e.dependent = true
e = entry({"admin", "network", "mactodevinfo"}, cbi("luci_diag/mactodevinfo"), _("MAC Device Info Overrides"), 190)
- e.i18n = "diag_devinfo"
e.dependent = true
e = entry({"mini", "diag", "phone_scan"}, cbi("luci_diag/smap_devinfo_mini"), _("Phone Scan"), 100)
- e.i18n = "diag_devinfo"
e.dependent = true
e = entry({"mini", "voice", "phones", "phone_scan_config"}, cbi("luci_diag/smap_devinfo_config_mini"), _("Config Phone Scan"), 90)
- e.i18n = "diag_devinfo"
e.dependent = true
e = entry({"mini", "diag", "netdiscover_devinfo"}, cbi("luci_diag/netdiscover_devinfo_mini"), _("Network Device Scan"), 10)
- e.i18n = "diag_devinfo"
e.dependent = true
e = entry({"mini", "network", "netdiscover_devinfo_config"}, cbi("luci_diag/netdiscover_devinfo_config_mini"), _("Device Scan Config"))
- e.i18n = "diag_devinfo"
e.dependent = true
end
end
function action_links(netdiscovermap, mini)
- luci.i18n.loadc("diag_devinfo")
s = netdiscovermap:section(SimpleSection, "", translate("Actions"))
b = s:option(DummyValue, "_config", translate("Configure Scans"))
b.value = ""
end
function action_links(smapmap, mini)
- luci.i18n.loadc("diag_devinfo")
s = smapmap:section(SimpleSection, "", translate("Actions"))
b = s:option(DummyValue, "_config", translate("Configure Scans"))
b.value = ""
function index()
entry({"admin", "network", "firewall"},
alias("admin", "network", "firewall", "zones"),
- _("Firewall"), 60).i18n = "firewall"
+ _("Firewall"), 60)
entry({"admin", "network", "firewall", "zones"},
arcombine(cbi("firewall/zones"), cbi("firewall/zone-details")),
function index()
entry({"admin", "freifunk", "policyrouting"}, cbi("freifunk/policyrouting"),
- _("Policy Routing"), 60).i18n = "freifunk-policyrouting"
+ _("Policy Routing"), 60)
end
http://www.apache.org/licenses/LICENSE-2.0
]]--
-luci.i18n.loadc("freifunk")
local uci = require "luci.model.uci".cursor()
m = Map("freifunk-policyrouting", translate("Policy Routing"), translate("These pages can be used to setup policy routing for certain firewall zones. "..
local page
page = entry({"admin", "services", "hd_idle"}, cbi("hd_idle"), _("hd-idle"), 60)
- page.i18n = "hd_idle"
page.dependent = true
end
page.target = firstchild()
page.title = _("VoIP")
page.order = 90
- page.i18n = "telephony"
entry({"admin", "telephony", "account"}, cbi("luci_ltqtapi/account") , _("Account"), 10)
entry({"admin", "telephony", "contact"}, cbi("luci_ltqtapi/contact") , _("Contacts"), 20)
local page
page = entry({"admin", "services", "minidlna"}, cbi("minidlna"), _("miniDLNA"))
- page.i18n = "minidlna"
page.dependent = true
entry({"admin", "services", "minidlna_status"}, call("minidlna_status"))
-<%- luci.i18n.loadc("minidlna") -%>
-
<script type="text/javascript">//<![CDATA[
XHR.poll(5, '<%=luci.dispatcher.build_url("admin/services/minidlna_status")%>', null,
function(x, st)
local page
page = entry({"admin", "system", "mmc_over_gpio"}, cbi("mmc_over_gpio"), _("MMC/SD driver configuration"), 60)
- page.i18n = "mmc_over_gpio"
page.dependent = true
end
local page
page = entry({"admin", "network", "multiwan"}, cbi("multiwan/multiwan"), _("Multi-WAN"))
- page.i18n = "multiwan"
page.dependent = true
entry({"admin", "network", "multiwan", "status"}, call("multiwan_status"))
page = entry({"mini", "network", "multiwan"}, cbi("multiwan/multiwanmini", {autoapply=true}), _("Multi-WAN"))
- page.i18n = "multiwan"
page.dependent = true
end
function multiwan_status()
local page
page = entry({"admin", "system", "ntpc"}, cbi("ntpc/ntpc"), _("Time Synchronisation"), 50)
- page.i18n = "ntpc"
page.dependent = true
page = entry({"mini", "system", "ntpc"}, cbi("ntpc/ntpcmini", {autoapply=true}), _("Time Synchronisation"), 50)
- page.i18n = "ntpc"
page.dependent = true
end
s:option(DummyValue, "_time", translate("Current system time")).value = os.date("%c")
-s:option(Value, "interval", translate("Update interval (in seconds)")).rmempty = true
-s:option(Value, "count", translate("Count of time measurements"), translate("empty = infinite")).rmempty = true
+interval = s:option(Value, "interval", translate("Update interval (in seconds)"))
+interval.datatype = "and(uinteger,min(1))"
+interval.rmempty = true
+count = s:option(Value, "count", translate("Count of time measurements"), translate("empty = infinite"))
+count.datatype = "and(uinteger,min(1))"
+count.rmempty = true
s2 = m:section(TypedSection, "ntpdrift", translate("Clock Adjustment"))
s2.anonymous = true
s2.addremove = false
-s2:option(Value, "freq", translate("Offset frequency")).rmempty = true
+
+freq = s2:option(Value, "freq", translate("Offset frequency"))
+freq.datatype = "integer"
+freq.rmempty = true
s3 = m:section(TypedSection, "ntpserver", translate("Time Servers"))
s3.anonymous = true
s3.template = "cbi/tblsection"
s3:option(Value, "hostname", translate("Hostname"))
-s3:option(Value, "port", translate("Port")).rmempty = true
+port = s3:option(Value, "port", translate("Port"))
+port.datatype = "port"
+port.rmempty = true
return m
s:option(DummyValue, "_time", translate("Current system time")).value = os.date("%c")
-s:option(Value, "interval", translate("Update interval (in seconds)")).rmempty = true
-
+interval = s:option(Value, "interval", translate("Update interval (in seconds)"))
+interval.datatype = "and(uinteger,min(1))"
+interval.rmempty = true
s3 = m:section(TypedSection, "ntpserver", translate("Time Server"))
s3.anonymous = true
s3.template = "cbi/tblsection"
s3:option(Value, "hostname", translate("Hostname"))
-s3:option(Value, "port", translate("Port")).rmempty = true
+port = s3:option(Value, "port", translate("Port"))
+port.datatype = "port"
+port.rmempty = true
return m
local page = node("admin", "status", "olsr")
page.target = template("status-olsr/overview")
page.title = _("OLSR")
- page.i18n = "olsr"
page.subindex = true
local page = node("admin", "status", "olsr", "neighbors")
{"admin", "services", "olsrd"},
cbi("olsr/olsrd"), "OLSR"
)
- ol.i18n = "olsr"
ol.subindex = true
entry(
cbi("olsr/olsrddisplay"), _("Display")
)
- oplg.i18n = "olsr"
oplg.leaf = true
oplg.subindex = true
local color = "#bb3333"
if etx == 0 then
color = "#bb3333"
- elseif etx < 4 then
+ elseif etx < 2 then
color = "#00cc00"
- elseif etx < 10 then
+ elseif etx < 4 then
color = "#ffcb05"
- elseif etx < 100 then
+ elseif etx < 10 then
color = "#ff6600"
end
return color
<li><strong>LQ: </strong><%:Success rate of packages received from the neighbour%></li>
<li><strong>NLQ: </strong><%:Success rate of packages sent to the neighbour%></li>
<li><strong>ETX: </strong><%:Expected retransmission count%></li>
+ <li><strong><span style="color:#00cc00"><%:Green%></span></strong>:<%:Very good (ETX < 2)%></li>
+ <li><strong><span style="color:#ffcb05"><%:Yellow%></span></strong>:<%:Good (2 < ETX < 4)%></li>
+ <li><strong><span style="color:#ff6600"><%:Orange%></span></strong>:<%:Still usable (4 < ETX < 10)%></li>
+ <li><strong><span style="color:#bb3333"><%:Red%></span></strong>:<%:Bad (ETX > 10)%></li>
</ul>
</fieldset>
<%+footer%>
module("luci.controller.openvpn", package.seeall)
function index()
- entry( {"admin", "services", "openvpn"}, cbi("openvpn"), _("OpenVPN") ).i18n = "openvpn"
+ entry( {"admin", "services", "openvpn"}, cbi("openvpn"), _("OpenVPN") )
entry( {"admin", "services", "openvpn", "basic"}, cbi("openvpn-basic"), nil ).leaf = true
entry( {"admin", "services", "openvpn", "advanced"}, cbi("openvpn-advanced"), nil ).leaf = true
end
function index()
entry({"admin", "network", "firewall", "p2pblock"}, cbi("luci_fw/p2pblock"),
- _("P2P-Block"), 40).i18n = "p2pblock"
+ _("P2P-Block"), 40)
end
local page
page = entry({"admin", "services", "p910nd"}, cbi("p910nd"), _("p910nd - Printer server"), 60)
- page.i18n = "p910nd"
page.dependent = true
end
LuCI p910nd
(c) 2008 Yanira <forum-2008@email.de>
+(c) 2012 Jo-Philipp Wich <jow@openwrt.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
http://www.apache.org/licenses/LICENSE-2.0
-$Id$
-
]]--
local uci = luci.model.uci.cursor_state()
+local net = require "luci.model.network"
+local m, s, p, b
m = Map("p910nd", translate("p910nd - Printer server"),
translatef("First you have to install the packages to get support for USB (kmod-usb-printer) or parallel port (kmod-lp)."))
+net = net.init(m.uci)
+
s = m:section(TypedSection, "p910nd", translate("Settings"))
s.addremove = true
s.anonymous = true
s:option(Value, "device", translate("Device")).rmempty = true
+b = s:option(Value, "bind", translate("Interface"), translate("Specifies the interface to listen on."))
+b.template = "cbi/network_netlist"
+b.nocreate = true
+b.unspecified = true
+
+function b.cfgvalue(...)
+ local v = Value.cfgvalue(...)
+ if v then
+ return (net:get_status_by_address(v))
+ end
+end
+
+function b.write(self, section, value)
+ local n = net:get_network(value)
+ if n and n:ipaddr() then
+ Value.write(self, section, n:ipaddr())
+ end
+end
+
p = s:option(ListValue, "port", translate("Port"), translate("TCP listener port."))
p.rmempty = true
for i=0,9 do
return
end
- entry({"admin", "services", "polipo"}, alias("admin", "services", "polipo", "config"), _("Polipo")).i18n = "polipo"
+ entry({"admin", "services", "polipo"}, alias("admin", "services", "polipo", "config"), _("Polipo"))
entry({"admin", "services", "polipo", "status"}, template("polipo_status"), _("Status"))
entry({"admin", "services", "polipo", "config"}, cbi("polipo"), _("Configuration"))
end
local page
page = entry({"admin", "network", "qos"}, cbi("qos/qos"), _("QoS"))
- page.i18n = "qos"
page.dependent = true
page = entry({"mini", "network", "qos"}, cbi("qos/qosmini", {autoapply=true}), _("QoS"))
- page.i18n = "qos"
page.dependent = true
end
s:option(Flag, "halfduplex", translate("Half-duplex"))
-s:option(Value, "download", translate("Download speed (kbit/s)"))
+dl = s:option(Value, "download", translate("Download speed (kbit/s)"))
+dl.datatype = "and(uinteger,min(1))"
-s:option(Value, "upload", translate("Upload speed (kbit/s)"))
+ul = s:option(Value, "upload", translate("Upload speed (kbit/s)"))
+ul.datatype = "and(uinteger,min(1))"
s = m:section(TypedSection, "classify", translate("Classification Rules"))
s.template = "cbi/tblsection"
s = m:section(NamedSection, "wan", "interface", translate("Internet Connection"))
s:option(Flag, "enabled", translate("Quality of Service"))
-s:option(Value, "download", translate("Downlink"), "kbit/s")
-s:option(Value, "upload", translate("Uplink"), "kbit/s")
+
+dl = s:option(Value, "download", translate("Downlink"), "kbit/s")
+dl.datatype = "and(uinteger,min(1))"
+
+ul = s:option(Value, "upload", translate("Uplink"), "kbit/s")
+ul.datatype = "and(uinteger,min(1))"
s = m:section(TypedSection, "classify")
s.template = "cbi/tblsection"
return
end
- entry({"admin", "network", "radvd"}, cbi("radvd"), _("Radvd"), 61).i18n = "radvd"
+ entry({"admin", "network", "radvd"}, cbi("radvd"), _("Radvd"), 61)
entry({"admin", "network", "radvd", "interface"}, cbi("radvd/interface"), nil).leaf = true
entry({"admin", "network", "radvd", "prefix"}, cbi("radvd/prefix"), nil).leaf = true
entry({"admin", "network", "radvd", "route"}, cbi("radvd/route"), nil).leaf = true
local page
page = entry({"admin", "services", "samba"}, cbi("samba"), _("Network Shares"))
- page.i18n = "samba"
page.dependent = true
end
module("luci.controller.splash.splash", package.seeall)
-luci.i18n.loadc("splash")
local uci = luci.model.uci.cursor()
local util = require "luci.util"
function index()
- entry({"admin", "services", "splash"}, cbi("splash/splash"), _("Client-Splash"), 90).i18n = "freifunk"
+ entry({"admin", "services", "splash"}, cbi("splash/splash"), _("Client-Splash"), 90)
entry({"admin", "services", "splash", "splashtext" }, form("splash/splashtext"), _("Splashtext"), 10)
local e
e = node("splash")
e.target = call("action_dispatch")
- e.i18n = "freifunk"
node("splash", "activate").target = call("action_activate")
node("splash", "splash").target = template("splash_splash/splash")
node("splash", "blocked").target = template("splash/blocked")
- entry({"admin", "status", "splash"}, call("action_status_admin"), _("Client-Splash")).i18n = "freifunk"
+ entry({"admin", "status", "splash"}, call("action_status_admin"), _("Client-Splash"))
local page = node("splash", "publicstatus")
page.target = call("action_status_public")
- page.i18n = "freifunk"
page.leaf = true
end
]]--
require("luci.model.uci")
-luci.i18n.loadc("splash")
m = Map("luci_splash", translate("Client-Splash"), translate("Client-Splash is a hotspot authentification system for wireless mesh networks."))
]]--
local fs = require "nixio.fs"
-luci.i18n.loadc("splash")
local splashtextfile = "/usr/lib/luci-splash/splashtext.html"
local uci = require "luci.model.uci".cursor_state()
local wat = require "luci.tools.webadmin"
local fs = require "nixio.fs"
-luci.i18n.loadc("splash")
local clients = { }
local leasetime = tonumber(uci:get("luci_splash", "general", "leasetime") or 1) * 60 * 60
memory = _("Memory"),
netlink = _("Netlink"),
network = _("Network"),
+ nut = _("UPS"),
olsrd = _("OLSRd"),
ping = _("Ping"),
processes = _("Processes"),
-- our collectd menu
local collectd_menu = {
output = { "csv", "network", "rrdtool", "unixsock" },
- system = { "cpu", "df", "disk", "email", "exec", "irq", "load", "memory", "processes" },
+ system = { "cpu", "df", "disk", "email", "exec", "irq", "load", "memory", "nut", "processes" },
network = { "conntrack", "dns", "interface", "iptables", "netlink", "olsrd", "ping", "tcpconns", "iwinfo" }
}
-- create toplevel menu nodes
local st = entry({"admin", "statistics"}, template("admin_statistics/index"), _("Statistics"), 80)
- st.i18n = "statistics"
st.index = true
entry({"admin", "statistics", "collectd"}, cbi("luci_statistics/collectd"), _("Collectd"), 10).subindex = true
)
e.index = true
- e.i18n = "rrdtool"
for j, plugin in luci.util.vspairs( plugins ) do
_entry(
-- output views
local page = entry( { "admin", "statistics", "graph" }, template("admin_statistics/index"), _("Graphs"), 80)
- page.i18n = "statistics"
page.setuser = "nobody"
page.setgroup = "nogroup"
m = Map("luci_statistics",
translate("Collectd Settings"),
translate(
- "Collectd is a small daeomon for collecting data from " ..
+ "Collectd is a small daemon for collecting data from " ..
"various sources through different plugins. On this page " ..
"you can change general settings for the collectd daemon."
))
--- /dev/null
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright © 2011 Manuel Munz <freifunk at somakoma dot de>
+Copyright © 2012 David Woodhouse <dwmw2@infradead.org>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+]]--
+
+m = Map("luci_statistics",
+ translate("UPS Plugin Configuration"),
+ translate("The NUT plugin reads information about Uninterruptible Power Supplies."))
+
+s = m:section(NamedSection, "collectd_nut", "luci_statistics" )
+
+enable = s:option(Flag, "enable", translate("Enable this plugin"))
+enable.default = 0
+
+host = s:option(Value, "UPS", translate("UPS"), translate("UPS name in NUT ups@host format"))
+host.placeholder = "myupsname"
+host.datatype = "string"
+host.rmempty = true
+
+return m
function Instance.__init__( self, graph )
self.i18n = luci.i18n
self.graph = graph
-
- self.i18n.loadc("rrdtool")
- self.i18n.loadc("statistics")
end
function Instance._subst( self, str, val )
if not ds or ds:len() == 0 then ds = "value" end
- _tif( _args, "DEF:%s_avg=%s:%s:AVERAGE", inst, rrd, ds )
+ _tif( _args, "DEF:%s_avg_raw=%s:%s:AVERAGE", inst, rrd, ds )
+ _tif( _args, "CDEF:%s_avg=%s_avg_raw,%s", inst, inst, source.transform_rpn )
if not self.opts.rrasingle then
- _tif( _args, "DEF:%s_min=%s:%s:MIN", inst, rrd, ds )
- _tif( _args, "DEF:%s_max=%s:%s:MAX", inst, rrd, ds )
+ _tif( _args, "DEF:%s_min_raw=%s:%s:MIN", inst, rrd, ds )
+ _tif( _args, "CDEF:%s_min=%s_min_raw,%s", inst, inst, source.transform_rpn )
+ _tif( _args, "DEF:%s_max_raw=%s:%s:MAX", inst, rrd, ds )
+ _tif( _args, "CDEF:%s_max=%s_max_raw,%s", inst, inst, source.transform_rpn )
end
_tif( _args, "CDEF:%s_nnl=%s_avg,UN,0,%s_avg,IF", inst, inst, inst )
-- is first source in stack or overlay source: source_stk = source_nnl
if not prev or source.overlay then
- -- create cdef statement
+ -- create cdef statement for cumulative stack (no NaNs) and also
+ -- for display (preserving NaN where no points should be displayed)
_tif( _args, "CDEF:%s_stk=%s_nnl", source.sname, source.sname )
+ _tif( _args, "CDEF:%s_plot=%s_avg", source.sname, source.sname )
-- is subsequent source without overlay: source_stk = source_nnl + previous_stk
else
-- create cdef statement
_tif( _args, "CDEF:%s_stk=%s_nnl,%s_stk,+", source.sname, source.sname, prev )
+ _tif( _args, "CDEF:%s_plot=%s_avg,%s_stk,+", source.sname, source.sname, prev )
end
-- create multiply by minus one cdef if flip is enabled
if source.flip then
-- create cdef statement: source_stk = source_stk * -1
- _tif( _args, "CDEF:%s_neg=%s_stk,-1,*", source.sname, source.sname )
+ _tif( _args, "CDEF:%s_neg=%s_plot,-1,*", source.sname, source.sname )
-- push to negative stack if overlay is disabled
if not source.overlay then
-- derive area background color from line color
area_color = self.colors:to_string( self.colors:faded( area_color ) )
- -- choose source_stk or source_neg variable depending on flip state
+ -- choose source_plot or source_neg variable depending on flip state
if source.flip then
var = "neg"
else
- var = "stk"
+ var = "plot"
end
-- create legend
flip = dopts.flip or false,
total = dopts.total or false,
overlay = dopts.overlay or false,
+ transform_rpn = dopts.transform_rpn or "0,+",
noarea = dopts.noarea or false,
title = dopts.title or nil,
ds = dsource,
_ti( _args, self.i18n:title( plugin, plugin_instance, _sources[1].type, instance, opts.title ) )
_ti( _args, "-v" )
_ti( _args, self.i18n:label( plugin, plugin_instance, _sources[1].type, instance, opts.vlabel ) )
+ if opts.y_max then
+ _ti ( _args, "-u" )
+ _ti ( _args, opts.y_max )
+ end
+ if opts.y_min then
+ _ti ( _args, "-l" )
+ _ti ( _args, opts.y_min )
+ end
+ if opts.units_exponent then
+ _ti ( _args, "-X" )
+ _ti ( _args, opts.units_exponent )
+ end
-- store additional rrd options
if opts.rrdopts then
return {
title = "%H: Processor usage on core #%pi",
+ y_min = "0",
vlabel = "Percent",
number_format = "%5.1lf%%",
data = {
return {
title = "%H: Load", vlabel = "Load",
+ y_min = "0",
+ units_exponent = "0",
number_format = "%5.2lf", data = {
sources = {
load = { "shortterm", "midterm", "longterm" }
--- /dev/null
+--[[
+
+Luci statistics - ups plugin diagram definition
+Copyright © 2008 Freifunk Leipzig / Jo-Philipp Wich <xm@leipzig.freifunk.net>
+Copyright © 2012 David Woodhouse <dwmw2@infradead.org>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+]]--
+
+
+module("luci.statistics.rrdtool.definitions.nut",package.seeall)
+
+function rrdargs( graph, plugin, plugin_instance, dtype )
+
+ local voltages = {
+ title = "%H: Voltages on UPS \"%pi\"",
+ vlabel = "V",
+ number_format = "%5.1lfV",
+ data = {
+ instances = {
+ voltage = { "battery", "input", "output" }
+ },
+
+ options = {
+ voltage_output = { color = "00e000", title = "Output voltage", noarea=true, overlay=true },
+ voltage_battery = { color = "0000ff", title = "Battery voltage", noarea=true, overlay=true },
+ voltage_input = { color = "ffb000", title = "Input voltage", noarea=true, overlay=true }
+ }
+ }
+ }
+
+ local currents = {
+ title = "%H: Current on UPS \"%pi\"",
+ vlabel = "A",
+ number_format = "%5.3lfA",
+ data = {
+ instances = {
+ current = { "battery", "output" }
+ },
+
+ options = {
+ current_output = { color = "00e000", title = "Output current", noarea=true, overlay=true },
+ current_battery = { color = "0000ff", title = "Battery current", noarea=true, overlay=true },
+ }
+ }
+ }
+
+ local percentage = {
+ title = "%H: Battery charge on UPS \"%pi\"",
+ vlabel = "Percent",
+ y_min = "0",
+ y_max = "100",
+ number_format = "%5.1lf%%",
+ data = {
+ sources = {
+ percent = { "percent" }
+ },
+ instances = {
+ percent = "charge"
+ },
+ options = {
+ percent_charge = { color = "00ff00", title = "Charge level" }
+ }
+ }
+ }
+
+ -- Note: This is in ISO8859-1 for rrdtool. Welcome to the 20th century.
+ local temperature = {
+ title = "%H: Battery temperature on UPS \"%pi\"",
+ vlabel = "\176C",
+ number_format = "%5.1lf\176C",
+ data = {
+ instances = {
+ temperature = "battery"
+ },
+
+ options = {
+ temperature_battery = { color = "ffb000", title = "Battery temperature" }
+ }
+ }
+ }
+
+ local timeleft = {
+ title = "%H: Time left on UPS \"%pi\"",
+ vlabel = "Minutes",
+ number_format = "%.1lfm",
+ data = {
+ sources = {
+ timeleft = { "timeleft" }
+ },
+ instances = {
+ timeleft = { "battery" }
+ },
+ options = {
+ timeleft_battery = { color = "0000ff", title = "Time left", transform_rpn = "60,/" }
+ }
+ }
+ }
+
+ return { voltages, currents, percentage, temperature, timeleft }
+end
config 'statistics' 'collectd_iwinfo'
option 'enable' '1'
+
+config 'statistics' 'collectd_nut'
+ option 'enable' '0'
+ option 'UPS' 'myupsname'
network = config_network,
+ nut = {
+ { "UPS" },
+ { },
+ { }
+ },
+
olsrd = {
{ "Host", "Port", "CollectLinks","CollectRoutes","CollectTopology"},
{ },
return
end
- entry({"admin", "services", "tinyproxy"}, alias("admin", "services", "tinyproxy", "config"), _("Tinyproxy")).i18n = "tinyproxy"
+ entry({"admin", "services", "tinyproxy"}, alias("admin", "services", "tinyproxy", "config"), _("Tinyproxy"))
entry({"admin", "services", "tinyproxy", "status"}, template("tinyproxy_status"), _("Status"))
entry({"admin", "services", "tinyproxy", "config"}, cbi("tinyproxy"), _("Configuration"))
end
module("luci.controller.transmission", package.seeall)
function index()
- require("luci.i18n")
- luci.i18n.loadc("transmission")
if not nixio.fs.access("/etc/config/transmission") then
return
end
local page = entry({"admin", "services", "transmission"}, cbi("transmission"), _("Transmission"))
- page.i18n = "transmission"
page.dependent = true
end
local page
page = entry({"admin", "services", "upnp"}, cbi("upnp/upnp"), _("UPNP"))
- page.i18n = "upnp"
page.dependent = true
page = entry({"mini", "network", "upnp"}, cbi("upnp/upnpmini", {autoapply=true}), _("UPNP"))
- page.i18n = "upnp"
page.dependent = true
entry({"admin", "services", "upnp", "status"}, call("act_status")).leaf = true
end
end
-function act_delete()
- local path = luci.dispatcher.context.requestpath
- local idx = tonumber(path[#path])
-
+function act_delete(idx)
+ idx = tonumber(idx)
if idx and idx > 0 then
luci.sys.call("iptables -t filter -D MINIUPNPD %d 2>/dev/null" % idx)
luci.sys.call("iptables -t nat -D MINIUPNPD %d 2>/dev/null" % idx)
-<%- luci.i18n.loadc("upnp") -%>
-
<script type="text/javascript">//<![CDATA[
function upnp_delete_fwd(idx) {
XHR.get('<%=luci.dispatcher.build_url("admin", "services", "upnp", "delete")%>/' + idx, null,
local page
page = entry({"admin", "services", "ushare"}, cbi("ushare"), _("uShare"), 60)
- page.i18n = "ushare"
page.dependent = true
end
module("luci.controller.vnstat", package.seeall)
function index()
- entry({"admin", "status", "vnstat"}, alias("admin", "status", "vnstat", "graphs"), _("VnStat Traffic Monitor"), 90).i18n = "vnstat"
+ entry({"admin", "status", "vnstat"}, alias("admin", "status", "vnstat", "graphs"), _("VnStat Traffic Monitor"), 90)
entry({"admin", "status", "vnstat", "graphs"}, template("vnstat"), _("Graphs"), 1)
entry({"admin", "status", "vnstat", "config"}, cbi("vnstat"), _("Configuration"), 2)
- entry({"mini", "network", "vnstat"}, alias("mini", "network", "vnstat", "graphs"), _("VnStat Traffic Monitor"), 90).i18n = "vnstat"
+ entry({"mini", "network", "vnstat"}, alias("mini", "network", "vnstat", "graphs"), _("VnStat Traffic Monitor"), 90)
entry({"mini", "network", "vnstat", "graphs"}, template("vnstat"), _("Graphs"), 1)
entry({"mini", "network", "vnstat", "config"}, cbi("vnstat"), _("Configuration"), 2)
end
e = entry({"admin", "voice"}, template("luci_voice/index") , _("Voice"), 90)
e.index = true
- e.i18n = "voice_core"
e = entry({"mini", "voice"}, template("luci_voice/index"), _("Voice"), 90)
e.index = true
- e.i18n = "voice_core"
e = entry({"mini", "voice", "phones"}, template("luci_voice/phone_index"), _("Phones"), 90)
e.index = true
- e.i18n = "voice_core"
e = entry({"admin", "voice", "phones"}, template("luci_voice/phone_index"), _("Phones"), 90)
e.index = true
- e.i18n = "voice_core"
end
e = entry({"admin", "voice", "diag"}, template("luci_voice/diag_index"), _("Diagnostics"), 90)
e.index = true
- e.i18n = "voice_diag"
e.dependent = true
end
module("luci.controller.wol", package.seeall)
function index()
- entry({"admin", "network", "wol"}, cbi("wol"), _("Wake on LAN"), 90).i18n = "wol"
- entry({"mini", "network", "wol"}, cbi("wol"), _("Wake on LAN"), 90).i18n = "wol"
+ entry({"admin", "network", "wol"}, cbi("wol"), _("Wake on LAN"), 90)
+ entry({"mini", "network", "wol"}, cbi("wol"), _("Wake on LAN"), 90)
end
SCM=
[ -d .svn ] && SCM="svn"
-[ -d .git ] && SCM="git"
+git=$( which git 2>/dev/null )
+[ "$git" ] && "$git" status >/dev/null && SCM="git"
[ -z "$SCM" ] && {
echo "Unsupported SCM tool" >&2
+++ /dev/null
-config 'community' 'profile'
- option 'name' 'Freifunk Hamburg'
- option 'homepage' 'http://hamburg.piratenpartei.de'
- option 'ssid' 'hamburg.freifunk.net'
- option 'mesh_network' '10.112.0.0/12'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '53.56262'
- option 'longitude' '10.01069'
-
-config 'defaults' 'interface'
- option 'netmask' '255.240.0.0'
-
-config 'defaults' 'wifi_device'
- option 'channel' '1'
#
# Copyright (C) 2009 Andreas Seidler <tetzlav@subsignal.org>
+# Copyright (C) 2012 Jo-Philipp Wich <xm@subsignal.org>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
PKG_NAME:=freifunk-p2pblock
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
config_get ipp2p p2pblock ipp2p
config_get portrange p2pblock portrange
config_get blocktime p2pblock blocktime
+ config_get whitelist p2pblock whitelist
# load modules
insmod ipt_ipp2p 2>&-
$(eval $(call library,httpclient,HTTP(S) client library,+luci-lib-web +luci-lib-nixio))
$(eval $(call library,ipkg,LuCI IPKG/OPKG call abstraction library))
$(eval $(call library,json,LuCI JSON library))
-$(eval $(call library,lmo,LuCI LMO I18N library))
$(eval $(call library,lucid,LuCId Full-Stack Webserver,+luci-lib-nixio +luci-lib-web +luci-lib-px5g))
$(eval $(call library,lucid-http,LuCId HTTP Backend,+luci-lib-lucid))
$(eval $(call library,lucid-rpc,LuCId RPC Backend,+luci-lib-lucid))
$(eval $(call library,nixio,NIXIO POSIX library,+PACKAGE_luci-lib-nixio_openssl:libopenssl +PACKAGE_luci-lib-nixio_cyassl:libcyassl))
$(eval $(call library,px5g,RSA/X.509 Key Generator (required for LuCId SSL support),+luci-lib-nixio))
$(eval $(call library,sys,LuCI Linux/POSIX system library))
-$(eval $(call library,web,MVC Webframework,+luci-lib-sys +luci-lib-nixio +luci-lib-core +luci-sgi-cgi +luci-lib-lmo))
+$(eval $(call library,web,MVC Webframework,+luci-lib-sys +luci-lib-nixio +luci-lib-core +luci-sgi-cgi))
### Protocols ###
$(eval $(call application,siitwizard,SIIT IPv4-over-IPv6 configuration wizard,\
+PACKAGE_luci-app-siitwizard:kmod-siit))
-$(eval $(call application,firewall,Firmware and Portforwarding application,\
+$(eval $(call application,firewall,Firewall and Portforwarding application,\
+PACKAGE_luci-app-firewall:firewall))
$(eval $(call application,freifunk-policyrouting,Policy routing for mesh traffic,\
$(eval $(call application,voice-diag,LuCI Voice Software (Diagnostics),\
luci-app-diag-devinfo))
+$(eval $(call application,commands,LuCI Shell Command Module))
+
$(eval $(call application,upnp,Universal Plug & Play configuration module,\
+PACKAGE_luci-app-upnp:miniupnpd))
#!/bin/sh
uci batch <<-EOF
- set luci.languages.pl='Język polski'
+ set luci.languages.pl='Polski'
commit luci
EOF
local type, pairs, ipairs, table, luci, math
= type, pairs, ipairs, table, luci, math
-local lmo = require "lmo"
+local tpl = require "luci.template.parser"
local utl = require "luci.util"
local uci = require "luci.model.uci"
elseif self and self:name() == "wan" then
return "#f09090"
elseif self then
- math.randomseed(lmo.hash(self:name()))
+ math.randomseed(tpl.hash(self:name()))
local r = math.random(128)
local g = math.random(128)
end
end
+function get_status_by_address(self, addr)
+ local _, object
+ for _, object in ipairs(_ubus:objects()) do
+ local net = object:match("^network%.interface%.(.+)")
+ if net then
+ local s = _ubus:call(object, "status", {})
+ if s and s['ipv4-address'] then
+ local a
+ for _, a in ipairs(s['ipv4-address']) do
+ if a.address == addr then
+ return net, s
+ end
+ end
+ end
+ if s and s['ipv6-address'] then
+ local a
+ for _, a in ipairs(s['ipv6-address']) do
+ if a.address == addr then
+ return net, s
+ end
+ end
+ end
+ end
+ end
+end
+
function get_wannet(self)
local net = self:get_status_by_route("0.0.0.0", 0)
return net and network(net)
-- String and data manipulation routines
--
---- Escapes all occurrences of the given character in given string.
--- @param s String value containing unescaped characters
--- @param c String value with character to escape (optional, defaults to "\")
--- @return String value with each occurrence of character escaped with "\"
-function escape(s, c)
- c = c or "\\"
- return s:gsub(c, "\\" .. c)
-end
-
--- Create valid XML PCDATA from given string.
-- @param value String value containing the data to escape
-- @return String value containing the escaped data
function pcdata(value)
- return value and tparser.sanitize_pcdata(tostring(value))
+ return value and tparser.pcdata(tostring(value))
end
--- Strip HTML tags from given string.
-- @param value String containing the HTML text
-- @return String with HTML tags stripped of
-function striptags(s)
- return pcdata(tostring(s):gsub("</?[A-Za-z][A-Za-z0-9:_%-]*[^>]*>", " "):gsub("%s+", " "))
+function striptags(value)
+ return value and tparser.striptags(tostring(value))
end
--- Splits given string on a defined separator sequence and return a table
end
-- also register functions above in the central string class for convenience
-string.escape = escape
string.pcdata = pcdata
string.striptags = striptags
string.split = split
http://www.apache.org/licenses/LICENSE-2.0
-$Id$
]]--
local os = require "os"
local error = error
local table = table
-local ipkg = "opkg --force-removal-of-dependent-packages --force-overwrite"
+local ipkg = "opkg --force-removal-of-dependent-packages --force-overwrite --nocase"
local icfg = "/etc/opkg.conf"
--- LuCI OPKG call abstraction library
-- List helper
function _list(action, pat, cb)
local fd = io.popen(ipkg .. " " .. action ..
- (pat and (" '%s'" % pat:gsub("'", "")) or "")) -- .. " | grep -vE '^ '")
+ (pat and (" '%s'" % pat:gsub("'", "")) or ""))
if fd then
local name, version, desc
local line = fd:read("*l")
if not line then break end
- if line:sub(1,1) ~= " " then
- name, version, desc = line:match("^(.-) %- (.-) %- (.+)")
+ name, version, desc = line:match("^(.-) %- (.-) %- (.+)")
- if not name then
- name, version = line:match("^(.-) %- (.+)")
- desc = ""
- end
+ if not name then
+ name, version = line:match("^(.-) %- (.+)")
+ desc = ""
+ end
- cb(name, version, desc)
+ cb(name, version, desc)
- name = nil
- version = nil
- desc = nil
- end
+ name = nil
+ version = nil
+ desc = nil
end
fd:close()
_list("list_installed", pat, cb)
end
+--- Find packages that match the given pattern.
+-- @param pat Find packages whose names or descriptions match this pattern, nil results in zero results
+-- @param cb Callback function invoked for each patckage, receives name, version and description as arguments
+-- @return nothing
+function find(pat, cb)
+ _list("find", pat, cb)
+end
+
+
--- Determines the overlay root used by opkg.
-- @return String containing the directory path of the overlay root.
function overlay_root()
+++ /dev/null
-ifneq (,$(wildcard ../../build/config.mk))
-include ../../build/config.mk
-include ../../build/module.mk
-include ../../build/gccconfig.mk
-else
-include standalone.mk
-endif
-
-LMO_LDFLAGS =
-LMO_CFLAGS =
-LMO_SO = lmo.so
-LMO_PO2LMO = po2lmo
-LMO_LOOKUP = lookup
-LMO_COMMON_OBJ = src/lmo_core.o src/lmo_hash.o
-LMO_PO2LMO_OBJ = src/lmo_po2lmo.o
-LMO_LOOKUP_OBJ = src/lmo_lookup.o
-LMO_LUALIB_OBJ = src/lmo_lualib.o
-
-%.o: %.c
- $(COMPILE) $(LMO_CFLAGS) $(LUA_CFLAGS) $(FPIC) -c -o $@ $<
-
-compile: build-clean $(LMO_COMMON_OBJ) $(LMO_PO2LMO_OBJ) $(LMO_LOOKUP_OBJ) $(LMO_LUALIB_OBJ)
- $(LINK) $(SHLIB_FLAGS) $(LMO_LDFLAGS) -o src/$(LMO_SO) \
- $(LMO_COMMON_OBJ) $(LMO_LUALIB_OBJ)
- $(LINK) $(LMO_LDFLAGS) -o src/$(LMO_PO2LMO) $(LMO_COMMON_OBJ) $(LMO_PO2LMO_OBJ)
- $(LINK) $(LMO_LDFLAGS) -o src/$(LMO_LOOKUP) $(LMO_COMMON_OBJ) $(LMO_LOOKUP_OBJ)
- mkdir -p dist$(LUA_LIBRARYDIR)
- cp src/$(LMO_SO) dist$(LUA_LIBRARYDIR)/$(LMO_SO)
-
-install: build
- cp -pR dist$(LUA_LIBRARYDIR)/* $(LUA_LIBRARYDIR)
-
-clean: build-clean
-
-build-clean:
- rm -f src/*.o src/lookup src/po2lmo src/lmo.so
-
-host-compile: build-clean host-clean $(LMO_COMMON_OBJ) $(LMO_PO2LMO_OBJ)
- $(LINK) $(LMO_LDFLAGS) -o src/$(LMO_PO2LMO) $(LMO_COMMON_OBJ) $(LMO_PO2LMO_OBJ)
-
-host-install: host-compile
- cp src/$(LMO_PO2LMO) ../../build/$(LMO_PO2LMO)
-
-host-clean:
- rm -f ../../build/$(LMO_PO2LMO)
-
+++ /dev/null
-/*
- * lmo - Lua Machine Objects - General header
- *
- * Copyright (C) 2009 Jo-Philipp Wich <xm@subsignal.org>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _LMO_H_
-#define _LMO_H_
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdint.h>
-#include <string.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-#include <errno.h>
-
-
-#if (defined(__GNUC__) && defined(__i386__))
-#define sfh_get16(d) (*((const uint16_t *) (d)))
-#else
-#define sfh_get16(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8)\
- +(uint32_t)(((const uint8_t *)(d))[0]) )
-#endif
-
-
-struct lmo_entry {
- uint32_t key_id;
- uint32_t val_id;
- uint32_t offset;
- uint32_t length;
- struct lmo_entry *next;
-} __attribute__((packed));
-
-typedef struct lmo_entry lmo_entry_t;
-
-
-struct lmo_archive {
- int fd;
- uint32_t length;
- lmo_entry_t *index;
- char *mmap;
-};
-
-typedef struct lmo_archive lmo_archive_t;
-
-
-uint32_t sfh_hash(const char * data, int len);
-
-char _lmo_error[1024];
-const char * lmo_error(void);
-
-lmo_archive_t * lmo_open(const char *file);
-int lmo_lookup(lmo_archive_t *ar, const char *key, char *dest, int len);
-void lmo_close(lmo_archive_t *ar);
-
-#endif
+++ /dev/null
-/*
- * lmo - Lua Machine Objects - Base functions
- *
- * Copyright (C) 2009-2010 Jo-Philipp Wich <xm@subsignal.org>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "lmo.h"
-
-extern char _lmo_error[1024];
-
-static int lmo_read32( int fd, uint32_t *val )
-{
- if( read(fd, val, 4) < 4 )
- return -1;
-
- *val = ntohl(*val);
-
- return 4;
-}
-
-static char * error(const char *message, int add_errno)
-{
- memset(_lmo_error, 0, sizeof(_lmo_error));
-
- if( add_errno )
- snprintf(_lmo_error, sizeof(_lmo_error),
- "%s: %s", message, strerror(errno));
- else
- snprintf(_lmo_error, sizeof(_lmo_error), "%s", message);
-
- return NULL;
-}
-
-const char * lmo_error(void)
-{
- return _lmo_error;
-}
-
-lmo_archive_t * lmo_open(const char *file)
-{
- int in = -1;
- uint32_t idx_offset = 0;
- uint32_t i;
- struct stat s;
-
- lmo_archive_t *ar = NULL;
- lmo_entry_t *head = NULL;
- lmo_entry_t *entry = NULL;
-
- if( stat(file, &s) == -1 )
- {
- error("Can not stat file", 1);
- goto cleanup;
- }
-
- if( (in = open(file, O_RDONLY)) == -1 )
- {
- error("Can not open file", 1);
- goto cleanup;
- }
-
- if( lseek(in, -sizeof(uint32_t), SEEK_END) == -1 )
- {
- error("Can not seek to eof", 1);
- goto cleanup;
- }
-
- if( lmo_read32(in, &idx_offset) != 4 )
- {
- error("Unexpected EOF while reading index offset", 0);
- goto cleanup;
- }
-
- if( lseek(in, (off_t)idx_offset, SEEK_SET) == -1 )
- {
- error("Can not seek to index offset", 1);
- goto cleanup;
- }
-
- if( (ar = (lmo_archive_t *) malloc(sizeof(lmo_archive_t))) != NULL )
- {
- ar->fd = in;
- ar->length = idx_offset;
-
- fcntl(ar->fd, F_SETFD, fcntl(ar->fd, F_GETFD) | FD_CLOEXEC);
-
- for( i = idx_offset;
- i < (s.st_size - sizeof(uint32_t));
- i += (4 * sizeof(uint32_t))
- ) {
- if( (entry = (lmo_entry_t *) malloc(sizeof(lmo_entry_t))) != NULL )
- {
- if( (lmo_read32(ar->fd, &entry->key_id) == 4) &&
- (lmo_read32(ar->fd, &entry->val_id) == 4) &&
- (lmo_read32(ar->fd, &entry->offset) == 4) &&
- (lmo_read32(ar->fd, &entry->length) == 4)
- ) {
- entry->next = head;
- head = entry;
- }
- else
- {
- error("Unexpected EOF while reading index entry", 0);
- goto cleanup;
- }
- }
- else
- {
- error("Out of memory", 0);
- goto cleanup;
- }
- }
-
- ar->index = head;
-
- if( lseek(ar->fd, 0, SEEK_SET) == -1 )
- {
- error("Can not seek to start", 1);
- goto cleanup;
- }
-
- if( (ar->mmap = mmap(NULL, ar->length, PROT_READ, MAP_PRIVATE, ar->fd, 0)) == MAP_FAILED )
- {
- error("Failed to memory map archive contents", 1);
- goto cleanup;
- }
-
- return ar;
- }
- else
- {
- error("Out of memory", 0);
- goto cleanup;
- }
-
-
- cleanup:
-
- if( in > -1 )
- close(in);
-
- if( head != NULL )
- {
- entry = head;
-
- while( entry != NULL )
- {
- head = entry->next;
- free(entry);
- entry = head;
- }
-
- head = entry = NULL;
- }
-
- if( ar != NULL )
- {
- if( (ar->mmap != NULL) && (ar->mmap != MAP_FAILED) )
- munmap(ar->mmap, ar->length);
-
- free(ar);
- ar = NULL;
- }
-
- return NULL;
-}
-
-void lmo_close(lmo_archive_t *ar)
-{
- lmo_entry_t *head = NULL;
- lmo_entry_t *entry = NULL;
-
- if( ar != NULL )
- {
- entry = ar->index;
-
- while( entry != NULL )
- {
- head = entry->next;
- free(entry);
- entry = head;
- }
-
- head = entry = NULL;
-
- if( (ar->mmap != NULL) && (ar->mmap != MAP_FAILED) )
- munmap(ar->mmap, ar->length);
-
- close(ar->fd);
- free(ar);
-
- ar = NULL;
- }
-}
-
-int lmo_lookup(lmo_archive_t *ar, const char *key, char *dest, int len)
-{
- uint32_t look_key = sfh_hash(key, strlen(key));
- int copy_len = -1;
- lmo_entry_t *entry;
-
- if( !ar )
- return copy_len;
-
- entry = ar->index;
-
- while( entry != NULL )
- {
- if( entry->key_id == look_key )
- {
- copy_len = ((len - 1) > entry->length) ? entry->length : (len - 1);
- memcpy(dest, &ar->mmap[entry->offset], copy_len);
- dest[copy_len] = '\0';
-
- break;
- }
-
- entry = entry->next;
- }
-
- return copy_len;
-}
+++ /dev/null
-/*
- * Hash function from http://www.azillionmonkeys.com/qed/hash.html
- * Copyright (C) 2004-2008 by Paul Hsieh
- */
-
-#include "lmo.h"
-
-uint32_t sfh_hash(const char * data, int len)
-{
- uint32_t hash = len, tmp;
- int rem;
-
- if (len <= 0 || data == NULL) return 0;
-
- rem = len & 3;
- len >>= 2;
-
- /* Main loop */
- for (;len > 0; len--) {
- hash += sfh_get16(data);
- tmp = (sfh_get16(data+2) << 11) ^ hash;
- hash = (hash << 16) ^ tmp;
- data += 2*sizeof(uint16_t);
- hash += hash >> 11;
- }
-
- /* Handle end cases */
- switch (rem) {
- case 3: hash += sfh_get16(data);
- hash ^= hash << 16;
- hash ^= data[sizeof(uint16_t)] << 18;
- hash += hash >> 11;
- break;
- case 2: hash += sfh_get16(data);
- hash ^= hash << 11;
- hash += hash >> 17;
- break;
- case 1: hash += *data;
- hash ^= hash << 10;
- hash += hash >> 1;
- }
-
- /* Force "avalanching" of final 127 bits */
- hash ^= hash << 3;
- hash += hash >> 5;
- hash ^= hash << 4;
- hash += hash >> 17;
- hash ^= hash << 25;
- hash += hash >> 6;
-
- return hash;
-}
-
+++ /dev/null
-/*
- * lmo - Lua Machine Objects - Lookup utility
- *
- * Copyright (C) 2009 Jo-Philipp Wich <xm@subsignal.org>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "lmo.h"
-
-extern char _lmo_error[1024];
-
-static void die(const char *msg)
-{
- printf("Error: %s\n", msg);
- exit(1);
-}
-
-static void usage(const char *name)
-{
- printf("Usage: %s input.lmo key\n", name);
- exit(1);
-}
-
-int main(int argc, char *argv[])
-{
- char val[4096];
- lmo_archive_t *ar = NULL;
-
- if( argc != 3 )
- usage(argv[0]);
-
- if( (ar = (lmo_archive_t *) lmo_open(argv[1])) != NULL )
- {
- if( lmo_lookup(ar, argv[2], val, sizeof(val)) > -1 )
- {
- printf("%s\n", val);
- }
-
- lmo_close(ar);
- }
- else
- {
- die(lmo_error());
- }
-
- return 0;
-}
+++ /dev/null
-/*
- * lmo - Lua Machine Objects - Lua binding
- *
- * Copyright (C) 2009 Jo-Philipp Wich <xm@subsignal.org>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "lmo_lualib.h"
-
-extern char _lmo_error[1024];
-
-
-static int lmo_L_open(lua_State *L) {
- const char *filename = luaL_checklstring(L, 1, NULL);
- lmo_archive_t *ar, **udata;
-
- if( (ar = lmo_open(filename)) != NULL )
- {
- if( (udata = lua_newuserdata(L, sizeof(lmo_archive_t *))) != NULL )
- {
- *udata = ar;
- luaL_getmetatable(L, LMO_ARCHIVE_META);
- lua_setmetatable(L, -2);
- return 1;
- }
-
- lmo_close(ar);
- lua_pushnil(L);
- lua_pushstring(L, "out of memory");
- return 2;
- }
-
- lua_pushnil(L);
- lua_pushstring(L, lmo_error());
- return 2;
-}
-
-static int lmo_L_hash(lua_State *L) {
- const char *data = luaL_checkstring(L, 1);
- uint32_t hash = sfh_hash(data, strlen(data));
- lua_pushinteger(L, (lua_Integer)hash);
- return 1;
-}
-
-static lmo_luaentry_t *_lmo_push_entry(lua_State *L) {
- lmo_luaentry_t *le;
-
- if( (le = lua_newuserdata(L, sizeof(lmo_luaentry_t))) != NULL )
- {
- luaL_getmetatable(L, LMO_ENTRY_META);
- lua_setmetatable(L, -2);
-
- return le;
- }
-
- return NULL;
-}
-
-static int _lmo_lookup(lua_State *L, lmo_archive_t *ar, uint32_t hash) {
- lmo_entry_t *e = ar->index;
- lmo_luaentry_t *le = NULL;
-
- while( e != NULL )
- {
- if( e->key_id == hash )
- {
- if( (le = _lmo_push_entry(L)) != NULL )
- {
- le->archive = ar;
- le->entry = e;
- return 1;
- }
- else
- {
- lua_pushnil(L);
- lua_pushstring(L, "out of memory");
- return 2;
- }
- }
-
- e = e->next;
- }
-
- lua_pushnil(L);
- return 1;
-}
-
-static int lmo_L_get(lua_State *L) {
- lmo_archive_t **ar = luaL_checkudata(L, 1, LMO_ARCHIVE_META);
- uint32_t hash = (uint32_t) luaL_checkinteger(L, 2);
- return _lmo_lookup(L, *ar, hash);
-}
-
-static int lmo_L_lookup(lua_State *L) {
- lmo_archive_t **ar = luaL_checkudata(L, 1, LMO_ARCHIVE_META);
- const char *key = luaL_checkstring(L, 2);
- uint32_t hash = sfh_hash(key, strlen(key));
- return _lmo_lookup(L, *ar, hash);
-}
-
-static int lmo_L_foreach(lua_State *L) {
- lmo_archive_t **ar = luaL_checkudata(L, 1, LMO_ARCHIVE_META);
- lmo_entry_t *e = (*ar)->index;
-
- if( lua_isfunction(L, 2) )
- {
- while( e != NULL )
- {
- lua_pushvalue(L, 2);
- lua_pushinteger(L, e->key_id);
- lua_pushlstring(L, &(*ar)->mmap[e->offset], e->length);
- lua_pcall(L, 2, 0, 0);
- e = e->next;
- }
- }
-
- return 0;
-}
-
-static int lmo_L__gc(lua_State *L) {
- lmo_archive_t **ar = luaL_checkudata(L, 1, LMO_ARCHIVE_META);
-
- if( (*ar) != NULL )
- lmo_close(*ar);
-
- *ar = NULL;
-
- return 0;
-}
-
-static int lmo_L__tostring(lua_State *L) {
- lmo_archive_t **ar = luaL_checkudata(L, 1, LMO_ARCHIVE_META);
- lua_pushfstring(L, "LMO Archive (%d bytes)", (*ar)->length);
- return 1;
-}
-
-
-static int _lmo_convert_entry(lua_State *L, int idx) {
- lmo_luaentry_t *le = luaL_checkudata(L, idx, LMO_ENTRY_META);
-
- lua_pushlstring(L,
- &le->archive->mmap[le->entry->offset],
- le->entry->length
- );
-
- return 1;
-}
-
-static int lmo_L_entry__tostring(lua_State *L) {
- return _lmo_convert_entry(L, 1);
-}
-
-static int lmo_L_entry__concat(lua_State *L) {
- if( lua_isuserdata(L, 1) )
- _lmo_convert_entry(L, 1);
- else
- lua_pushstring(L, lua_tostring(L, 1));
-
- if( lua_isuserdata(L, 2) )
- _lmo_convert_entry(L, 2);
- else
- lua_pushstring(L, lua_tostring(L, 2));
-
- lua_concat(L, 2);
-
- return 1;
-}
-
-static int lmo_L_entry__len(lua_State *L) {
- lmo_luaentry_t *le = luaL_checkudata(L, 1, LMO_ENTRY_META);
- lua_pushinteger(L, le->entry->length);
- return 1;
-}
-
-static int lmo_L_entry__gc(lua_State *L) {
- lmo_luaentry_t *le = luaL_checkudata(L, 1, LMO_ENTRY_META);
- le->archive = NULL;
- le->entry = NULL;
- return 0;
-}
-
-
-/* lmo method table */
-static const luaL_reg M[] = {
- {"close", lmo_L__gc},
- {"get", lmo_L_get},
- {"lookup", lmo_L_lookup},
- {"foreach", lmo_L_foreach},
- {"__tostring", lmo_L__tostring},
- {"__gc", lmo_L__gc},
- {NULL, NULL}
-};
-
-/* lmo.entry method table */
-static const luaL_reg E[] = {
- {"__tostring", lmo_L_entry__tostring},
- {"__concat", lmo_L_entry__concat},
- {"__len", lmo_L_entry__len},
- {"__gc", lmo_L_entry__gc},
- {NULL, NULL}
-};
-
-/* module table */
-static const luaL_reg R[] = {
- {"open", lmo_L_open},
- {"hash", lmo_L_hash},
- {NULL, NULL}
-};
-
-LUALIB_API int luaopen_lmo(lua_State *L) {
- luaL_newmetatable(L, LMO_ARCHIVE_META);
- luaL_register(L, NULL, M);
- lua_pushvalue(L, -1);
- lua_setfield(L, -2, "__index");
- lua_setglobal(L, LMO_ARCHIVE_META);
-
- luaL_newmetatable(L, LMO_ENTRY_META);
- luaL_register(L, NULL, E);
- lua_pushvalue(L, -1);
- lua_setfield(L, -2, "__index");
- lua_setglobal(L, LMO_ENTRY_META);
-
- luaL_register(L, LMO_LUALIB_META, R);
-
- return 1;
-}
+++ /dev/null
-/*
- * lmo - Lua Machine Objects - Lua library header
- *
- * Copyright (C) 2009 Jo-Philipp Wich <xm@subsignal.org>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _LMO_LUALIB_H_
-#define _LMO_LUALIB_H_
-
-#include <lua.h>
-#include <lualib.h>
-#include <lauxlib.h>
-
-#include "lmo.h"
-
-#define LMO_LUALIB_META "lmo"
-#define LMO_ARCHIVE_META "lmo.archive"
-#define LMO_ENTRY_META "lmo.entry"
-
-struct lmo_luaentry {
- lmo_archive_t *archive;
- lmo_entry_t *entry;
-};
-
-typedef struct lmo_luaentry lmo_luaentry_t;
-
-
-LUALIB_API int luaopen_lmo(lua_State *L);
-
-#endif
+++ /dev/null
-/*
- * lmo - Lua Machine Objects - PO to LMO conversion tool
- *
- * Copyright (C) 2009-2011 Jo-Philipp Wich <xm@subsignal.org>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "lmo.h"
-
-static void die(const char *msg)
-{
- fprintf(stderr, "Error: %s\n", msg);
- exit(1);
-}
-
-static void usage(const char *name)
-{
- fprintf(stderr, "Usage: %s input.po output.lmo\n", name);
- exit(1);
-}
-
-static void print(const void *ptr, size_t size, size_t nmemb, FILE *stream)
-{
- if( fwrite(ptr, size, nmemb, stream) == 0 )
- die("Failed to write stdout");
-}
-
-static int extract_string(const char *src, char *dest, int len)
-{
- int pos = 0;
- int esc = 0;
- int off = -1;
-
- for( pos = 0; (pos < strlen(src)) && (pos < len); pos++ )
- {
- if( (off == -1) && (src[pos] == '"') )
- {
- off = pos + 1;
- }
- else if( off >= 0 )
- {
- if( esc == 1 )
- {
- dest[pos-off] = src[pos];
- esc = 0;
- }
- else if( src[pos] == '\\' )
- {
- off++;
- esc = 1;
- }
- else if( src[pos] != '"' )
- {
- dest[pos-off] = src[pos];
- }
- else
- {
- dest[pos-off] = '\0';
- break;
- }
- }
- }
-
- return (off > -1) ? strlen(dest) : -1;
-}
-
-int main(int argc, char *argv[])
-{
- char line[4096];
- char key[4096];
- char val[4096];
- char tmp[4096];
- int state = 0;
- int offset = 0;
- int length = 0;
- uint32_t key_id, val_id;
-
- FILE *in;
- FILE *out;
-
- lmo_entry_t *head = NULL;
- lmo_entry_t *entry = NULL;
-
- if( (argc != 3) || ((in = fopen(argv[1], "r")) == NULL) || ((out = fopen(argv[2], "w")) == NULL) )
- usage(argv[0]);
-
- memset(line, 0, sizeof(key));
- memset(key, 0, sizeof(val));
- memset(val, 0, sizeof(val));
-
- while( (NULL != fgets(line, sizeof(line), in)) || (state >= 2 && feof(in)) )
- {
- if( state == 0 && strstr(line, "msgid \"") == line )
- {
- switch(extract_string(line, key, sizeof(key)))
- {
- case -1:
- die("Syntax error in msgid");
- case 0:
- state = 1;
- break;
- default:
- state = 2;
- }
- }
- else if( state == 1 || state == 2 )
- {
- if( strstr(line, "msgstr \"") == line || state == 2 )
- {
- switch(extract_string(line, val, sizeof(val)))
- {
- case -1:
- state = 4;
- break;
- default:
- state = 3;
- }
- }
- else
- {
- switch(extract_string(line, tmp, sizeof(tmp)))
- {
- case -1:
- state = 2;
- break;
- default:
- strcat(key, tmp);
- }
- }
- }
- else if( state == 3 )
- {
- switch(extract_string(line, tmp, sizeof(tmp)))
- {
- case -1:
- state = 4;
- break;
- default:
- strcat(val, tmp);
- }
- }
-
- if( state == 4 )
- {
- if( strlen(key) > 0 && strlen(val) > 0 )
- {
- key_id = sfh_hash(key, strlen(key));
- val_id = sfh_hash(val, strlen(val));
-
- if( key_id != val_id )
- {
- if( (entry = (lmo_entry_t *) malloc(sizeof(lmo_entry_t))) != NULL )
- {
- memset(entry, 0, sizeof(entry));
- length = strlen(val) + ((4 - (strlen(val) % 4)) % 4);
-
- entry->key_id = htonl(key_id);
- entry->val_id = htonl(val_id);
- entry->offset = htonl(offset);
- entry->length = htonl(strlen(val));
-
- print(val, length, 1, out);
- offset += length;
-
- entry->next = head;
- head = entry;
- }
- else
- {
- die("Out of memory");
- }
- }
- }
-
- state = 0;
- memset(key, 0, sizeof(key));
- memset(val, 0, sizeof(val));
- }
-
- memset(line, 0, sizeof(line));
- }
-
- entry = head;
- while( entry != NULL )
- {
- print(&entry->key_id, sizeof(uint32_t), 1, out);
- print(&entry->val_id, sizeof(uint32_t), 1, out);
- print(&entry->offset, sizeof(uint32_t), 1, out);
- print(&entry->length, sizeof(uint32_t), 1, out);
- entry = entry->next;
- }
-
- if( offset > 0 )
- {
- offset = htonl(offset);
- print(&offset, sizeof(uint32_t), 1, out);
- fsync(fileno(out));
- fclose(out);
- }
- else
- {
- fclose(out);
- unlink(argv[2]);
- }
-
- fclose(in);
- return(0);
-}
+++ /dev/null
-LUAC = luac
-LUAC_OPTIONS = -s
-LUA_TARGET ?= source
-
-LUA_MODULEDIR = /usr/local/share/lua/5.1
-LUA_LIBRARYDIR = /usr/local/lib/lua/5.1
-
-OS ?= $(shell uname)
-
-LUA_SHLIBS = $(shell pkg-config --silence-errors --libs lua5.1 || pkg-config --silence-errors --libs lua-5.1 || pkg-config --silence-errors --libs lua)
-LUA_LIBS = $(if $(LUA_SHLIBS),$(LUA_SHLIBS),$(firstword $(wildcard /usr/lib/liblua.a /usr/local/lib/liblua.a /opt/local/lib/liblua.a)))
-LUA_CFLAGS = $(shell pkg-config --silence-errors --cflags lua5.1 || pkg-config --silence-errors --cflags lua-5.1 || pkg-config --silence-errors --cflags lua)
-
-CC = gcc
-AR = ar
-RANLIB = ranlib
-CFLAGS = -O2
-FPIC = -fPIC
-EXTRA_CFLAGS = --std=gnu99
-WFLAGS = -Wall -Werror -pedantic
-CPPFLAGS =
-COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) $(WFLAGS)
-ifeq ($(OS),Darwin)
- SHLIB_FLAGS = -bundle -undefined dynamic_lookup
-else
- SHLIB_FLAGS = -shared
-endif
-LINK = $(CC) $(LDFLAGS)
-
-.PHONY: all build compile luacompile luasource clean luaclean
-
-all: build
-
-build: luabuild gccbuild
-
-luabuild: lua$(LUA_TARGET)
-
-gccbuild: compile
-compile:
-
-clean: luaclean
-
-luasource:
- mkdir -p dist$(LUA_MODULEDIR)
- cp -pR root/* dist 2>/dev/null || true
- cp -pR lua/* dist$(LUA_MODULEDIR) 2>/dev/null || true
- for i in $$(find dist -name .svn); do rm -rf $$i || true; done
-
-luastrip: luasource
- for i in $$(find dist -type f -name '*.lua'); do perl -e 'undef $$/; open( F, "< $$ARGV[0]" ) || die $$!; $$src = <F>; close F; $$src =~ s/--\[\[.*?\]\](--)?//gs; $$src =~ s/^\s*--.*?\n//gm; open( F, "> $$ARGV[0]" ) || die $$!; print F $$src; close F' $$i; done
-
-luacompile: luasource
- for i in $$(find dist -name *.lua -not -name debug.lua); do $(LUAC) $(LUAC_OPTIONS) -o $$i $$i; done
-
-luaclean:
- rm -rf dist
+ifneq (,$(wildcard ../../build/config.mk))
include ../../build/config.mk
include ../../build/module.mk
include ../../build/gccconfig.mk
+else
+include standalone.mk
+endif
TPL_LDFLAGS =
TPL_CFLAGS =
TPL_SO = parser.so
+TPL_PO2LMO = po2lmo
+TPL_PO2LMO_OBJ = src/po2lmo.o
+TPL_LMO_OBJ = src/template_lmo.o
TPL_COMMON_OBJ = src/template_parser.o src/template_utils.o
TPL_LUALIB_OBJ = src/template_lualib.o
%.o: %.c
$(COMPILE) $(TPL_CFLAGS) $(LUA_CFLAGS) $(FPIC) -c -o $@ $<
-compile: build-clean $(TPL_COMMON_OBJ) $(TPL_LUALIB_OBJ)
+compile: build-clean $(TPL_COMMON_OBJ) $(TPL_LUALIB_OBJ) $(TPL_LMO_OBJ) $(TPL_PO2LMO_OBJ)
$(LINK) $(SHLIB_FLAGS) $(TPL_LDFLAGS) -o src/$(TPL_SO) \
- $(TPL_COMMON_OBJ) $(TPL_LUALIB_OBJ)
+ $(TPL_COMMON_OBJ) $(TPL_LMO_OBJ) $(TPL_LUALIB_OBJ)
+ $(LINK) -o src/$(TPL_PO2LMO) \
+ $(TPL_LMO_OBJ) $(TPL_PO2LMO_OBJ)
mkdir -p dist$(LUCI_LIBRARYDIR)/template
cp src/$(TPL_SO) dist$(LUCI_LIBRARYDIR)/template/$(TPL_SO)
build-clean:
rm -f src/*.o src/$(TPL_SO)
+
+host-compile: build-clean host-clean $(TPL_LMO_OBJ) $(TPL_PO2LMO_OBJ)
+ $(LINK) -o src/$(TPL_PO2LMO) $(TPL_LMO_OBJ) $(TPL_PO2LMO_OBJ)
+
+host-install: host-compile
+ cp src/$(TPL_PO2LMO) ../../build/$(TPL_PO2LMO)
+
+host-clean:
+ rm -f ../../build/$(TPL_PO2LMO)
}
}
-if( ! String.serialize )
- String.serialize = function(o)
+String.prototype.serialize = function()
+{
+ var o = this;
+ switch(typeof(o))
{
- switch(typeof(o))
- {
- case 'object':
- // null
- if( o == null )
- {
- return 'null';
- }
+ case 'object':
+ // null
+ if( o == null )
+ {
+ return 'null';
+ }
- // array
- else if( o.length )
- {
- var i, s = '';
+ // array
+ else if( o.length )
+ {
+ var i, s = '';
- for( var i = 0; i < o.length; i++ )
- s += (s ? ', ' : '') + String.serialize(o[i]);
+ for( var i = 0; i < o.length; i++ )
+ s += (s ? ', ' : '') + String.serialize(o[i]);
- return '[ ' + s + ' ]';
- }
+ return '[ ' + s + ' ]';
+ }
- // object
- else
- {
- var k, s = '';
+ // object
+ else
+ {
+ var k, s = '';
- for( k in o )
- s += (s ? ', ' : '') + k + ': ' + String.serialize(o[k]);
+ for( k in o )
+ s += (s ? ', ' : '') + k + ': ' + String.serialize(o[k]);
- return '{ ' + s + ' }';
- }
+ return '{ ' + s + ' }';
+ }
- break;
+ break;
- case 'string':
- // complex string
- if( o.match(/[^a-zA-Z0-9_,.: -]/) )
- return 'decodeURIComponent("' + encodeURIComponent(o) + '")';
+ case 'string':
+ // complex string
+ if( o.match(/[^a-zA-Z0-9_,.: -]/) )
+ return 'decodeURIComponent("' + encodeURIComponent(o) + '")';
- // simple string
- else
- return '"' + o + '"';
+ // simple string
+ else
+ return '"' + o + '"';
- break;
+ break;
- default:
- return o.toString();
- }
+ default:
+ return o.toString();
}
+}
+String.prototype.format = function()
+{
+ if (!RegExp)
+ return;
-if( ! String.format )
- String.format = function()
- {
- if (!arguments || arguments.length < 1 || !RegExp)
- return;
-
- var html_esc = [/&/g, '&', /"/g, '"', /'/g, ''', /</g, '<', />/g, '>'];
- var quot_esc = [/"/g, '"', /'/g, '''];
+ var html_esc = [/&/g, '&', /"/g, '"', /'/g, ''', /</g, '<', />/g, '>'];
+ var quot_esc = [/"/g, '"', /'/g, '''];
- function esc(s, r) {
- for( var i = 0; i < r.length; i += 2 )
- s = s.replace(r[i], r[i+1]);
- return s;
- }
+ function esc(s, r) {
+ for( var i = 0; i < r.length; i += 2 )
+ s = s.replace(r[i], r[i+1]);
+ return s;
+ }
- var str = arguments[0];
- var out = '';
- var re = /^(([^%]*)%('.|0|\x20)?(-)?(\d+)?(\.\d+)?(%|b|c|d|u|f|o|s|x|X|q|h|j|t|m))/;
- var a = b = [], numSubstitutions = 0, numMatches = 0;
+ var str = this;
+ var out = '';
+ var re = /^(([^%]*)%('.|0|\x20)?(-)?(\d+)?(\.\d+)?(%|b|c|d|u|f|o|s|x|X|q|h|j|t|m))/;
+ var a = b = [], numSubstitutions = 0, numMatches = 0;
- while( a = re.exec(str) )
- {
- var m = a[1];
- var leftpart = a[2], pPad = a[3], pJustify = a[4], pMinLength = a[5];
- var pPrecision = a[6], pType = a[7];
+ while( a = re.exec(str) )
+ {
+ var m = a[1];
+ var leftpart = a[2], pPad = a[3], pJustify = a[4], pMinLength = a[5];
+ var pPrecision = a[6], pType = a[7];
- numMatches++;
+ numMatches++;
- if (pType == '%')
- {
- subst = '%';
- }
- else
+ if (pType == '%')
+ {
+ subst = '%';
+ }
+ else
+ {
+ if (numSubstitutions < arguments.length)
{
- if (numSubstitutions++ < arguments.length)
- {
- var param = arguments[numSubstitutions];
+ var param = arguments[numSubstitutions++];
- var pad = '';
- if (pPad && pPad.substr(0,1) == "'")
- pad = leftpart.substr(1,1);
- else if (pPad)
- pad = pPad;
+ var pad = '';
+ if (pPad && pPad.substr(0,1) == "'")
+ pad = leftpart.substr(1,1);
+ else if (pPad)
+ pad = pPad;
- var justifyRight = true;
- if (pJustify && pJustify === "-")
- justifyRight = false;
+ var justifyRight = true;
+ if (pJustify && pJustify === "-")
+ justifyRight = false;
- var minLength = -1;
- if (pMinLength)
- minLength = parseInt(pMinLength);
+ var minLength = -1;
+ if (pMinLength)
+ minLength = parseInt(pMinLength);
- var precision = -1;
- if (pPrecision && pType == 'f')
- precision = parseInt(pPrecision.substring(1));
+ var precision = -1;
+ if (pPrecision && pType == 'f')
+ precision = parseInt(pPrecision.substring(1));
- var subst = param;
+ var subst = param;
- switch(pType)
- {
- case 'b':
- subst = (parseInt(param) || 0).toString(2);
- break;
-
- case 'c':
- subst = String.fromCharCode(parseInt(param) || 0);
- break;
-
- case 'd':
- subst = (parseInt(param) || 0);
- break;
-
- case 'u':
- subst = Math.abs(parseInt(param) || 0);
- break;
-
- case 'f':
- subst = (precision > -1)
- ? ((parseFloat(param) || 0.0)).toFixed(precision)
- : (parseFloat(param) || 0.0);
- break;
-
- case 'o':
- subst = (parseInt(param) || 0).toString(8);
- break;
-
- case 's':
- subst = param;
- break;
-
- case 'x':
- subst = ('' + (parseInt(param) || 0).toString(16)).toLowerCase();
- break;
-
- case 'X':
- subst = ('' + (parseInt(param) || 0).toString(16)).toUpperCase();
- break;
-
- case 'h':
- subst = esc(param, html_esc);
- break;
-
- case 'q':
- subst = esc(param, quot_esc);
- break;
-
- case 'j':
- subst = String.serialize(param);
- break;
-
- case 't':
- var td = 0;
- var th = 0;
- var tm = 0;
- var ts = (param || 0);
-
- if (ts > 60) {
- tm = Math.floor(ts / 60);
- ts = (ts % 60);
- }
-
- if (tm > 60) {
- th = Math.floor(tm / 60);
- tm = (tm % 60);
- }
-
- if (th > 24) {
- td = Math.floor(th / 24);
- th = (th % 24);
- }
-
- subst = (td > 0)
- ? String.format('%dd %dh %dm %ds', td, th, tm, ts)
- : String.format('%dh %dm %ds', th, tm, ts);
-
- break;
-
- case 'm':
- var mf = pMinLength ? parseInt(pMinLength) : 1000;
- var pr = pPrecision ? Math.floor(10*parseFloat('0'+pPrecision)) : 2;
-
- var i = 0;
- var val = parseFloat(param || 0);
- var units = [ '', 'K', 'M', 'G', 'T', 'P', 'E' ];
-
- for (i = 0; (i < units.length) && (val > mf); i++)
- val /= mf;
-
- subst = val.toFixed(pr) + ' ' + units[i];
- break;
- }
+ switch(pType)
+ {
+ case 'b':
+ subst = (parseInt(param) || 0).toString(2);
+ break;
+
+ case 'c':
+ subst = String.fromCharCode(parseInt(param) || 0);
+ break;
+
+ case 'd':
+ subst = (parseInt(param) || 0);
+ break;
+
+ case 'u':
+ subst = Math.abs(parseInt(param) || 0);
+ break;
+
+ case 'f':
+ subst = (precision > -1)
+ ? ((parseFloat(param) || 0.0)).toFixed(precision)
+ : (parseFloat(param) || 0.0);
+ break;
+
+ case 'o':
+ subst = (parseInt(param) || 0).toString(8);
+ break;
+
+ case 's':
+ subst = param;
+ break;
+
+ case 'x':
+ subst = ('' + (parseInt(param) || 0).toString(16)).toLowerCase();
+ break;
+
+ case 'X':
+ subst = ('' + (parseInt(param) || 0).toString(16)).toUpperCase();
+ break;
+
+ case 'h':
+ subst = esc(param, html_esc);
+ break;
+
+ case 'q':
+ subst = esc(param, quot_esc);
+ break;
+
+ case 'j':
+ subst = String.serialize(param);
+ break;
+
+ case 't':
+ var td = 0;
+ var th = 0;
+ var tm = 0;
+ var ts = (param || 0);
+
+ if (ts > 60) {
+ tm = Math.floor(ts / 60);
+ ts = (ts % 60);
+ }
+
+ if (tm > 60) {
+ th = Math.floor(tm / 60);
+ tm = (tm % 60);
+ }
+
+ if (th > 24) {
+ td = Math.floor(th / 24);
+ th = (th % 24);
+ }
+
+ subst = (td > 0)
+ ? String.format('%dd %dh %dm %ds', td, th, tm, ts)
+ : String.format('%dh %dm %ds', th, tm, ts);
+
+ break;
+
+ case 'm':
+ var mf = pMinLength ? parseInt(pMinLength) : 1000;
+ var pr = pPrecision ? Math.floor(10*parseFloat('0'+pPrecision)) : 2;
+
+ var i = 0;
+ var val = parseFloat(param || 0);
+ var units = [ '', 'K', 'M', 'G', 'T', 'P', 'E' ];
+
+ for (i = 0; (i < units.length) && (val > mf); i++)
+ val /= mf;
+
+ subst = val.toFixed(pr) + ' ' + units[i];
+ break;
}
}
-
- out += leftpart + subst;
- str = str.substr(m.length);
}
- return out + str;
+ out += leftpart + subst;
+ str = str.substr(m.length);
}
+
+ return out + str;
+}
+
+String.prototype.nobr = function()
+{
+ return this.replace(/[\s\n]+/g, ' ');
+}
+
+String.serialize = function()
+{
+ var a = [ ];
+ for (var i = 1; i < arguments.length; i++)
+ a.push(arguments[i]);
+ return ''.serialize.apply(arguments[0], a);
+}
+
+String.format = function()
+{
+ var a = [ ];
+ for (var i = 1; i < arguments.length; i++)
+ a.push(arguments[i]);
+ return ''.format.apply(arguments[0], a);
+}
+
+String.nobr = function()
+{
+ var a = [ ];
+ for (var i = 1; i < arguments.length; i++)
+ a.push(arguments[i]);
+ return ''.nobr.apply(arguments[0], a);
+}
assert(func, err)
- luci.i18n.loadc("base")
-
local env = {
translate=i18n.translate,
translatef=i18n.translatef,
Description:
HTTP-Header manipulator and form variable preprocessor
-FileId:
-$Id$
-
License:
Copyright 2008 Steven Barth <steven@midlink.org>
end
elseif type(x) == "number" or type(x) == "boolean" then
if (x ~= x) then
- -- NaN is the only value that doesn't equal to itself.
+ -- NaN is the only value that doesn't equal to itself.
write("Number.NaN")
else
write(tostring(x))
end
else
- write("%q" % tostring(x))
+ write('"%s"' % tostring(x):gsub('["%z\1-\31]', function(c)
+ return '\\u%04x' % c:byte(1)
+ end))
end
end
--- LuCI translation library.
module("luci.i18n", package.seeall)
require("luci.util")
-require("lmo")
+
+local tparser = require "luci.template.parser"
table = {}
i18ndir = luci.util.libpath() .. "/i18n/"
--- Clear the translation table.
function clear()
- table = {}
end
--- Load a translation and copy its data into the translation table.
-- @param force Force reload even if already loaded (optional)
-- @return Success status
function load(file, lang, force)
- lang = lang and lang:gsub("_", "-") or ""
- if force or not loaded[lang] or not loaded[lang][file] then
- local f = lmo.open(i18ndir .. file .. "." .. lang .. ".lmo")
- if f then
- if not table[lang] then
- table[lang] = { f }
- setmetatable(table[lang], {
- __index = function(tbl, key)
- for i = 1, #tbl do
- local s = rawget(tbl, i):lookup(key)
- if s then return s end
- end
- end
- })
- else
- table[lang][#table[lang]+1] = f
- end
-
- loaded[lang] = loaded[lang] or {}
- loaded[lang][file] = true
- return true
- else
- return false
- end
- else
- return true
- end
end
--- Load a translation file using the default translation language.
-- @param file Language file
-- @param force Force reload even if already loaded (optional)
function loadc(file, force)
- load(file, default, force)
- if context.parent then load(file, context.parent, force) end
- return load(file, context.lang, force)
end
--- Set the context default translation language.
function setlanguage(lang)
context.lang = lang:gsub("_", "-")
context.parent = (context.lang:match("^([a-z][a-z])_"))
+ if not tparser.load_catalog(context.lang, i18ndir) then
+ if context.parent then
+ tparser.load_catalog(context.parent, i18ndir)
+ return context.parent
+ end
+ end
+ return context.lang
end
--- Return the translated value for a specific translation key.
-- @param key Default translation text
-- @return Translated string
function translate(key)
- return (table[context.lang] and table[context.lang][key])
- or (table[context.parent] and table[context.parent][key])
- or (table[default] and table[default][key])
- or key
+ return tparser.translate(key) or key
end
--- Return the translated value for a specific translation key and use it as sprintf pattern.
-- If we have no valid template throw error, otherwise cache the template
if not self.template then
error("Failed to load template '" .. name .. "'.\n" ..
- "Error while parsing template '" .. sourcefile .. "'.\n" ..
- "A syntax error occured near '" ..
- (err or "(nil)"):gsub("\t", "\\t"):gsub("\n", "\\n") .. "'.")
+ "Error while parsing template '" .. sourcefile .. "':\n" ..
+ (err or "Unknown syntax error"))
else
self.cache[name] = self.template
end
//]]></script>
<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" />
- <span id="cbi-apply-<%=id%>-status"><%:Waiting for router...%></span>
+ <span id="cbi-apply-<%=id%>-status"><%:Waiting for changes to be applied...%></span>
</fieldset>
<%- end) %>
<% if flow.skip then %>
<input class="cbi-button cbi-button-skip" type="submit" name="cbi.skip" value="<%:Skip%>" />
<% end %>
- <% if not autoapply then %>
+ <% if not autoapply and not flow.hideapplybtn then %>
<input class="cbi-button cbi-button-apply" type="submit" name="cbi.apply" value="<%:Save & Apply%>" />
<% end %>
- <input class="cbi-button cbi-button-save" type="submit" value="<%:Save%>" />
- <input class="cbi-button cbi-button-reset" type="reset" value="<%:Reset%>" />
+ <% if not flow.hidesavebtn then %>
+ <input class="cbi-button cbi-button-save" type="submit" value="<%:Save%>" />
+ <% end %>
+ <% if not flow.hideresetbtn then %>
+ <input class="cbi-button cbi-button-reset" type="reset" value="<%:Reset%>" />
+ <% end %>
<script type="text/javascript">cbi_d_update();</script>
</div>
--- /dev/null
+/*
+ * lmo - Lua Machine Objects - PO to LMO conversion tool
+ *
+ * Copyright (C) 2009-2012 Jo-Philipp Wich <xm@subsignal.org>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "template_lmo.h"
+
+static void die(const char *msg)
+{
+ fprintf(stderr, "Error: %s\n", msg);
+ exit(1);
+}
+
+static void usage(const char *name)
+{
+ fprintf(stderr, "Usage: %s input.po output.lmo\n", name);
+ exit(1);
+}
+
+static void print(const void *ptr, size_t size, size_t nmemb, FILE *stream)
+{
+ if( fwrite(ptr, size, nmemb, stream) == 0 )
+ die("Failed to write stdout");
+}
+
+static int extract_string(const char *src, char *dest, int len)
+{
+ int pos = 0;
+ int esc = 0;
+ int off = -1;
+
+ for( pos = 0; (pos < strlen(src)) && (pos < len); pos++ )
+ {
+ if( (off == -1) && (src[pos] == '"') )
+ {
+ off = pos + 1;
+ }
+ else if( off >= 0 )
+ {
+ if( esc == 1 )
+ {
+ switch (src[pos])
+ {
+ case '"':
+ case '\\':
+ off++;
+ break;
+ }
+ dest[pos-off] = src[pos];
+ esc = 0;
+ }
+ else if( src[pos] == '\\' )
+ {
+ dest[pos-off] = src[pos];
+ esc = 1;
+ }
+ else if( src[pos] != '"' )
+ {
+ dest[pos-off] = src[pos];
+ }
+ else
+ {
+ dest[pos-off] = '\0';
+ break;
+ }
+ }
+ }
+
+ return (off > -1) ? strlen(dest) : -1;
+}
+
+static int cmp_index(const void *a, const void *b)
+{
+ uint32_t x = ntohl(((const lmo_entry_t *)a)->key_id);
+ uint32_t y = ntohl(((const lmo_entry_t *)b)->key_id);
+
+ if (x < y)
+ return -1;
+ else if (x > y)
+ return 1;
+
+ return 0;
+}
+
+static void print_index(void *array, int n, FILE *out)
+{
+ lmo_entry_t *e;
+
+ qsort(array, n, sizeof(*e), cmp_index);
+
+ for (e = array; n > 0; n--, e++)
+ {
+ print(&e->key_id, sizeof(uint32_t), 1, out);
+ print(&e->val_id, sizeof(uint32_t), 1, out);
+ print(&e->offset, sizeof(uint32_t), 1, out);
+ print(&e->length, sizeof(uint32_t), 1, out);
+ }
+}
+
+int main(int argc, char *argv[])
+{
+ char line[4096];
+ char key[4096];
+ char val[4096];
+ char tmp[4096];
+ int state = 0;
+ int offset = 0;
+ int length = 0;
+ int n_entries = 0;
+ void *array = NULL;
+ lmo_entry_t *entry = NULL;
+ uint32_t key_id, val_id;
+
+ FILE *in;
+ FILE *out;
+
+ if( (argc != 3) || ((in = fopen(argv[1], "r")) == NULL) || ((out = fopen(argv[2], "w")) == NULL) )
+ usage(argv[0]);
+
+ memset(line, 0, sizeof(key));
+ memset(key, 0, sizeof(val));
+ memset(val, 0, sizeof(val));
+
+ while( (NULL != fgets(line, sizeof(line), in)) || (state >= 2 && feof(in)) )
+ {
+ if( state == 0 && strstr(line, "msgid \"") == line )
+ {
+ switch(extract_string(line, key, sizeof(key)))
+ {
+ case -1:
+ die("Syntax error in msgid");
+ case 0:
+ state = 1;
+ break;
+ default:
+ state = 2;
+ }
+ }
+ else if( state == 1 || state == 2 )
+ {
+ if( strstr(line, "msgstr \"") == line || state == 2 )
+ {
+ switch(extract_string(line, val, sizeof(val)))
+ {
+ case -1:
+ state = 4;
+ break;
+ default:
+ state = 3;
+ }
+ }
+ else
+ {
+ switch(extract_string(line, tmp, sizeof(tmp)))
+ {
+ case -1:
+ state = 2;
+ break;
+ default:
+ strcat(key, tmp);
+ }
+ }
+ }
+ else if( state == 3 )
+ {
+ switch(extract_string(line, tmp, sizeof(tmp)))
+ {
+ case -1:
+ state = 4;
+ break;
+ default:
+ strcat(val, tmp);
+ }
+ }
+
+ if( state == 4 )
+ {
+ if( strlen(key) > 0 && strlen(val) > 0 )
+ {
+ key_id = sfh_hash(key, strlen(key));
+ val_id = sfh_hash(val, strlen(val));
+
+ if( key_id != val_id )
+ {
+ n_entries++;
+ array = realloc(array, n_entries * sizeof(lmo_entry_t));
+ entry = (lmo_entry_t *)array + n_entries - 1;
+
+ if (!array)
+ die("Out of memory");
+
+ entry->key_id = htonl(key_id);
+ entry->val_id = htonl(val_id);
+ entry->offset = htonl(offset);
+ entry->length = htonl(strlen(val));
+
+ length = strlen(val) + ((4 - (strlen(val) % 4)) % 4);
+
+ print(val, length, 1, out);
+ offset += length;
+ }
+ }
+
+ state = 0;
+ memset(key, 0, sizeof(key));
+ memset(val, 0, sizeof(val));
+ }
+
+ memset(line, 0, sizeof(line));
+ }
+
+ print_index(array, n_entries, out);
+
+ if( offset > 0 )
+ {
+ offset = htonl(offset);
+ print(&offset, sizeof(uint32_t), 1, out);
+ fsync(fileno(out));
+ fclose(out);
+ }
+ else
+ {
+ fclose(out);
+ unlink(argv[2]);
+ }
+
+ fclose(in);
+ return(0);
+}
--- /dev/null
+/*
+ * lmo - Lua Machine Objects - Base functions
+ *
+ * Copyright (C) 2009-2010 Jo-Philipp Wich <xm@subsignal.org>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "template_lmo.h"
+
+/*
+ * Hash function from http://www.azillionmonkeys.com/qed/hash.html
+ * Copyright (C) 2004-2008 by Paul Hsieh
+ */
+
+uint32_t sfh_hash(const char *data, int len)
+{
+ uint32_t hash = len, tmp;
+ int rem;
+
+ if (len <= 0 || data == NULL) return 0;
+
+ rem = len & 3;
+ len >>= 2;
+
+ /* Main loop */
+ for (;len > 0; len--) {
+ hash += sfh_get16(data);
+ tmp = (sfh_get16(data+2) << 11) ^ hash;
+ hash = (hash << 16) ^ tmp;
+ data += 2*sizeof(uint16_t);
+ hash += hash >> 11;
+ }
+
+ /* Handle end cases */
+ switch (rem) {
+ case 3: hash += sfh_get16(data);
+ hash ^= hash << 16;
+ hash ^= data[sizeof(uint16_t)] << 18;
+ hash += hash >> 11;
+ break;
+ case 2: hash += sfh_get16(data);
+ hash ^= hash << 11;
+ hash += hash >> 17;
+ break;
+ case 1: hash += *data;
+ hash ^= hash << 10;
+ hash += hash >> 1;
+ }
+
+ /* Force "avalanching" of final 127 bits */
+ hash ^= hash << 3;
+ hash += hash >> 5;
+ hash ^= hash << 4;
+ hash += hash >> 17;
+ hash ^= hash << 25;
+ hash += hash >> 6;
+
+ return hash;
+}
+
+uint32_t lmo_canon_hash(const char *str, int len)
+{
+ char res[4096];
+ char *ptr, prev;
+ int off;
+
+ if (!str || len >= sizeof(res))
+ return 0;
+
+ for (prev = ' ', ptr = res, off = 0; off < len; prev = *str, off++, str++)
+ {
+ if (isspace(*str))
+ {
+ if (!isspace(prev))
+ *ptr++ = ' ';
+ }
+ else
+ {
+ *ptr++ = *str;
+ }
+ }
+
+ if ((ptr > res) && isspace(*(ptr-1)))
+ ptr--;
+
+ return sfh_hash(res, ptr - res);
+}
+
+lmo_archive_t * lmo_open(const char *file)
+{
+ int in = -1;
+ uint32_t idx_offset = 0;
+ struct stat s;
+
+ lmo_archive_t *ar = NULL;
+
+ if (stat(file, &s) == -1)
+ goto err;
+
+ if ((in = open(file, O_RDONLY)) == -1)
+ goto err;
+
+ if ((ar = (lmo_archive_t *)malloc(sizeof(*ar))) != NULL)
+ {
+ memset(ar, 0, sizeof(*ar));
+
+ ar->fd = in;
+ ar->size = s.st_size;
+
+ fcntl(ar->fd, F_SETFD, fcntl(ar->fd, F_GETFD) | FD_CLOEXEC);
+
+ if ((ar->mmap = mmap(NULL, ar->size, PROT_READ, MAP_SHARED, ar->fd, 0)) == MAP_FAILED)
+ goto err;
+
+ idx_offset = *((const uint32_t *)
+ (ar->mmap + ar->size - sizeof(uint32_t)));
+
+ if (idx_offset >= ar->size)
+ goto err;
+
+ ar->index = (lmo_entry_t *)(ar->mmap + idx_offset);
+ ar->length = (ar->size - idx_offset - sizeof(uint32_t)) / sizeof(lmo_entry_t);
+ ar->end = ar->mmap + ar->size;
+
+ return ar;
+ }
+
+err:
+ if (in > -1)
+ close(in);
+
+ if (ar != NULL)
+ {
+ if ((ar->mmap != NULL) && (ar->mmap != MAP_FAILED))
+ munmap(ar->mmap, ar->size);
+
+ free(ar);
+ }
+
+ return NULL;
+}
+
+void lmo_close(lmo_archive_t *ar)
+{
+ if (ar != NULL)
+ {
+ if ((ar->mmap != NULL) && (ar->mmap != MAP_FAILED))
+ munmap(ar->mmap, ar->size);
+
+ close(ar->fd);
+ free(ar);
+
+ ar = NULL;
+ }
+}
+
+
+lmo_catalog_t *_lmo_catalogs = NULL;
+lmo_catalog_t *_lmo_active_catalog = NULL;
+
+int lmo_load_catalog(const char *lang, const char *dir)
+{
+ DIR *dh = NULL;
+ char pattern[16];
+ char path[PATH_MAX];
+ struct dirent *de = NULL;
+
+ lmo_archive_t *ar = NULL;
+ lmo_catalog_t *cat = NULL;
+
+ if (!lmo_change_catalog(lang))
+ return 0;
+
+ if (!dir || !(dh = opendir(dir)))
+ goto err;
+
+ if (!(cat = malloc(sizeof(*cat))))
+ goto err;
+
+ memset(cat, 0, sizeof(*cat));
+
+ snprintf(cat->lang, sizeof(cat->lang), "%s", lang);
+ snprintf(pattern, sizeof(pattern), "*.%s.lmo", lang);
+
+ while ((de = readdir(dh)) != NULL)
+ {
+ if (!fnmatch(pattern, de->d_name, 0))
+ {
+ snprintf(path, sizeof(path), "%s/%s", dir, de->d_name);
+ ar = lmo_open(path);
+
+ if (ar)
+ {
+ ar->next = cat->archives;
+ cat->archives = ar;
+ }
+ }
+ }
+
+ closedir(dh);
+
+ cat->next = _lmo_catalogs;
+ _lmo_catalogs = cat;
+
+ if (!_lmo_active_catalog)
+ _lmo_active_catalog = cat;
+
+ return 0;
+
+err:
+ if (dh) closedir(dh);
+ if (cat) free(cat);
+
+ return -1;
+}
+
+int lmo_change_catalog(const char *lang)
+{
+ lmo_catalog_t *cat;
+
+ for (cat = _lmo_catalogs; cat; cat = cat->next)
+ {
+ if (!strncmp(cat->lang, lang, sizeof(cat->lang)))
+ {
+ _lmo_active_catalog = cat;
+ return 0;
+ }
+ }
+
+ return -1;
+}
+
+static lmo_entry_t * lmo_find_entry(lmo_archive_t *ar, uint32_t hash)
+{
+ unsigned int m, l, r;
+
+ l = 0;
+ r = ar->length - 1;
+
+ while (1)
+ {
+ m = l + ((r - l) / 2);
+
+ if (r < l)
+ break;
+
+ if (ar->index[m].key_id == hash)
+ return &ar->index[m];
+
+ if (ar->index[m].key_id > hash)
+ {
+ if (!m)
+ break;
+
+ r = m - 1;
+ }
+ else
+ {
+ l = m + 1;
+ }
+ }
+
+ return NULL;
+}
+
+int lmo_translate(const char *key, int keylen, char **out, int *outlen)
+{
+ uint32_t hash;
+ lmo_entry_t *e;
+ lmo_archive_t *ar;
+
+ if (!key || !_lmo_active_catalog)
+ return -2;
+
+ hash = htonl(lmo_canon_hash(key, keylen));
+
+ for (ar = _lmo_active_catalog->archives; ar; ar = ar->next)
+ {
+ if ((e = lmo_find_entry(ar, hash)) != NULL)
+ {
+ *out = ar->mmap + e->offset;
+ *outlen = e->length;
+ return 0;
+ }
+ }
+
+ return -1;
+}
+
+void lmo_close_catalog(const char *lang)
+{
+ lmo_archive_t *ar, *next;
+ lmo_catalog_t *cat, *prev;
+
+ for (prev = NULL, cat = _lmo_catalogs; cat; prev = cat, cat = cat->next)
+ {
+ if (!strncmp(cat->lang, lang, sizeof(cat->lang)))
+ {
+ if (prev)
+ prev->next = cat->next;
+ else
+ _lmo_catalogs = cat->next;
+
+ for (ar = cat->archives; ar; ar = next)
+ {
+ next = ar->next;
+ lmo_close(ar);
+ }
+
+ free(cat);
+ break;
+ }
+ }
+}
--- /dev/null
+/*
+ * lmo - Lua Machine Objects - General header
+ *
+ * Copyright (C) 2009-2012 Jo-Philipp Wich <xm@subsignal.org>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _TEMPLATE_LMO_H_
+#define _TEMPLATE_LMO_H_
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <string.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/mman.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <errno.h>
+#include <fnmatch.h>
+#include <dirent.h>
+#include <ctype.h>
+
+#if (defined(__GNUC__) && defined(__i386__))
+#define sfh_get16(d) (*((const uint16_t *) (d)))
+#else
+#define sfh_get16(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8)\
+ +(uint32_t)(((const uint8_t *)(d))[0]) )
+#endif
+
+
+struct lmo_entry {
+ uint32_t key_id;
+ uint32_t val_id;
+ uint32_t offset;
+ uint32_t length;
+} __attribute__((packed));
+
+typedef struct lmo_entry lmo_entry_t;
+
+
+struct lmo_archive {
+ int fd;
+ int length;
+ uint32_t size;
+ lmo_entry_t *index;
+ char *mmap;
+ char *end;
+ struct lmo_archive *next;
+};
+
+typedef struct lmo_archive lmo_archive_t;
+
+
+struct lmo_catalog {
+ char lang[6];
+ struct lmo_archive *archives;
+ struct lmo_catalog *next;
+};
+
+typedef struct lmo_catalog lmo_catalog_t;
+
+
+uint32_t sfh_hash(const char *data, int len);
+uint32_t lmo_canon_hash(const char *data, int len);
+
+lmo_archive_t * lmo_open(const char *file);
+void lmo_close(lmo_archive_t *ar);
+
+
+extern lmo_catalog_t *_lmo_catalogs;
+extern lmo_catalog_t *_lmo_active_catalog;
+
+int lmo_load_catalog(const char *lang, const char *dir);
+int lmo_change_catalog(const char *lang);
+int lmo_translate(const char *key, int keylen, char **out, int *outlen);
+void lmo_close_catalog(const char *lang);
+
+#endif
int template_L_parse(lua_State *L)
{
const char *file = luaL_checkstring(L, 1);
- struct template_parser parser;
- int lua_status;
+ struct template_parser *parser = template_open(file);
+ int lua_status, rv;
- if( (parser.fd = open(file, O_RDONLY)) > 0 )
+ if (!parser)
{
- parser.flags = 0;
- parser.bufsize = 0;
- parser.state = T_STATE_TEXT_NEXT;
+ lua_pushnil(L);
+ lua_pushinteger(L, errno);
+ lua_pushstring(L, strerror(errno));
+ return 3;
+ }
- lua_status = lua_load(L, template_reader, &parser, file);
+ lua_status = lua_load(L, template_reader, parser, file);
- (void) close(parser.fd);
+ if (lua_status == 0)
+ rv = 1;
+ else
+ rv = template_error(L, parser);
+ template_close(parser);
- if( lua_status == 0 )
- {
- return 1;
- }
- else
- {
- lua_pushnil(L);
- lua_pushinteger(L, lua_status);
- lua_pushlstring(L, parser.out, parser.outsize);
- return 3;
- }
+ return rv;
+}
+
+int template_L_utf8(lua_State *L)
+{
+ size_t len = 0;
+ const char *str = luaL_checklstring(L, 1, &len);
+ char *res = utf8(str, len);
+
+ if (res != NULL)
+ {
+ lua_pushstring(L, res);
+ free(res);
+
+ return 1;
}
- lua_pushnil(L);
- lua_pushinteger(L, 255);
- lua_pushstring(L, "No such file or directory");
- return 3;
+ return 0;
}
-int template_L_sanitize_utf8(lua_State *L)
+int template_L_pcdata(lua_State *L)
{
size_t len = 0;
const char *str = luaL_checklstring(L, 1, &len);
- char *res = sanitize_utf8(str, len);
+ char *res = pcdata(str, len);
if (res != NULL)
{
return 0;
}
-int template_L_sanitize_pcdata(lua_State *L)
+int template_L_striptags(lua_State *L)
{
size_t len = 0;
const char *str = luaL_checklstring(L, 1, &len);
- char *res = sanitize_pcdata(str, len);
+ char *res = striptags(str, len);
if (res != NULL)
{
return 0;
}
+static int template_L_load_catalog(lua_State *L) {
+ const char *lang = luaL_optstring(L, 1, "en");
+ const char *dir = luaL_optstring(L, 2, NULL);
+ lua_pushboolean(L, !lmo_load_catalog(lang, dir));
+ return 1;
+}
+
+static int template_L_close_catalog(lua_State *L) {
+ const char *lang = luaL_optstring(L, 1, "en");
+ lmo_close_catalog(lang);
+ return 0;
+}
+
+static int template_L_change_catalog(lua_State *L) {
+ const char *lang = luaL_optstring(L, 1, "en");
+ lua_pushboolean(L, !lmo_change_catalog(lang));
+ return 1;
+}
+
+static int template_L_translate(lua_State *L) {
+ size_t len;
+ char *tr;
+ int trlen;
+ const char *key = luaL_checklstring(L, 1, &len);
+
+ switch (lmo_translate(key, len, &tr, &trlen))
+ {
+ case 0:
+ lua_pushlstring(L, tr, trlen);
+ return 1;
+
+ case -1:
+ return 0;
+ }
+
+ lua_pushnil(L);
+ lua_pushstring(L, "no catalog loaded");
+ return 2;
+}
+
+static int template_L_hash(lua_State *L) {
+ size_t len;
+ const char *key = luaL_checklstring(L, 1, &len);
+ lua_pushinteger(L, sfh_hash(key, len));
+ return 1;
+}
+
/* module table */
static const luaL_reg R[] = {
{ "parse", template_L_parse },
- { "sanitize_utf8", template_L_sanitize_utf8 },
- { "sanitize_pcdata", template_L_sanitize_pcdata },
+ { "utf8", template_L_utf8 },
+ { "pcdata", template_L_pcdata },
+ { "striptags", template_L_striptags },
+ { "load_catalog", template_L_load_catalog },
+ { "close_catalog", template_L_close_catalog },
+ { "change_catalog", template_L_change_catalog },
+ { "translate", template_L_translate },
+ { "hash", template_L_hash },
{ NULL, NULL }
};
#include "template_parser.h"
#include "template_utils.h"
+#include "template_lmo.h"
#define TEMPLATE_LUALIB_META "template.parser"
/*
* LuCI Template - Parser implementation
*
- * Copyright (C) 2009 Jo-Philipp Wich <xm@subsignal.org>
+ * Copyright (C) 2009-2012 Jo-Philipp Wich <xm@subsignal.org>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*/
#include "template_parser.h"
+#include "template_utils.h"
+#include "template_lmo.h"
/* leading and trailing code for different types */
-const char * gen_code[7][2] = {
+const char *gen_code[9][2] = {
+ { NULL, NULL },
{ "write(\"", "\")" },
{ NULL, NULL },
{ "write(tostring(", " or \"\"))" },
{ "include(\"", "\")" },
- { "write(pcdata(translate(\"", "\")))" },
- { "write(translate(\"", "\"))" },
- { NULL, " " }
+ { "write(\"", "\")" },
+ { "write(\"", "\")" },
+ { NULL, " " },
+ { NULL, NULL },
};
/* Simple strstr() like function that takes len arguments for both haystack and needle. */
return NULL;
}
-/*
- * Inspect current read buffer and find the number of "vague" characters at the end
- * which could indicate an opening token. Returns the number of "vague" chars.
- * The last continuous sequence of whitespace, optionally followed by a "<" is
- * treated as "vague" because whitespace may be discarded if the upcoming opening
- * token indicates pre-whitespace-removal ("<%-"). A single remaining "<" char
- * can't be differentiated from an opening token ("<%"), so it's kept to be processed
- * in the next cycle.
- */
-static int stokscan(struct template_parser *data, int off, int no_whitespace)
+struct template_parser * template_open(const char *file)
{
- int i;
- int skip = 0;
- int tokoff = data->bufsize - 1;
+ struct stat s;
+ static struct template_parser *parser;
- for( i = tokoff; i >= off; i-- )
- {
- if( data->buf[i] == T_TOK_START[0] )
- {
- skip = tokoff - i + 1;
- tokoff = i - 1;
- break;
- }
- }
+ if (!(parser = malloc(sizeof(*parser))))
+ goto err;
+
+ memset(parser, 0, sizeof(*parser));
+ parser->fd = -1;
+ parser->file = file;
+
+ if (stat(file, &s))
+ goto err;
+
+ if ((parser->fd = open(file, O_RDONLY)) < 0)
+ goto err;
- if( !no_whitespace )
+ parser->size = s.st_size;
+ parser->mmap = mmap(NULL, parser->size, PROT_READ, MAP_PRIVATE,
+ parser->fd, 0);
+
+ if (parser->mmap != MAP_FAILED)
{
- for( i = tokoff; i >= off; i-- )
- {
- if( isspace(data->buf[i]) )
- skip++;
- else
- break;
- }
+ parser->off = parser->mmap;
+ parser->cur_chunk.type = T_TYPE_INIT;
+ parser->cur_chunk.s = parser->mmap;
+ parser->cur_chunk.e = parser->mmap;
+
+ return parser;
}
- return skip;
+err:
+ template_close(parser);
+ return NULL;
}
-/*
- * Similar to stokscan() but looking for closing token indicators.
- * Matches "-", optionally followed by a "%" char.
- */
-static int etokscan(struct template_parser *data)
+void template_close(struct template_parser *parser)
{
- int skip = 0;
+ if (!parser)
+ return;
+
+ if (parser->gc != NULL)
+ free(parser->gc);
- if( (data->bufsize > 0) && (data->buf[data->bufsize-1] == T_TOK_END[0]) )
- skip++;
+ if ((parser->mmap != NULL) && (parser->mmap != MAP_FAILED))
+ munmap(parser->mmap, parser->size);
- if( (data->bufsize > skip) && (data->buf[data->bufsize-skip-1] == T_TOK_SKIPWS[0]) )
- skip++;
+ if (parser->fd >= 0)
+ close(parser->fd);
- return skip;
+ free(parser);
}
-/*
- * Generate Lua expressions from the given raw code, write it into the
- * output buffer and set the lua_Reader specific size pointer.
- * Takes parser-state, lua_Reader's size pointer and generator flags
- * as parameter. The given flags indicate whether leading or trailing
- * code should be added. Returns a pointer to the output buffer.
- */
-static const char * generate_expression(struct template_parser *data, size_t *sz, int what)
+void template_text(struct template_parser *parser, const char *e)
{
- char tmp[T_OUTBUFSZ];
- int i;
- int size = 0;
- int start = 0;
- int whitespace = 0;
+ const char *s = parser->off;
- memset(tmp, 0, T_OUTBUFSZ);
-
- /* Inject leading expression code (if any) */
- if( (what & T_GEN_START) && (gen_code[data->type][0] != NULL) )
+ if (s < (parser->mmap + parser->size))
{
- memcpy(tmp, gen_code[data->type][0], strlen(gen_code[data->type][0]));
- size += strlen(gen_code[data->type][0]);
- }
-
- /* Parse source buffer */
- for( i = 0; i < data->outsize; i++ )
- {
- /* Skip leading whitespace for non-raw and non-expr chunks */
- if( !start && isspace(data->out[i]) && (data->type == T_TYPE_I18N ||
- data->type == T_TYPE_I18N_RAW || data->type == T_TYPE_INCLUDE) )
- continue;
- else if( !start )
- start = 1;
-
- /* Found whitespace after i18n key */
- if( data->type == T_TYPE_I18N || data->type == T_TYPE_I18N_RAW )
+ if (parser->strip_after)
{
- /* Is initial whitespace, insert space */
- if( !whitespace && isspace(data->out[i]) )
- {
- tmp[size++] = ' ';
- whitespace = 1;
- }
-
- /* Suppress subsequent whitespace, escape special chars */
- else if( !isspace(data->out[i]) )
- {
- if( data->out[i] == '\\' || data->out[i] == '"' )
- tmp[size++] = '\\';
-
- tmp[size++] = data->out[i];
- whitespace = 0;
- }
+ while ((s <= e) && isspace(*s))
+ s++;
}
- /* Escape quotes, backslashes and newlines for plain and include expressions */
- else if( (data->type == T_TYPE_TEXT || data->type == T_TYPE_INCLUDE) &&
- (data->out[i] == '\\' || data->out[i] == '"' || data->out[i] == '\n' || data->out[i] == '\t') )
- {
- tmp[size++] = '\\';
+ parser->cur_chunk.type = T_TYPE_TEXT;
+ }
+ else
+ {
+ parser->cur_chunk.type = T_TYPE_EOF;
+ }
- switch(data->out[i])
- {
- case '\n':
- tmp[size++] = 'n';
- break;
+ parser->cur_chunk.line = parser->line;
+ parser->cur_chunk.s = s;
+ parser->cur_chunk.e = e;
+}
- case '\t':
- tmp[size++] = 't';
- break;
+void template_code(struct template_parser *parser, const char *e)
+{
+ const char *s = parser->off;
- default:
- tmp[size++] = data->out[i];
- }
- }
+ parser->strip_before = 0;
+ parser->strip_after = 0;
- /* Normal char */
- else
- {
- tmp[size++] = data->out[i];
- }
+ if (*s == '-')
+ {
+ parser->strip_before = 1;
+ for (s++; (s <= e) && (*s == ' ' || *s == '\t'); s++);
}
- /* Inject trailing expression code (if any) */
- if( (what & T_GEN_END) && (gen_code[data->type][1] != NULL) )
+ if (*(e-1) == '-')
{
- /* Strip trailing space for i18n expressions */
- if( data->type == T_TYPE_I18N || data->type == T_TYPE_I18N_RAW )
- if( (size > 0) && (tmp[size-1] == ' ') )
- size--;
-
- memcpy(&tmp[size], gen_code[data->type][1], strlen(gen_code[data->type][1]));
- size += strlen(gen_code[data->type][1]);
+ parser->strip_after = 1;
+ for (e--; (e >= s) && (*e == ' ' || *e == '\t'); e--);
}
- *sz = data->outsize = size;
- memset(data->out, 0, T_OUTBUFSZ);
- memcpy(data->out, tmp, size);
+ switch (*s)
+ {
+ /* comment */
+ case '#':
+ s++;
+ parser->cur_chunk.type = T_TYPE_COMMENT;
+ break;
- //printf("<<<%i|%i|%i|%s>>>\n", what, data->type, *sz, data->out);
+ /* include */
+ case '+':
+ s++;
+ parser->cur_chunk.type = T_TYPE_INCLUDE;
+ break;
- return data->out;
-}
+ /* translate */
+ case ':':
+ s++;
+ parser->cur_chunk.type = T_TYPE_I18N;
+ break;
-/*
- * Move the number of bytes specified in data->bufsize from the
- * given source pointer to the beginning of the read buffer.
- */
-static void bufmove(struct template_parser *data, const char *src)
-{
- if( data->bufsize > 0 )
- memmove(data->buf, src, data->bufsize);
- else if( data->bufsize < 0 )
- data->bufsize = 0;
+ /* translate raw */
+ case '_':
+ s++;
+ parser->cur_chunk.type = T_TYPE_I18N_RAW;
+ break;
- data->buf[data->bufsize] = 0;
+ /* expr */
+ case '=':
+ s++;
+ parser->cur_chunk.type = T_TYPE_EXPR;
+ break;
+
+ /* code */
+ default:
+ parser->cur_chunk.type = T_TYPE_CODE;
+ break;
+ }
+
+ parser->cur_chunk.line = parser->line;
+ parser->cur_chunk.s = s;
+ parser->cur_chunk.e = e;
}
-/*
- * Move the given amount of bytes from the given source pointer
- * to the output buffer and set data->outputsize.
- */
-static void bufout(struct template_parser *data, const char *src, int len)
+static const char *
+template_format_chunk(struct template_parser *parser, size_t *sz)
{
- if( len >= 0 )
- {
- memset(data->out, 0, T_OUTBUFSZ);
- memcpy(data->out, src, len);
- data->outsize = len;
- }
- else
+ const char *s, *p;
+ const char *head, *tail;
+ struct template_chunk *c = &parser->prv_chunk;
+ struct template_buffer *buf;
+
+ *sz = 0;
+ s = parser->gc = NULL;
+
+ if (parser->strip_before && c->type == T_TYPE_TEXT)
{
- data->outsize = 0;
+ while ((c->e > c->s) && isspace(*(c->e - 1)))
+ c->e--;
}
-}
-/*
- * lua_Reader compatible function that parses template code on demand from
- * the given file handle.
- */
-const char *template_reader(lua_State *L, void *ud, size_t *sz)
-{
- struct template_parser *data = ud;
- char *match = NULL;
- int off = 0;
- int ignore = 0;
- int genflags = 0;
- int readlen = 0;
- int vague = 0;
-
- while( !(data->flags & T_FLAG_EOF) || (data->bufsize > 0) )
+ /* empty chunk */
+ if (c->s == c->e)
{
- /* Fill buffer */
- if( !(data->flags & T_FLAG_EOF) && (data->bufsize < T_READBUFSZ) )
+ if (c->type == T_TYPE_EOF)
{
- if( (readlen = read(data->fd, &data->buf[data->bufsize], T_READBUFSZ - data->bufsize)) > 0 )
- data->bufsize += readlen;
- else if( readlen == 0 )
- data->flags |= T_FLAG_EOF;
- else
- return NULL;
+ *sz = 0;
+ s = NULL;
}
+ else
+ {
+ *sz = 1;
+ s = " ";
+ }
+ }
- /* Evaluate state */
- switch(data->state)
+ /* format chunk */
+ else if ((buf = buf_init(c->e - c->s)) != NULL)
+ {
+ if ((head = gen_code[c->type][0]) != NULL)
+ buf_append(buf, head, strlen(head));
+
+ switch (c->type)
{
- /* Plain text chunk (before "<%") */
- case T_STATE_TEXT_INIT:
- case T_STATE_TEXT_NEXT:
- off = 0; ignore = 0; *sz = 0;
- data->type = T_TYPE_TEXT;
-
- /* Skip leading whitespace if requested */
- if( data->flags & T_FLAG_SKIPWS )
- {
- data->flags &= ~T_FLAG_SKIPWS;
- while( (off < data->bufsize) && isspace(data->buf[off]) )
- off++;
- }
+ case T_TYPE_TEXT:
+ luastr_escape(buf, c->s, c->e - c->s, 0);
+ break;
- /* Found "<%" */
- if( (match = strfind(&data->buf[off], data->bufsize - off - 1, T_TOK_START, strlen(T_TOK_START))) != NULL )
- {
- readlen = (int)(match - &data->buf[off]);
- data->bufsize -= (readlen + strlen(T_TOK_START) + off);
- match += strlen(T_TOK_START);
-
- /* Check for leading '-' */
- if( match[0] == T_TOK_SKIPWS[0] )
- {
- data->bufsize--;
- match++;
-
- while( (readlen > 1) && isspace(data->buf[off+readlen-1]) )
- {
- readlen--;
- }
- }
-
- bufout(data, &data->buf[off], readlen);
- bufmove(data, match);
- data->state = T_STATE_CODE_INIT;
- }
+ case T_TYPE_EXPR:
+ buf_append(buf, c->s, c->e - c->s);
+ for (p = c->s; p < c->e; p++)
+ parser->line += (*p == '\n');
+ break;
- /* Maybe plain chunk */
- else
- {
- /* Preserve trailing "<" or white space, maybe a start token */
- vague = stokscan(data, off, 0);
-
- /* We can process some bytes ... */
- if( vague < data->bufsize )
- {
- readlen = data->bufsize - vague - off;
- }
-
- /* No bytes to process, so try to remove at least whitespace ... */
- else
- {
- /* ... but try to preserve trailing "<" ... */
- vague = stokscan(data, off, 1);
-
- if( vague < data->bufsize )
- {
- readlen = data->bufsize - vague - off;
- }
-
- /* ... no chance, push out buffer */
- else
- {
- readlen = vague - off;
- vague = 0;
- }
- }
-
- bufout(data, &data->buf[off], readlen);
-
- data->state = T_STATE_TEXT_NEXT;
- data->bufsize = vague;
- bufmove(data, &data->buf[off+readlen]);
- }
+ case T_TYPE_INCLUDE:
+ luastr_escape(buf, c->s, c->e - c->s, 0);
+ break;
- if( ignore || data->outsize == 0 )
- continue;
- else
- return generate_expression(data, sz, T_GEN_START | T_GEN_END);
+ case T_TYPE_I18N:
+ luastr_translate(buf, c->s, c->e - c->s, 1);
+ break;
+ case T_TYPE_I18N_RAW:
+ luastr_translate(buf, c->s, c->e - c->s, 0);
break;
- /* Ignored chunk (inside "<%# ... %>") */
- case T_STATE_SKIP:
- ignore = 1;
+ case T_TYPE_CODE:
+ buf_append(buf, c->s, c->e - c->s);
+ for (p = c->s; p < c->e; p++)
+ parser->line += (*p == '\n');
+ break;
+ }
- /* Initial code chunk ("<% ...") */
- case T_STATE_CODE_INIT:
- off = 0;
+ if ((tail = gen_code[c->type][1]) != NULL)
+ buf_append(buf, tail, strlen(tail));
- /* Check for leading '-' */
- if( data->buf[off] == T_TOK_SKIPWS[0] )
- off++;
+ *sz = buf_length(buf);
+ s = parser->gc = buf_destroy(buf);
- /* Determine code type */
- switch(data->buf[off])
- {
- case '#':
- ignore = 1;
- off++;
- data->type = T_TYPE_COMMENT;
- break;
-
- case '=':
- off++;
- data->type = T_TYPE_EXPR;
- break;
-
- case '+':
- off++;
- data->type = T_TYPE_INCLUDE;
- break;
-
- case ':':
- off++;
- data->type = T_TYPE_I18N;
- break;
-
- case '_':
- off++;
- data->type = T_TYPE_I18N_RAW;
- break;
-
- default:
- data->type = T_TYPE_CODE;
- break;
- }
+ if (!*sz)
+ {
+ *sz = 1;
+ s = " ";
+ }
+ }
- /* Subsequent code chunk ("..." or "... %>") */
- case T_STATE_CODE_NEXT:
- /* Found "%>" */
- if( (match = strfind(&data->buf[off], data->bufsize - off, T_TOK_END, strlen(T_TOK_END))) != NULL )
- {
- genflags = ( data->state == T_STATE_CODE_INIT )
- ? (T_GEN_START | T_GEN_END) : T_GEN_END;
+ return s;
+}
- readlen = (int)(match - &data->buf[off]);
+const char *template_reader(lua_State *L, void *ud, size_t *sz)
+{
+ struct template_parser *parser = ud;
+ int rem = parser->size - (parser->off - parser->mmap);
+ char *tag;
- /* Check for trailing '-' */
- if( (match > data->buf) && (*(match-1) == T_TOK_SKIPWS[0]) )
- {
- readlen--;
- data->flags |= T_FLAG_SKIPWS;
- }
+ parser->prv_chunk = parser->cur_chunk;
- bufout(data, &data->buf[off], readlen);
+ /* free previous string */
+ if (parser->gc)
+ {
+ free(parser->gc);
+ parser->gc = NULL;
+ }
- data->state = T_STATE_TEXT_INIT;
- data->bufsize -= ((int)(match - &data->buf[off]) + strlen(T_TOK_END) + off);
- bufmove(data, &match[strlen(T_TOK_END)]);
- }
+ /* before tag */
+ if (!parser->in_expr)
+ {
+ if ((tag = strfind(parser->off, rem, "<%", 2)) != NULL)
+ {
+ template_text(parser, tag);
+ parser->off = tag + 2;
+ parser->in_expr = 1;
+ }
+ else
+ {
+ template_text(parser, parser->mmap + parser->size);
+ parser->off = parser->mmap + parser->size;
+ }
+ }
- /* Code chunk */
- else
- {
- genflags = ( data->state == T_STATE_CODE_INIT ) ? T_GEN_START : 0;
+ /* inside tag */
+ else
+ {
+ if ((tag = strfind(parser->off, rem, "%>", 2)) != NULL)
+ {
+ template_code(parser, tag);
+ parser->off = tag + 2;
+ parser->in_expr = 0;
+ }
+ else
+ {
+ /* unexpected EOF */
+ template_code(parser, parser->mmap + parser->size);
- /* Preserve trailing "%" and "-", maybe an end token */
- vague = etokscan(data);
- readlen = data->bufsize - off - vague;
- bufout(data, &data->buf[off], readlen);
+ *sz = 1;
+ return "\033";
+ }
+ }
- data->state = T_STATE_CODE_NEXT;
- data->bufsize = vague;
- bufmove(data, &data->buf[readlen+off]);
- }
+ return template_format_chunk(parser, sz);
+}
- if( ignore || (data->outsize == 0 && !genflags) )
- continue;
- else
- return generate_expression(data, sz, genflags);
+int template_error(lua_State *L, struct template_parser *parser)
+{
+ const char *err = luaL_checkstring(L, -1);
+ const char *off = parser->prv_chunk.s;
+ const char *ptr;
+ char msg[1024];
+ int line = 0;
+ int chunkline = 0;
+
+ if ((ptr = strfind((char *)err, strlen(err), "]:", 2)) != NULL)
+ {
+ chunkline = atoi(ptr + 2) - parser->prv_chunk.line;
+ while (*ptr)
+ {
+ if (*ptr++ == ' ')
+ {
+ err = ptr;
break;
+ }
}
}
- *sz = 0;
- return NULL;
-}
+ if (strfind((char *)err, strlen(err), "'char(27)'", 10) != NULL)
+ {
+ off = parser->mmap + parser->size;
+ err = "'%>' expected before end of file";
+ chunkline = 0;
+ }
+
+ for (ptr = parser->mmap; ptr < off; ptr++)
+ if (*ptr == '\n')
+ line++;
+ snprintf(msg, sizeof(msg), "Syntax error in %s:%d: %s",
+ parser->file, line + chunkline, err ? err : "(unknown error)");
+ lua_pushnil(L);
+ lua_pushinteger(L, line + chunkline);
+ lua_pushstring(L, msg);
+
+ return 3;
+}
#include <stdlib.h>
#include <stdio.h>
+#include <stdint.h>
#include <unistd.h>
#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/mman.h>
#include <string.h>
#include <ctype.h>
+#include <errno.h>
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
-#define T_READBUFSZ 1024
-#define T_OUTBUFSZ T_READBUFSZ * 3
-
-/* parser states */
-#define T_STATE_TEXT_INIT 0
-#define T_STATE_TEXT_NEXT 1
-#define T_STATE_CODE_INIT 2
-#define T_STATE_CODE_NEXT 3
-#define T_STATE_SKIP 4
-
-/* parser flags */
-#define T_FLAG_EOF 0x01
-#define T_FLAG_SKIPWS 0x02
-
-/* tokens used in matching and expression generation */
-#define T_TOK_START "<%"
-#define T_TOK_END "%>"
-#define T_TOK_SKIPWS "-"
+/* code types */
+#define T_TYPE_INIT 0
+#define T_TYPE_TEXT 1
+#define T_TYPE_COMMENT 2
+#define T_TYPE_EXPR 3
+#define T_TYPE_INCLUDE 4
+#define T_TYPE_I18N 5
+#define T_TYPE_I18N_RAW 6
+#define T_TYPE_CODE 7
+#define T_TYPE_EOF 8
-/* generator flags */
-#define T_GEN_START 0x01
-#define T_GEN_END 0x02
-/* code types */
-#define T_TYPE_TEXT 0
-#define T_TYPE_COMMENT 1
-#define T_TYPE_EXPR 2
-#define T_TYPE_INCLUDE 3
-#define T_TYPE_I18N 4
-#define T_TYPE_I18N_RAW 5
-#define T_TYPE_CODE 6
+struct template_chunk {
+ const char *s;
+ const char *e;
+ int type;
+ int line;
+};
/* parser state */
struct template_parser {
int fd;
- int bufsize;
- int outsize;
- int state;
- int flags;
- int type;
- char buf[T_READBUFSZ];
- char out[T_OUTBUFSZ];
+ uint32_t size;
+ char *mmap;
+ char *off;
+ char *gc;
+ int line;
+ int in_expr;
+ int strip_before;
+ int strip_after;
+ struct template_chunk prv_chunk;
+ struct template_chunk cur_chunk;
+ const char *file;
};
+struct template_parser * template_open(const char *file);
+void template_close(struct template_parser *parser);
const char *template_reader(lua_State *L, void *ud, size_t *sz);
+int template_error(lua_State *L, struct template_parser *parser);
#endif
*/
#include "template_utils.h"
+#include "template_lmo.h"
/* initialize a buffer object */
-static struct template_buffer * buf_init(void)
+struct template_buffer * buf_init(int size)
{
struct template_buffer *buf;
+ if (size <= 0)
+ size = 1024;
+
buf = (struct template_buffer *)malloc(sizeof(struct template_buffer));
if (buf != NULL)
{
buf->fill = 0;
- buf->size = 1024;
- buf->data = (unsigned char *)malloc(buf->size);
+ buf->size = size;
+ buf->data = malloc(buf->size);
if (buf->data != NULL)
{
}
/* grow buffer */
-static int buf_grow(struct template_buffer *buf)
+int buf_grow(struct template_buffer *buf, int size)
{
unsigned int off = (buf->dptr - buf->data);
- unsigned char *data =
- (unsigned char *)realloc(buf->data, buf->size + 1024);
+ char *data;
+
+ if (size <= 0)
+ size = 1024;
+
+ data = realloc(buf->data, buf->size + size);
if (data != NULL)
{
buf->data = data;
buf->dptr = data + off;
- buf->size += 1024;
+ buf->size += size;
return buf->size;
}
}
/* put one char into buffer object */
-static int buf_putchar(struct template_buffer *buf, unsigned char c)
+int buf_putchar(struct template_buffer *buf, char c)
{
- if( ((buf->fill + 1) >= buf->size) && !buf_grow(buf) )
+ if( ((buf->fill + 1) >= buf->size) && !buf_grow(buf, 0) )
return 0;
*(buf->dptr++) = c;
}
/* append data to buffer */
-static int buf_append(struct template_buffer *buf, unsigned char *s, int len)
+int buf_append(struct template_buffer *buf, const char *s, int len)
{
- while ((buf->fill + len + 1) >= buf->size)
+ if ((buf->fill + len + 1) >= buf->size)
{
- if (!buf_grow(buf))
+ if (!buf_grow(buf, len + 1))
return 0;
}
return len;
}
+/* read buffer length */
+int buf_length(struct template_buffer *buf)
+{
+ return buf->fill;
+}
+
/* destroy buffer object and return pointer to data */
-static char * buf_destroy(struct template_buffer *buf)
+char * buf_destroy(struct template_buffer *buf)
{
- unsigned char *data = buf->data;
+ char *data = buf->data;
free(buf);
- return (char *)data;
+ return data;
}
!mb_is_surrogate(ptr, n) && !mb_is_illegal(ptr, n))
{
/* copy sequence */
- if (!buf_append(buf, ptr, n))
+ if (!buf_append(buf, (char *)ptr, n))
return 0;
}
}
/* sanitize given string and replace all invalid UTF-8 sequences with "?" */
-char * sanitize_utf8(const char *s, unsigned int l)
+char * utf8(const char *s, unsigned int l)
{
- struct template_buffer *buf = buf_init();
+ struct template_buffer *buf = buf_init(l);
unsigned char *ptr = (unsigned char *)s;
unsigned int v, o;
/* ascii char */
if ((*ptr >= 0x01) && (*ptr <= 0x7F))
{
- if (!buf_putchar(buf, *ptr++))
+ if (!buf_putchar(buf, (char)*ptr++))
break;
}
/* Sanitize given string and strip all invalid XML bytes
* Validate UTF-8 sequences
* Escape XML control chars */
-char * sanitize_pcdata(const char *s, unsigned int l)
+char * pcdata(const char *s, unsigned int l)
{
- struct template_buffer *buf = buf_init();
+ struct template_buffer *buf = buf_init(l);
unsigned char *ptr = (unsigned char *)s;
unsigned int o, v;
char esq[8];
{
esl = snprintf(esq, sizeof(esq), "&#%i;", *ptr);
- if (!buf_append(buf, (unsigned char *)esq, esl))
+ if (!buf_append(buf, esq, esl))
break;
ptr++;
/* ascii char */
else if (*ptr <= 0x7F)
{
- buf_putchar(buf, *ptr++);
+ buf_putchar(buf, (char)*ptr++);
}
/* multi byte sequence */
return buf_destroy(buf);
}
+
+char * striptags(const char *s, unsigned int l)
+{
+ struct template_buffer *buf = buf_init(l);
+ unsigned char *ptr = (unsigned char *)s;
+ unsigned char *end = ptr + l;
+ unsigned char *tag;
+ unsigned char prev;
+ char esq[8];
+ int esl;
+
+ for (prev = ' '; ptr < end; ptr++)
+ {
+ if ((*ptr == '<') && ((ptr + 2) < end) &&
+ ((*(ptr + 1) == '/') || isalpha(*(ptr + 1))))
+ {
+ for (tag = ptr; tag < end; tag++)
+ {
+ if (*tag == '>')
+ {
+ if (!isspace(prev))
+ buf_putchar(buf, ' ');
+
+ ptr = tag;
+ prev = ' ';
+ break;
+ }
+ }
+ }
+ else if (isspace(*ptr))
+ {
+ if (!isspace(prev))
+ buf_putchar(buf, *ptr);
+
+ prev = *ptr;
+ }
+ else
+ {
+ switch(*ptr)
+ {
+ case '"':
+ case '\'':
+ case '<':
+ case '>':
+ case '&':
+ esl = snprintf(esq, sizeof(esq), "&#%i;", *ptr);
+ buf_append(buf, esq, esl);
+ break;
+
+ default:
+ buf_putchar(buf, *ptr);
+ break;
+ }
+
+ prev = *ptr;
+ }
+ }
+
+ return buf_destroy(buf);
+}
+
+void luastr_escape(struct template_buffer *out, const char *s, unsigned int l,
+ int escape_xml)
+{
+ int esl;
+ char esq[8];
+ char *ptr;
+
+ for (ptr = (char *)s; ptr < (s + l); ptr++)
+ {
+ switch (*ptr)
+ {
+ case '\\':
+ buf_append(out, "\\\\", 2);
+ break;
+
+ case '"':
+ if (escape_xml)
+ buf_append(out, """, 5);
+ else
+ buf_append(out, "\\\"", 2);
+ break;
+
+ case '\n':
+ buf_append(out, "\\n", 2);
+ break;
+
+ case '\'':
+ case '&':
+ case '<':
+ case '>':
+ if (escape_xml)
+ {
+ esl = snprintf(esq, sizeof(esq), "&#%i;", *ptr);
+ buf_append(out, esq, esl);
+ break;
+ }
+
+ default:
+ buf_putchar(out, *ptr);
+ }
+ }
+}
+
+void luastr_translate(struct template_buffer *out, const char *s, unsigned int l,
+ int escape_xml)
+{
+ char *tr;
+ int trlen;
+
+ switch (lmo_translate(s, l, &tr, &trlen))
+ {
+ case 0:
+ luastr_escape(out, tr, trlen, escape_xml);
+ break;
+
+ case -1:
+ luastr_escape(out, s, l, escape_xml);
+ break;
+
+ default:
+ /* no catalog loaded */
+ break;
+ }
+}
/*
* LuCI Template - Utility header
*
- * Copyright (C) 2010 Jo-Philipp Wich <xm@subsignal.org>
+ * Copyright (C) 2010-2012 Jo-Philipp Wich <xm@subsignal.org>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
/* buffer object */
struct template_buffer {
- unsigned char *data;
- unsigned char *dptr;
+ char *data;
+ char *dptr;
unsigned int size;
unsigned int fill;
};
-char * sanitize_utf8(const char *s, unsigned int l);
-char * sanitize_pcdata(const char *s, unsigned int l);
+struct template_buffer * buf_init(int size);
+int buf_grow(struct template_buffer *buf, int size);
+int buf_putchar(struct template_buffer *buf, char c);
+int buf_append(struct template_buffer *buf, const char *s, int len);
+int buf_length(struct template_buffer *buf);
+char * buf_destroy(struct template_buffer *buf);
+
+char * utf8(const char *s, unsigned int l);
+char * pcdata(const char *s, unsigned int l);
+char * striptags(const char *s, unsigned int l);
+
+void luastr_escape(struct template_buffer *out, const char *s, unsigned int l, int escape_xml);
+void luastr_translate(struct template_buffer *out, const char *s, unsigned int l, int escape_xml);
#endif
--- /dev/null
+LUAC = luac
+LUAC_OPTIONS = -s
+LUA_TARGET ?= source
+
+LUA_MODULEDIR = /usr/local/share/lua/5.1
+LUA_LIBRARYDIR = /usr/local/lib/lua/5.1
+
+OS ?= $(shell uname)
+
+LUA_SHLIBS = $(shell pkg-config --silence-errors --libs lua5.1 || pkg-config --silence-errors --libs lua-5.1 || pkg-config --silence-errors --libs lua)
+LUA_LIBS = $(if $(LUA_SHLIBS),$(LUA_SHLIBS),$(firstword $(wildcard /usr/lib/liblua.a /usr/local/lib/liblua.a /opt/local/lib/liblua.a)))
+LUA_CFLAGS = $(shell pkg-config --silence-errors --cflags lua5.1 || pkg-config --silence-errors --cflags lua-5.1 || pkg-config --silence-errors --cflags lua)
+
+CC = gcc
+AR = ar
+RANLIB = ranlib
+CFLAGS = -O2
+FPIC = -fPIC
+EXTRA_CFLAGS = --std=gnu99
+WFLAGS = -Wall -Werror -pedantic
+CPPFLAGS =
+COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) $(WFLAGS)
+ifeq ($(OS),Darwin)
+ SHLIB_FLAGS = -bundle -undefined dynamic_lookup
+else
+ SHLIB_FLAGS = -shared
+endif
+LINK = $(CC) $(LDFLAGS)
+
+.PHONY: all build compile luacompile luasource clean luaclean
+
+all: build
+
+build: luabuild gccbuild
+
+luabuild: lua$(LUA_TARGET)
+
+gccbuild: compile
+compile:
+
+clean: luaclean
+
+luasource:
+ mkdir -p dist$(LUA_MODULEDIR)
+ cp -pR root/* dist 2>/dev/null || true
+ cp -pR lua/* dist$(LUA_MODULEDIR) 2>/dev/null || true
+ for i in $$(find dist -name .svn); do rm -rf $$i || true; done
+
+luastrip: luasource
+ for i in $$(find dist -type f -name '*.lua'); do perl -e 'undef $$/; open( F, "< $$ARGV[0]" ) || die $$!; $$src = <F>; close F; $$src =~ s/--\[\[.*?\]\](--)?//gs; $$src =~ s/^\s*--.*?\n//gm; open( F, "> $$ARGV[0]" ) || die $$!; print F $$src; close F' $$i; done
+
+luacompile: luasource
+ for i in $$(find dist -name *.lua -not -name debug.lua); do $(LUAC) $(LUAC_OPTIONS) -o $$i $$i; done
+
+luaclean:
+ rm -rf dist
end
end
-function action_restart()
+function action_restart(args)
local uci = require "luci.model.uci".cursor()
- local rqp = luci.dispatcher.context.requestpath
-
- if rqp[3] then
+ if args then
local service
local services = { }
- for service in rqp[3]:gmatch("[%w_-]+") do
+ for service in args:gmatch("[%w_-]+") do
services[#services+1] = service
end
return { }
end
-function switch_status(dev)
- local ports = { }
- local swc = io.popen("swconfig dev %q show" % dev, "r")
- if swc then
- local l
- repeat
- l = swc:read("*l")
- if l then
- local port, up = l:match("port:(%d+) link:(%w+)")
- if port then
- local speed = l:match(" speed:(%d+)")
- local duplex = l:match(" (%w+)-duplex")
- local txflow = l:match(" (txflow)")
- local rxflow = l:match(" (rxflow)")
- local auto = l:match(" (auto)")
-
- ports[#ports+1] = {
- port = tonumber(port) or 0,
- speed = tonumber(speed) or 0,
- link = (up == "up"),
- duplex = (duplex == "full"),
- rxflow = (not not rxflow),
- txflow = (not not txflow),
- auto = (not not auto)
- }
+function switch_status(devs)
+ local dev
+ local switches = { }
+ for dev in devs:gmatch("[^%s,]+") do
+ local ports = { }
+ local swc = io.popen("swconfig dev %q show" % dev, "r")
+ if swc then
+ local l
+ repeat
+ l = swc:read("*l")
+ if l then
+ local port, up = l:match("port:(%d+) link:(%w+)")
+ if port then
+ local speed = l:match(" speed:(%d+)")
+ local duplex = l:match(" (%w+)-duplex")
+ local txflow = l:match(" (txflow)")
+ local rxflow = l:match(" (rxflow)")
+ local auto = l:match(" (auto)")
+
+ ports[#ports+1] = {
+ port = tonumber(port) or 0,
+ speed = tonumber(speed) or 0,
+ link = (up == "up"),
+ duplex = (duplex == "full"),
+ rxflow = (not not rxflow),
+ txflow = (not not txflow),
+ auto = (not not auto)
+ }
+ end
end
- end
- until not l
- swc:close()
+ until not l
+ swc:close()
+ end
+ switches[dev] = ports
end
- return ports
+ return switches
end
page = entry({"admin", "network", "wireless_reconnect"}, call("wifi_reconnect"), nil)
page.leaf = true
- page = entry({"admin", "network", "wireless_shutdown"}, call("wifi_reconnect"), nil)
+ page = entry({"admin", "network", "wireless_shutdown"}, call("wifi_shutdown"), nil)
page.leaf = true
page = entry({"admin", "network", "wireless"}, arcombine(template("admin_network/wifi_overview"), cbi("admin_network/wifi")), _("Wifi"), 15)
page = entry({"admin", "network", "diag_traceroute"}, call("diag_traceroute"), nil)
page.leaf = true
+
+ page = entry({"admin", "network", "diag_ping6"}, call("diag_ping6"), nil)
+ page.leaf = true
+
+ page = entry({"admin", "network", "diag_traceroute6"}, call("diag_traceroute6"), nil)
+ page.leaf = true
-- end
end
luci.http.redirect(luci.dispatcher.build_url("admin/network/wireless"))
end
-function iface_status()
- local path = luci.dispatcher.context.requestpath
+function iface_status(ifaces)
local netm = require "luci.model.network".init()
local rv = { }
local iface
- for iface in path[#path]:gmatch("[%w%.%-_]+") do
+ for iface in ifaces:gmatch("[%w%.%-_]+") do
local net = netm:get_network(iface)
local device = net and net:get_interface()
if device then
luci.http.status(404, "No such device")
end
-function iface_reconnect()
- local path = luci.dispatcher.context.requestpath
- local iface = path[#path]
+function iface_reconnect(iface)
local netmd = require "luci.model.network".init()
-
local net = netmd:get_network(iface)
if net then
luci.sys.call("env -i /sbin/ifup %q >/dev/null 2>/dev/null" % iface)
luci.http.status(404, "No such interface")
end
-function iface_shutdown()
- local path = luci.dispatcher.context.requestpath
- local iface = path[#path]
+function iface_shutdown(iface)
local netmd = require "luci.model.network".init()
-
local net = netmd:get_network(iface)
if net then
luci.sys.call("env -i /sbin/ifdown %q >/dev/null 2>/dev/null" % iface)
luci.http.status(404, "No such interface")
end
-function iface_delete()
- local path = luci.dispatcher.context.requestpath
- local iface = path[#path]
+function iface_delete(iface)
local netmd = require "luci.model.network".init()
-
local net = netmd:del_network(iface)
if net then
luci.sys.call("env -i /sbin/ifdown %q >/dev/null 2>/dev/null" % iface)
luci.http.status(404, "No such interface")
end
-function wifi_status()
- local path = luci.dispatcher.context.requestpath
+function wifi_status(devs)
local s = require "luci.tools.status"
local rv = { }
local dev
- for dev in path[#path]:gmatch("[%w%.%-]+") do
+ for dev in devs:gmatch("[%w%.%-]+") do
rv[#rv+1] = s.wifi_network(dev)
end
luci.http.status(404, "No such device")
end
-function wifi_reconnect()
- local path = luci.dispatcher.context.requestpath
- local mode = path[#path-1]
- local wnet = path[#path]
+local function wifi_reconnect_shutdown(shutdown, wnet)
local netmd = require "luci.model.network".init()
-
local net = netmd:get_wifinet(wnet)
local dev = net:get_device()
if dev and net then
luci.sys.call("env -i /sbin/wifi down >/dev/null 2>/dev/null")
dev:set("disabled", nil)
- net:set("disabled", (mode == "wireless_shutdown") and 1 or nil)
+ net:set("disabled", shutdown and 1 or nil)
netmd:commit("wireless")
luci.sys.call("env -i /sbin/wifi up >/dev/null 2>/dev/null")
- luci.http.status(200, (mode == "wireless_shutdown") and "Shutdown" or "Reconnected")
+ luci.http.status(200, shutdown and "Shutdown" or "Reconnected")
return
end
luci.http.status(404, "No such radio")
end
+function wifi_reconnect(wnet)
+ wifi_reconnect_shutdown(false, wnet)
+end
+
+function wifi_shutdown(wnet)
+ wifi_reconnect_shutdown(true, wnet)
+end
+
function lease_status()
local s = require "luci.tools.status"
luci.http.write(']')
end
-function switch_status()
- local path = luci.dispatcher.context.requestpath
+function switch_status(switches)
local s = require "luci.tools.status"
luci.http.prepare_content("application/json")
- luci.http.write_json(s.switch_status(path[#path]))
+ luci.http.write_json(s.switch_status(switches))
end
-function diag_command(cmd)
- local path = luci.dispatcher.context.requestpath
- local addr = path[#path]
-
+function diag_command(cmd, addr)
if addr and addr:match("^[a-zA-Z0-9%-%.:_]+$") then
luci.http.prepare_content("text/plain")
luci.http.status(500, "Bad address")
end
-function diag_ping()
- diag_command("ping -c 5 -W 1 %q 2>&1")
+function diag_ping(addr)
+ diag_command("ping -c 5 -W 1 %q 2>&1", addr)
+end
+
+function diag_traceroute(addr)
+ diag_command("traceroute -q 1 -w 1 -n %q 2>&1", addr)
+end
+
+function diag_nslookup(addr)
+ diag_command("nslookup %q 2>&1", addr)
end
-function diag_traceroute()
- diag_command("traceroute -q 1 -w 1 -n %q 2>&1")
+function diag_ping6(addr)
+ diag_command("ping6 -c 5 %q 2>&1", addr)
end
-function diag_nslookup()
- diag_command("nslookup %q 2>&1")
+function diag_traceroute6(addr)
+ diag_command("traceroute6 -q 1 -w 2 -n %q 2>&1", addr)
end
end
end
-function action_bandwidth()
- local path = luci.dispatcher.context.requestpath
- local iface = path[#path]
-
+function action_bandwidth(iface)
luci.http.prepare_content("application/json")
local bwc = io.popen("luci-bwc -i %q 2>/dev/null" % iface)
end
end
-function action_wireless()
- local path = luci.dispatcher.context.requestpath
- local iface = path[#path]
-
+function action_wireless(iface)
luci.http.prepare_content("application/json")
local bwc = io.popen("luci-bwc -r %q 2>/dev/null" % iface)
ip.datatype = "ipaddr"
ip.rmempty = true
-for i, dataset in ipairs(luci.sys.net.arptable()) do
+local arptable = luci.sys.net.arptable() or {}
+for i, dataset in ipairs(arptable) do
ip:value(
dataset["IP address"],
"%s (%s)" %{ dataset["IP address"], dataset["HW address"] }
m = Map("network", translate("Switch"), translate("The network ports on this device can be combined to several <abbr title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can communicate directly with each other. <abbr title=\"Virtual Local Area Network\">VLAN</abbr>s are often used to separate different network segments. Often there is by default one Uplink port for a connection to the next greater network like the internet and other ports for a local network."))
+local switches = { }
+
m.uci:foreach("network", "switch",
function(x)
local sid = x['.name']
end
- local vid = s:option(Value, has_vlan4k or "vlan", "VLAN ID")
+ local vid = s:option(Value, has_vlan4k or "vlan", "VLAN ID", "<div id='portstatus-%s'></div>" % switch_name)
+ local mx_vid = has_vlan4k and 4094 or (num_vlans - 1)
vid.rmempty = false
vid.forcewrite = true
vid.vlan_used = { }
+ vid.datatype = "and(uinteger,range("..min_vid..","..mx_vid.."))"
-- Validate user provided VLAN ID, make sure its within the bounds
-- allowed by the switch.
port_opts[#port_opts+1] = po
end
-
- -- Switch status template
- s = m:section(SimpleSection)
- s.template = "admin_network/switch_status"
- s.switch = switch_name
+ switches[#switches+1] = switch_name
end
)
+-- Switch status template
+s = m:section(SimpleSection)
+s.template = "admin_network/switch_status"
+s.switches = switches
+
return m
htmode:value("HT40-", translate("40MHz 2nd channel below"))
htmode:value("HT40+", translate("40MHz 2nd channel above"))
+ noscan = s:taboption("advanced", Flag, "noscan", translate("Force 40MHz mode"),
+ translate("Always use 40MHz channels even if the secondary channel overlaps. Using this option does not comply with IEEE 802.11n-2009!"))
+ noscan:depends("htmode", "HT40+")
+ noscan:depends("htmode", "HT40-")
+ noscan.default = noscan.disabled
+
--htcapab = s:taboption("advanced", DynamicList, "ht_capab", translate("HT capabilities"))
--htcapab:depends("hwmode", "11na")
--htcapab:depends("hwmode", "11ng")
<%+header%>
+<%
+local fs = require "nixio.fs"
+local has_ping6 = fs.access("/bin/ping6") or fs.access("/usr/bin/ping6")
+local has_traceroute6 = fs.access("/usr/bin/traceroute6")
+%>
+
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
<script type="text/javascript">//<![CDATA[
var stxhr = new XHR();
- function update_status(field)
+ function update_status(field,proto)
{
var tool = field.name;
var addr = field.value;
+ var protocol = ""
var legend = document.getElementById('diag-rc-legend');
var output = document.getElementById('diag-rc-output');
+ if (typeof proto != 'undefined') {
+ for(var i = 0; i < proto.length; i++) {
+ if(proto[i].checked) {
+ protocol = proto[i].value;
+ }
+ }
+ }
+
if (legend && output)
{
output.innerHTML =
legend.parentNode.style.display = 'block';
legend.style.display = 'inline';
- stxhr.get('<%=luci.dispatcher.build_url("admin", "network")%>/diag_' + tool + '/' + addr, null,
+ stxhr.get('<%=luci.dispatcher.build_url("admin", "network")%>/diag_' + tool + protocol + '/' + addr, null,
function(x)
{
if (x.responseText)
<br />
- <div style="width:30%; float:left; text-align:center">
+ <div style="width:30%; float:left">
<input style="width: 50%" type="text" value="openwrt.org" name="ping" />
- <input type="button" value="<%:Ping%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.ping)" />
+ <input type="button" value="<%:Ping%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.ping,this.form.proto)" />
+ <% if has_ping6 then %>
+ <div style="width:100%; margin-top: 10px;">
+ <input type="radio" name="proto" value="" checked="checked" /> <%:IPv4%>
+ <input type="radio" name="proto" value="6" /> <%:IPv6%>
+ </div>
+ <%end%>
</div>
- <div style="width:30%; float:left; text-align:center">
+ <div style="width:33%; float:left">
<input style="width: 50%" type="text" value="openwrt.org" name="traceroute" />
- <input type="button" value="<%:Traceroute%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.traceroute)" />
+ <input type="button" value="<%:Traceroute%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.traceroute,this.form.trproto)" />
+ <% if has_traceroute6 then %>
+ <div style="width:100%; margin-top: 10px;">
+ <input type="radio" name="trproto" value="" checked="checked" /> <%:IPv4%>
+ <input type="radio" name="trproto" value="6" /> <%:IPv6%>
+ </div>
+ <%end%>
</div>
- <div style="width:30%; float:left; text-align:center">
+ <div style="width:33%; float:left;">
<input style="width: 50%" type="text" value="openwrt.org" name="nslookup" />
<input type="button" value="<%:Nslookup%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.nslookup)" />
</div>
<script type="text/javascript">//<![CDATA[
- var tb;
- var ths = document.getElementsByTagName('th');
- for (var i = 0; i < ths.length; i++)
- if (ths[i].className = 'cbi-section-table-cell' && !ths[i].innerHTML)
+ var switches = [ '<%=table.concat(self.switches, "', '")%>' ];
+ XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "network", "switch_status")%>/' + switches.join(','), null,
+ function(x, st)
{
- ths[i].innerHTML = '<%:Port status:%>';
- tb = ths[i].parentNode;
- break;
- }
-
- if (tb)
- {
- XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "network", "switch_status", self.switch)%>', null,
- function(x, st)
+ for (var i = 0; i < switches.length; i++)
{
- if (st && st.length)
+ var ports = st[switches[i]];
+ var th0 = document.getElementById('portstatus-' + switches[i]);
+
+ if (th0 && ports && ports.length)
{
- for (var i = 0; i < st.length; i++)
+ if (!th0.innerHTML)
+ th0.innerHTML = '<%:Port status:%>';
+
+ for (var j = 0; j < ports.length; j++)
{
- var th = tb.childNodes[i+1];
+ var th = th0.parentNode.parentNode.childNodes[j+1];
- if (st[i].link)
+ if (ports[j].link)
{
th.innerHTML = String.format(
'<small><img src="<%=resource%>/icons/port_up.png" />' +
'<br />%d<%:baseT%><br />%s</small>',
- st[i].speed, st[i].duplex
+ ports[j].speed, ports[j].duplex
? '<%:full-duplex%>' : '<%:half-duplex%>'
);
}
}
}
}
- );
- }
+ }
+ );
//]]></script>
http://www.apache.org/licenses/LICENSE-2.0
-$Id$
-
-%>
<%-
var is_reconnecting = false;
+ function nowrap(s) {
+ return s.replace(/ /g, ' ');
+ }
+
function wifi_shutdown(id, toggle) {
var reconnect = (toggle.getAttribute('active') == 'false');
icon, assoclist[j].signal, assoclist[j].noise
);
- tr.insertCell(-1).innerHTML = String.format('%h', iw.ssid ? iw.ssid : '?');
+ tr.insertCell(-1).innerHTML = nowrap(String.format('%h', iw.ssid ? iw.ssid : '?'));
tr.insertCell(-1).innerHTML = assoclist[j].bssid;
tr.insertCell(-1).innerHTML = arptable[assoclist[j].bssid]
? arptable[assoclist[j].bssid] : '?';
- tr.insertCell(-1).innerHTML = String.format('%d <%:dBm%>', assoclist[j].signal);
- tr.insertCell(-1).innerHTML = String.format('%d <%:dBm%>', assoclist[j].noise);
+ tr.insertCell(-1).innerHTML = nowrap(String.format('%d <%:dBm%>', assoclist[j].signal));
+ tr.insertCell(-1).innerHTML = nowrap(String.format('%d <%:dBm%>', assoclist[j].noise));
- tr.insertCell(-1).innerHTML = (assoclist[j].rx_mcs > -1)
+ tr.insertCell(-1).innerHTML = nowrap((assoclist[j].rx_mcs > -1)
? String.format('%.1f <%:Mbit/s%>, MCS %d, %d<%:MHz%>', assoclist[j].rx_rate / 1000, assoclist[j].rx_mcs, assoclist[j].rx_40mhz ? 40 : 20)
: String.format('%.1f <%:Mbit/s%>', assoclist[j].rx_rate / 1000)
- ;
+ );
- tr.insertCell(-1).innerHTML = (assoclist[j].tx_mcs > -1)
+ tr.insertCell(-1).innerHTML = nowrap((assoclist[j].tx_mcs > -1)
? String.format('%.1f <%:Mbit/s%>, MCS %d, %d<%:MHz%>', assoclist[j].tx_rate / 1000, assoclist[j].tx_mcs, assoclist[j].tx_40mhz ? 40 : 20)
: String.format('%.1f <%:Mbit/s%>', assoclist[j].tx_rate / 1000)
- ;
+ );
rowstyle = (rowstyle == 1) ? 2 : 1;
}
http://www.apache.org/licenses/LICENSE-2.0
-$Id$
-
-%>
<%+header%>
for (var i = 0; i < conn.length; i++)
{
var c = conn[i];
+
+ if (c.src == '127.0.0.1' && c.dst == '127.0.0.1')
+ continue;
+
var tr = conn_table.rows[0].parentNode.insertRow(-1);
tr.className = 'cbi-section-table-row cbi-rowstyle-' + (1 + (i % 2));
http://www.apache.org/licenses/LICENSE-2.0
-$Id$
-
-%>
<%
tr.insertCell(-1).innerHTML = assoclist[i].bssid;
tr.insertCell(-1).innerHTML = String.format(
- '<a href="%s">%h</a>',
+ '<a href="%s">%s</a>',
assoclist[i].link,
- assoclist[i].name
+ '%h'.format(assoclist[i].name).nobr()
);
- tr.insertCell(-1).innerHTML = String.format('%d <%:dBm%>', assoclist[i].signal);
- tr.insertCell(-1).innerHTML = String.format('%d <%:dBm%>', assoclist[i].noise);
+ tr.insertCell(-1).innerHTML = String.format('%d <%:dBm%>', assoclist[i].signal).nobr();
+ tr.insertCell(-1).innerHTML = String.format('%d <%:dBm%>', assoclist[i].noise).nobr();
tr.insertCell(-1).innerHTML = (assoclist[i].rx_mcs > -1)
- ? String.format('%.1f <%:Mbit/s%>, MCS %d, %d<%:MHz%>', assoclist[i].rx_rate / 1000, assoclist[i].rx_mcs, assoclist[i].rx_40mhz ? 40 : 20)
- : String.format('%.1f <%:Mbit/s%>', assoclist[i].rx_rate / 1000)
+ ? String.format('%.1f <%:Mbit/s%>, MCS %d, %d<%:MHz%>', assoclist[i].rx_rate / 1000, assoclist[i].rx_mcs, assoclist[i].rx_40mhz ? 40 : 20).nobr()
+ : String.format('%.1f <%:Mbit/s%>', assoclist[i].rx_rate / 1000).nobr()
;
tr.insertCell(-1).innerHTML = (assoclist[i].tx_mcs > -1)
- ? String.format('%.1f <%:Mbit/s%>, MCS %d, %d<%:MHz%>', assoclist[i].tx_rate / 1000, assoclist[i].tx_mcs, assoclist[i].tx_40mhz ? 40 : 20)
- : String.format('%.1f <%:Mbit/s%>', assoclist[i].tx_rate / 1000)
+ ? String.format('%.1f <%:Mbit/s%>, MCS %d, %d<%:MHz%>', assoclist[i].tx_rate / 1000, assoclist[i].tx_mcs, assoclist[i].tx_40mhz ? 40 : 20).nobr()
+ : String.format('%.1f <%:Mbit/s%>', assoclist[i].tx_rate / 1000).nobr()
;
}
http://www.apache.org/licenses/LICENSE-2.0
-$Id$
-
-%>
<%+header%>
label_01_cur.innerHTML = (data_01[data_01.length-1] / 100).toFixed(2);
label_05_cur.innerHTML = (data_05[data_05.length-1] / 100).toFixed(2);
- label_15_cur.innerHTML = (data_01[data_15.length-1] / 100).toFixed(2);
+ label_15_cur.innerHTML = (data_15[data_15.length-1] / 100).toFixed(2);
label_01_avg.innerHTML = (data_01_avg / 100).toFixed(2);
label_05_avg.innerHTML = (data_05_avg / 100).toFixed(2);
label_01_peak.innerHTML = (data_01_peak / 100).toFixed(2);
label_05_peak.innerHTML = (data_05_peak / 100).toFixed(2);
label_15_peak.innerHTML = (data_15_peak / 100).toFixed(2);
-
- /* reset timer */
- window.setTimeout(update_graph, 1000);
}
);
}
<table style="width:100%; table-layout:fixed" cellspacing="5">
<tr>
- <td style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid #ff0000"><%:1 Minute Load:%></strong></td>
+ <td style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid #ff0000; white-space:nowrap"><%:1 Minute Load:%></strong></td>
<td id="lb_load01_cur">0</td>
<td style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></td>
<td id="lb_load01_peak">0</td>
</tr>
<tr>
- <td style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid #ff6600"><%:5 Minute Load:%></strong></td>
+ <td style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid #ff6600; white-space:nowrap"><%:5 Minute Load:%></strong></td>
<td id="lb_load05_cur">0</td>
<td style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></td>
<td id="lb_load05_peak">0</td>
</tr>
<tr>
- <td style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid #ffaa00"><%:15 Minute Load:%></strong></td>
+ <td style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid #ffaa00; white-space:nowrap"><%:15 Minute Load:%></strong></td>
<td id="lb_load15_cur">0</td>
<td style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></td>
http://www.apache.org/licenses/LICENSE-2.0
-$Id$
-
-%>
<%-
label_50_2.firstChild.data = rate_label(1.1 * 0.50 * data_max_2);
label_75_2.firstChild.data = rate_label(1.1 * 0.75 * data_max_2);
- label_rssi_cur.innerHTML = wireless_label(data_rssi[data_rssi.length-1], data_noise[data_noise.length-1]);
- label_noise_cur.innerHTML = wireless_label(data_noise[data_noise.length-1]);
+ label_rssi_cur.innerHTML = wireless_label(data_rssi[data_rssi.length-1], data_noise[data_noise.length-1]).nobr();
+ label_noise_cur.innerHTML = wireless_label(data_noise[data_noise.length-1]).nobr();
- label_rssi_avg.innerHTML = wireless_label(data_rssi_avg, data_noise_avg);
- label_noise_avg.innerHTML = wireless_label(data_noise_avg);
+ label_rssi_avg.innerHTML = wireless_label(data_rssi_avg, data_noise_avg).nobr();
+ label_noise_avg.innerHTML = wireless_label(data_noise_avg).nobr();
- label_rssi_peak.innerHTML = wireless_label(data_rssi_peak, data_noise_peak);
- label_noise_peak.innerHTML = wireless_label(data_noise_peak);
+ label_rssi_peak.innerHTML = wireless_label(data_rssi_peak, data_noise_peak).nobr();
+ label_noise_peak.innerHTML = wireless_label(data_noise_peak).nobr();
label_rate_cur.innerHTML = rate_label(data_rate[data_rate.length-1]);
label_rate_avg.innerHTML = rate_label(data_rate_avg);
http://www.apache.org/licenses/LICENSE-2.0
-$Id$
-
-%>
<%-
local bit = require "bit"
local filter = { }
+local opkg_list = luci.model.ipkg.list_all
local querypat
if query and #query > 0 then
- querypat = "*%s*" % query
+ querypat = '*%s*' % query
+ opkg_list = luci.model.ipkg.find
end
local letterpat
if letter == 35 then
- letterpat = "[^a-zA-Z]*"
+ letterpat = "[^a-z]*"
else
- letterpat = string.char(91, letter, letter + 32, 93, 42) -- '[' 'A' 'a' ']' '*'
+ letterpat = string.char(letter, 42) -- 'A' '*'
end
-%>
<th class="cbi-section-table-cell" style="text-align:left"><%:Version%></th>
<th class="cbi-section-table-cell" style="text-align:left"><%:Description%></th>
</tr>
- <% local empty = true; luci.model.ipkg.list_all(querypat or letterpat, function(n, v, d) if filter[n] then return end; empty = false %>
+ <% local empty = true; opkg_list(querypat or letterpat, function(n, v, d) if filter[n] then return end; empty = false %>
<tr class="cbi-section-table-row cbi-rowstyle-<%=rowstyle()%>">
<td style="text-align:left; width:10%"><a onclick="return window.confirm('<%:Install%> "<%=luci.util.pcdata(n)%>" ?')" href="<%=REQUEST_URI%>?submit=1&install=<%=luci.util.pcdata(n)%>"><%:Install%></a></td>
<td style="text-align:left"><%=luci.util.pcdata(n)%></td>
if (strstr(line, "TIME_WAIT"))
continue;
+ if (strstr(line, "src=127.0.0.1 ") &&
+ strstr(line, "dst=127.0.0.1 "))
+ continue;
+
if (sscanf(line, "%*s %*d %s", ifname) || sscanf(line, "%s %*d", ifname))
{
if (!strcmp(ifname, "tcp"))
ltn12.pump.all(json.Encoder(root):source(), http.write)
end
-function public_status_json()
+function public_status_json(devs)
local twa = require "luci.tools.webadmin"
local sys = require "luci.sys"
local i18n = require "luci.i18n"
- local path = luci.dispatcher.context.requestpath
local rv = { }
local dev
- for dev in path[#path]:gmatch("[%w%.%-]+") do
+ for dev in devs:gmatch("[%w%.%-]+") do
local j = { id = dev }
local iw = luci.sys.wifi.getiwinfo(dev)
if iw then
local util = require "luci.util"
local uci = require "luci.model.uci".cursor()
local profiles = "/etc/config/profile_"
-luci.i18n.loadc("freifunk")
m = Map("freifunk", translate ("Community"))
c = m:section(NamedSection, "community", "public", nil, translate("These are the basic settings for your local wireless community. These settings define the default values for the wizard and DO NOT affect the actual configuration of the router."))
http://www.apache.org/licenses/LICENSE-2.0
]]--
-luci.i18n.loadc("freifunk")
-
m = Map("freifunk", translate("Contact"), translate("Please fill in your contact details below."))
c = m:section(NamedSection, "contact", "public", "")
local uci = require "luci.model.uci".cursor()
local ipkg = require "luci.model.ipkg"
local community = uci:get("freifunk", "community", "name")
-luci.i18n.loadc("freifunk")
if community == nil then
luci.http.redirect(luci.dispatcher.build_url("admin", "freifunk", "profile_error"))
local fs = require "nixio.fs"
local uci = require "luci.model.uci".cursor()
local community = uci:get("freifunk", "community", "name")
-luci.i18n.loadc("freifunk")
if community == nil then
luci.http.redirect(luci.dispatcher.build_url("admin", "freifunk", "profile_error"))
local fs = require "nixio.fs"
local file = "/www/luci-static/index_user.html"
-luci.i18n.loadc("freifunk")
m = Map("freifunk", translate("Edit index page"), translate("You can display additional content on the public index page by inserting valid XHTML in the form below.<br />Headlines should be enclosed between <h2> and </h2>."))
<% if has_latlon then %>
<iframe style="width:100%; height:640px; border:none" src="<%=luci.dispatcher.build_url("freifunk/map/content")%>"></iframe>
+ <h3><%:Legend%>:</h3>
+ <ul>
+ <li><strong><span style="color:#00cc00"><%:Green%></span></strong>:<%:Very good (ETX < 2)%></li>
+ <li><strong><span style="color:#ffcb05"><%:Yellow%></span></strong>:<%:Good (2 < ETX < 4)%></li>
+ <li><strong><span style="color:#ff6600"><%:Orange%></span></strong>:<%:Still usable (4 < ETX < 10)%></li>
+ <li><strong><span style="color:#bb3333"><%:Red%></span></strong>:<%:Bad (ETX > 10)%></li>
+ </ul>
+
<% else %>
<h2><%:Map Error%></h2>
<p><%_The OLSRd service is not configured to capture position data from the network.<br />
Please make sure that the nameservice plugin is properly configured and that the <em>latlon_file</em> option is enabled.%></p>
<% end %>
-
<%+footer%>
+
if (null != alias[fromip]) fromip = alias[fromip];
if (null != points[fromip] && null != points[toip])
{
- var w = 1;
- if (etx < 4) w++;
- if (etx < 2) w++;
+ var color;
+ var red = 240;
+ var green = 0;
+ var blue = 0;
+ var w = 1
+
+ if (etx < 100) {red=252;green=102;blue=0;w=2};
+ if (etx < 10) {red=255;green=203;blue=5;w=3};
+ if (etx < 4) {red=240;green=255;blue=0;w=4};
+ if (etx < 2) {red=0;green=204;blue=0;w=5};
+ if (etx < 1) {red=80;green=0;blue=0;w=1};
+
map.AddPolyline(new VEPolyline('id'+lineid, [points[fromip], points[toip]],
- new VEColor(102,Math.floor(lq*255.0),Math.floor(nlq*255.0),1.0), w));
+ new VEColor(red, green, blue, 0.5), w));
+
+
}
else
{
mail = contact.mail
end
-luci.i18n.loadc("freifunk")
%>
<h2><%:Freifunk Overview%></h2>
msgid "Allowed range is 1 to 65535"
msgstr "El rang permès és entre 1 i 65535"
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr "Es crearà una xarxa addicional si deixes això sense marcar."
msgid "Force"
msgstr "Força"
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
-msgid "Waiting for router..."
-msgstr "Esperant un encaminador..."
-
msgid "Warning"
msgstr "Alerta"
msgid "« Back"
msgstr "« Endarrere"
+#~ msgid "Waiting for router..."
+#~ msgstr "Esperant un encaminador..."
+
#~ msgid "Active Leases"
#~ msgstr "Leases Actius"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
msgid "Enable"
msgstr ""
+msgid "Event interface"
+msgstr ""
+
msgid "Force update every"
msgstr "Força actualització cada"
msgid "Network"
msgstr ""
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+
msgid "Password"
msgstr ""
msgid "network"
msgstr ""
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
msgid "Scanning Configuration"
msgstr ""
+msgid "Scans for devices on specified networks."
+msgstr ""
+
msgid "Sleep Between Requests"
msgstr ""
msgid "check other networks"
msgstr ""
-
-msgid "Scans for devices on specified networks."
-msgstr ""
msgid "BSSID"
msgstr ""
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr ""
msgid "Edit index page"
msgstr ""
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr ""
msgid "Go to"
msgstr ""
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr "Hola i benvingut a la xarxa de"
msgid "Hostname"
msgstr "Nom de màquina"
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr ""
msgid "Latitude"
msgstr ""
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr ""
msgid "Operator"
msgstr ""
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr ""
msgid "Realname"
msgstr "Nom real"
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr ""
msgid "Status"
msgstr ""
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr ""
msgid "Verify downloaded images"
msgstr ""
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr ""
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr ""
msgid "Enable DHCP"
msgstr ""
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr ""
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr ""
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr ""
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr ""
"Select this to allow others to use your connection to access the internet."
msgstr ""
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr ""
msgid "The given IP address is not inside the mesh network range"
msgstr ""
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
"PO-Revision-Date: 2009-05-27 11:15+0200\n"
"Last-Translator: Eduard Duran <iopahopa@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgstr "Configuració Collectd"
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr "Ús de disc"
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr "Mostra l'hora"
msgid "Incoming interface"
msgstr "Interfície entrant"
-msgid "Installed network plugins:"
-msgstr ""
-
-msgid "Installed output plugins:"
-msgstr ""
-
msgid "Interface Plugin Configuration"
msgstr "Configuració de connector d'interfície"
msgid "Network plugins"
msgstr "Connectors de xarxa"
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-
msgid "Network protocol"
msgstr "Protocol de xarxa"
msgid "Output plugins"
msgstr "Connectors de sortida"
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-
msgid "Ping"
msgstr "Ping"
msgid "System plugins"
msgstr "Connectors de sistema"
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-
msgid "TCP Connections"
msgstr "Connexions TCP"
msgid "Table"
msgstr "Taula"
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"El connector unixsock crea un socket Unix que es pot fer servir per llegir "
"dades recollides d'una instància collectd."
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-"El connector Wireless recull estadístiques sobre la potència del senyal "
-"sense fils, el soroll i la qualitat."
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr "Intenta resoldre el nom de màquina (fqdn)"
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr "Sock Unix"
msgid "Wireless"
msgstr "Wireless"
-msgid "Wireless Plugin Configuration"
-msgstr "Configuració del connector Wireless"
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr ""
msgid "server interfaces"
msgstr "interfícies de servidor"
+
+#~ msgid ""
+#~ "The wireless plugin collects statistics about wireless signal strength, "
+#~ "noise and quality."
+#~ msgstr ""
+#~ "El connector Wireless recull estadístiques sobre la potència del senyal "
+#~ "sense fils, el soroll i la qualitat."
+
+#~ msgid "Wireless Plugin Configuration"
+#~ msgstr "Configuració del connector Wireless"
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2012-08-26 23:10+0200\n"
-"Last-Translator: jhenner <jhenner@redhat.com>\n"
+"PO-Revision-Date: 2012-11-04 22:51+0200\n"
+"Last-Translator: luki555 <luki555@centrum.sk>\n"
"Language-Team: none\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
msgid "Allowed range is 1 to 65535"
msgstr "Hodnota musí ležet v intervalu 1 až 65535"
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr "Pokud není zaškrtnuto, bude vytvořena dodatečná síť"
msgid "Force"
msgstr "Vynutit"
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr "Vynutit CCMP (AES)"
"samp>)"
msgstr ""
"Souborový systém, který byl použit pro formátování paměti (<abbr title="
-"\"například\">napři.</abbr> <samp><abbr title=\"Souborový systém Ext3"
-"\">ext3</abbr></samp>)"
+"\"například\">napři.</abbr> <samp><abbr title=\"Souborový systém "
+"Ext3\">ext3</abbr></samp>)"
msgid ""
"The flash image was uploaded. Below is the checksum and file size listed, "
msgid "Waiting for command to complete..."
msgstr ""
-msgid "Waiting for router..."
-msgstr "Čekám na router.."
-
msgid "Warning"
msgstr "Varování"
msgid "« Back"
msgstr "« Zpět"
+#~ msgid "Waiting for router..."
+#~ msgstr "Čekám na router.."
+
#~ msgid "Enable builtin NTP server"
#~ msgstr "Povolit zabudovaný NTP server"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
msgid "Enable"
msgstr "Povolit"
+msgid "Event interface"
+msgstr ""
+
msgid "Force update every"
msgstr "Vynutit aktualizaci každých"
msgid "Network"
msgstr "Síť"
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+
msgid "Password"
msgstr "Heslo"
msgid "network"
msgstr ""
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
msgid "Scanning Configuration"
msgstr ""
+msgid "Scans for devices on specified networks."
+msgstr ""
+
msgid "Sleep Between Requests"
msgstr "Uspat mezi jednotlivými požadavky"
msgid "check other networks"
msgstr "zkontrolovat ostatní sítě"
-
-msgid "Scans for devices on specified networks."
-msgstr ""
msgid "BSSID"
msgstr "BSSID"
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr "Základní nastavení"
msgid "Edit index page"
msgstr ""
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr "Chyba"
msgid "Go to"
msgstr "Jít na"
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr "Dobrý den, vítejte v síti"
msgid "Hostname"
msgstr ""
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr ""
msgid "Latitude"
msgstr "Zeměpisná šířka"
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr ""
msgid "Operator"
msgstr "Operátor"
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr "Přehled"
msgid "Realname"
msgstr "Skutečné jméno"
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr "SSID"
msgid "Status"
msgstr "Stav"
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr "Systém"
msgid "Verify downloaded images"
msgstr ""
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr ""
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr ""
msgid "Enable DHCP"
msgstr ""
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr ""
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr ""
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr ""
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr ""
"Select this to allow others to use your connection to access the internet."
msgstr ""
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr ""
msgid "The given IP address is not inside the mesh network range"
msgstr ""
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
"Project-Id-Version: PACKAGE VERSION\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgstr "Nastavení Collectd"
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr "Využití disku"
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr ""
msgid "Incoming interface"
msgstr "Příchozí rozhraní"
-msgid "Installed network plugins:"
-msgstr "Instalované síťové pluginy:"
-
-msgid "Installed output plugins:"
-msgstr "Instalované výstupní pluginy:"
-
msgid "Interface Plugin Configuration"
msgstr "Nastavení Interface pluginu"
msgid "Network plugins"
msgstr "Síťové pluginy"
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-"Síťové pluginy jsou používány pro shromažďování informací o otevřených tcp "
-"spojeních, provozu na rozhraní, pravidel iptables atd."
-
msgid "Network protocol"
msgstr "Síťový protokol"
msgid "Output plugins"
msgstr "Výstupní pluginy"
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-"Výstupní pluginy poskytují různé možnosti ukládání sesbíraných dat. Plugin "
-"je možné v jeden okamžik povolit vícekrát , například pro ukládání dat do "
-"rrd databází a předávání dat po síti jiným instancím daemonu collectd."
-
msgid "Ping"
msgstr "Ping"
msgid "System plugins"
msgstr "Systémové pluginy"
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-"Systémové pluginy, shromažďující hodnoty o systémovém stavu a zdrojích, "
-"používaných zařízením:"
-
msgid "TCP Connections"
msgstr "TCP spojení"
msgid "Table"
msgstr ""
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"Plugin Unixsock vytváří unixový socket, které může být využit pro čtení dat "
"z běžící instance collectd."
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-"Plugin Wireless shromažďuje statistiky o síle, šumu a kvalitě bezdrátového "
-"signálu."
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr ""
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr "UnixSock"
msgid "Wireless"
msgstr "Wireless"
-msgid "Wireless Plugin Configuration"
-msgstr "Nastavení pluginu Wireless"
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr "Nastavení pluginu Wireless Iwinfo"
msgid "server interfaces"
msgstr "rozhraní serveru"
+
+#~ msgid "Installed network plugins:"
+#~ msgstr "Instalované síťové pluginy:"
+
+#~ msgid "Installed output plugins:"
+#~ msgstr "Instalované výstupní pluginy:"
+
+#~ msgid ""
+#~ "Network plugins are used to collect information about open tcp "
+#~ "connections, interface traffic, iptables rules etc."
+#~ msgstr ""
+#~ "Síťové pluginy jsou používány pro shromažďování informací o otevřených tcp "
+#~ "spojeních, provozu na rozhraní, pravidel iptables atd."
+
+#~ msgid ""
+#~ "Output plugins provide different possibilities to store collected data. "
+#~ "It is possible to enable multiple plugin at one, for example to store "
+#~ "collected data in rrd databases and to transmit the data over the network "
+#~ "to other collectd instances."
+#~ msgstr ""
+#~ "Výstupní pluginy poskytují různé možnosti ukládání sesbíraných dat. Plugin "
+#~ "je možné v jeden okamžik povolit vícekrát , například pro ukládání dat do "
+#~ "rrd databází a předávání dat po síti jiným instancím daemonu collectd."
+
+#~ msgid ""
+#~ "System plugins collecting values about system state and ressource usage "
+#~ "on the device.:"
+#~ msgstr ""
+#~ "Systémové pluginy, shromažďující hodnoty o systémovém stavu a zdrojích, "
+#~ "používaných zařízením:"
+
+#~ msgid ""
+#~ "The wireless plugin collects statistics about wireless signal strength, "
+#~ "noise and quality."
+#~ msgstr ""
+#~ "Plugin Wireless shromažďuje statistiky o síle, šumu a kvalitě bezdrátového "
+#~ "signálu."
+
+#~ msgid "Wireless Plugin Configuration"
+#~ msgstr "Nastavení pluginu Wireless"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-26 17:57+0200\n"
-"PO-Revision-Date: 2012-09-29 11:11+0200\n"
+"PO-Revision-Date: 2012-11-21 20:47+0200\n"
"Last-Translator: Jo-Philipp <xm@subsignal.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: de\n"
msgid "Allowed range is 1 to 65535"
msgstr "Erlaubter Bereich 1 bis 65535"
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+"Immer 40MHz Kanalbreite nutzen, auch wenn der sekundäre Kanal andere "
+"Netzwerke überschneidet. Die Benutzung dieser Option verletzt den IEEE "
+"802.11n-2009 Standard!"
+
msgid "An additional network will be created if you leave this unchecked."
msgstr ""
"Erzeugt ein zusätzliches Netzwerk wenn diese Option nicht ausgewählt ist"
msgid "Force"
msgstr "Start erzwingen"
+msgid "Force 40MHz mode"
+msgstr "40MHz-Modus erzwingen"
+
msgid "Force CCMP (AES)"
msgstr "CCMP (AES) erzwingen"
msgid "Waiting for command to complete..."
msgstr "Der Befehl wird ausgeführt..."
-msgid "Waiting for router..."
-msgstr "Warte auf den Router..."
-
msgid "Warning"
msgstr "Warnung"
msgid "« Back"
msgstr "« Zurück"
+#~ msgid "Waiting for router..."
+#~ msgstr "Warte auf den Router..."
+
#~ msgid "Enable builtin NTP server"
#~ msgstr "NTP Server aktivieren"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2012-11-21 18:45+0200\n"
+"Last-Translator: Jo-Philipp <xm@subsignal.org>\n"
+"Language-Team: none\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 2.0.6\n"
+
+msgid "A short textual description of the configured command"
+msgstr "Kurze Beschreibung des abgespeicherten Kommandos"
+
+msgid "Access command with"
+msgstr "Kommando aufrufen mit"
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+"Ausführen des Kommandos und Herunterladen der Ausgabe ohne vorherige "
+"Authentifizierung ermöglichen"
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr "Erlaube dem Nutzer zusätzliche Kommandozeilenargumente zu übergeben"
+
+msgid "Arguments:"
+msgstr "Argumente:"
+
+msgid "Binary data not displayed, download instead."
+msgstr "Binärdaten ausgeblendet, laden Sie die Ausgaben stattdessen herunter"
+
+msgid "Code:"
+msgstr "Rückgabewert:"
+
+msgid "Collecting data..."
+msgstr "Sammle Daten..."
+
+msgid "Command"
+msgstr "Kommando"
+
+msgid "Command failed"
+msgstr "Kommando fehlgeschlagen"
+
+msgid "Command line to execute"
+msgstr "Auszuführende Kommandozeile"
+
+msgid "Command successful"
+msgstr "Kommando erfolgreich"
+
+msgid "Command:"
+msgstr "Kommando:"
+
+msgid "Configure"
+msgstr "Konfigurieren"
+
+msgid "Custom Commands"
+msgstr "Benutzerdefinierte Kommandos"
+
+msgid "Custom arguments"
+msgstr "Benutzerdefinierte Argumente"
+
+msgid "Dashboard"
+msgstr "Übersicht"
+
+msgid "Description"
+msgstr "Beschreibung"
+
+msgid "Download"
+msgstr "Herunterladen"
+
+msgid "Failed to execute command!"
+msgstr "Kommando konnte nicht ausgeführt werden!"
+
+msgid "Link"
+msgstr "Link"
+
+msgid "Loading"
+msgstr "Lade"
+
+msgid "Public access"
+msgstr "Öffentlicher Zugriff"
+
+msgid "Run"
+msgstr "Ausführen"
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+"Diese Seite ermöglicht die Konfiguration eigener Shell-Kommandos um diese "
+"einfach über das Webinterface ausführen zu können."
+
+msgid "Waiting for command to complete..."
+msgstr "Warte auf die Ausführung des Kommandos..."
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-02 13:44+0100\n"
-"PO-Revision-Date: 2011-05-13 09:09+0200\n"
+"PO-Revision-Date: 2012-11-21 20:48+0200\n"
"Last-Translator: Jo-Philipp <xm@subsignal.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: de\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Check for changed IP every"
msgstr "Teste auf neue IP alle"
msgid "Enable"
msgstr "Aktivieren"
+msgid "Event interface"
+msgstr "Ereignis-Schnittstelle"
+
msgid "Force update every"
msgstr "Erzwinge Aktualisierung alle"
msgid "Network"
msgstr "Netzwerk"
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+"Spezifiziert die durch den DDNS-Prozess überwachte Netzwerkschnittstelle"
+
msgid "Password"
msgstr "Passwort"
msgid "network"
msgstr "Netzwerk"
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
"Override the information returned by the MAC to Device Info Script (mac-to-"
"devinfo) for a specified range of MAC Addresses"
msgstr ""
-"Überschreibt die Informationen die durch das MAC-zu-Gerätename-Programm "
-"(mac-to-devinfo) für einen bestimmten MAC-Adressbereich zurückgegeben werden"
+"Überschreibt die Informationen die durch das MAC-zu-Gerätename-Programm (mac-"
+"to-devinfo) für einen bestimmten MAC-Adressbereich zurückgegeben werden"
msgid "Perform Scans (this can take a few minutes)"
msgstr "Führe Suche aus (Dies kann einige Minuten dauern)"
msgid "Scanning Configuration"
msgstr "Such-Konfiguration"
+msgid "Scans for devices on specified networks."
+msgstr "Scans for devices on specified networks."
+
msgid "Sleep Between Requests"
msgstr "Wartezeit zwischen den Versuchen"
msgid "check other networks"
msgstr "Prüfe andere Netzwerke"
-
-msgid "Scans for devices on specified networks."
-msgstr "Scans for devices on specified networks."
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: \n"
-"Last-Translator: Manuel Munz <freifunk@somakoma.de>\n"
+"PO-Revision-Date: 2012-11-21 20:53+0200\n"
+"Last-Translator: Jo-Philipp <xm@subsignal.org>\n"
"Language-Team: \n"
-"Language: \n"
+"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 2.0.6\n"
msgid ""
"All traffic from interfaces belonging to these zones will be sent via a "
msgstr "Policy Routing aktivieren"
msgid "Fallback to mesh"
-msgstr ""
+msgstr "Auf Mesh zurückfallen"
msgid "Firewall zones"
msgstr "Firewallzonen"
"If your own gateway is not available then fallback to the mesh default "
"gateway."
msgstr ""
+"Wenn das eigene lokale Gateway nicht verfügbar ist, dann nutze das aktuelle "
+"Mesh-Default-Gateway."
msgid "Policy Routing"
msgstr "Policy Routing"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-12 17:58+0200\n"
-"PO-Revision-Date: 2012-08-10 01:55+0200\n"
+"PO-Revision-Date: 2012-11-21 20:52+0200\n"
"Last-Translator: Jo-Philipp <xm@subsignal.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: de\n"
msgid "BSSID"
msgstr "BSSID"
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr "Grundeinstellungen"
msgid "Edit index page"
msgstr "Indexseite bearbeiten"
+msgid "Enable IPv6"
+msgstr "IPv6 aktivieren"
+
msgid "Error"
msgstr "Fehler"
msgid "Go to"
msgstr "Gehe zu"
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr "Hallo und willkommen im Netz von"
msgid "Hostname"
msgstr "Hostname"
+msgid "IPv6 Config"
+msgstr "IPv6 Konfiguration"
+
+msgid "IPv6 Prefix"
+msgstr "IPv6 Prefix"
+
+msgid "IPv6 network in CIDR notation."
+msgstr "IPv6 Subnetz in CIDR-Notation"
+
msgid "If selected then the default content element is not shown."
msgstr ""
"Wird diese Option gewählt dann wird das standardmässige Inhaltselement nicht "
msgid "Latitude"
msgstr "Breite"
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr "Load"
msgid "Operator"
msgstr "Betreiber"
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr "Übersicht"
msgid "Realname"
msgstr "Name"
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr "SSID"
msgid "Status"
msgstr "Status"
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr "System"
msgid "Verify downloaded images"
msgstr "Heruntergeladene Images verifizieren"
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr "WLAN Übersicht"
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 15:36+0200\n"
-"PO-Revision-Date: 2011-06-26 15:48+0200\n"
+"PO-Revision-Date: 2012-11-21 20:51+0200\n"
"Last-Translator: Jo-Philipp <xm@subsignal.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: de\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
+
+msgid "Activate or deactivate IPv6 config globally."
+msgstr "IPv6 global aktivieren oder deaktivieren"
msgid "Channel"
msgstr "Kanal"
msgid "Enable DHCP"
msgstr "DHCP aktivieren"
+msgid "Enable RA"
+msgstr "RAs aktivieren"
+
+msgid "Enabled"
+msgstr "Aktiviert"
+
msgid "General Settings"
msgstr "Allgemeine Einstellungen"
+msgid "IPv6 Settings"
+msgstr "IPv6 Einstellungen"
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr "Mesh-IP-Adresse"
+msgid "Mesh IPv6 address"
+msgstr "Mesh-IPv6-Adresse"
+
msgid "Mesh Wizard"
msgstr "Mesh-Assistent"
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+"Hinweis: Dies konfiguriert die Schnittstelle für den Mesh-Betrieb, d.h. sie "
+"wird zur Freifunk-Zone hinzugefügt und OLSR eingerichtet."
+
msgid "Protect LAN"
msgstr "LAN schützen"
"Diese Option aktivieren um anderen den Zugriff auf die lokale "
"Internetverbindung zu gestatten"
+msgid "Send router advertisements on this device."
+msgstr "Router-Advertisements auf dieser Schnittstelle senden"
+
msgid "Share your internet connection"
msgstr "Internetverbindung freigeben"
msgid "The given IP address is not inside the mesh network range"
msgstr "Die angegebene IP-Adresse ist nicht Teil des Mesh-Adressbereiches"
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+"Diese ist eine eindeutige IPv6-Adresse in CIDR-Notation (z.B. "
+"2001:1:2:3::1/64) welche bei der lokalen Community registriert werden muss."
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
-#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-26 17:57+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2012-11-28 10:44+0200\n"
+"Last-Translator: dunkelschunkel <dunkelschunkel@googlemail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 1.1.1\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 2.0.6\n"
+# Das wäre der Pin für Clock, also Takt, eventuell kann das auch rein. Halte obige Variante aber für hinreichend
msgid "CLK_pin"
-msgstr ""
+msgstr "CLK-Pin"
msgid "CS_pin"
-msgstr ""
+msgstr "CS-Pin"
msgid "DI_pin"
-msgstr ""
+msgstr "DI-Pin"
msgid "DO_pin"
-msgstr ""
+msgstr "DO-Pin"
msgid "Enable"
-msgstr ""
+msgstr "Aktivieren"
msgid "MMC/SD driver configuration"
-msgstr ""
+msgstr "MMC/SD Treibereinstellungen"
msgid "Mode"
-msgstr ""
+msgstr "Modus"
msgid "Name"
-msgstr ""
+msgstr "Name"
msgid "Settings"
msgstr "Einstellungen"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2011-10-18 12:28+0200\n"
-"Last-Translator: Manuel <freifunk@somakoma.de>\n"
+"PO-Revision-Date: 2012-11-21 20:54+0200\n"
+"Last-Translator: Jo-Philipp <xm@subsignal.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Active MID announcements"
msgstr "Aktive MID-Ankündigungen"
msgid "Hostname"
msgstr "Hostname"
+msgid ""
+"Hosts in a OLSR routed network can announce connecitivity to external "
+"networks using HNA messages."
+msgstr ""
+"Rechner in einem OLSR-geroutetem Netzwerk können Konnektivität zu externen "
+"Netzwerken mittels HNA-Nachrichten ankündigen."
+
msgid ""
"Hysteresis for link sensing (only for hopcount metric). Hysteresis adds more "
"robustness to the link sensing but delays neighbor registration. Defaults is "
msgid "Known OLSR routes"
msgstr "Bekannte OLSR-Routen"
+msgid "LQ"
+msgstr "LQ"
+
msgid "LQ aging"
msgstr "LQ-Alterung"
msgid "NAT threshold"
msgstr "NAT-Schwellenwert"
+msgid "NLQ"
+msgstr "NLQ"
+
msgid "Neighbors"
msgstr "Nachbarn"
msgid "Willingness"
msgstr "Bereitschaft"
-
-#~ msgid ""
-#~ "Link quality algorithm (only for lq level 2).<br /><b>etx_float</b>: "
-#~ "floating point ETX with exponential aging<br /><b>etx_fpm</b> : same as "
-#~ "etx_float, but with integer arithmetic<br /><b>etx_ff</b> : ETX freifunk, "
-#~ "an etx variant which use all OLSR traffic (instead of only hellos) for "
-#~ "ETX calculation<br /><b>etx_ffeth</b>: incompatible variant of etx_ff "
-#~ "that allows ethernet links with ETX 0.1.<br />Defaults to \"etx_ff\""
-#~ msgstr ""
-#~ "Algorithmus zur Bestimmung der Linkqualität, kann nur zusammen mit "
-#~ "Linkquality Level 2 verwendet werden.<br /><b>etx_float</b>: floating "
-#~ "point ETX mit exponentieller Alterung<br /><b>etx_fpm</b> : wie "
-#~ "etx_float, rechnet aber mit integeren Zahlen.<br /><b>etx_ff</b> : ETX "
-#~ "freifunk, eine ETX-Variante die den kompletten OLSR Traffic (statt nur "
-#~ "Hellos) zur ETX-Berechnung verwendet.<br /><b>etx_ffeth</b>: Inkompatible "
-#~ "Variante von etx_ff, die ETX 0.1 für kabelgebundene Links erlaubt.<br /"
-#~ ">Der Defaultwert ist \"etx_ff\"."
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-26 17:57+0200\n"
-"PO-Revision-Date: 2012-03-22 14:44+0200\n"
-"Last-Translator: Anonymous Pootle User\n"
+"PO-Revision-Date: 2012-11-28 10:52+0200\n"
+"Last-Translator: dunkelschunkel <dunkelschunkel@googlemail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "%s"
-msgstr ""
+msgstr "%s"
msgid "'net30', 'p2p', or 'subnet'"
msgstr "Topologietyp"
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2012-09-02 21:44+0200\n"
+"PO-Revision-Date: 2012-12-01 15:14+0200\n"
"Last-Translator: Manuel <freifunk@somakoma.de>\n"
"Language-Team: \n"
"Language: de\n"
"Uploadgeschwindigkeit von Clients auf diesen Wert limitieren (kbyte/s) "
msgid "Contact"
-msgstr "Kontaktiere"
+msgstr "Kontakt"
msgid "Decline"
msgstr "Ablehnen"
msgstr "Collectd Einstellungen"
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr "Plattenauslastung"
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr "Zeitspanne zeigen »"
msgid "Incoming interface"
msgstr "eingehende Schnittstelle"
-msgid "Installed network plugins:"
-msgstr "Installierte Netzwerk-Plugins:"
-
-msgid "Installed output plugins:"
-msgstr "Installierte Ausgabe-Plugins:"
-
msgid "Interface Plugin Configuration"
msgstr "Interface Plugin Konfiguration"
msgid "Network plugins"
msgstr "Netzwerkplugins"
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-"Netzwerkplugins werden benutzt um Informationen über offene TCP-"
-"Verbindungen, Datenverkehr/Volumen, Iptables/Firewall Regeln etc. zu sammeln"
-
msgid "Network protocol"
msgstr "Netzwerkprotokoll"
msgid "Output plugins"
msgstr "Ausgabeplugins"
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-"Ausgabeplugins ermöglichen es gesammelte Daten zu speichern. Mehrere Plugins "
-"können gleichzeitig aktiviert werden, z.B. um Daten in RRD-Datenbanken zu "
-"speichern und gleichzeitig über das Netzwerk an andere Collectd-Instanzen zu "
-"versenden."
-
msgid "Ping"
msgstr "Ping"
msgid "System plugins"
msgstr "Systemplugins"
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-"Systemplugins sammeln Daten zum Systemzustand und den Ressoursenbedarf des "
-"Gerätes"
-
msgid "TCP Connections"
msgstr "TCP-Verbindungen"
msgid "Table"
msgstr "Tabelle"
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"Das Unixsock-Plugin erstellt einen Unix-Socket über welchen gesammelte Werte "
"aus der laufenden Collectd-Instanz ausgelesen werden können."
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-"Das Wireless-Plugin sammelt Statistiken über die drahtlose Signalstärke, den "
-"Störpegel und die Signalqualität."
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr "automatisch vollen Hostnamen herausfinden"
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr "UnixSock"
msgid "Wireless"
msgstr "Drahtlos"
-msgid "Wireless Plugin Configuration"
-msgstr "Wireless Plugin Konfiguration"
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr "Wireless-iwinfo Plugin Konfiguration"
msgid "server interfaces"
msgstr "Server-Schnittstellen"
+
+#~ msgid "Installed network plugins:"
+#~ msgstr "Installierte Netzwerk-Plugins:"
+
+#~ msgid "Installed output plugins:"
+#~ msgstr "Installierte Ausgabe-Plugins:"
+
+#~ msgid ""
+#~ "Network plugins are used to collect information about open tcp "
+#~ "connections, interface traffic, iptables rules etc."
+#~ msgstr ""
+#~ "Netzwerkplugins werden benutzt um Informationen über offene TCP-"
+#~ "Verbindungen, Datenverkehr/Volumen, Iptables/Firewall Regeln etc. zu sammeln"
+
+#~ msgid ""
+#~ "Output plugins provide different possibilities to store collected data. "
+#~ "It is possible to enable multiple plugin at one, for example to store "
+#~ "collected data in rrd databases and to transmit the data over the network "
+#~ "to other collectd instances."
+#~ msgstr ""
+#~ "Ausgabeplugins ermöglichen es gesammelte Daten zu speichern. Mehrere Plugins "
+#~ "können gleichzeitig aktiviert werden, z.B. um Daten in RRD-Datenbanken zu "
+#~ "speichern und gleichzeitig über das Netzwerk an andere Collectd-Instanzen zu "
+#~ "versenden."
+
+#~ msgid ""
+#~ "System plugins collecting values about system state and ressource usage "
+#~ "on the device.:"
+#~ msgstr ""
+#~ "Systemplugins sammeln Daten zum Systemzustand und den Ressoursenbedarf des "
+#~ "Gerätes"
+
+#~ msgid ""
+#~ "The wireless plugin collects statistics about wireless signal strength, "
+#~ "noise and quality."
+#~ msgstr ""
+#~ "Das Wireless-Plugin sammelt Statistiken über die drahtlose Signalstärke, den "
+#~ "Störpegel und die Signalqualität."
+
+#~ msgid "Wireless Plugin Configuration"
+#~ msgstr "Wireless Plugin Konfiguration"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-26 17:57+0200\n"
-"PO-Revision-Date: 2011-05-13 09:41+0200\n"
-"Last-Translator: Jo-Philipp <xm@subsignal.org>\n"
+"PO-Revision-Date: 2012-11-28 10:52+0200\n"
+"Last-Translator: dunkelschunkel <dunkelschunkel@googlemail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid ""
"<em>Via proxy</em> routes requests to the given target via the specifed "
"sein"
msgid "Configuration"
-msgstr ""
+msgstr "Konfiguration"
msgid "Connection timeout"
msgstr "Verbindungstimeout"
msgstr "Fehlerseite"
msgid "Failed to retrieve statistics from url:"
-msgstr ""
+msgstr "Empfangen der Statiken von URL fehlgeschlagen"
msgid "Filter by RegExp"
msgstr "Filtern nach RegExp"
msgstr "Statistikseite"
msgid "Status"
-msgstr ""
+msgstr "Status"
msgid "Target host"
msgstr "Zielhost"
msgstr "Tinyproxy"
msgid "Tinyproxy Status"
-msgstr ""
+msgstr "Status Tinyproxy"
msgid "Tinyproxy is a small and fast non-caching HTTP(S)-Proxy"
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-26 17:57+0200\n"
-"PO-Revision-Date: 2011-05-10 02:06+0100\n"
-"Last-Translator: Jo-Philipp Wich <xm@subsignal.org>\n"
+"PO-Revision-Date: 2012-11-28 10:45+0200\n"
+"Last-Translator: dunkelschunkel <dunkelschunkel@googlemail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 1.1.1\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 2.0.6\n"
msgid ""
"ACLs specify which external ports may be redirected to which internal "
msgstr "Es gibt keine aktiven Weiterleitungen."
msgid "UPNP"
-msgstr ""
+msgstr "UPnP"
msgid ""
"UPNP allows clients in the local network to automatically configure the "
"router."
msgstr ""
-"UPNP ermöglicht die automatische Konfiguration des Routers durch Clients im "
+"UPnP ermöglicht die automatische Konfiguration des Routers durch Clients im "
"lokalen Netzwerk."
msgid ""
msgid "Allowed range is 1 to 65535"
msgstr "Το επιτρεπόμενο εύρος είναι από 1 έως 65535"
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr "Ένα επιπλέον δίκτυο θα δημιουργηθεί εάν αυτό αφεθεί κενό"
msgid "Force"
msgstr "Επιβολή"
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr "Επιβολή CCMP (AES)"
msgid "Waiting for command to complete..."
msgstr ""
-msgid "Waiting for router..."
-msgstr "Αναμονή για δρομολογητή..."
-
msgid "Warning"
msgstr "Προειδοποίηση"
msgid "« Back"
msgstr "« Πίσω"
+#~ msgid "Waiting for router..."
+#~ msgstr "Αναμονή για δρομολογητή..."
+
#~ msgid "Enable builtin NTP server"
#~ msgstr "Ενεργοποίηση ενσωματωμένου εξυπηρετητή NTP"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
msgid "Enable"
msgstr "Ενεργοποίηση"
+msgid "Event interface"
+msgstr ""
+
msgid "Force update every"
msgstr "Εξαναγκασμός ενημέρωσης κάθε"
msgid "Network"
msgstr "Δίκτυο"
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+
msgid "Password"
msgstr "Κωδικός πρόσβασης"
msgid "network"
msgstr "δίκτυο"
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
-
#, fuzzy
#~ msgid "ddns_service_updateurl"
#~ msgstr "Προσαρμογή URL ενημέρωσης"
msgid "Scanning Configuration"
msgstr ""
+msgid "Scans for devices on specified networks."
+msgstr "Scans for devices on specified networks."
+
msgid "Sleep Between Requests"
msgstr ""
msgid "check other networks"
msgstr "έλεγχος άλλων δικτύων"
-
-msgid "Scans for devices on specified networks."
-msgstr "Scans for devices on specified networks."
msgid "BSSID"
msgstr "BSSID"
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr "Βασικές Ρυθμίσεις"
msgid "Edit index page"
msgstr ""
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr "Σφάλμα"
msgid "Go to"
msgstr ""
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr "Γεια σας και καλώς ήλθατε στο δίκτυο"
msgid "Hostname"
msgstr ""
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr ""
msgid "Latitude"
msgstr "Γεωγραφικό πλάτος"
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr ""
msgid "Operator"
msgstr ""
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr ""
msgid "Realname"
msgstr "Ονοματεπώνυμο"
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr "SSID"
msgid "Status"
msgstr ""
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr "Σύστημα"
msgid "Verify downloaded images"
msgstr ""
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr ""
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.0.4\n"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr "Κανάλι"
msgid "Enable DHCP"
msgstr "Ενεργοποίηση DHCP"
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr "Γενικές Ρυθμίσεις"
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr ""
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr ""
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr ""
"Select this to allow others to use your connection to access the internet."
msgstr ""
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr ""
msgid "The given IP address is not inside the mesh network range"
msgstr ""
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
msgstr "Ρυθμίσεις Collectd"
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr "Χρήση Δίσκου"
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr "Εμφάνιση χρονικού εύρους »"
msgid "Incoming interface"
msgstr ""
-msgid "Installed network plugins:"
-msgstr ""
-
-msgid "Installed output plugins:"
-msgstr ""
-
msgid "Interface Plugin Configuration"
msgstr ""
msgid "Network plugins"
msgstr "Πρόσθετα δικτύου"
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-
msgid "Network protocol"
msgstr ""
msgid "Output plugins"
msgstr "Πρόσθετα εξόδου"
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-
msgid "Ping"
msgstr "Ping"
msgid "System plugins"
msgstr "Πρόσθετα συστήματος"
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-
msgid "TCP Connections"
msgstr "Συνδέσεις TCP"
msgid "Table"
msgstr "Πίνακας"
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"collected data from a running collectd instance."
msgstr ""
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr ""
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr "UnixSock"
msgid "Wireless"
msgstr "Ασύρματο"
-msgid "Wireless Plugin Configuration"
-msgstr ""
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr ""
msgid "Allowed range is 1 to 65535"
msgstr "Allowed range is 1 to 65535"
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr "An additional network will be created if you leave this unchecked."
msgid "Force"
msgstr "Force"
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
-msgid "Waiting for router..."
-msgstr ""
-
msgid "Warning"
msgstr ""
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "A short textual description of the configured command"
+msgstr "A short textual description of the configured command"
+
+msgid "Access command with"
+msgstr "Access command with"
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr "Allow the user to provide additional command line arguments"
+
+msgid "Arguments:"
+msgstr "Arguments:"
+
+msgid "Binary data not displayed, download instead."
+msgstr "Binary data not displayed, download instead."
+
+msgid "Code:"
+msgstr "Code:"
+
+msgid "Collecting data..."
+msgstr "Collecting data..."
+
+msgid "Command"
+msgstr "Command"
+
+msgid "Command failed"
+msgstr "Command failed"
+
+msgid "Command line to execute"
+msgstr "Command line to execute"
+
+msgid "Command successful"
+msgstr "Command successful"
+
+msgid "Command:"
+msgstr "Command:"
+
+msgid "Configure"
+msgstr "Configure"
+
+msgid "Custom Commands"
+msgstr "Custom Commands"
+
+msgid "Custom arguments"
+msgstr "Custom arguments"
+
+msgid "Dashboard"
+msgstr "Dashboard"
+
+msgid "Description"
+msgstr "Description"
+
+msgid "Download"
+msgstr "Download"
+
+msgid "Failed to execute command!"
+msgstr "Failed to execute command!"
+
+msgid "Link"
+msgstr "Link"
+
+msgid "Loading"
+msgstr "Loading"
+
+msgid "Public access"
+msgstr "Public access"
+
+msgid "Run"
+msgstr "Run"
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+
+msgid "Waiting for command to complete..."
+msgstr "Waiting for command to complete..."
msgid "Enable"
msgstr "Enable"
+msgid "Event interface"
+msgstr "Event interface"
+
msgid "Force update every"
msgstr "Force update every"
msgid "Network"
msgstr "Network"
+msgid "On which interface up should start the ddns script process."
+msgstr "On which interface up should start the ddns script process."
+
msgid "Password"
msgstr "Password"
msgid "network"
msgstr "network"
-
-msgid "Event interface"
-msgstr "Event interface"
-
-msgid "On which interface up should start the ddns script process."
-msgstr "On which interface up should start the ddns script process."
msgid "Scanning Configuration"
msgstr ""
+msgid "Scans for devices on specified networks."
+msgstr "Scans for devices on specified networks."
+
msgid "Sleep Between Requests"
msgstr "Sleep Between Requests"
msgid "check other networks"
msgstr "check other networks"
-
-msgid "Scans for devices on specified networks."
-msgstr "Scans for devices on specified networks."
msgid "BSSID"
msgstr ""
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr ""
msgid "Edit index page"
msgstr ""
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr ""
msgid "Go to"
msgstr ""
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr "Hello and welcome in the network of"
msgid "Hostname"
msgstr "Hostname"
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr ""
msgid "Latitude"
msgstr ""
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr ""
msgid "Operator"
msgstr ""
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr ""
msgid "Realname"
msgstr "Realname"
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr ""
msgid "Status"
msgstr ""
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr ""
msgid "Verify downloaded images"
msgstr "Verify downloaded images"
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr ""
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr ""
msgid "Enable DHCP"
msgstr ""
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr ""
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr ""
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr ""
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr ""
"Select this to allow others to use your connection to access the internet."
msgstr ""
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr ""
msgid "The given IP address is not inside the mesh network range"
msgstr ""
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgstr "Collectd Settings"
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgid "Disk Usage"
msgstr "Disk Usage"
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr "Display timespan »"
msgid "Incoming interface"
msgstr "Incoming interface"
-msgid "Installed network plugins:"
-msgstr ""
-
-msgid "Installed output plugins:"
-msgstr ""
-
msgid "Interface Plugin Configuration"
msgstr "Interface Plugin Configuration"
msgid "Network plugins"
msgstr "Network plugins"
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-
msgid "Network protocol"
msgstr "Network protocol"
msgid "Output plugins"
msgstr "Output plugins"
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-
msgid "Ping"
msgstr "Ping"
msgid "System plugins"
msgstr "System plugins"
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-
msgid "TCP Connections"
msgstr "TCP Connections"
msgid "Table"
msgstr "Table"
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"The unixsock plugin creates a unix socket which can be used to read "
"collected data from a running collectd instance."
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr "Try to lookup fully qualified hostname"
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr "UnixSock"
msgid "Wireless"
msgstr "Wireless"
-msgid "Wireless Plugin Configuration"
-msgstr "Wireless Plugin Configuration"
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr ""
msgid "server interfaces"
msgstr "server interfaces"
+
+#~ msgid ""
+#~ "The wireless plugin collects statistics about wireless signal strength, "
+#~ "noise and quality."
+#~ msgstr ""
+#~ "The wireless plugin collects statistics about wireless signal strength, "
+#~ "noise and quality."
+
+#~ msgid "Wireless Plugin Configuration"
+#~ msgstr "Wireless Plugin Configuration"
"networks where it is difficult or impossible to configure a server within "
"every link-layer broadcast domain, for example mobile ad-hoc networks."
msgstr ""
-"AHCP es un protocolo de autoconfiguración para redes con IPv6 o duales "
-"IPv6/IPv4 diseñado para ser usado en lugar de router discovery o DHCP en "
-"redes en las que es difícil o imposible configurar un servidor en cada capa "
-"de enlace del dominio de propagación como las redes móviles ad-hoc."
+"AHCP es un protocolo de autoconfiguración para redes con IPv6 o duales IPv6/"
+"IPv4 diseñado para ser usado en lugar de router discovery o DHCP en redes en "
+"las que es difícil o imposible configurar un servidor en cada capa de enlace "
+"del dominio de propagación como las redes móviles ad-hoc."
# "Lease" en el sentido usado en DHCP no tiene una traducción clara en español y se puede usar la misma palabra en que en inglés.
msgid "Active AHCP Leases"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-10 03:41+0200\n"
-"PO-Revision-Date: 2012-10-11 16:09+0200\n"
+"PO-Revision-Date: 2012-12-13 20:55+0200\n"
"Last-Translator: José Vicente <josevteg@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: es\n"
"<abbr title=\"maximal\">Max.</abbr> <abbr title=\"Dynamic Host Configuration "
"Protocol\">DHCP</abbr> leases"
msgstr ""
-"Máximo número de cesiones <abbr title=\"Dynamic Host Configuration Protocol"
-"\">DHCP</abbr>"
+"Máximas cesiones <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
+"abbr>"
msgid ""
"<abbr title=\"maximal\">Max.</abbr> <abbr title=\"Extension Mechanisms for "
msgid "Allowed range is 1 to 65535"
msgstr "El rango permitido es desde 1 hasta 65535"
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+"Usar canales de 40MHz aunque el canal secundario solape con otro. ¡El "
+"estándar IEEE 802.11n-2009 indica que no es correcto hacer esto!"
+
msgid "An additional network will be created if you leave this unchecked."
msgstr "Se creará una red adicional si deja esto desmarcado."
msgid "Force"
msgstr "Forzar"
+msgid "Force 40MHz mode"
+msgstr "Forzar modo 40MHz"
+
msgid "Force CCMP (AES)"
msgstr "Forzar CCMP (AES)"
msgstr "Entrada de intercambio"
msgid "Switch"
-msgstr "Conmutador"
+msgstr "Switch"
msgid "Switch %q"
-msgstr "Conmutador %q"
+msgstr "Switch %q"
msgid "Switch %q (%s)"
-msgstr "Conmutador %q (%s)"
+msgstr "Switch %q (%s)"
msgid "Switch protocol"
msgstr "Intercambiar protocolo"
# Target = Meta --> Objetivo --> Destino?
msgid "Target"
-msgstr "Destino"
+msgstr "Objetivo"
msgid "Terminate"
msgstr "Terminar"
"The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</"
"code> and <code>_</code>"
msgstr ""
-"Los caracteres permitidos son: <code>A-Z</code>, <code>a-z</code>, <code>0-"
-"9</code> y <code>_</code>"
+"Los caracteres permitidos son: <code>A-Z</code>, <code>a-z</code>, "
+"<code>0-9</code> y <code>_</code>"
msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"OpenWrt compatible firmware image)."
msgstr ""
"Suba una imagen compatible con sysupgrade para reemplazar el firmware "
-"actual. Puede marcar \"Conservar la configuración\" si lo desea (es necesario "
-"que la imagen de OpenWrt sea compatible)."
+"actual. Puede marcar \"Conservar la configuración\" si lo desea (es "
+"necesario que la imagen de OpenWrt sea compatible)."
msgid "Upload archive..."
msgstr "Subir archivo..."
msgid "Waiting for command to complete..."
msgstr "Esperando a que termine el comando..."
-msgid "Waiting for router..."
-msgstr "Esperando al router..."
-
msgid "Warning"
msgstr "Aviso"
msgid "« Back"
msgstr "« Volver"
+#~ msgid "Waiting for router..."
+#~ msgstr "Esperando al router..."
+
#~ msgid "Enable builtin NTP server"
#~ msgstr "Activar el servidor integrado NTP"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2012-11-24 10:16+0200\n"
+"Last-Translator: José Vicente <josevteg@gmail.com>\n"
+"Language-Team: none\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 2.0.6\n"
+
+msgid "A short textual description of the configured command"
+msgstr "Descripción breve del comando a configurar"
+
+msgid "Access command with"
+msgstr "Acceder al comando con"
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+"Permitir ejecutar el comando y descargar su salida sin más autentificación"
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr "Permitir al usuario añadir parámetros de línea de comandos"
+
+msgid "Arguments:"
+msgstr "Parámetros:"
+
+msgid "Binary data not displayed, download instead."
+msgstr "No se pueden mostrar datos binarios, descárguelos."
+
+msgid "Code:"
+msgstr "Código:"
+
+msgid "Collecting data..."
+msgstr "Recuperando datos..."
+
+msgid "Command"
+msgstr "Comando"
+
+msgid "Command failed"
+msgstr "Falló"
+
+msgid "Command line to execute"
+msgstr "Comando a ejecutar"
+
+msgid "Command successful"
+msgstr "OK"
+
+msgid "Command:"
+msgstr "Comando:"
+
+msgid "Configure"
+msgstr "Configurar"
+
+msgid "Custom Commands"
+msgstr "Comandos propios"
+
+msgid "Custom arguments"
+msgstr "Parámetros propios"
+
+msgid "Dashboard"
+msgstr "Panel"
+
+msgid "Description"
+msgstr "Descripción"
+
+msgid "Download"
+msgstr "Descarga"
+
+msgid "Failed to execute command!"
+msgstr "¡Error al ejecutar el comando!"
+
+msgid "Link"
+msgstr "Enlace"
+
+msgid "Loading"
+msgstr "Cargando"
+
+msgid "Public access"
+msgstr "Acceso público"
+
+msgid "Run"
+msgstr "Ejecutar"
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+"Aquí puede configurar sus propios comandos shell para lanzarlos fácilmente "
+"desde el interfaz web."
+
+msgid "Waiting for command to complete..."
+msgstr "Esperando a que termine el comando..."
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-02 13:44+0100\n"
-"PO-Revision-Date: 2012-09-15 21:46+0200\n"
+"PO-Revision-Date: 2012-11-01 23:37+0200\n"
"Last-Translator: José Vicente <josevteg@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: es\n"
"X-Generator: Pootle 2.0.6\n"
msgid "Check for changed IP every"
-msgstr "Verificar cambios en dirección IP cada"
+msgstr "Verificar cambios de IP cada"
msgid "Check-time unit"
msgstr "Unidad de tiempo"
"Dynamic DNS allows that your router can be reached with a fixed hostname "
"while having a dynamically changing IP address."
msgstr ""
-"DNS Dinámico le permite conectar a su router usando un nombre aunque su "
-"dirección IP cambie en forma dinámica."
+"DNS Dinámico le permite conectar a su router con un nombre concreto aunque "
+"su dirección IP cambie dinámicamente."
msgid "Enable"
-msgstr "Activa"
+msgstr "Activar"
+
+msgid "Event interface"
+msgstr "Interfaz de eventos"
msgid "Force update every"
msgstr "Forzar actualización cada"
msgid "Network"
msgstr "Red"
+msgid "On which interface up should start the ddns script process."
+msgstr "Tras qué interfaz debe arrancar ddns."
+
msgid "Password"
msgstr "Contraseña"
# Minutes (not minimum)
msgid "min"
-msgstr "mín"
+msgstr "min"
msgid "network"
msgstr "red"
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
msgid "Scanning Configuration"
msgstr "Configuración de la exploración"
+msgid "Scans for devices on specified networks."
+msgstr "Explora dispositivos en las redes especificadas."
+
msgid "Sleep Between Requests"
msgstr "Detenerse entre peticiones"
msgid "check other networks"
msgstr "comprueba otras redes"
-
-msgid "Scans for devices on specified networks."
-msgstr "Explora dispositivos en las redes especificadas."
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-10 03:41+0200\n"
-"PO-Revision-Date: 2012-09-15 21:34+0200\n"
+"PO-Revision-Date: 2012-12-02 20:36+0200\n"
"Last-Translator: José Vicente <josevteg@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: es\n"
msgid "BSSID"
msgstr "BSSID"
+msgid "Bad (ETX > 10)"
+msgstr "Malo (ETX > 10)"
+
msgid "Basic Settings"
msgstr "Configuración básica"
msgid "Edit index page"
msgstr "Editar índice"
+msgid "Enable IPv6"
+msgstr "Activar IPv6"
+
msgid "Error"
msgstr "Error"
msgid "Go to"
msgstr "Ir a"
+msgid "Good (2 < ETX < 4)"
+msgstr "Bueno (2 < ETX < 4)"
+
+msgid "Green"
+msgstr "Verde"
+
msgid "Hello and welcome in the network of"
msgstr "Hola y bienvenido a la red de"
msgid "Hostname"
msgstr "Nombre de máquina"
+msgid "IPv6 Config"
+msgstr "Configuración de IPv6"
+
+msgid "IPv6 Prefix"
+msgstr "Prefijo IPv6"
+
+msgid "IPv6 network in CIDR notation."
+msgstr "Red IPv6 en notación CIDR."
+
msgid "If selected then the default content element is not shown."
msgstr "No mostrar el contenido por defecto."
msgid "Latitude"
msgstr "Latitud"
+msgid "Legend"
+msgstr "Leyenda"
+
msgid "Load"
msgstr "Carga"
msgid "Operator"
msgstr "Administrador"
+msgid "Orange"
+msgstr "Naranja"
+
msgid "Overview"
msgstr "Repaso"
msgid "Realname"
msgstr "Nombre real"
+msgid "Red"
+msgstr "Rojo"
+
msgid "SSID"
msgstr "SSID"
msgid "Status"
msgstr "Estado"
+msgid "Still usable (4 < ETX < 10)"
+msgstr "Aún utilizable (4 < ETX < 10)"
+
msgid "System"
msgstr "Sistema"
"configured and that the <em>latlon_file</em> option is enabled."
msgstr ""
"El servicio OLSRd no está configurado para tomar los datos de posición desde "
-"la red.<br />Asegúrese de que el plugin \"nameservice\" está bien configurado "
-"y que la opción <em>latlon_file</em> está marcada."
+"la red.<br />Asegúrese de que el plugin \"nameservice\" está bien "
+"configurado y que la opción <em>latlon_file</em> está marcada."
msgid "The installed firmware is the most recent version."
msgstr "El firmare instalado está en la versión más reciente."
msgid "Verify downloaded images"
msgstr "Verificar las descargas"
+msgid "Very good (ETX < 2)"
+msgstr "Muy bueno (ETX < 2)"
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr "Resumen de red inalámbrica"
+msgid "Yellow"
+msgstr "Amarillo"
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-08-23 22:25+0200\n"
-"PO-Revision-Date: 2012-08-23 23:06+0200\n"
+"PO-Revision-Date: 2012-11-24 10:22+0200\n"
"Last-Translator: José Vicente <josevteg@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.0.6\n"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr "Activar o desactivar la configuración IPv6 globalmente."
+
msgid "Channel"
msgstr "Canal"
msgid "Enable DHCP"
msgstr "Activar DHCP"
+msgid "Enable RA"
+msgstr "Activar RA"
+
+msgid "Enabled"
+msgstr "Activado"
+
msgid "General Settings"
msgstr "Configuración general"
+msgid "IPv6 Settings"
+msgstr "Configuración IPv6"
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr "Borrar la configuración antes de establecer una nueva."
msgid "Mesh IP address"
msgstr "Dirección IP del mesh"
+msgid "Mesh IPv6 address"
+msgstr "Dirección IPv6 del mesh"
+
msgid "Mesh Wizard"
msgstr "Asistente del mesh"
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+"Nota: esto configurará esta interfaz para uso mesh, es decir: la añadirá a "
+"la zona \"freifunk\" y activará OSLR."
+
msgid "Protect LAN"
msgstr "Proteger LAN"
"Select this to allow others to use your connection to access the internet."
msgstr "Permitir a otros usar su conexión para acceder a internet."
+msgid "Send router advertisements on this device."
+msgstr "Envía publicaciones de routers por este dispositivo."
+
msgid "Share your internet connection"
msgstr "Compartir su conexión a internet"
msgid "The given IP address is not inside the mesh network range"
msgstr "Este rango IP no está dentro del de la red mesh"
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+"Dirección única IPv6 en notación CIDR (p.e.: 2001:1:2:3::1/64) y que tiene "
+"que estar registrada en su comunidad local."
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
msgstr ""
"Directorio a explorar. Si quiere restringir el directorio a un contenido "
"específico puede añadir el tipo ('A' par audio, 'V' para vídeo o 'P' para "
-"imágenes), seguido por una coma al nombre del directorio (ej. "
-"media_dir=A,/mnt/media/Music). Se puede establecer varios directorios."
+"imágenes), seguido por una coma al nombre del directorio (ej. media_dir=A,/"
+"mnt/media/Music). Se puede establecer varios directorios."
msgid "Specify the path to the MiniSSDPd socket."
msgstr "Camino al socket de MiniSSDPd."
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-14 13:24+0200\n"
-"PO-Revision-Date: 2012-07-28 23:21+0200\n"
-"Last-Translator: Daniel <danips@gmail.com>\n"
+"PO-Revision-Date: 2012-11-25 11:14+0200\n"
+"Last-Translator: José Vicente <josevteg@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
msgstr "Servidores de hora"
msgid "Time Synchronisation"
-msgstr "Sincronización Horaria"
+msgstr "Sincronización horaria"
msgid "Update interval (in seconds)"
msgstr "Intervalo de actualización (en segundos)"
msgstr ""
"FIBMetric controla el valor métrico de los conjuntos OLSRd. \"Plano\" "
"significa que la métrica es siempre 2. Este es el valor preferido porque "
-"ayuda al enrutador del kernel de linux a limpiar valores antiguos. \"Correct\" "
-"usa como métrica el número de saltos. \"Approx\" usa la cuenta de saltos "
+"ayuda al enrutador del kernel de linux a limpiar valores antiguos. \"Correct"
+"\" usa como métrica el número de saltos. \"Approx\" usa la cuenta de saltos "
"también, pero solo la actualiza si cambia el siguiente salto también. Por "
"defecto \"flat\"."
"interface broadcast IP."
msgstr ""
"Dirección de propagación IPv4 para paquetes salientes OLSR. Por ejemplo "
-"\"255.255.255.255\". Por defecto es \"0.0.0.0\" que hace que se use la interfaz "
-"de propagación IP."
+"\"255.255.255.255\". Por defecto es \"0.0.0.0\" que hace que se use la "
+"interfaz de propagación IP."
msgid "IPv4 source"
msgstr "IPv4 origen"
"IPv4 src address for outgoing OLSR packages. Default is \"0.0.0.0\", which "
"triggers usage of the interface IP."
msgstr ""
-"Dirección origen IPv4 para paquetes OLSR. Por defecto es \"0.0.0.0\" que hace "
-"que se use la interfaz de propagación IP."
+"Dirección origen IPv4 para paquetes OLSR. Por defecto es \"0.0.0.0\" que "
+"hace que se use la interfaz de propagación IP."
msgid "IPv6"
msgstr "IPv6"
"IPv6 multicast address. Default is \"FF02::6D\", the manet-router linklocal "
"multicast."
msgstr ""
-"Dirección IPv6 de multidifusión. Por defecto es \"FF02::6D\", la dirección de "
-"multidifusión local en routers MANET."
+"Dirección IPv6 de multidifusión. Por defecto es \"FF02::6D\", la dirección "
+"de multidifusión local en routers MANET."
msgid ""
"IPv6 network must be given in full notation, prefix must be in CIDR notation."
"of a not-linklocal interface IP."
msgstr ""
"Prefijo origen IPv6. OLSRd elegirá un interfaz IP que encaje con el prefijo "
-"de este parámetro. Por defecto es \"0::/0\" que provoca el uso de un interfaz "
-"IP no local."
+"de este parámetro. Por defecto es \"0::/0\" que provoca el uso de un "
+"interfaz IP no local."
msgid "IPv6-Prefix of the uplink"
msgstr "Prefijo IPv6 para el enlace de subida"
"\"mesh\"."
msgstr ""
"El modo de interfaz se usar para evitar traspaso innecesario de paquetes en "
-"interfaces de red conmutados. Los modos válidos son \"mesh\" y \"ether\". Por "
-"defecto es \"mesh\"."
+"interfaces de red conmutados. Los modos válidos son \"mesh\" y \"ether\". "
+"Por defecto es \"mesh\"."
msgid "Interfaces"
msgstr "Interfaces"
"calculation<br /><b>etx_ffeth</b>: incompatible variant of etx_ff that "
"allows ethernet links with ETX 0.1.<br />Defaults to \"etx_ff\""
msgstr ""
-"Algoritmo de calidad de enlace (solo para CE nivel 2).<br "
-"/><b>etx_float</b>: ETX en punto flotante con envejecimiento exponencial<br "
-"/><b>etx_fpm</b> : igual que etx_float, pero con aritmética entera<br "
-"/><b>etx_ff</b> : ETX freifunk, variante etx que usar todo el tráfico OLSR "
-"(en vez de sólo \"hellos\") para los cálculos ETX<br /><b>etx_ffeth</b>: "
-"variante incompatible de etx_ff que permite enlaces ethernet con ETX 0.1.<br "
-"/>Por defecto \"etx_ff\""
+"Algoritmo de calidad de enlace (solo para CE nivel 2).<br /><b>etx_float</"
+"b>: ETX en punto flotante con envejecimiento exponencial<br /><b>etx_fpm</"
+"b> : igual que etx_float, pero con aritmética entera<br /><b>etx_ff</b> : "
+"ETX freifunk, variante etx que usar todo el tráfico OLSR (en vez de sólo "
+"\"hellos\") para los cálculos ETX<br /><b>etx_ffeth</b>: variante "
+"incompatible de etx_ff que permite enlaces ethernet con ETX 0.1.<br />Por "
+"defecto \"etx_ff\""
msgid ""
"Link quality level switch between hopcount and cost-based (mostly ETX) "
"IP of the first interface."
msgstr ""
"Configura la dirección IP principal (IP originadora) del router. NUNCA debe "
-"cambiar mientras OLSRd esté activa. Por defecto es \"0.0.0.0\" que provoca el "
-"uso de la IP del primer interfaz."
+"cambiar mientras OLSRd esté activa. Por defecto es \"0.0.0.0\" que provoca "
+"el uso de la IP del primer interfaz."
msgid "SmartGW"
msgstr "SmartGW"
"Warning: kmod-ipip is not installed. Without kmod-ipip SmartGateway will not "
"work, please install it."
msgstr ""
-"Aviso: kmod-ipip no está instalado. Sin kmod-ipip SmartGateway no "
-"funcionará."
+"Aviso: kmod-ipip no está instalado. Sin kmod-ipip SmartGateway no funcionará."
msgid "Weight"
msgstr "Peso"
msgstr "Bloqueo de P2P"
msgid ""
-"P2P-Block is a greylisting mechanism to block various peer-to-peer "
-"protocols for non-whitelisted clients."
+"P2P-Block is a greylisting mechanism to block various peer-to-peer protocols "
+"for non-whitelisted clients."
msgstr ""
"El bloqueo de P2P es un mecanismo de lista gris para bloquear varios "
"protocolos punto a punto a clientes que no están en lista blanca."
"you will use ONLY locally and never from a remote location."
msgstr ""
"Ponga esta IP (o IP:puerto) en el parámetro Servidor/Registrador de los "
-"dispositivos SIP que usará SOLO localmente y nunca desde una posición "
-"remota."
+"dispositivos SIP que usará SOLO localmente y nunca desde una posición remota."
msgid ""
"Enter this hostname (or hostname:port) in the Server/Registrar setting of "
"proveedores usar. Por defecto todos los usuarios pueden usar a todos los "
"proveedores. Para mostrarse en la lista el usuario debe poder hacer llamadas "
"salientes (ver página \"Cuentas de usuario\"). Ponga los proveedores en "
-"formato username@some.host.name igual que se listan en \"Llamadas salientes\" "
-"arriba. Los nombres no válidos se rechazarán sin aviso.Puede separar los "
+"formato username@some.host.name igual que se listan en \"Llamadas salientes"
+"\" arriba. Los nombres no válidos se rechazarán sin aviso.Puede separar los "
"nombres con espacios o poniéndolos en líneas diferentes."
msgid "Full Name"
msgstr ""
"Configure una cuenta SIP que usará para conectar con este servicio. Úsela "
"tanpo en un adaptador de telefonía analógico (ATA) o en un programa SIP como "
-"CSipSimple, Linphone, o Sipdroid para smartphones, o Ekiga, Linphone, o "
-"X-Lite para ordenadores. Por defecto, todas las cuentas SIP sonarán a la vez "
+"CSipSimple, Linphone, o Sipdroid para smartphones, o Ekiga, Linphone, o X-"
+"Lite para ordenadores. Por defecto, todas las cuentas SIP sonarán a la vez "
"si se hace una llamada desde una de las cuentas de su proveedor de VoIP o "
"números GV."
msgstr ""
"Si tiene más de una cuenta para hacer llamadas salientes, debe introducir "
"una lista de números de teléfono y/o prefijos para cada proveedor. Los "
-"prefijos no válidos se rechazarán sin aviso y solo son caracteres válidos "
-"0-9, X, Z, N, #, *, y +. La letra X equivale a 0-9, Z a 1-9 y N a 2-9. Por "
+"prefijos no válidos se rechazarán sin aviso y solo son caracteres válidos 0-"
+"9, X, Z, N, #, *, y +. La letra X equivale a 0-9, Z a 1-9 y N a 2-9. Por "
"ejemplo para hacer llamadas a Alemania con su proveedor debe introducir 49. "
"Para hacer llamadas a Estados Unidos 1NXXNXXXXXX. Si uno de sus proveedores "
"puede hacer llamadas locales a un código de área como el 646 de Nueva York "
"debe introducir 646NXXXXXX para ese proveedor. Debería dehar una cuenta con "
"una lista vacía para que haga las llamadas por defecto en caso de que ningún "
-"prefijo encaje. El sistema reemplazará automáticamente la lista vacía con "
-"el mensaje de que el proveedor marca todos los números que no estén en los "
+"prefijo encaje. El sistema reemplazará automáticamente la lista vacía con el "
+"mensaje de que el proveedor marca todos los números que no estén en los "
"prefijos de otros proveedores. Sea todo lo específico que pueda (ej. "
"1NXXNXXXXXX es mejor que 1). Todos los códigos internaciones de marcado se "
"descartan (ej. 00, 011, 010, 0011). Las entradas pueden ser una lista "
msgstr ""
"Puerto aleatorio entre 6500 y 9500 en el que escuche el servicio. No elija "
"el estándar 5060 porque es susceptible de ataques por fuerza bruta. Cuando "
-"termine (1) pulsa \"Salvar y aplicar\" y (2) pulse \"Rearrancar servicio VoIP\". "
-"Finalmente (3) busque en la sección \"Dispositivo SIP/Cuentas softphone\" la "
-"configuración del puerto."
+"termine (1) pulsa \"Salvar y aplicar\" y (2) pulse \"Rearrancar servicio VoIP"
+"\". Finalmente (3) busque en la sección \"Dispositivo SIP/Cuentas softphone"
+"\" la configuración del puerto."
msgid "Port Setting for SIP Devices"
msgstr "Configuración de puerto para dispositivos SIP"
"permitirá hacer llamadas gratuitas entre los usuarios y compartir las "
"cuentas Google/SIP configuradas. Si tiene más de una cuenta Google/SIP "
"configurada tendrá que configurar cómo se enrutan en la página \"Enrutado de "
-"llamadas\". Si está interesado en usar su PBX desde cualquier sitio del mundo "
-"puede visitar la sección \"Uso remoto\" en la página \"Configuración "
+"llamadas\". Si está interesado en usar su PBX desde cualquier sitio del "
+"mundo puede visitar la sección \"Uso remoto\" en la página \"Configuración "
"avanzada\"."
msgid ""
"incoming calls are routed, what numbers can get into this PBX with a "
"password, and what numbers are blacklisted."
msgstr ""
-"Indique las cuentas Google/SIP que usará para llamar a qué códigos de "
-"país/zona, qué usuarios pueden usuarios pueden usar qué cuentas SIP/Google y "
-"cómo se enrutan las llamadas entrantes, qué números pueden entrar en esta "
-"PBX con una contraseña y qué números están en lista negra."
+"Indique las cuentas Google/SIP que usará para llamar a qué códigos de país/"
+"zona, qué usuarios pueden usuarios pueden usar qué cuentas SIP/Google y cómo "
+"se enrutan las llamadas entrantes, qué números pueden entrar en esta PBX con "
+"una contraseña y qué números están en lista negra."
msgid ""
"This is where you set up your Google (Talk and Voice) Accounts, in order to "
"number) associated with this SIP account or want to receive SIP uri calls "
"through this provider."
msgstr ""
-"Debería ser \"Sí\" si tiene un DID (teléfono real) asociado a esta cuenta SIP "
-"o quiere recibir llamads uri SIP de este proveedor."
+"Debería ser \"Sí\" si tiene un DID (teléfono real) asociado a esta cuenta "
+"SIP o quiere recibir llamads uri SIP de este proveedor."
msgid ""
"This section contains settings that do not need to be changed under normal "
"softphone) y se le permitirá recibir la llamada. Si tiene Google Voice debe "
"ir a la configuración de GVoice y traspasar las llamadas a Google chat para "
"recibir las hechas a si número de GVoice. Si tiene problemas recibiendo "
-"llamadas de GVoice pruebe con la opción \"Call Screening\" en la configuración "
-"de GVoice. Asegúrese de que ningún otro cliente esté conectado con esta "
-"cuenta (navegador en gmail, o una aplicación para móvil o escritorio) ya que "
-"podría interferir."
+"llamadas de GVoice pruebe con la opción \"Call Screening\" en la "
+"configuración de GVoice. Asegúrese de que ningún otro cliente esté conectado "
+"con esta cuenta (navegador en gmail, o una aplicación para móvil o "
+"escritorio) ya que podría interferir."
msgid ""
"When your password is saved, it disappears from this field and is not "
"debe configurar en sus dispositivos SIP remotos. Tenga en cuenta que si este "
"PBX no funciona en su router/pasarela, tendrá que configurar el traspaso de "
"puertos (NAT) en su router/pasarela. Traspase los puertos indicados (Puerto "
-"SIP y rango RTP) hacia la dirección IP del dispositivo en que corre esta "
-"PBX."
+"SIP y rango RTP) hacia la dirección IP del dispositivo en que corre esta PBX."
msgid ""
"Your PIN disappears when saved for your protection. It will be changed only "
msgstr ""
"Ubicación en la que Polipo creará archivos permanentemente. Se recomienda el "
"uso de dispositivos de almacenamiento externo, ya que la caché puede "
-"aumentar considerablemente. Deje en blanco para desactivar la caché en "
-"disco."
+"aumentar considerablemente. Deje en blanco para desactivar la caché en disco."
msgid "Log file location"
msgstr "Ubicación del archivo de registro"
"prefix via stateless address autoconfiguration remain preferred."
msgstr ""
"Publica el tiempo de vida en segundos que se prefieren las direcciones "
-"generadas desde el prefijo vía una dirección de autoconfiguración sin "
-"estado."
+"generadas desde el prefijo vía una dirección de autoconfiguración sin estado."
msgid ""
"Advertises the length of time in seconds that the prefix is valid for the "
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-10 03:41+0200\n"
-"PO-Revision-Date: 2012-09-15 21:44+0200\n"
+"PO-Revision-Date: 2012-12-12 20:19+0200\n"
"Last-Translator: José Vicente <josevteg@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: es\n"
msgstr "Configuración de Collectd"
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr "Disco ocupado"
+msgid "Display Host »"
+msgstr "Mostrar máquina »"
+
msgid "Display timespan »"
msgstr "Mostrar lapso de tiempo »"
msgstr "Monitorización del filtro de clases"
msgid "Firewall"
-msgstr "Cortafuego"
+msgstr "Cortafuegos"
msgid "Flush cache after"
msgstr "Vaciar caché tras"
msgid "Incoming interface"
msgstr "Interfaz de entrada"
-msgid "Installed network plugins:"
-msgstr "Plugins de red instalados:"
-
-msgid "Installed output plugins:"
-msgstr "Plugins de salida instalados:"
-
msgid "Interface Plugin Configuration"
msgstr "Configuración del interfaz de plugins"
msgid "Network plugins"
msgstr "Plugins de red"
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-"Los plugins de red se usan para recolectar información sobre conexiones TCP, "
-"tráfico en los interfaces, reglas de iptables, etc."
-
msgid "Network protocol"
msgstr "Protocolo de red"
msgid "Output plugins"
msgstr "Plugins de salida"
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-"Los plugins de salida ofrecen varias posibilidades para almacenar los datos. "
-"Es posible activar varios plugins a la vez, por ejemplo para almacenar datos "
-"recolectados en bases de datos RRD y para transmitir los datos sobre la red "
-"a otras instancias de collectd."
-
msgid "Ping"
msgstr "Ping"
msgid "System plugins"
msgstr "Plugins del sistema"
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-"Los plugins del sistema recolectan valores sobre el estado y el uso de "
-"recursos del dispositivo.:"
-
msgid "TCP Connections"
msgstr "Conexiones TCP"
msgid "Table"
msgstr "Tabla"
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+"El plugin NUT obtiene información sobre Sistemas de Alimentación "
+"Ininterrumpida."
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"The processes plugin collects informations like cpu time, page faults and "
"memory usage of selected processes."
msgstr ""
-"El plugin \"procesos\" recoge información como tiempo de CPU, fallos de página "
-"y uso de memoria de los procesos elegidos."
+"El plugin \"procesos\" recoge información como tiempo de CPU, fallos de "
+"página y uso de memoria de los procesos elegidos."
msgid ""
"The rrdtool plugin stores the collected data in rrd database files, the "
"values will result in a very high memory consumption in the temporary "
"directory. This can render the device unusable!</strong>"
msgstr ""
-"El plugin \"rrdtool\" almacena datos en ficheros de bb.dd. RRD que son la base "
-"para los diagramas.<br /><br /><strong>¡Ojo: Configurar valores incorrectos "
-"puede hacer que se use mucho espacio en el directorio temporal y puede "
-"hacer que el dispositivo funcione mal!</strong>"
+"El plugin \"rrdtool\" almacena datos en ficheros de bb.dd. RRD que son la "
+"base para los diagramas.<br /><br /><strong>¡Ojo: Configurar valores "
+"incorrectos puede hacer que se use mucho espacio en el directorio temporal y "
+"puede hacer que el dispositivo funcione mal!</strong>"
msgid ""
"The statistics package is based on <a href=\"http://collectd.org/index.shtml"
"\">Collectd</a> and uses <a href=\"http://oss.oetiker.ch/rrdtool/\">RRD "
"Tool</a> to render diagram images from collected data."
msgstr ""
-"El paquete \"estadísticas\" está basado en <a "
-"href=\"http://collectd.org/index.shtml\">Collectd</a> y utiliza <a "
-"href=\"http://oss.oetiker.ch/rrdtool/\">RRD Tool</a> para dibujar gráficos con "
-"los datos recogidos."
+"El paquete \"estadísticas\" está basado en <a href=\"http://collectd.org/"
+"index.shtml\">Collectd</a> y utiliza <a href=\"http://oss.oetiker.ch/rrdtool/"
+"\">RRD Tool</a> para dibujar gráficos con los datos recogidos."
msgid ""
"The tcpconns plugin collects informations about open tcp connections on "
"El plugin \"unixsock\" crea un socket UNIX que se puede usar para leer los "
"datos recogidos por una instancia collectd."
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-"El plugin \"inalámbrico\" recoge estadísticas sobre fuerza de la señal, ruido "
-"y calidad."
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr "Intenta resolver el nombre de máquina cualificado"
+msgid "UPS"
+msgstr "SAI"
+
+msgid "UPS Plugin Configuration"
+msgstr "Configuración del plugin SAI"
+
+msgid "UPS name in NUT ups@host format"
+msgstr "Nombre del SAI en el formato de NUT sai@máquina"
+
msgid "UnixSock"
msgstr "Socket UNIX"
msgid "Wireless"
msgstr "Red inalámbrica"
-msgid "Wireless Plugin Configuration"
-msgstr "Configuración del plugin \"Wireless\""
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr "Configuración plugin \"Wireless iwinfo\""
msgid "server interfaces"
msgstr "interfaces servidores"
+#~ msgid "Installed network plugins:"
+#~ msgstr "Plugins de red instalados:"
+
+#~ msgid "Installed output plugins:"
+#~ msgstr "Plugins de salida instalados:"
+
+#~ msgid ""
+#~ "Network plugins are used to collect information about open tcp "
+#~ "connections, interface traffic, iptables rules etc."
+#~ msgstr ""
+#~ "Los plugins de red se usan para recolectar información sobre conexiones TCP, "
+#~ "tráfico en los interfaces, reglas de iptables, etc."
+
+#~ msgid ""
+#~ "Output plugins provide different possibilities to store collected data. "
+#~ "It is possible to enable multiple plugin at one, for example to store "
+#~ "collected data in rrd databases and to transmit the data over the network "
+#~ "to other collectd instances."
+#~ msgstr ""
+#~ "Los plugins de salida ofrecen varias posibilidades para almacenar los datos. "
+#~ "Es posible activar varios plugins a la vez, por ejemplo para almacenar "
+#~ "datos recolectados en bases de datos RRD y para transmitir los datos sobre "
+#~ "la red a otras instancias de collectd."
+
+#~ msgid ""
+#~ "System plugins collecting values about system state and ressource usage "
+#~ "on the device.:"
+#~ msgstr ""
+#~ "Los plugins del sistema recolectan valores sobre el estado y el uso de "
+#~ "recursos del dispositivo.:"
+
+#~ msgid ""
+#~ "The wireless plugin collects statistics about wireless signal strength, "
+#~ "noise and quality."
+#~ msgstr ""
+#~ "El plugin \"inalámbrico\" recoge estadísticas sobre fuerza de la señal, ruido "
+#~ "y calidad."
+
+#~ msgid "Wireless Plugin Configuration"
+#~ msgstr "Configuración del plugin \"Wireless\""
+
#~ msgid "Filepath of the unix socket"
#~ msgstr "Ruta de archivo para el socket de unix"
"Adds an \"X-Tinyproxy\" HTTP header with the client IP address to forwarded "
"requests"
msgstr ""
-"Añade una cabecera HTTP con \"X-Tinyproxy\" con la dirección IP del cliente a "
-"las peticiones retransmitidas"
+"Añade una cabecera HTTP con \"X-Tinyproxy\" con la dirección IP del cliente "
+"a las peticiones retransmitidas"
msgid "Allowed clients"
msgstr "Clientes permitidos"
"Can be either an IP address or range, a domain name or \".\" for any host "
"without domain"
msgstr ""
-"Puede ser un rango de IPs, un nombre de dominio o \".\" para cualquier máquina "
-"sin dominio"
+"Puede ser un rango de IPs, un nombre de dominio o \".\" para cualquier "
+"máquina sin dominio"
msgid "Configuration"
msgstr "Configuración"
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2012-01-15 05:32+0200\n"
-"Last-Translator: desillu <ledesillusionniste@hotmail.com>\n"
+"PO-Revision-Date: 2012-11-06 13:06+0200\n"
+"Last-Translator: hogsim <hogsim@gmail.com>\n"
"Language-Team: none\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "AHCP Server"
msgstr "Serveur AHCP"
msgstr "Décrit les préfixes réseaux IPv4 et IPv6 publiés en notation CIDR"
msgid "The AHCP Service is not running."
-msgstr ""
+msgstr "Le service AHCP n'est pas en fonctionnement."
msgid "The AHCP Service is running with ID %s."
-msgstr ""
+msgstr "Le service AHCP est en fonctionnement avec l'ID s."
msgid "There are no active leases."
msgstr "Il n'y a aucun bail actif."
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-10 03:40+0200\n"
-"PO-Revision-Date: 2012-07-02 08:42+0200\n"
-"Last-Translator: dgolle <dgolle@allnet.de>\n"
+"PO-Revision-Date: 2012-11-06 16:16+0200\n"
+"Last-Translator: hogsim <hogsim@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
msgstr "Maximum de requêtes concurrentes"
msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>"
-msgstr ""
+msgstr "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>"
msgid "APN"
msgstr "APN"
msgstr "Connexions actives"
msgid "Active DHCP Leases"
-msgstr ""
+msgstr "Bails DHCP actifs"
msgid "Active DHCPv6 Leases"
-msgstr ""
+msgstr "Bails DHCPv6 actifs"
msgid "Ad-Hoc"
msgstr "Ad-hoc"
msgid "Allowed range is 1 to 65535"
msgstr "La gamme autorisée va de 1 à 65535"
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr "Un réseau supplémentaire sera créé si vous laissé ceci décoché."
msgstr "Antenne 2"
msgid "Antenna Configuration"
-msgstr ""
+msgstr "Configuration de l'antenne"
msgid "Any zone"
msgstr "N'importe quelle zone"
msgstr "Équipements associés"
msgid "Atheros 802.11%s Wireless Controller"
-msgstr ""
+msgstr "Contrôleur sans fil Atheros 802.11%s "
msgid "Authentication"
msgstr "Authentification"
msgstr "L'activer au démarrage"
msgid "Broadcom 802.11%s Wireless Controller"
-msgstr ""
+msgstr "Contrôleur sans fil Broadcom 802.11%s"
msgid "Broadcom BCM%04x 802.11 Wireless Controller"
-msgstr ""
+msgstr "Contrôleur sans fil Broadcom BCM%04x 802.11"
msgid "Buffered"
msgstr "Temporisé"
"Choose the network(s) you want to attach to this wireless interface or fill "
"out the <em>create</em> field to define a new network."
msgstr ""
+"Choisissez le(s) réseau(x) que vous souhaitez attachez a cette interface "
+"sans-fil ou remplissez le <em>créer</em> champ pour définir un nouveau "
+"réseau. "
msgid "Cipher"
msgstr "Code de chiffrement"
msgstr "Options DHCP"
msgid "DHCPv6 Leases"
-msgstr ""
+msgstr "Bails DHCPv6"
msgid "DNS"
msgstr "DNS"
msgstr "transmissions DNS"
msgid "DUID"
-msgstr ""
+msgstr "DUID"
msgid "Debug"
msgstr "Deboguage"
msgstr "Activer la circulation de très grandes trames (Jumbo)"
msgid "Enable NTP client"
-msgstr ""
+msgstr "Activer client NTP"
msgid "Enable TFTP server"
msgstr "Activer le serveur TFTP"
msgid "Force"
msgstr "Forcer"
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr "Forcer CCMP (AES)"
msgstr "Sauts en fréquence"
msgid "GHz"
-msgstr ""
+msgstr "Ghz"
msgid "GPRS only"
-msgstr ""
+msgstr "seulement GPRS"
msgid "Gateway"
msgstr "Passerelle"
msgstr "Construire l'archive"
msgid "Generic 802.11%s Wireless Controller"
-msgstr ""
+msgstr "Contrôleur sans fil générique 802.11%s"
msgid "Given password confirmation did not match, password not changed!"
msgstr ""
"authentification SSH sur clés publiques."
msgid "Hermes 802.11b Wireless Controller"
-msgstr ""
+msgstr "Contrôleur sans fil Hermes 802.11b"
msgid "Hide <abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"
msgstr "Cacher le ESSID"
msgstr "IPv4 seulement"
msgid "IPv4 prefix length"
-msgstr ""
+msgstr "longueur du préfixe IPv4"
msgid "IPv4-Address"
msgstr "Adresse IPv4"
msgstr "IPv6 seulement"
msgid "IPv6 prefix"
-msgstr ""
+msgstr "Préfixe IPv6"
msgid "IPv6 prefix length"
-msgstr ""
+msgstr "longueur du préfixe IPv6"
msgid "IPv6-Address"
-msgstr ""
+msgstr "Adresse IPv6"
msgid "IPv6-in-IPv4 (RFC4213)"
msgstr "IPv6 dans IPv4 (RFC 4213)"
msgid "IPv6-over-IPv4 (6rd)"
-msgstr ""
+msgstr "IPv6 sur IPv4 (6ème)"
msgid "IPv6-over-IPv4 (6to4)"
-msgstr ""
+msgstr "IPv6 sur IPv4 (6 vers 4)"
msgid "Identity"
msgstr "Identité"
msgstr "Interfaces"
msgid "Internal Server Error"
-msgstr ""
+msgstr "Erreur Serveur Interne"
msgid "Invalid"
msgstr "Erreur : donnée entrée invalide"
msgstr "Tuer"
msgid "L2TP"
-msgstr ""
+msgstr "L2TP"
msgid "L2TP Server"
-msgstr ""
+msgstr "Serveur L2TP"
msgid "LCP echo failure threshold"
msgstr "Seuil d'erreur des échos LCP"
msgstr "Liste des adresses MAC"
msgid "MB/s"
-msgstr ""
+msgstr "MB/s"
msgid "MHz"
-msgstr ""
+msgstr "MHz"
msgid "MTU"
msgstr "MTU"
msgstr "Nombre maximum d'adresses allouées."
msgid "Mbit/s"
-msgstr ""
+msgstr "Mbit/s"
msgid "Memory"
msgstr "Mémoire"
msgstr "Normal"
msgid "Not Found"
-msgstr ""
+msgstr "Pas trouvé"
msgid "Not associated"
msgstr "Pas associé"
msgstr "Note"
msgid "Nslookup"
-msgstr ""
+msgstr "Nslookup"
msgid "OK"
msgstr "OK"
msgstr "Paramètres physiques"
msgid "Ping"
-msgstr ""
+msgstr "Ping"
msgid "Pkts."
msgstr "Pqts."
msgstr "Le port %d n'est pas marqué dans plusieurs VLANs !"
msgid "Port status:"
-msgstr ""
+msgstr "Statut du port :"
msgid ""
"Presume peer to be dead after given amount of LCP echo failures, use 0 to "
msgstr "Empêche la communication directe entre clients"
msgid "Prism2/2.5/3 802.11b Wireless Controller"
-msgstr ""
+msgstr "Contrôleur sans fil Prism2/2.5/3 802.11b"
msgid "Proceed"
msgstr "Continuer"
msgstr "La gestion du protocole n'est pas installée"
msgid "Provide NTP server"
-msgstr ""
+msgstr "Fournir serveur NTP"
msgid "Provide new network"
msgstr "Donner un nouveau réseau"
msgstr "Pseudo Ad-Hoc (ahdemo)"
msgid "Quality"
-msgstr ""
+msgstr "Qualitée"
msgid "RTS/CTS Threshold"
msgstr "Seuil RTS/CTS"
msgstr "Débit en réception"
msgid "RaLink 802.11%s Wireless Controller"
-msgstr ""
+msgstr "Contrôleur sans fil RaLink 802.11%s"
msgid "Radius-Accounting-Port"
msgstr "Port de la comptabilisation Radius"
msgstr "Certains champs sont invalides, ne peut sauvegarder les valeurs !"
msgid "Sorry, the object you requested was not found."
-msgstr ""
+msgstr "Désolé, l'objet que vous avez demandé n'as pas été trouvé."
msgid "Sorry, the server encountered an unexpected error."
-msgstr ""
+msgstr "Désolé, le serveur à rencontré une erreur inattendue."
msgid ""
"Sorry, there is no sysupgrade support present, a new firmware image must be "
msgid ""
"The IPv6 prefix assigned to the provider, usually ends with <code>::</code>"
msgstr ""
+"Le préfixe IPv6 attribué par le fournisseur, se termine généralement par "
+"<code>::</code>"
msgid ""
"The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</"
"code> and <code>_</code>"
msgstr ""
-"Les caractères autorisés sont : <code>A-Z</code>, <code>a-z</code>, <code>0-"
-"9</code> et <code>_</code>"
+"Les caractères autorisés sont : <code>A-Z</code>, <code>a-z</code>, "
+"<code>0-9</code> et <code>_</code>"
msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"The length of the IPv4 prefix in bits, the remainder is used in the IPv6 "
"addresses."
msgstr ""
+"La longueur du préfixe IPv4 en bits, le reste est utilisé dans les adresses "
+"IPv6"
msgid "The length of the IPv6 prefix in bits"
-msgstr ""
+msgstr "La longueur du préfixe IPv6 en bits"
msgid ""
"The network ports on this device can be combined to several <abbr title="
"et activer l'accès par SSH."
msgid "This IPv4 address of the relay"
-msgstr ""
+msgstr "L'adresse IPv4 du relais"
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
msgstr "Total disponible"
msgid "Traceroute"
-msgstr ""
+msgstr "Traceroute"
msgid "Traffic"
msgstr "Trafic"
msgstr "UDP :"
msgid "UMTS only"
-msgstr ""
+msgstr "seulement UMTS"
msgid "UMTS/GPRS/EV-DO"
msgstr "UMTS/GPRS/EV-DO"
msgstr "UUID"
msgid "Unable to dispatch"
-msgstr ""
+msgstr "Impossible d'envoyer"
msgid "Unknown"
msgstr "Inconnu"
"client) ou hostapd (en mode Point d'accès ou Ad-hoc)."
msgid "Waiting for changes to be applied..."
-msgstr ""
+msgstr "En attente de l'application des changements..."
msgid "Waiting for command to complete..."
-msgstr ""
-
-msgid "Waiting for router..."
-msgstr "Attente du routeur…"
+msgstr "En attente de la fin de la commande..."
msgid "Warning"
msgstr "Attention"
msgstr "auto"
msgid "baseT"
-msgstr ""
+msgstr "baseT"
msgid "bridged"
msgstr "ponté"
msgid "create:"
-msgstr ""
+msgstr "créer:"
msgid "creates a bridge over specified interface(s)"
msgstr "créer un bridge entre plusieurs interfaces"
msgid "dB"
-msgstr ""
+msgstr "dB"
msgid "dBm"
-msgstr ""
+msgstr "dBm"
msgid "disable"
msgstr "désactiver"
msgstr "transfert"
msgid "full-duplex"
-msgstr ""
+msgstr "full-duplex"
msgid "half-duplex"
-msgstr ""
+msgstr "half-duplex"
msgid "help"
msgstr "aide"
msgid "hidden"
-msgstr ""
+msgstr "cacher"
msgid "if target is a network"
msgstr "si la destination est un réseau"
msgstr "entrée"
msgid "kB"
-msgstr ""
+msgstr "kB"
msgid "kB/s"
-msgstr ""
+msgstr "kB/s"
msgid "kbit/s"
-msgstr ""
+msgstr "kbit/s"
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "fichier de résolution local"
msgstr "non"
msgid "no link"
-msgstr ""
+msgstr "pas de lien"
msgid "none"
msgstr "aucun"
msgstr "Actif"
msgid "open"
-msgstr ""
+msgstr "ouvrir"
msgid "routed"
msgstr "routé"
msgstr "marqué"
msgid "unknown"
-msgstr ""
+msgstr "inconnu"
msgid "unlimited"
msgstr "non limité"
msgid "« Back"
msgstr "« Retour"
+#~ msgid "Waiting for router..."
+#~ msgstr "Attente du routeur…"
+
#~ msgid "Enable builtin NTP server"
#~ msgstr "Activer le serveur NTP intégré"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
-#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-19 19:36+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2012-11-06 13:16+0200\n"
+"Last-Translator: hogsim <hogsim@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 1.1.1\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "CoovaChilli"
-msgstr ""
+msgstr "CoovaChilli"
msgid "Network Configuration"
-msgstr ""
+msgstr "Configuration Réseau"
msgid "RADIUS configuration"
-msgstr ""
+msgstr "Configuration RADIUS"
msgid "UAM and MAC Authentication"
-msgstr ""
+msgstr "Authentification UAM et MAC"
-#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-02 13:44+0100\n"
-"PO-Revision-Date: 2010-04-02 17:15+0100\n"
-"Last-Translator: Benoît Knecht <benoit.knecht@gmail.com>\n"
+"PO-Revision-Date: 2012-11-06 13:19+0200\n"
+"Last-Translator: hogsim <hogsim@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
+"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 1.1.1\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Check for changed IP every"
msgstr "Vérifier si l'adresse IP a changé toutes les"
msgid "Enable"
msgstr "Activer"
+msgid "Event interface"
+msgstr "Événement sur l'interface"
+
msgid "Force update every"
msgstr "Vérification forcée toutes les"
msgid "Network"
msgstr "Réseau"
+msgid "On which interface up should start the ddns script process."
+msgstr "Sur quelle interface devrait démarrer le processus du script ddns."
+
msgid "Password"
msgstr "Mot de passe"
msgid "network"
msgstr "réseau"
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2011-11-23 22:32+0200\n"
-"Last-Translator: fredb <fblistes+luci@free.fr>\n"
+"PO-Revision-Date: 2012-11-06 13:21+0200\n"
+"Last-Translator: hogsim <hogsim@gmail.com>\n"
"Language-Team: none\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Configure Diagnostics"
msgstr "Configuration des diagnostics"
msgid "Diagnostics"
-msgstr ""
+msgstr "Diagnostiques"
msgid ""
"The diagnostics available under this menu depend on what modules you have "
"installed on your device."
msgstr ""
+"Les diagnostics disponible ci-dessous dépendent des modules que vous avez "
+"installé sur votre appareil. "
msgid ""
"The entries in the menu allow you to perform diagnostic tests on your system "
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2012-01-15 07:15+0200\n"
-"Last-Translator: desillu <ledesillusionniste@hotmail.com>\n"
+"PO-Revision-Date: 2012-11-06 16:25+0200\n"
+"Last-Translator: hogsim <hogsim@gmail.com>\n"
"Language-Team: none\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Actions"
-msgstr ""
+msgstr "Actions"
msgid "Add"
msgstr "Ajouter"
msgstr "Configurer"
msgid "Configure Scans"
-msgstr ""
+msgstr "Configurer la recherche"
msgid ""
"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."
msgstr ""
+"Configurer la recherche d'appareils sur un réseau spécifié. Réduire le "
+"'Timeout', 'Repeat Count', et/ou 'Sleep Between Requests' peut augmenter la "
+"vitesse des scans, mais peut aussi ne pas trouver certains appareils."
msgid ""
"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."
msgstr ""
+"Configurer la recherche d'appareils SIP supporté sur un réseau spécifié. "
+"Réduire le 'Timeout', 'Repeat Count', et/ou 'Sleep Between Requests' peut "
+"augmenter la vitesse des scans, mais peut aussi ne pas trouver certains "
+"appareils."
msgid "Delete"
msgstr "Supprimer"
msgstr "Configuration de la recherche de périphériques"
msgid "Device Type"
-msgstr ""
+msgstr "Type d'appareil"
msgid "Devices discovered for"
msgstr "Devices discovered for"
msgstr "Durée d'attente en millisecondes entre les requêtes (par défaut 100)"
msgid "Model"
-msgstr ""
+msgstr "Modèle"
msgid "Name"
msgstr "Nom"
msgid "Network Device Scan"
-msgstr ""
+msgstr "Analyse des périphériques réseau"
msgid "Network Device Scanning Configuration"
-msgstr ""
+msgstr "Configuration de l'analyse des périphériques réseau"
msgid "Networks to scan for devices"
-msgstr ""
+msgstr "Réseaux à scanner pour les périphériques "
msgid "Networks to scan for supported devices"
-msgstr ""
+msgstr "Réseaux à scanner pour les périphériques supporté"
msgid "No SIP devices"
msgstr "Pas de périphérique SIP"
"Périphérique » (mac-to-devinfo) pour une gamme donnée d'adresses MAC"
msgid "Perform Scans (this can take a few minutes)"
-msgstr ""
+msgstr "Faire un scan ( Cela peut prendre quelques minutes)"
msgid "Phone Information"
msgstr "Informations concernant le téléphone"
msgstr "Téléphones"
msgid "Ports"
-msgstr ""
+msgstr "Ports"
msgid "Raw"
msgstr "Brut"
msgstr "Nombre de tentatives"
msgid "Repeat Scans (this can take a few minutes)"
-msgstr ""
+msgstr "Refaire scans (cela peut prendre quelques minutes )"
msgid "SIP Device Information"
msgstr "Informations concernant le périphérique SIP"
msgstr "Périphériques SIP sur le réseau"
msgid "SIP devices discovered for"
-msgstr ""
+msgstr "Périphériques SIP découvert pour"
msgid "Scan for devices on specified networks."
msgstr "Rechercher des périphériques sur les réseaux spécifiés."
msgid "Scanning Configuration"
msgstr ""
+msgid "Scans for devices on specified networks."
+msgstr "Scans for devices on specified networks."
+
msgid "Sleep Between Requests"
msgstr "Attente entre les requêtes"
msgid "check other networks"
msgstr "Explorer d'autres réseaux"
-
-msgid "Scans for devices on specified networks."
-msgstr "Scans for devices on specified networks."
msgid "BSSID"
msgstr ""
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr ""
msgid "Edit index page"
msgstr ""
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr ""
msgid "Go to"
msgstr ""
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr ""
msgid "Hostname"
msgstr ""
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr ""
msgid "Latitude"
msgstr ""
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr ""
msgid "Operator"
msgstr ""
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr ""
msgid "Realname"
msgstr ""
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr ""
msgid "Status"
msgstr ""
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr ""
msgid "Verify downloaded images"
msgstr ""
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr ""
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-14 10:33+0200\n"
-"PO-Revision-Date: 2011-06-22 21:31+0200\n"
-"Last-Translator: fredb <fblistes+luci@free.fr>\n"
+"PO-Revision-Date: 2012-11-06 15:20+0200\n"
+"Last-Translator: hogsim <hogsim@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Disk"
msgstr "Disque"
msgstr "h"
msgid "hd-idle"
-msgstr ""
+msgstr "hd-idle"
msgid ""
"hd-idle is a utility program for spinning-down external disks after a period "
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Pootle 2.0.4\n"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr "Canal"
msgid "Enable DHCP"
msgstr "Activer le serveur DHCP"
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr "Paramètres généraux"
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr "Adresse IP maillée"
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr "Assistant de Maillage"
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr "Protéger le LAN"
"Sélectionnez ceci pour permettre aux autres d'utiliser votre connexion pour "
"accéder à Internet."
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr "Partager votre connexion Internet"
msgid "The given IP address is not inside the mesh network range"
msgstr "L'adresse IP donnée n'est pas dans le réseau maillé"
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-19 19:36+0200\n"
-"PO-Revision-Date: 2011-06-22 21:31+0200\n"
-"Last-Translator: fredb <fblistes+luci@free.fr>\n"
+"PO-Revision-Date: 2012-11-06 16:06+0200\n"
+"Last-Translator: hogsim <hogsim@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "CLK_pin"
-msgstr ""
+msgstr "CLK_pin"
msgid "CS_pin"
-msgstr ""
+msgstr "CS_pin"
msgid "DI_pin"
-msgstr ""
+msgstr "DI_pin"
msgid "DO_pin"
-msgstr ""
+msgstr "DO_pin"
msgid "Enable"
-msgstr ""
+msgstr "Activer"
msgid "MMC/SD driver configuration"
-msgstr ""
+msgstr "Configuration driver MMC/SD"
msgid "Mode"
-msgstr ""
+msgstr "Mode"
msgid "Name"
-msgstr ""
+msgstr "Nom"
msgid "Settings"
msgstr "Configuration"
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2011-11-23 22:26+0200\n"
-"Last-Translator: fredb <fblistes+luci@free.fr>\n"
+"PO-Revision-Date: 2012-11-06 16:07+0200\n"
+"Last-Translator: hogsim <hogsim@gmail.com>\n"
"Language-Team: none\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Attempts Before WAN Failover"
msgstr "Essais avant de déclarer un WAN défaillant"
msgstr "Auto"
msgid "Collecting data..."
-msgstr ""
+msgstr "Collection de données..."
msgid ""
"Configure rules for directing outbound traffic through specified WAN Uplinks."
msgstr "Activer"
msgid "Failing"
-msgstr ""
+msgstr "Défaillance"
msgid "Failover Traffic Destination"
msgstr "Destination du trafic en cas de défaillance"
"connexions défaillantes."
msgid "KO"
-msgstr ""
+msgstr "KO"
msgid "Load Balancer Distribution"
msgstr "Distribution d'équilibrage de charge"
msgstr "Multi-WAN"
msgid "Multi-WAN Status"
-msgstr ""
+msgstr "Statut Multi-WAN"
msgid "Multi-WAN Traffic Rules"
msgstr "Règles de trafic avec des liens sortants multiples"
msgstr "Aucun"
msgid "OK"
-msgstr ""
+msgstr "OK"
msgid "Ports"
msgstr "Ports"
msgstr "Protocole"
msgid "Recovering"
-msgstr ""
+msgstr "Récupération"
msgid "Source Address"
msgstr "Adresse source"
msgid "Unknown"
-msgstr ""
+msgstr "Inconnu"
msgid "WAN Interfaces"
msgstr "Interfaces WAN"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-14 13:24+0200\n"
-"PO-Revision-Date: 2011-06-13 21:23+0200\n"
-"Last-Translator: fredb <fblistes+luci@free.fr>\n"
+"PO-Revision-Date: 2012-11-06 16:08+0200\n"
+"Last-Translator: hogsim <hogsim@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Clock Adjustment"
msgstr "Ajustement de l'horloge"
msgstr "Synchronise le temps système"
msgid "Time Server"
-msgstr ""
+msgstr "Serveur temps "
msgid "Time Servers"
msgstr "Serveurs de temps"
-#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-03-25 22:10+0100\n"
-"PO-Revision-Date: 2010-03-26 09:06+0100\n"
-"Last-Translator: Benoît Knecht <benoit.knecht@gmail.com>\n"
+"PO-Revision-Date: 2012-11-06 16:08+0200\n"
+"Last-Translator: hogsim <hogsim@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 1.1.1\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Calculate overhead"
msgstr "Calculer la surcharge"
msgstr "prioritaire"
msgid "qos_connbytes"
-msgstr ""
+msgstr "qos_connbytes"
msgstr "Paramètres Collectd"
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr "Espace-disque"
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr "Période affichée »"
msgid "Incoming interface"
msgstr "Interface entrante"
-msgid "Installed network plugins:"
-msgstr ""
-
-msgid "Installed output plugins:"
-msgstr ""
-
msgid "Interface Plugin Configuration"
msgstr "Configuration du greffon des Interfaces"
msgid "Network plugins"
msgstr "Greffons liés au réseau"
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-
msgid "Network protocol"
msgstr "Protocole réseau"
msgid "Output plugins"
msgstr "Greffons liés aux résultats"
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-
msgid "Ping"
msgstr "Ping"
msgid "System plugins"
msgstr "Greffons liés au système"
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-
msgid "TCP Connections"
msgstr "Connexions TCP"
msgid "Table"
msgstr "Table"
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"collected data from a running collectd instance."
msgstr ""
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-"Le greffon sans-fil récupère des informations sur la puissance du signal "
-"wifi, sa qualité et sur le bruit."
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr "Tente de récupérer des noms d'hôtes complètement qualifiés"
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr "Socket Unix"
msgid "Wireless"
msgstr "Sans-fil"
-msgid "Wireless Plugin Configuration"
-msgstr "Configuration du greffon sans-fil"
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr ""
msgid "server interfaces"
msgstr "Interfaces du serveur"
+
+#~ msgid ""
+#~ "The wireless plugin collects statistics about wireless signal strength, "
+#~ "noise and quality."
+#~ msgstr ""
+#~ "Le greffon sans-fil récupère des informations sur la puissance du signal "
+#~ "wifi, sa qualité et sur le bruit."
+
+#~ msgid "Wireless Plugin Configuration"
+#~ msgstr "Configuration du greffon sans-fil"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-10 03:40+0200\n"
-"PO-Revision-Date: 2011-11-23 22:30+0200\n"
-"Last-Translator: fredb <fblistes+luci@free.fr>\n"
+"PO-Revision-Date: 2012-11-06 16:09+0200\n"
+"Last-Translator: hogsim <hogsim@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid ""
"<em>Via proxy</em> routes requests to the given target via the specifed "
"ou \".\" pour n'importe quel nom d'hôte sans domaine"
msgid "Configuration"
-msgstr ""
+msgstr "Configuration"
msgid "Connection timeout"
msgstr "Délai de connexion"
msgstr "Page de statistiques"
msgid "Status"
-msgstr ""
+msgstr "Statut"
msgid "Target host"
msgstr "Hôte de destination"
msgstr "Tinyproxy"
msgid "Tinyproxy Status"
-msgstr ""
+msgstr "Statut Tinyproxy"
msgid "Tinyproxy is a small and fast non-caching HTTP(S)-Proxy"
msgstr "Tinyproxy is a small and fast non-caching HTTP(S)-Proxy"
-#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-19 19:36+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2012-11-06 16:09+0200\n"
+"Last-Translator: hogsim <hogsim@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 1.1.1\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Pootle 2.0.6\n"
msgid ""
"ACLs specify which external ports may be redirected to which internal "
msgstr "Il n'y a pas de redirections actives."
msgid "UPNP"
-msgstr ""
+msgstr "UPNP"
msgid ""
"UPNP allows clients in the local network to automatically configure the "
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2012-01-15 07:10+0200\n"
-"Last-Translator: desillu <ledesillusionniste@hotmail.com>\n"
+"PO-Revision-Date: 2012-11-06 16:09+0200\n"
+"Last-Translator: hogsim <hogsim@gmail.com>\n"
"Language-Team: none\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Phones"
msgstr "Téléphones"
msgid "Voice"
-msgstr ""
+msgstr "Voix"
#~ msgid "l_v_adminphones"
#~ msgstr "Téléphones"
msgid "Allowed range is 1 to 65535"
msgstr "הטווח המורשה הוא 1 עד 65535"
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
#, fuzzy
msgid "An additional network will be created if you leave this unchecked."
msgstr "רשת נוספת תווצר אם תשאיר את זה לא מסומן"
msgid "Force"
msgstr ""
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
-msgid "Waiting for router..."
-msgstr ""
-
msgid "Warning"
msgstr "אזהרה"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
msgid "Enable"
msgstr "אפשר"
+msgid "Event interface"
+msgstr ""
+
msgid "Force update every"
msgstr "אלץ עדכון כל"
msgid "Network"
msgstr "רשת"
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+
msgid "Password"
msgstr "סיסמא"
msgid "network"
msgstr "רשת"
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
msgid "Scanning Configuration"
msgstr ""
+msgid "Scans for devices on specified networks."
+msgstr ""
+
msgid "Sleep Between Requests"
msgstr ""
msgid "check other networks"
msgstr ""
-
-msgid "Scans for devices on specified networks."
-msgstr ""
msgid "BSSID"
msgstr "BSSID"
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr "הגדרות בסיס"
msgid "Edit index page"
msgstr "ערוך דף אינדקס"
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr "שגיאה"
msgid "Go to"
msgstr "עבור אל"
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr "שלום וברוך הבא לרשת של"
msgid "Hostname"
msgstr ""
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr "אם מסומן, תוכן ברירת המחדל לא יופיע"
msgid "Latitude"
msgstr "רוחב"
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr ""
msgid "Operator"
msgstr ""
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr "סקירה"
msgid "Realname"
msgstr ""
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr ""
msgid "Status"
msgstr ""
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr ""
msgid "Verify downloaded images"
msgstr ""
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr ""
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr ""
msgid "Enable DHCP"
msgstr ""
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr ""
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr ""
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr ""
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr ""
"Select this to allow others to use your connection to access the internet."
msgstr ""
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr ""
msgid "The given IP address is not inside the mesh network range"
msgstr ""
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
msgstr ""
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr ""
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr ""
msgid "Incoming interface"
msgstr ""
-msgid "Installed network plugins:"
-msgstr ""
-
-msgid "Installed output plugins:"
-msgstr ""
-
msgid "Interface Plugin Configuration"
msgstr ""
msgid "Network plugins"
msgstr ""
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-
msgid "Network protocol"
msgstr ""
msgid "Output plugins"
msgstr ""
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-
msgid "Ping"
msgstr ""
msgid "System plugins"
msgstr ""
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-
msgid "TCP Connections"
msgstr ""
msgid "Table"
msgstr ""
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"collected data from a running collectd instance."
msgstr ""
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr ""
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr ""
msgid "Wireless"
msgstr ""
-msgid "Wireless Plugin Configuration"
-msgstr ""
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr ""
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2012-09-13 18:30+0200\n"
-"Last-Translator: Gábor <vargalex@freemail.hu>\n"
+"PO-Revision-Date: 2012-11-20 18:52+0200\n"
+"Last-Translator: juhosg <juhosg@openwrt.org>\n"
"Language-Team: none\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
msgstr "Aktív kapcsolatok"
msgid "Active DHCP Leases"
-msgstr ""
+msgstr "Aktív DHCP bérletek"
msgid "Active DHCPv6 Leases"
-msgstr ""
+msgstr "Aktív DHCPv6 bérletek"
msgid "Ad-Hoc"
msgstr "Ad-Hoc"
msgid "Allowed range is 1 to 65535"
msgstr "Engedélyezett tartomány 1-től 65535-ig"
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr "Amennyiben ezt jelöletlenül hagyja, egy további hálózat jön létre"
"Choose the network(s) you want to attach to this wireless interface or fill "
"out the <em>create</em> field to define a new network."
msgstr ""
+"Válassza ki azokat a hálózatokat, amelyeket csatlakoztatni akar ehhez a "
+"vezetéknélküli interfészhez, vagy töltse ki az <em>új</em> mezőt egy új "
+"hálózat definiálásához."
msgid "Cipher"
msgstr "Titkosító"
msgstr "Óriás keretek átengedésének engedélyezése"
msgid "Enable NTP client"
-msgstr ""
+msgstr "NTP-kliens engedélyezése"
msgid "Enable TFTP server"
msgstr "TFTP kiszolgáló engedélyezése"
msgid "Force"
msgstr "Kényszerítés"
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr "CCMP (AES) kényszerítése"
msgstr ""
msgid "GPRS only"
-msgstr ""
+msgstr "Csak GPRS"
msgid "Gateway"
msgstr "Átjáró"
msgstr "IPv4 és IPv6"
msgid "IPv4 broadcast"
-msgstr "IPv4 broagcast"
+msgstr "IPv4 broadcast"
msgid "IPv4 gateway"
msgstr "IPv4 átjáró"
msgstr "csak IPv4"
msgid "IPv4 prefix length"
-msgstr ""
+msgstr "IPv4 prefix hossza"
msgid "IPv4-Address"
msgstr "IPv4-cím"
msgstr ""
msgid "IPv6 prefix length"
-msgstr ""
+msgstr "IPv6 prefix hossz"
msgid "IPv6-Address"
-msgstr ""
+msgstr "IPv6-cím"
msgid "IPv6-in-IPv4 (RFC4213)"
msgstr "IPv6 IPv4-ben (RFC4213)"
msgstr ""
msgid "Locked to channel %d used by %s"
-msgstr "Zárolt a %s által használt %d csatornára"
+msgstr "Zárolt a %d csatornára az %s által."
msgid "Log output level"
msgstr "Napló kimeneti szintje"
msgstr "Normál"
msgid "Not Found"
-msgstr ""
+msgstr "Nem található"
msgid "Not associated"
msgstr "Nincs hozzárendelve"
msgstr "Protokoll támogatás nincs telepítve"
msgid "Provide NTP server"
-msgstr ""
+msgstr "NTP kiszolgáló"
msgid "Provide new network"
msgstr "Új hálózat nyújtása"
msgstr "Ál Ad-hoc (ahdemo)"
msgid "Quality"
-msgstr ""
+msgstr "Minőség"
msgid "RTS/CTS Threshold"
msgstr "RTS/CTS küszöbérték"
"Really delete this interface? The deletion cannot be undone!\\nYou might "
"lose access to this device if you are connected via this interface."
msgstr ""
+"Biztosan törli az interfészt? A törlés nem visszavonható!\n"
+" Lehet, hogy elveszti a hozzáférést az eszközhöz, amennyiben ezen az "
+"interfészen keresztül kapcsolódik."
msgid ""
"Really delete this wireless network? The deletion cannot be undone!\\nYou "
"might lose access to this device if you are connected via this network."
msgstr ""
+"Biztosan törli ezt a vezetéknélküli hálózatot? A törlés nem visszavonható!\n"
+"Lehet, hogy elveszti a hozzáférést az eszközhöz, amennyiben ezen a hálózaton "
+"keresztül kapcsolódik."
msgid "Really reset all changes?"
msgstr "Biztos, hogy visszavonja az összes módosítást?"
"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
"you are connected via this interface."
msgstr ""
+"Biztos, hogy leállítja a \"%s\" interfészt?\n"
+" Lehet, hogy elveszti a hozzáférést az eszközhöz, amennyiben ezen az "
+"interfészen keresztül kapcsolódik."
msgid ""
"Really shutdown network ?\\nYou might lose access to this device if you are "
"connected via this interface."
msgstr ""
+"Biztos, hogy leállítja a hálózatot?!\n"
+" Lehet, hogy elveszti a hozzáférést az eszközhöz, amennyiben ezen a "
+"hálózaton keresztül kapcsolódik."
msgid "Really switch protocol?"
msgstr "Biztos, hogy cserélni szeretné a protokollt?"
msgstr "Szabály #"
msgid "Run a filesystem check before mounting the device"
-msgstr "Fájlrendszer elleőrzés futtatása az eszköz csatolása előtt"
+msgstr "Fájlrendszer ellenőrzés futtatása az eszköz csatolása előtt"
msgid "Run filesystem check"
-msgstr "Fájlrendszer elleőrzés futtatása"
+msgstr "Fájlrendszer ellenőrzés futtatása"
msgid "SSH Access"
msgstr "SSH hozzáférés"
msgstr "Néhán mező érvénytelen, az értékek nem menthetők!"
msgid "Sorry, the object you requested was not found."
-msgstr ""
+msgstr "Sajnálom, a kért objektum nem található."
msgid "Sorry, the server encountered an unexpected error."
-msgstr ""
+msgstr "Sajnálom, a szerver váratlan hibát észlelt."
msgid ""
"Sorry, there is no sysupgrade support present, a new firmware image must be "
msgid "Waiting for command to complete..."
msgstr ""
-msgid "Waiting for router..."
-msgstr "Várakozás a routerre..."
-
msgid "Warning"
msgstr "Figyelmeztetés"
msgstr "áthidalt"
msgid "create:"
-msgstr ""
+msgstr "új:"
msgid "creates a bridge over specified interface(s)"
msgstr "híd létrehozása a megadott interfész(ek) között"
msgid "« Back"
msgstr "« Vissza"
+#~ msgid "Waiting for router..."
+#~ msgstr "Várakozás a routerre..."
+
#~ msgid "Enable builtin NTP server"
#~ msgstr "Beépített NTP kiszolgáló engedélyezése"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
msgid "Enable"
msgstr "Engedélyezés"
+msgid "Event interface"
+msgstr "Esemány interfész"
+
msgid "Force update every"
msgstr "Frissítés erőltetése minden"
msgid "Network"
msgstr "Hálózat"
+msgid "On which interface up should start the ddns script process."
+msgstr "Melyik interfész indulása váltsa ki a ddns script indítását."
+
msgid "Password"
msgstr "Jelszó"
msgid "network"
msgstr "hálózat"
-
-msgid "Event interface"
-msgstr "Esemány interfész"
-
-msgid "On which interface up should start the ddns script process."
-msgstr "Melyik interfész indulása váltsa ki a ddns script indítását."
msgid "Scanning Configuration"
msgstr ""
+msgid "Scans for devices on specified networks."
+msgstr "Scans for devices on specified networks."
+
msgid "Sleep Between Requests"
msgstr "Kérések közötti szünet"
msgid "check other networks"
msgstr "egyéb hálózatok ellenőrzése"
-
-msgid "Scans for devices on specified networks."
-msgstr "Scans for devices on specified networks."
"Project-Id-Version: PACKAGE VERSION\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "BSSID"
msgstr ""
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr ""
msgid "Edit index page"
msgstr ""
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr ""
msgid "Go to"
msgstr ""
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr ""
msgid "Hostname"
msgstr ""
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr ""
msgid "Latitude"
msgstr ""
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr ""
msgid "Operator"
msgstr ""
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr ""
msgid "Realname"
msgstr ""
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr ""
msgid "Status"
msgstr ""
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr ""
msgid "Verify downloaded images"
msgstr ""
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr ""
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr ""
msgid "Enable DHCP"
msgstr ""
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr ""
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr ""
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr ""
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr ""
"Select this to allow others to use your connection to access the internet."
msgstr ""
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr ""
msgid "The given IP address is not inside the mesh network range"
msgstr ""
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
"With <abbr title=\"Quality of Service\">QoS</abbr> you can prioritize "
"network traffic selected by addresses, ports or services."
msgstr ""
-"A <abbr title=\"Quality of Service\">QoS</abbr> segítségével beállítható cím, "
-"portok vagy szolgáltatások alapján kiválasztott hálózati forgalom "
+"A <abbr title=\"Quality of Service\">QoS</abbr> segítségével beállítható "
+"cím, portok vagy szolgáltatások alapján kiválasztott hálózati forgalom "
"prioritása."
msgid "all"
msgstr "Collectd beállítások"
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr "Lemezhasználat"
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr "Időszak megjelenítése »"
msgid "Incoming interface"
msgstr "Bejövő interfész"
-msgid "Installed network plugins:"
-msgstr "Telepített hálózati bővítmények:"
-
-msgid "Installed output plugins:"
-msgstr "Telepített kimeneti bővítmények:"
-
msgid "Interface Plugin Configuration"
msgstr "Interfész bővítmény beállítása"
msgid "Network plugins"
msgstr "Hálózati bővítmények"
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-"A hálózati bővítmények nyitott TCP kapcsolatok, interfész forgalom, iptables "
-"szabályok és ehhez hasonló információk gyűjtésére használhatók."
-
msgid "Network protocol"
msgstr "Hálózati protokoll"
msgid "Output plugins"
msgstr "Kimeneti bővítmények"
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-"A kimeneti bővítmények különféle lehetőségeket biztosítanak az összegyűjtött "
-"adatok tárolásához. Lehetőség van többféle bővítmény egyidejű "
-"engedélyezésére, például az összegyűjtött adatok RRD adatbázisban történő "
-"tárolására és egyidejűleg hálózaton keresztül másik collectd példányhoz való "
-"továbbítására."
-
msgid "Ping"
msgstr "Ping"
msgid "System plugins"
msgstr "Rendszer bővítmények"
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-"A rendszer bővítmények a rendszer állapotáról és az erőforrások "
-"használatáról gyűjtenek adatokat az eszközön."
-
msgid "TCP Connections"
msgstr "TCP kapcsolatok"
msgid "Table"
msgstr "Táblázat"
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"A unixsock bővítmény létrehoz egy unix socket-et melyen keresztül "
"kiolvashatók az összegyűjtött adatok egy futó collectd-ből. "
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-"A vezetéknélküli bővítmény vezetéknélküli jelerősségről, zajról és "
-"minőségről gyűjt információkat."
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr ""
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr "UnixSock"
msgid "Wireless"
msgstr "Vezeték nélküli"
-msgid "Wireless Plugin Configuration"
-msgstr "Vezetéknélküli bővítmény beállítása"
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr "iwinfo vezeték nélküli bővítmény beállítása"
msgid "server interfaces"
msgstr "kiszolgáló interfész"
+
+#~ msgid "Installed network plugins:"
+#~ msgstr "Telepített hálózati bővítmények:"
+
+#~ msgid "Installed output plugins:"
+#~ msgstr "Telepített kimeneti bővítmények:"
+
+#~ msgid ""
+#~ "Network plugins are used to collect information about open tcp "
+#~ "connections, interface traffic, iptables rules etc."
+#~ msgstr ""
+#~ "A hálózati bővítmények nyitott TCP kapcsolatok, interfész forgalom, iptables "
+#~ "szabályok és ehhez hasonló információk gyűjtésére használhatók."
+
+#~ msgid ""
+#~ "Output plugins provide different possibilities to store collected data. "
+#~ "It is possible to enable multiple plugin at one, for example to store "
+#~ "collected data in rrd databases and to transmit the data over the network "
+#~ "to other collectd instances."
+#~ msgstr ""
+#~ "A kimeneti bővítmények különféle lehetőségeket biztosítanak az összegyűjtött "
+#~ "adatok tárolásához. Lehetőség van többféle bővítmény egyidejű "
+#~ "engedélyezésére, például az összegyűjtött adatok RRD adatbázisban történő "
+#~ "tárolására és egyidejűleg hálózaton keresztül másik collectd példányhoz való "
+#~ "továbbítására."
+
+#~ msgid ""
+#~ "System plugins collecting values about system state and ressource usage "
+#~ "on the device.:"
+#~ msgstr ""
+#~ "A rendszer bővítmények a rendszer állapotáról és az erőforrások "
+#~ "használatáról gyűjtenek adatokat az eszközön."
+
+#~ msgid ""
+#~ "The wireless plugin collects statistics about wireless signal strength, "
+#~ "noise and quality."
+#~ msgstr ""
+#~ "A vezetéknélküli bővítmény vezetéknélküli jelerősségről, zajról és "
+#~ "minőségről gyűjt információkat."
+
+#~ msgid "Wireless Plugin Configuration"
+#~ msgstr "Vezetéknélküli bővítmény beállítása"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-10 03:40+0200\n"
-"PO-Revision-Date: 2011-06-26 16:20+0200\n"
-"Last-Translator: Massimo <coatto87@gmail.com>\n"
+"PO-Revision-Date: 2012-12-15 19:35+0200\n"
+"Last-Translator: claudyus <claudyus84@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "(%d minute window, %d second interval)"
msgstr "(%d finestra in minuti , %d secondi intervallo)"
msgid "(%s available)"
-msgstr "(%s available)"
+msgstr "(%s disponibile)"
msgid "(empty)"
msgstr "(vuoto)"
msgid "(no interfaces attached)"
-msgstr "(vuoto)"
+msgstr "(nessuna interfaccia collegata)"
msgid "-- Additional Field --"
msgstr "-- Campo aggiuntivo --"
msgstr "-- personalizzato --"
msgid "1 Minute Load:"
-msgstr "1 minuto carico:"
+msgstr "Carico in 1 minuto:"
msgid "15 Minute Load:"
-msgstr "15 minuti carico::"
+msgstr "Carico in 15 minut:"
msgid "40MHz 2nd channel above"
msgstr "40MHz superiore"
msgid "Allowed range is 1 to 65535"
msgstr "Range permesso 1-65535"
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr "Sarà creata una rete aggiuntiva se lasci questo senza spunta."
msgid "Force"
msgstr "Forza"
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
-msgid "Waiting for router..."
-msgstr ""
-
msgid "Warning"
msgstr ""
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
msgid "Enable"
msgstr "Abilita"
+msgid "Event interface"
+msgstr ""
+
msgid "Force update every"
msgstr "Forza aggiornamento ogni"
msgid "Network"
msgstr "Rete"
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+
msgid "Password"
msgstr "Password"
msgid "network"
msgstr "rete"
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
msgid "Scanning Configuration"
msgstr ""
+msgid "Scans for devices on specified networks."
+msgstr ""
+
msgid "Sleep Between Requests"
msgstr ""
msgid "check other networks"
msgstr ""
-
-msgid "Scans for devices on specified networks."
-msgstr ""
msgid "BSSID"
msgstr ""
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr ""
msgid "Edit index page"
msgstr ""
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr ""
msgid "Go to"
msgstr ""
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr ""
msgid "Hostname"
msgstr ""
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr ""
msgid "Latitude"
msgstr ""
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr ""
msgid "Operator"
msgstr ""
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr ""
msgid "Realname"
msgstr ""
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr ""
msgid "Status"
msgstr ""
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr ""
msgid "Verify downloaded images"
msgstr ""
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr ""
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.0.4\n"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr "Canale"
msgid "Enable DHCP"
msgstr "Abilità DHCP"
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr "Impostazioni generali"
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr ""
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr ""
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr "Proteggi LAN"
"Selezionare per permettere ad altri di usare la tua connessione per accedere "
"a internet."
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr "Condividi la tua connessione internet"
msgid "The given IP address is not inside the mesh network range"
msgstr "L'IP dato non è all'interno del range degli indirizzi di rete mesh"
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"Last-Translator: Automatically generated\n"
+"PO-Revision-Date: 2012-12-15 19:42+0200\n"
+"Last-Translator: claudyus <claudyus84@gmail.com>\n"
"Language-Team: none\n"
+"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Advanced Settings"
-msgstr ""
+msgstr "Opzioni avanzate"
msgid "Album art names:"
msgstr ""
msgid "Announced model number:"
-msgstr ""
+msgstr "Numero modello annunciato:"
msgid "Announced serial number:"
-msgstr ""
+msgstr "Numero seriale annunciato:"
msgid "Browse directory"
-msgstr ""
+msgstr "Esplora directory"
msgid "Collecting data..."
-msgstr ""
+msgstr "Recuperando i dati..."
msgid "Database directory:"
-msgstr ""
+msgstr "Directory database:"
msgid "Enable TIVO:"
-msgstr ""
+msgstr "Abilita TIVO:"
msgid "Enable inotify:"
-msgstr ""
+msgstr "Abilita inotify:"
msgid "Enable:"
-msgstr ""
+msgstr "Abilita:"
msgid "Friendly name:"
msgstr ""
msgid "General Settings"
-msgstr ""
+msgstr "Impostazioni generali"
msgid "Interfaces:"
-msgstr ""
+msgstr "Interfaccie:"
msgid "Log directory:"
-msgstr ""
+msgstr "Directory di log:"
msgid "Media directories:"
msgstr ""
"MiniDLNA is server software with the aim of being fully compliant with DLNA/"
"UPnP-AV clients."
msgstr ""
+"MiniDLNA è un server il cui intento è di essere completamente compatibile "
+"con i DLNA/UPnP-AV client disponibili."
msgid ""
"Model number the miniDLNA daemon will report to clients in its XML "
msgstr ""
msgid "Music"
-msgstr ""
+msgstr "Musica"
msgid "Network interfaces to serve."
-msgstr ""
+msgstr "Interfaccia di rete usata."
msgid "Notify interval in seconds."
-msgstr ""
+msgstr "Intervallo di notifica in secondi."
msgid "Notify interval:"
-msgstr ""
+msgstr "Intervallo di notifica:"
msgid "Pictures"
-msgstr ""
+msgstr "Immagini"
msgid "Port for HTTP (descriptions, SOAP, media transfer) traffic."
msgstr ""
msgid "Port:"
-msgstr ""
+msgstr "Porta:"
msgid "Presentation URL:"
msgstr ""
"Serial number the miniDLNA daemon will report to clients in its XML "
"description."
msgstr ""
+"Serial number che il server miniDLNA invierà ai client nella descrizione "
+"XML."
msgid ""
"Set this if you want to customize the name that shows up on your clients."
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"Last-Translator: Automatically generated\n"
+"PO-Revision-Date: 2012-12-15 19:31+0200\n"
+"Last-Translator: claudyus <claudyus84@gmail.com>\n"
"Language-Team: none\n"
+"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Advanced Settings"
-msgstr ""
+msgstr "Opzioni avanzate"
msgid "Available"
msgstr ""
msgstr ""
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr ""
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr ""
msgid "Incoming interface"
msgstr ""
-msgid "Installed network plugins:"
-msgstr ""
-
-msgid "Installed output plugins:"
-msgstr ""
-
msgid "Interface Plugin Configuration"
msgstr ""
msgid "Network plugins"
msgstr ""
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-
msgid "Network protocol"
msgstr ""
msgid "Output plugins"
msgstr ""
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-
msgid "Ping"
msgstr ""
msgid "System plugins"
msgstr ""
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-
msgid "TCP Connections"
msgstr ""
msgid "Table"
msgstr "Tabella"
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"collected data from a running collectd instance."
msgstr ""
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr ""
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr ""
msgid "Wireless"
msgstr ""
-msgid "Wireless Plugin Configuration"
-msgstr ""
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-19 19:36+0200\n"
-"PO-Revision-Date: 2011-05-22 11:03+0200\n"
-"Last-Translator: Massimo <coatto87@gmail.com>\n"
+"PO-Revision-Date: 2012-12-15 19:29+0200\n"
+"Last-Translator: claudyus <claudyus84@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid ""
"<em>Via proxy</em> routes requests to the given target via the specifed "
"Adds an \"X-Tinyproxy\" HTTP header with the client IP address to forwarded "
"requests"
msgstr ""
+"Aggiungi una intestazione http \"X-Tinyproxy\" contenente l'IP del client a "
+"cui forwardare la richiesta"
msgid "Allowed clients"
-msgstr ""
+msgstr "Client permessi"
msgid "Allowed connect ports"
-msgstr ""
+msgstr "Porte di connessione permesse"
msgid "Bind address"
-msgstr ""
+msgstr "Bind Address"
msgid ""
"By default, basic POSIX expressions are used for filtering. Enable this to "
"By default, filtering is done based on domain names. Enable this to match "
"against URLs instead"
msgstr ""
+"Di default, il filto è basato sul nome di dominio. Abilita questa opzione "
+"per effettuare il match con URL"
msgid ""
"By default, the filter rules act as blacklist. Enable this option to only "
msgstr ""
msgid "Configuration"
-msgstr ""
+msgstr "Configurazione"
msgid "Connection timeout"
msgstr ""
msgstr ""
msgid "Failed to retrieve statistics from url:"
-msgstr ""
+msgstr "Impossibile recuperare le statistiche dall'url:"
msgid "Filter by RegExp"
msgstr ""
msgid ""
"List of IP addresses or ranges which are allowed to use the proxy server"
msgstr ""
+"Lista di indirizzi IP o range di indirizzi a cui è permesso l'uso del proxy"
msgid ""
"List of allowed ports for the CONNECT method. A single value \"0\" allows "
msgstr ""
msgid "Maximum allowed number of concurrently connected clients"
-msgstr ""
+msgstr "Numero massimo di client simultanei permessi"
msgid ""
"Maximum allowed number of requests per process. If it is exeeded, the "
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-10 03:40+0200\n"
-"PO-Revision-Date: 2012-08-30 16:46+0200\n"
+"PO-Revision-Date: 2012-11-17 16:43+0200\n"
"Last-Translator: Kentaro <kentaro.matsuyama@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: ja\n"
msgstr "アクティブコネクション"
msgid "Active DHCP Leases"
-msgstr ""
+msgstr "現在アクティブなDHCPリース"
msgid "Active DHCPv6 Leases"
-msgstr ""
+msgstr "現在アクティブなDHCPv6リース"
msgid "Ad-Hoc"
msgstr "アドホック"
msgid "Allowed range is 1 to 65535"
msgstr "設定可能な範囲は1から65535です"
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr "チェックボックスがオフの場合、追加のネットワークが作成されます。"
"Choose the network(s) you want to attach to this wireless interface or fill "
"out the <em>create</em> field to define a new network."
msgstr ""
+"無線インターフェースをアタッチするネットワークを選択してください。または、"
+"<em>作成</em>欄を選択すると新しいネットワークを作成します。"
msgid "Cipher"
msgstr "暗号化方式"
msgstr "ジャンボフレーム・パススルーを有効にする"
msgid "Enable NTP client"
-msgstr ""
+msgstr "NTPクライアント機能を有効にする"
msgid "Enable TFTP server"
msgstr "TFTPサーバーを有効にする"
msgid "Force"
msgstr "強制"
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr "CCMP (AES) を使用"
msgstr "周波数ホッピング"
msgid "GHz"
-msgstr ""
+msgstr "GHz"
msgid "GPRS only"
-msgstr ""
+msgstr "GPRSのみ"
msgid "Gateway"
msgstr "ゲートウェイ"
msgstr "IPv4のみ"
msgid "IPv4 prefix length"
-msgstr ""
+msgstr "IPv4 プレフィクス長"
msgid "IPv4-Address"
msgstr "IPv4-アドレス"
msgstr "MAC-アドレス"
msgid "MAC-Address Filter"
-msgstr "MACアドレスフィルタ"
+msgstr "MAC-アドレスフィルタ"
msgid "MAC-Filter"
msgstr "MAC-フィルタ"
msgstr ""
msgid "Port status:"
-msgstr ""
+msgstr "ポート ステータス:"
msgid ""
"Presume peer to be dead after given amount of LCP echo failures, use 0 to "
msgstr "プロトコルサポートがインストールされていません"
msgid "Provide NTP server"
-msgstr ""
+msgstr "NTPサーバー機能を有効にする"
msgid "Provide new network"
msgstr "新しいネットワークを設定する"
msgstr "擬似アドホック (ahdemo)"
msgid "Quality"
-msgstr ""
+msgstr "クオリティ"
msgid "RTS/CTS Threshold"
msgstr "RTS/CTS閾値"
"Really delete this interface? The deletion cannot be undone!\\nYou might "
"lose access to this device if you are connected via this interface."
msgstr ""
+"本当にこのインターフェースを削除しますか?一度削除すると、元に戻すことはできま"
+"せん!\n"
+"このインターフェースを経由して接続している場合、デバイスにアクセスできなくな"
+"る場合があります。"
msgid ""
"Really delete this wireless network? The deletion cannot be undone!\\nYou "
"might lose access to this device if you are connected via this network."
msgstr ""
+"本当にこの無線ネットワークを削除しますか?一度削除すると、元に戻すことはできま"
+"せん!\n"
+"このネットワークを経由して接続している場合、デバイスにアクセスできなくなる場"
+"合があります。"
msgid "Really reset all changes?"
msgstr "本当に全ての変更をリセットしますか?"
"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
"you are connected via this interface."
msgstr ""
+"本当にインターフェース \"%s\" を停止しますか?\n"
+"このインターフェースを経由して接続している場合、デバイスにアクセスできなくな"
+"る場合があります。"
msgid ""
"Really shutdown network ?\\nYou might lose access to this device if you are "
"connected via this interface."
msgstr ""
+"本当にネットワークを停止しますか?\n"
+"このネットワークを経由して接続している場合、デバイスにアクセスできなくなる場"
+"合があります。"
msgid "Really switch protocol?"
msgstr "本当にプロトコルを切り替えますか?"
msgstr ""
msgid "Sorry, the server encountered an unexpected error."
-msgstr ""
+msgstr "申し訳ありません。サーバーに予期せぬエラーが発生しました。"
msgid ""
"Sorry, there is no sysupgrade support present, a new firmware image must be "
msgstr "送信元"
msgid "Specifies the advertised preferred prefix lifetime in seconds"
-msgstr ""
+msgstr "通知する推奨有効時間を設定してください。(秒単位)"
msgid "Specifies the advertised valid prefix lifetime in seconds"
-msgstr ""
+msgstr "通知する最終有効時間を設定してください。(秒単位)"
msgid "Specifies the button state to handle"
msgstr ""
"The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</"
"code> and <code>_</code>"
msgstr ""
-"使用可能な文字は右記の通りです: <code>A-Z</code>, <code>a-z</code>, <code>0-"
-"9</code>, <code>_</code>"
+"使用可能な文字は右記の通りです: <code>A-Z</code>, <code>a-z</code>, "
+"<code>0-9</code>, <code>_</code>"
msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
msgstr "UDP:"
msgid "UMTS only"
-msgstr ""
+msgstr "UMTSのみ"
msgid "UMTS/GPRS/EV-DO"
msgstr "UMTS/GPRS/EV-DO"
msgstr "ゲートウェイ・メトリックを使用する"
msgid "Use preferred lifetime"
-msgstr ""
+msgstr "推奨有効時間"
msgid "Use routing table"
msgstr ""
"ト名をアサインします。"
msgid "Use valid lifetime"
-msgstr ""
+msgstr "最終有効時間"
msgid "Used"
msgstr "使用"
msgid "Waiting for command to complete..."
msgstr "コマンド実行中です..."
-msgid "Waiting for router..."
-msgstr "ルーターに接続中..."
-
msgid "Warning"
msgstr "警告"
msgstr "自動"
msgid "baseT"
-msgstr ""
+msgstr "baseT"
msgid "bridged"
msgstr "ブリッジ"
msgid "create:"
-msgstr ""
+msgstr "作成:"
msgid "creates a bridge over specified interface(s)"
msgstr "指定したインターフェースでブリッジを作成します"
msgstr ""
msgid "full-duplex"
-msgstr ""
+msgstr "全二重"
msgid "half-duplex"
-msgstr ""
+msgstr "半二重"
msgid "help"
msgstr "ヘルプ"
msgstr "いいえ"
msgid "no link"
-msgstr ""
+msgstr "リンクなし"
msgid "none"
msgstr "なし"
msgid "« Back"
msgstr "« 戻る"
+#~ msgid "Waiting for router..."
+#~ msgstr "ルーターに接続中..."
+
#~ msgid "Enable builtin NTP server"
#~ msgstr "内蔵のNTPサーバーを有効にする"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
msgid "Enable"
msgstr "有効"
+msgid "Event interface"
+msgstr ""
+
msgid "Force update every"
msgstr "強制的にアップデートを行う間隔"
msgid "Network"
msgstr "ネットワーク"
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+
msgid "Password"
msgstr "パスワード"
msgid "network"
msgstr "ネットワーク"
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
msgid "Scanning Configuration"
msgstr ""
+msgid "Scans for devices on specified networks."
+msgstr ""
+
msgid "Sleep Between Requests"
msgstr "リクエスト間のスリープ時間"
msgid "check other networks"
msgstr ""
-
-msgid "Scans for devices on specified networks."
-msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-03-30 17:00+0200\n"
-"PO-Revision-Date: 2012-04-19 07:55+0200\n"
+"PO-Revision-Date: 2012-11-14 17:32+0200\n"
"Last-Translator: Kentaro <kentaro.matsuyama@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: ja\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "%s in %s"
msgstr ""
msgstr "外部ポート"
msgid "External zone"
-msgstr ""
+msgstr "外部ゾーン"
msgid "Extra arguments"
msgstr "追加設定"
msgid "BSSID"
msgstr ""
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr ""
msgid "Edit index page"
msgstr ""
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr ""
msgid "Go to"
msgstr ""
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr ""
msgid "Hostname"
msgstr ""
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr ""
msgid "Latitude"
msgstr ""
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr ""
msgid "Operator"
msgstr ""
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr ""
msgid "Realname"
msgstr ""
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr ""
msgid "Status"
msgstr ""
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr ""
msgid "Verify downloaded images"
msgstr ""
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr ""
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-14 10:33+0200\n"
-"PO-Revision-Date: 2011-08-19 05:37+0200\n"
+"PO-Revision-Date: 2012-11-14 14:40+0200\n"
"Last-Translator: Kentaro <kentaro.matsuyama@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: ja\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Disk"
msgstr "ディスク"
msgstr "時"
msgid "hd-idle"
-msgstr ""
+msgstr "hd-idle"
msgid ""
"hd-idle is a utility program for spinning-down external disks after a period "
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr ""
msgid "Enable DHCP"
msgstr ""
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr ""
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr ""
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr ""
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr ""
"Select this to allow others to use your connection to access the internet."
msgstr ""
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr ""
msgid "The given IP address is not inside the mesh network range"
msgstr ""
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
-#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-14 13:24+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2012-11-14 14:41+0200\n"
+"Last-Translator: Kentaro <kentaro.matsuyama@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 1.1.1\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Clock Adjustment"
msgstr "時刻調整"
msgstr "システムの時間を同期します。"
msgid "Time Server"
-msgstr ""
+msgstr "時刻サーバー"
msgid "Time Servers"
msgstr "時刻サーバー"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-19 19:36+0200\n"
-"PO-Revision-Date: 2012-03-18 07:10+0200\n"
+"PO-Revision-Date: 2012-11-14 14:40+0200\n"
"Last-Translator: Kentaro <kentaro.matsuyama@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: ja\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Active MID announcements"
msgstr "アクティブなMID(Multi Interface Declaration) 通知"
msgstr "NAT しきい値"
msgid "NLQ"
-msgstr ""
+msgstr "NLQ"
msgid "Neighbors"
msgstr "隣接ノード"
msgstr "Collectd 設定"
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr ""
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr "時間帯表示 »"
msgid "Incoming interface"
msgstr ""
-msgid "Installed network plugins:"
-msgstr ""
-
-msgid "Installed output plugins:"
-msgstr ""
-
msgid "Interface Plugin Configuration"
msgstr ""
msgid "Network plugins"
msgstr "ネットワークプラグイン"
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-
msgid "Network protocol"
msgstr "ネットワークプロトコル"
msgid "Output plugins"
msgstr "出力プラグイン"
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-
msgid "Ping"
msgstr "Ping"
msgid "System plugins"
msgstr "システムプラグイン"
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-
msgid "TCP Connections"
msgstr ""
msgid "Table"
msgstr ""
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"collected data from a running collectd instance."
msgstr ""
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr ""
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr ""
msgid "Wireless"
msgstr ""
-msgid "Wireless Plugin Configuration"
-msgstr ""
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr "無線LAN iwinfo プラグイン設定"
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2012-04-19 08:06+0200\n"
+"PO-Revision-Date: 2012-11-17 16:19+0200\n"
"Last-Translator: Kentaro <kentaro.matsuyama@gmail.com>\n"
"Language-Team: none\n"
"Language: ja\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Forced reboot delay"
-msgstr ""
+msgstr "強制再起動ディレイ時間"
msgid "Host address to ping"
msgstr "ping を実行する宛先を設定してください。"
msgstr "動作モード"
msgid "Period"
-msgstr ""
+msgstr "周期"
msgid "Ping host"
msgstr "Ping 宛先ホスト"
"PO-Revision-Date: 2010-05-07 17:57+1000\n"
"Last-Translator: Wai Chet Teow <waichet@hotmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Allowed range is 1 to 65535"
msgstr ""
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr ""
msgid "Force"
msgstr "Paksa"
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr ""
"The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</"
"code> and <code>_</code>"
msgstr ""
-"Karakter yang diizinkan adalah: <code>A-Z</code>, <code>a-z</code>, <code>0-"
-"9</code> dan <code>_</code>"
+"Karakter yang diizinkan adalah: <code>A-Z</code>, <code>a-z</code>, "
+"<code>0-9</code> dan <code>_</code>"
msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
msgid "Waiting for command to complete..."
msgstr ""
-msgid "Waiting for router..."
-msgstr ""
-
msgid "Warning"
msgstr ""
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
msgid "Enable"
msgstr ""
+msgid "Event interface"
+msgstr ""
+
msgid "Force update every"
msgstr ""
msgid "Network"
msgstr ""
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+
msgid "Password"
msgstr ""
msgid "network"
msgstr ""
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
msgid "Scanning Configuration"
msgstr ""
+msgid "Scans for devices on specified networks."
+msgstr ""
+
msgid "Sleep Between Requests"
msgstr ""
msgid "check other networks"
msgstr ""
-
-msgid "Scans for devices on specified networks."
-msgstr ""
msgid "BSSID"
msgstr ""
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr ""
msgid "Edit index page"
msgstr ""
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr ""
msgid "Go to"
msgstr ""
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr ""
msgid "Hostname"
msgstr ""
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr ""
msgid "Latitude"
msgstr ""
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr ""
msgid "Operator"
msgstr ""
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr ""
msgid "Realname"
msgstr ""
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr ""
msgid "Status"
msgstr ""
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr ""
msgid "Verify downloaded images"
msgstr ""
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr ""
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr ""
msgid "Enable DHCP"
msgstr ""
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr ""
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr ""
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr ""
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr ""
"Select this to allow others to use your connection to access the internet."
msgstr ""
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr ""
msgid "The given IP address is not inside the mesh network range"
msgstr ""
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
"Project-Id-Version: PACKAGE VERSION\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgstr ""
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr ""
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr ""
msgid "Incoming interface"
msgstr ""
-msgid "Installed network plugins:"
-msgstr ""
-
-msgid "Installed output plugins:"
-msgstr ""
-
msgid "Interface Plugin Configuration"
msgstr ""
msgid "Network plugins"
msgstr ""
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-
msgid "Network protocol"
msgstr ""
msgid "Output plugins"
msgstr ""
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-
msgid "Ping"
msgstr ""
msgid "System plugins"
msgstr ""
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-
msgid "TCP Connections"
msgstr ""
msgid "Table"
msgstr ""
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"collected data from a running collectd instance."
msgstr ""
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr ""
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr ""
msgid "Wireless"
msgstr ""
-msgid "Wireless Plugin Configuration"
-msgstr ""
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr ""
msgstr ""
"PO-Revision-Date: 2011-06-14 15:40+0200\n"
"Last-Translator: protx <lars.hardy@gmail.com>\n"
+"Language: no\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: no\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.0.4\n"
msgid "Allowed range is 1 to 65535"
msgstr ""
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr "Et nytt nettverk vil bli opprettet hvis du tar bort haken."
msgid "Force"
msgstr "Tving"
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
-msgid "Waiting for router..."
-msgstr "Venter på ruter..."
-
msgid "Warning"
msgstr "Advarsel"
msgid "« Back"
msgstr "« Tilbake"
+#~ msgid "Waiting for router..."
+#~ msgstr "Venter på ruter..."
+
#~ msgid "Active Leases"
#~ msgstr "Aktive Leier"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
msgid "Enable"
msgstr "Aktiver"
+msgid "Event interface"
+msgstr ""
+
msgid "Force update every"
msgstr "Tving oppdatering hver"
msgid "Network"
msgstr "Nettverk"
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+
msgid "Password"
msgstr "Passord"
msgid "network"
msgstr "nettverk"
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
"'Repeat Count', and/or 'Sleep Between Requests' may speed up scans, but also "
"may fail to find some devices."
msgstr ""
-"Konfigurer skanning etter enheter på angitte nettverk. Ved å minske "
-"verdiene til 'Tidsavbrudd', 'Gjentagelser' og/eller Tid mellom forespørsler "
-"blir skanningen utført raskere, men det kan også medføre at noen enheter "
-"ikke blir funnet."
+"Konfigurer skanning etter enheter på angitte nettverk. Ved å minske verdiene "
+"til 'Tidsavbrudd', 'Gjentagelser' og/eller Tid mellom forespørsler blir "
+"skanningen utført raskere, men det kan også medføre at noen enheter ikke "
+"blir funnet."
msgid ""
"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."
msgstr ""
-"Konfigurer skanning etter støttede SIP enheter på angitte nettverk. Ved å minske "
-"verdiene til 'Tidsavbrudd', 'Gjentagelser' og/eller tid mellom forespørsler "
-"blir skanningen utført raskere, men det kan også medføre at noen enheter "
-"ikke blir funnet."
+"Konfigurer skanning etter støttede SIP enheter på angitte nettverk. Ved å "
+"minske verdiene til 'Tidsavbrudd', 'Gjentagelser' og/eller tid mellom "
+"forespørsler blir skanningen utført raskere, men det kan også medføre at "
+"noen enheter ikke blir funnet."
msgid "Delete"
msgstr "Slett"
msgid "MAC range and information used to override system and IEEE databases"
msgstr ""
-"MAC område og informasjon brukt til å overstyre system og IEEE "
-"databaser"
+"MAC område og informasjon brukt til å overstyre system og IEEE databaser"
msgid "Milliseconds to sleep between requests (default 100)"
msgstr "Antall millisekunder ventetid mellom forespørsler (standard 100)"
"Override the information returned by the MAC to Device Info Script (mac-to-"
"devinfo) for a specified range of MAC Addresses"
msgstr ""
-"Overstyr informasjonen hentet fra MAC til enhets info skriptet "
-"(mac-til-devinfo) for et gitt område med MAC adresser"
+"Overstyr informasjonen hentet fra MAC til enhets info skriptet (mac-til-"
+"devinfo) for et gitt område med MAC adresser"
msgid "Perform Scans (this can take a few minutes)"
msgstr "Utfør Skanning (dette kan ta noen minutter)"
msgid "Scanning Configuration"
msgstr "Skanning Konfigurasjon"
+msgid "Scans for devices on specified networks."
+msgstr "Nettverks Skanning Informasjon"
+
msgid "Sleep Between Requests"
msgstr "Tid mellom forespørsler"
msgid "check other networks"
msgstr "skjekk andre nettverk"
-
-msgid "Scans for devices on specified networks."
-msgstr "Nettverks Skanning Informasjon"
msgid "BSSID"
msgstr "BSSID"
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr "Grunnleggende Innstillinger"
msgid "Edit index page"
msgstr "Rediger indeks side"
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr "Feil"
msgid "Go to"
msgstr "Gå til"
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr "Hei og velkommen til nettverket av"
msgid "Hostname"
msgstr "Vertsnavn"
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr "Om valgt vises ikke det vanlige innholdselementet"
msgid "Latitude"
msgstr "Breddegrad"
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr "Last"
msgid "Operator"
msgstr ""
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr "Oversikt"
msgid "Realname"
msgstr "Virkelig Navn"
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr "SSID"
msgid "Status"
msgstr "Status"
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr "System"
msgid "Verify downloaded images"
msgstr "Verifiser nedlastede filer"
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr "Trådløs Oversikt"
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr ""
msgid "Enable DHCP"
msgstr ""
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr ""
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr ""
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr ""
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr ""
"Select this to allow others to use your connection to access the internet."
msgstr ""
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr ""
msgid "The given IP address is not inside the mesh network range"
msgstr ""
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
msgstr "Collectd Innstillinger"
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr "Disk Anvendelse"
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr "Vis tidsperiode »"
msgid "Incoming interface"
msgstr "Innkommende grensesnitt"
-msgid "Installed network plugins:"
-msgstr "Installerte nettverks plugin:"
-
-msgid "Installed output plugins:"
-msgstr "Installerte utdata plugin:"
-
msgid "Interface Plugin Configuration"
msgstr "Grensesnitt plugin konfigurasjon"
msgid "Network plugins"
msgstr "Nettverks plugin"
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-"Nettverks plugin er brukt til å samle inn informasjon om åpne tcp koblinger, "
-"trafikk over grensesnitt, iptables regler osv."
-
msgid "Network protocol"
msgstr "Nettverks protokoll"
msgid "Output plugins"
msgstr "Utdata Plugin"
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-"Utdata plugins gir ulike muligheter til å lagre innsamlede data. Det er "
-"mulig å aktivere flere pluginer på en, for eksempel for å lagre innsamlede "
-"data i RRD databaser og å overføre data over nettverket til andre collectd "
-"forekomster."
-
msgid "Ping"
msgstr "Ping"
msgid "System plugins"
msgstr "System plugins"
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr "System plugins samler verdier om systemets tilstand og ressurs-bruk.:"
-
msgid "TCP Connections"
msgstr "TCP Forbindelser"
msgid "Table"
msgstr "Tabell"
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"Unixsock plugin skaper en unix socket som kan brukes til å lese innsamlet "
"data fra collectd prosess."
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-"Trådløs plugin samler statistikk om trådløs signalstyrke, støy og kvalitet."
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr "Prøv å søk etter fullstendig vertsnavn"
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr "UnixSock"
msgid "Wireless"
msgstr "Trådløs"
-msgid "Wireless Plugin Configuration"
-msgstr "Trådløs plugin konfigurasjon"
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr ""
msgid "server interfaces"
msgstr "Server grensesnitt"
+
+#~ msgid "Installed network plugins:"
+#~ msgstr "Installerte nettverks plugin:"
+
+#~ msgid "Installed output plugins:"
+#~ msgstr "Installerte utdata plugin:"
+
+#~ msgid ""
+#~ "Network plugins are used to collect information about open tcp "
+#~ "connections, interface traffic, iptables rules etc."
+#~ msgstr ""
+#~ "Nettverks plugin er brukt til å samle inn informasjon om åpne tcp koblinger, "
+#~ "trafikk over grensesnitt, iptables regler osv."
+
+#~ msgid ""
+#~ "Output plugins provide different possibilities to store collected data. "
+#~ "It is possible to enable multiple plugin at one, for example to store "
+#~ "collected data in rrd databases and to transmit the data over the network "
+#~ "to other collectd instances."
+#~ msgstr ""
+#~ "Utdata plugins gir ulike muligheter til å lagre innsamlede data. Det er "
+#~ "mulig å aktivere flere pluginer på en, for eksempel for å lagre innsamlede "
+#~ "data i RRD databaser og å overføre data over nettverket til andre collectd "
+#~ "forekomster."
+
+#~ msgid ""
+#~ "System plugins collecting values about system state and ressource usage "
+#~ "on the device.:"
+#~ msgstr "System plugins samler verdier om systemets tilstand og ressurs-bruk.:"
+
+#~ msgid ""
+#~ "The wireless plugin collects statistics about wireless signal strength, "
+#~ "noise and quality."
+#~ msgstr ""
+#~ "Trådløs plugin samler statistikk om trådløs signalstyrke, støy og kvalitet."
+
+#~ msgid "Wireless Plugin Configuration"
+#~ msgstr "Trådløs plugin konfigurasjon"
"Project-Id-Version: LuCI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-20 09:40+0200\n"
-"PO-Revision-Date: 2012-10-11 13:46+0200\n"
-"Last-Translator: mesiu84 <kmesek84@gmail.com>\n"
+"PO-Revision-Date: 2012-12-15 21:28+0200\n"
+"Last-Translator: razor07b7 <razor07b7@gmail.com>\n"
"Language-Team: Polish\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
msgid "Allowed range is 1 to 65535"
msgstr "Dopuszczony zakres: 1 do 65535"
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+"Zawsze używaj kanał 40MHz nawet jeśli drugi kanał pokrywa się. Użycie tej "
+"opcji nie jest zgodne ze standardem IEEE 802.11n-2009!"
+
msgid "An additional network will be created if you leave this unchecked."
msgstr ""
"Zostanie utworzona dodatkowa sieć jeśli zostawisz tą opcję niezaznaczoną."
msgid "Force"
msgstr "Wymuś"
+msgid "Force 40MHz mode"
+msgstr "Wymuś tryb 40MHz"
+
msgid "Force CCMP (AES)"
msgstr "Wymuś CCMP (AES)"
"To jest lokalny adres końcowy przypisany przez tunnel broker'a, zwykle "
"kończący się z <code>:2</code>"
+# w tłumaczeniu pojawiła się spacja po DHCP</ abbr> co powoduje niepoprawne wyświetlanie się strony z lang PL
msgid ""
"This is the only <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
"abbr> in the local network"
msgstr ""
-"To jest jedyny serwer <abbr title=\"Dynamic Host Configuration Protocol"
-"\">DHCP</ abbr> w sieci lokalnej"
+"To jest jedyny serwer <abbr title=\"Dynamic Host Configuration "
+"Protocol\">DHCP</abbr> w sieci lokalnej"
msgid "This is the system crontab in which scheduled tasks can be defined."
msgstr ""
msgid "Waiting for command to complete..."
msgstr "Czekanie na wykonanie komendy..."
-msgid "Waiting for router..."
-msgstr "Czekanie na router..."
-
msgid "Warning"
msgstr "Ostrzeżenie"
msgid "« Back"
msgstr "« Wróć"
+#~ msgid "Waiting for router..."
+#~ msgstr "Czekanie na router..."
+
#~ msgid "Enable builtin NTP server"
#~ msgstr "Włącz wbudowany serwer NTP"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
msgid "Enable"
msgstr "Włącz"
+msgid "Event interface"
+msgstr ""
+
msgid "Force update every"
msgstr "Wymuszaj aktualizację co"
msgid "Network"
msgstr "Sieć"
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+
msgid "Password"
msgstr "Hasło"
msgid "network"
msgstr "sieć"
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
"may fail to find some devices."
msgstr ""
"Konfiguruj skanowanie dla urządzeń w wybranych sieciach. Zmniejszanie "
-"\"Limitu czasu\", \"Liczby powtórzeń\" i/lub \"Oczekiwania między żądaniami\" może "
-"przyspieszyć skany, ale może też uniemożliwić wykrycie niektórych urządzeń."
+"\"Limitu czasu\", \"Liczby powtórzeń\" i/lub \"Oczekiwania między żądaniami"
+"\" może przyspieszyć skany, ale może też uniemożliwić wykrycie niektórych "
+"urządzeń."
msgid ""
"Configure scanning for supported SIP devices on specified networks. "
"speed up scans, but also may fail to find some devices."
msgstr ""
"Konfiguruj skanowanie dla wspieranych urządzeń SIP w wybranych sieciach. "
-"Zmniejszanie \"Limitu czasu\", \"Liczby powtórzeń\" i/lub \"Oczekiwania między "
-"żądaniami\" może przyspieszyć skany, ale może też uniemożliwić wykrycie "
-"niektórych urządzeń."
+"Zmniejszanie \"Limitu czasu\", \"Liczby powtórzeń\" i/lub \"Oczekiwania "
+"między żądaniami\" może przyspieszyć skany, ale może też uniemożliwić "
+"wykrycie niektórych urządzeń."
msgid "Delete"
msgstr "Usuń"
msgid "Scanning Configuration"
msgstr "Ustawienia skanowania"
+msgid "Scans for devices on specified networks."
+msgstr "Scans for devices on specified networks."
+
msgid "Sleep Between Requests"
msgstr "Pauza pomiędzy zapytaniami"
msgid "check other networks"
msgstr "sprawdź inne sieci"
-
-msgid "Scans for devices on specified networks."
-msgstr "Scans for devices on specified networks."
msgstr "Kanał"
msgid "Check this to protect your LAN from other nodes or clients"
-msgstr "Zaznacz to, aby chronić Twoją sieć LAN przed innymi węzłami i klientami"
+msgstr ""
+"Zaznacz to, aby chronić Twoją sieć LAN przed innymi węzłami i klientami"
msgid "Configure network"
msgstr "Skonfiguruj sieć"
msgid "BSSID"
msgstr "BSSID"
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr "Ustawienia Podstawowe"
msgid "Edit index page"
msgstr "Edytuj stronę główną"
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr "Błąd"
msgid "Go to"
msgstr "Przejdź do"
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr "Cześć ! Witamy w sieci "
msgid "Hostname"
msgstr "Nazwa hosta"
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr "Jeśli zaznaczone domyślna zawartość nie jest widoczna"
msgid "Latitude"
msgstr "Szerokość"
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr "Obciążenie"
msgid "Operator"
msgstr "Zarządca"
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr "Przegląd"
msgid "Realname"
msgstr "Imię i Nazwisko (prawdziwe)"
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr "SSID"
msgid "Status"
msgstr "Status"
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr "System"
msgid "Verify downloaded images"
msgstr "Sprawdź pobrane obrazy"
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr "Przegląd Ustawień WiFi"
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
"|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.6\n"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr "Kanał"
msgid "Enable DHCP"
msgstr "Włącz DHCP"
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr "Ustawienia ogólne"
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr "Adres Mesh IP"
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr "Kreator Mesh"
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr "Chroń LAN"
"Zaznacz tę opcję aby inni użytkownicy mogli używać twojego połączenia do "
"korzystania z internetu"
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr "Współdziel swoje połączenie internetowe"
msgid "The given IP address is not inside the mesh network range"
msgstr "Podany adres IP nie należy do zakresu sieci mesh"
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
msgid ""
"Serial number the miniDLNA daemon will report to clients in its XML "
"description."
-msgstr "Numer seryjny, który demon miniDLNA zgłosi klientom w swoim opisie XML."
+msgstr ""
+"Numer seryjny, który demon miniDLNA zgłosi klientom w swoim opisie XML."
msgid ""
"Set this if you want to customize the name that shows up on your clients."
"(eg. media_dir=A,/mnt/media/Music). Multiple directories can be specified."
msgstr ""
"Ustaw tu folder, który chcesz skanować. Jeśli chcesz ograniczyć folder do "
-"konkretnego typu zawartości, możesz poprzedzić ścieżkę typem (\"A\" dla audio, "
-"\"V\" dla wideo, \"P\" dla obrazów) i przecinkiem (np "
-"media_dir=A,/mnt/media/Muzyka). Możesz podać kilka folderów."
+"konkretnego typu zawartości, możesz poprzedzić ścieżkę typem (\"A\" dla "
+"audio, \"V\" dla wideo, \"P\" dla obrazów) i przecinkiem (np media_dir=A,/"
+"mnt/media/Muzyka). Możesz podać kilka folderów."
msgid "Specify the path to the MiniSSDPd socket."
msgstr "Podaj ścieżkę do gniazda (socketu) miniSSDPd."
msgid "This is a list of file names to check for when searching for album art."
msgstr ""
-"To jest lista nazw plików do sprawdzenia podczas wyszukiwania okładki "
-"albumu."
+"To jest lista nazw plików do sprawdzenia podczas wyszukiwania okładki albumu."
msgid "Video"
msgstr "Wideo"
msgid ""
"Health Monitor detects and corrects network changes and failed connections."
-msgstr "Monitor stanu wykrywa i koryguje zmiany sieci oraz nieudane połączenia."
+msgstr ""
+"Monitor stanu wykrywa i koryguje zmiany sieci oraz nieudane połączenia."
msgid "KO"
msgstr "KO"
"interface broadcast IP."
msgstr ""
"Adres rozgłoszeniowy (broadcast) IPv4 dla wychodzących pakietów OLSR. "
-"Przydatnym przykładem byłoby 255.255.255.255. Domyślna wartość to \"0.0.0.0\" "
-"- jest wtedy używany adres rozgłoszeniowy interfejsu."
+"Przydatnym przykładem byłoby 255.255.255.255. Domyślna wartość to \"0.0.0.0"
+"\" - jest wtedy używany adres rozgłoszeniowy interfejsu."
msgid "IPv4 source"
msgstr "Źródło IPv4"
"IPv4 src address for outgoing OLSR packages. Default is \"0.0.0.0\", which "
"triggers usage of the interface IP."
msgstr ""
-"Adres źródłowy IPv4 dla wychodzących pakietów. Domyślna wartość to \"0.0.0.0\" "
-"- jest wtedy używany adres IP interfejsu."
+"Adres źródłowy IPv4 dla wychodzących pakietów. Domyślna wartość to \"0.0.0.0"
+"\" - jest wtedy używany adres IP interfejsu."
msgid "IPv6"
msgstr "IPv6"
"\"mesh\"."
msgstr ""
"Tryb interfejsu jest używany, aby zapobiec niepotrzebnemu przekazywaniu "
-"pakietów. Prawidłowe tryby to \"mesh\" i \"ether\". Domyślna wartość to \"mesh\"."
+"pakietów. Prawidłowe tryby to \"mesh\" i \"ether\". Domyślna wartość to "
+"\"mesh\"."
msgid "Interfaces"
msgstr "Interfejsy"
msgstr "Topologia"
msgid ""
-"Type of service value for the IP header of control traffic. Default is "
-"\"16\"."
+"Type of service value for the IP header of control traffic. Default is \"16"
+"\"."
msgstr ""
msgid "Unable to connect to the OLSR daemon!"
"Enter this hostname (or hostname:port) in the Server/Registrar setting of "
"SIP devices you will use from a remote location (they will work locally too)."
msgstr ""
-"Podaj tę nazwę hosta (lub parę nazwa hosta:port) w ustawieniach "
-"serwera/rejestratora urządzeń SIP których będziesz używać z zewnątrz (będą "
-"też działać lokalnie)."
+"Podaj tę nazwę hosta (lub parę nazwa hosta:port) w ustawieniach serwera/"
+"rejestratora urządzeń SIP których będziesz używać z zewnątrz (będą też "
+"działać lokalnie)."
msgid "External SIP Port"
msgstr "Zewnętrzny port SIP"
"Dla każdego użytkownika z prawem wykonywania połączeń wychodzących możesz "
"ograniczyć których operatorów mogą używać do tych połączeń. Domyślnie każdy "
"użytkownik może używać dowolnego operatora. Użytkownik musi mieć prawo "
-"wykonywania połączeń wychodzących ustawione na stronie \"Konta użytkowników\", "
-"aby pojawić się na poniższej liście. Podaj operatorów VoIP w formacie "
+"wykonywania połączeń wychodzących ustawione na stronie \"Konta użytkowników"
+"\", aby pojawić się na poniższej liście. Podaj operatorów VoIP w formacie "
"nazwa.użytkownika@jakaś.nazwa.hosta, tak jak są wypisani w \"Połączeniach "
"wychodzących\" powyżej. Łatwiej jest skopiować powyższych operatorów. "
"Nieprawidłowe wpisy, włącznie z operatorami bez prawa do połączeń "
msgid "Splash rules are integrated in this firewall zone"
msgstr ""
-"Reguły komunikatu (Splash) są integrowane z ustawieniami firewalla tej "
-"strefy"
+"Reguły komunikatu (Splash) są integrowane z ustawieniami firewalla tej strefy"
msgid "Splashtext"
msgstr "Tekst komunikatu (Splash)"
msgstr "Ustawienia Collectd"
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr "Użycie dysku"
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr "Przedział czasu wyświetlania »"
msgid "Incoming interface"
msgstr "Interfejs przychodzący"
-msgid "Installed network plugins:"
-msgstr "Zainstalowane wtyczki sieciowe:"
-
-msgid "Installed output plugins:"
-msgstr "Zainstalowane wtyczki wyjścia:"
-
msgid "Interface Plugin Configuration"
msgstr "Konfiguracja wtyczki Interfejs"
msgid "Network plugins"
msgstr "Wtyczki sieciowe"
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-"Wtyczki sieciowe służą do zbierania informacji o otwartych połączeniach TCP, "
-"ruchu sieciowym na danym interfejsie, regułach iptables itp."
-
msgid "Network protocol"
msgstr "Protokoły sieciowe"
msgid "Output plugins"
msgstr "Pluginy wyjścia"
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-"Pluginy wyjścia dostarczają różnych możliwości przechowywania zgromadzonych "
-"danych. Można włączyć wiele pluginów naraz, na przykład przechowywać dane w "
-"bazach danych RRD i wysyłać je do innych instancji collectd w sieci."
-
msgid "Ping"
msgstr "Ping"
msgid "System plugins"
msgstr "Wtyczki systemowe"
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-"Wtyczki systemowe zbierają wartości o stanie systemu i użyciu zasobów "
-"urządzenia.:"
-
msgid "TCP Connections"
msgstr "Połączenia TCP"
msgid "Table"
msgstr "Tabela"
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"The iptables plugin will monitor selected firewall rules and collect "
"informations about processed bytes and packets per rule."
msgstr ""
-"Wtyczka \"iptables\" monitoruje wybrane reguły firewalla i zbiera statystyki o "
-"procesach, bajtach i pakietach przypadających na daną regułę."
+"Wtyczka \"iptables\" monitoruje wybrane reguły firewalla i zbiera statystyki "
+"o procesach, bajtach i pakietach przypadających na daną regułę."
msgid ""
"The irq plugin will monitor the rate of issues per second for each selected "
msgstr "Wtyczka \"load\" zbiera statystyki o ogólnych obciążeniu systemu."
msgid "The memory plugin collects statistics about the memory usage."
-msgstr "\"wtyczka \"memory\" zbiera statystyki dotyczące wykorzystania pamięci."
+msgstr ""
+"\"wtyczka \"memory\" zbiera statystyki dotyczące wykorzystania pamięci."
msgid ""
"The netlink plugin collects extended informations like qdisc-, class- and "
"\">Collectd</a> and uses <a href=\"http://oss.oetiker.ch/rrdtool/\">RRD "
"Tool</a> to render diagram images from collected data."
msgstr ""
-"Statystyki bazuja na <a href=\"http://collectd.org/index.shtml\">Collectd</a> "
-"oraz wykorzystują <a href=\"http://oss.oetiker.ch/rrdtool/\">RRD Tool</a> do "
-"generowania diagramów i wykresów z zebranych danych."
+"Statystyki bazuja na <a href=\"http://collectd.org/index.shtml\">Collectd</"
+"a> oraz wykorzystują <a href=\"http://oss.oetiker.ch/rrdtool/\">RRD Tool</a> "
+"do generowania diagramów i wykresów z zebranych danych."
msgid ""
"The tcpconns plugin collects informations about open tcp connections on "
"collected data from a running collectd instance."
msgstr ""
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-"Wtyczka \"wireless\" zbiera dane o sile sygnału, zakłóceniach i jakości WiFi."
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr ""
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr "UnixSock"
msgid "Wireless"
msgstr "WiFi"
-msgid "Wireless Plugin Configuration"
-msgstr "konfiguracja wtyczki WiFi"
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr ""
msgid "server interfaces"
msgstr ""
+
+#~ msgid "Installed network plugins:"
+#~ msgstr "Zainstalowane wtyczki sieciowe:"
+
+#~ msgid "Installed output plugins:"
+#~ msgstr "Zainstalowane wtyczki wyjścia:"
+
+#~ msgid ""
+#~ "Network plugins are used to collect information about open tcp "
+#~ "connections, interface traffic, iptables rules etc."
+#~ msgstr ""
+#~ "Wtyczki sieciowe służą do zbierania informacji o otwartych połączeniach TCP, "
+#~ "ruchu sieciowym na danym interfejsie, regułach iptables itp."
+
+#~ msgid ""
+#~ "Output plugins provide different possibilities to store collected data. "
+#~ "It is possible to enable multiple plugin at one, for example to store "
+#~ "collected data in rrd databases and to transmit the data over the network "
+#~ "to other collectd instances."
+#~ msgstr ""
+#~ "Pluginy wyjścia dostarczają różnych możliwości przechowywania zgromadzonych "
+#~ "danych. Można włączyć wiele pluginów naraz, na przykład przechowywać dane w "
+#~ "bazach danych RRD i wysyłać je do innych instancji collectd w sieci."
+
+#~ msgid ""
+#~ "System plugins collecting values about system state and ressource usage "
+#~ "on the device.:"
+#~ msgstr ""
+#~ "Wtyczki systemowe zbierają wartości o stanie systemu i użyciu zasobów "
+#~ "urządzenia.:"
+
+#~ msgid ""
+#~ "The wireless plugin collects statistics about wireless signal strength, "
+#~ "noise and quality."
+#~ msgstr ""
+#~ "Wtyczka \"wireless\" zbiera dane o sile sygnału, zakłóceniach i jakości WiFi."
+
+#~ msgid "Wireless Plugin Configuration"
+#~ msgstr "konfiguracja wtyczki WiFi"
"Can be either an IP address or range, a domain name or \".\" for any host "
"without domain"
msgstr ""
-"Może być adresem lub zakresem adresów IP, nazwą domeny lub \".\" dla dowolnego "
-"hosta bez domeny."
+"Może być adresem lub zakresem adresów IP, nazwą domeny lub \".\" dla "
+"dowolnego hosta bez domeny."
msgid "Configuration"
msgstr "Konfiguracja"
msgstr "Minimalna liczba przygotowanych bezczynnych procesów"
msgid "Number of idle processes to start when launching Tinyproxy"
-msgstr "Liczba bezczynnych procesów do włączenia podczas uruchamiania Tinyproxy"
+msgstr ""
+"Liczba bezczynnych procesów do włączenia podczas uruchamiania Tinyproxy"
msgid "Plaintext file with URLs or domains to filter. One entry per line"
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-04-19 21:20+0200\n"
-"PO-Revision-Date: 2012-10-11 14:23+0200\n"
-"Last-Translator: mesiu84 <kmesek84@gmail.com>\n"
+"PO-Revision-Date: 2012-10-15 22:58+0200\n"
+"Last-Translator: halinka1125 <halinka1125@op.pl>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
msgid "Idle seeding limit"
msgstr ""
+#, fuzzy
msgid "Idle seeding limit enabled"
-msgstr ""
+msgstr "Włączony limit transferu podczas bezczynności"
msgid "Incomplete directory"
msgstr "Niekompletny katalog"
msgid "Peer port"
msgstr "Port peer"
+#, fuzzy
msgid "Peer port random high"
-msgstr ""
+msgstr "Maksymalny losowany port peer`a"
+#, fuzzy
msgid "Peer port random low"
-msgstr ""
+msgstr "Minimalny losowany port peer`a"
+#, fuzzy
msgid "Peer port random on start"
-msgstr ""
+msgstr "Losowy port peer`a przy starcie"
msgid "Peer settings"
msgstr "Ustawienia peer"
msgid "Peer socket tos"
-msgstr ""
+msgstr "Typ gniazda <abbr title=\"Type-Of-Service w TCP\">TOS</abbr> peer`a"
msgid "Port forwarding enabled"
msgstr "Przekazywanie portów włączone"
msgstr "Pobieranie wstępne włączone"
msgid "Queue stalled enabled"
-msgstr ""
+msgstr "Blokada kolejki włączona"
msgid "Queue stalled minutes"
-msgstr ""
+msgstr "Blokada kolejki w min."
msgid "Queueing"
msgstr "Kolejkowanie"
msgid "RPC authentication required"
msgstr "Wymagana autoryzacja RPC"
+#, fuzzy
msgid "RPC bind address"
-msgstr ""
+msgstr "Adres węzła RPC"
msgid "RPC enabled"
msgstr "RPC włączone"
msgid "Scheduling"
msgstr "Harmonogramowanie"
+#, fuzzy
msgid "Scrape paused torrents enabled"
-msgstr ""
+msgstr "Zdzieranie wstrzymanych torentów włączone"
+#, fuzzy
msgid "Script torrent done enabled"
msgstr ""
+"skrypty <abbr title=\" torrent done\">wykonano torrenta</abbr> włączone"
+#, fuzzy
msgid "Script torrent done filename"
msgstr ""
+"Nazwa pliku skryptu <abbr title=\" torrent done\">wykonano torrenta</abbr>"
msgid "Seed queue enabled"
msgstr "Kolejkowanie Seed'ów włączone"
msgid "Trash original torrent files"
msgstr "Usuń oryginalne pliki torrent"
-#, fuzzy
msgid "Upload slots per torrent"
msgstr "Liczba połączeń na plik torrent - wysyłanie"
"PO-Revision-Date: 2009-05-19 17:20+0200\n"
"Last-Translator: Jose Monteiro <jm@unimos.net>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Allowed range is 1 to 65535"
msgstr ""
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr ""
msgid "Force"
msgstr "Forçar"
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
-msgid "Waiting for router..."
-msgstr ""
-
msgid "Warning"
msgstr ""
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
msgid "Enable"
msgstr ""
+msgid "Event interface"
+msgstr ""
+
msgid "Force update every"
msgstr "Forçar actualização a cada"
msgid "Network"
msgstr ""
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+
msgid "Password"
msgstr ""
msgid "network"
msgstr ""
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
msgid "Scanning Configuration"
msgstr ""
+msgid "Scans for devices on specified networks."
+msgstr ""
+
msgid "Sleep Between Requests"
msgstr ""
msgid "check other networks"
msgstr ""
-
-msgid "Scans for devices on specified networks."
-msgstr ""
msgid "BSSID"
msgstr ""
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr ""
msgid "Edit index page"
msgstr ""
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr ""
msgid "Go to"
msgstr ""
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr "Olá e benvindo à rede "
msgid "Hostname"
msgstr ""
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr ""
msgid "Latitude"
msgstr ""
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr ""
msgid "Operator"
msgstr ""
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr ""
msgid "Realname"
msgstr "Nome"
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr ""
msgid "Status"
msgstr ""
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr ""
msgid "Verify downloaded images"
msgstr ""
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr ""
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr ""
msgid "Enable DHCP"
msgstr ""
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr ""
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr ""
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr ""
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr ""
"Select this to allow others to use your connection to access the internet."
msgstr ""
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr ""
msgid "The given IP address is not inside the mesh network range"
msgstr ""
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgstr "Configurações do Collectd"
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr "Utilização do Disco"
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr "Mostrar intervalo »"
msgid "Incoming interface"
msgstr "Interface de entrada"
-msgid "Installed network plugins:"
-msgstr ""
-
-msgid "Installed output plugins:"
-msgstr ""
-
msgid "Interface Plugin Configuration"
msgstr "Configuração do plugin Interface"
msgid "Network plugins"
msgstr "Plugins de rede"
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-
msgid "Network protocol"
msgstr "Protocolo de rede"
msgid "Output plugins"
msgstr "Plugins de saída"
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-
msgid "Ping"
msgstr "Ping"
msgid "System plugins"
msgstr "Plugis de Sistema"
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-
msgid "TCP Connections"
msgstr "Conexões TCP"
msgid "Table"
msgstr "Tabela"
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"O plugin unixsock cria um socket unix, que pode ser usado para ler os dados "
"coletados a partir de uma instância do collectd."
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-"O plugin wireless coleta estatísticas sobre o nível de sinal wireless, o "
-"ruído e qualidade."
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr "Tentar encontrar o nome do host completo (FQDN)"
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr "UnixSock"
msgid "Wireless"
msgstr "Wireless"
-msgid "Wireless Plugin Configuration"
-msgstr "Configuração do plugin Wireless"
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr ""
msgid "server interfaces"
msgstr "Interfaces do servidor"
+
+#~ msgid ""
+#~ "The wireless plugin collects statistics about wireless signal strength, "
+#~ "noise and quality."
+#~ msgstr ""
+#~ "O plugin wireless coleta estatísticas sobre o nível de sinal wireless, o "
+#~ "ruído e qualidade."
+
+#~ msgid "Wireless Plugin Configuration"
+#~ msgstr "Configuração do plugin Wireless"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-10 03:41+0200\n"
-"PO-Revision-Date: 2012-09-27 01:06+0200\n"
+"PO-Revision-Date: 2012-11-11 03:56+0200\n"
"Last-Translator: Luiz Angelo <luizluca@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: pt_BR\n"
msgstr "Ativar esta rede"
msgid "Active <abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Routes"
-msgstr "Rotas <abbr title=\"Protocolo de Internet Versão 4\">IPv4</abbr> ativas"
+msgstr ""
+"Rotas <abbr title=\"Protocolo de Internet Versão 4\">IPv4</abbr> ativas"
msgid "Active <abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Routes"
-msgstr "Rotas <abbr title=\"Protocolo de Internet Versão 6\">IPv6</abbr> ativas"
+msgstr ""
+"Rotas <abbr title=\"Protocolo de Internet Versão 6\">IPv6</abbr> ativas"
msgid "Active Connections"
msgstr "Conexões Ativas"
msgid "Allowed range is 1 to 65535"
msgstr "Faixa permitida de 1 a 65535"
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr "Uma rede adicional será criada se você deixar isto desmarcado."
"out the <em>create</em> field to define a new network."
msgstr ""
"Escolha a rede (s) que deseja anexar a este interface wireless ou preencha o "
-"<em> criar </ em> campo para definir uma nova rede."
+"<em> criar </em> campo para definir uma nova rede."
msgid "Cipher"
msgstr "Cifra"
"Don't forward <abbr title=\"Domain Name System\">DNS</abbr>-Requests without "
"<abbr title=\"Domain Name System\">DNS</abbr>-Name"
msgstr ""
-"Não encaminhar consultas <abbr title=\"Sistema de Nomes de "
-"Domínios\">DNS</abbr> sem o nome completo do <abbr title=\"Sistema de Nomes de "
-"Domínios\">DNS</abbr>"
+"Não encaminhar consultas <abbr title=\"Sistema de Nomes de Domínios\">DNS</"
+"abbr> sem o nome completo do <abbr title=\"Sistema de Nomes de Domínios"
+"\">DNS</abbr>"
msgid "Download and install package"
msgstr "Baixe e instale o pacote"
msgstr "Ativar o encaminhamento de quadros jumbos (Jumbo Frames)"
msgid "Enable NTP client"
-msgstr ""
+msgstr "Ativar o cliente <abbr title=\"Network Time Protocol\">NTP</abbr>"
msgid "Enable TFTP server"
msgstr "Ativar servidor TFTP"
msgid "Force"
msgstr "Forçar"
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr "Forçar CCMP (AES)"
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
msgstr ""
-"Aqui você pode configurar os aspectos básicos do seu equipamento, como o "
+"Aqui você pode configurar os aspectos básicos do seu equipamento, como o "
"nome do equipamento ou o fuso horário."
msgid ""
msgid "List of hosts that supply bogus NX domain results"
msgstr ""
-"Lista de servidores <abbr title=\"Domain Name System\">DNS</abbr> que fornecem "
-"resultados errados para consultas a domínios inexistentes (NX)"
+"Lista de servidores <abbr title=\"Domain Name System\">DNS</abbr> que "
+"fornecem resultados errados para consultas a domínios inexistentes (NX)"
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr ""
"Nesta página pode configurar as interfaces de rede. Esta interface pode "
"formar uma ponte juntando várias interfaces. Para isto, marque o campo "
"\"Juntar interfaces em uma ponte\" e informar as várias interfaces de rede. "
-"Pode também usar a notação para <abbr title=\"Rede Local Virtual\">VLAN</abbr> "
-"<samp>INTERFACE.VLANNR</samp> (<abbr title=\"por exemplo\">ex.</abbr>: "
+"Pode também usar a notação para <abbr title=\"Rede Local Virtual\">VLAN</"
+"abbr> <samp>INTERFACE.VLANNR</samp> (<abbr title=\"por exemplo\">ex.</abbr>: "
"<samp>eth0.1</samp>)."
msgid "On-State Delay"
msgstr "O suporte ao protocolo não está instalado"
msgid "Provide NTP server"
-msgstr ""
+msgstr "Fornecer servidor <abbr title=\"Network Time Protocol\">NTP</abbr>"
msgid "Provide new network"
msgstr "Prover nova rede"
"segments. Often there is by default one Uplink port for a connection to the "
"next greater network like the internet and other ports for a local network."
msgstr ""
-"As portas de rede sobre este dispositivo pode ser combinadas com diversas "
-"<abbr Área title=\"Virtual local Network\"> VLAN </ abbr> s em que os "
-"computadores podem se comunicar diretamente uns com os outros. <abbr title="
-"\"Virtual local Network\"> VLAN </ abbr> s são muitas vezes utilizados para "
-"separar diferentes segmentos de rede. Muitas vezes é padrão uma porta Uplink "
-"para a conexão com a próxima maior rede como a Internet e outras portas para "
-"uma rede local."
+"As portas de rede neste dispositivo podem ser configuradas em diversas <abbr "
+"title=\"Virtual local Network\">VLAN</abbr>s nas quais computadores em uma "
+"mesma <abbr title=\"Virtual local Network\">VLAN</abbr> podem se comunicar "
+"diretamente. <abbr title=\"Virtual local Network\">VLAN</abbr>s são muitas "
+"vezes utilizadas para separar diferentes segmentos de rede. Em geral, existe "
+"uma porta para o enlace superior (uplink) e as demais portas são utilizadas "
+"para a rede local."
msgid "The selected protocol needs a device assigned"
msgstr "O protocolo selecionado necessita estar associado a um dispositivo"
"address of your computer to reach the device again, depending on your "
"settings."
msgstr ""
-"O sistema está gravando o firmware para a flash.<br /> NÃO DESLIGUE O "
+"O sistema está gravando o firmware para a flash.<br /> NÃO DESLIGUE O "
"EQUIPAMENTO!<br /> Espere alguns minutos até tentar reconectar. Dependendo "
"da sua configuração, pode ser necessário renovar o endereço do seu "
"computador para poder conectar novamente ao roteador."
"do hostapd (para modo AP ou ad-hoc)."
msgid "Waiting for changes to be applied..."
-msgstr "À espera de mudanças a serem aplicadas ..."
+msgstr "Esperando a aplicação das mudanças..."
msgid "Waiting for command to complete..."
-msgstr "À espera pelos comandos serem completados ..."
-
-msgid "Waiting for router..."
-msgstr "Esperando pelo roteador..."
+msgstr "Esperando o término do comando..."
msgid "Warning"
msgstr "Atenção"
msgid "« Back"
msgstr "« Voltar"
+#~ msgid "Waiting for router..."
+#~ msgstr "Esperando pelo roteador..."
+
#~ msgid "Enable builtin NTP server"
#~ msgstr "Ativar o servidor NTP embutido"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-02 13:44+0100\n"
-"PO-Revision-Date: 2011-10-08 03:45+0200\n"
-"Last-Translator: luizluca <luizluca@gmail.com>\n"
+"PO-Revision-Date: 2012-11-03 07:02+0200\n"
+"Last-Translator: Luiz Angelo <luizluca@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Check for changed IP every"
msgstr "Verifique por alterações no endereço IP a cada"
msgid "Enable"
msgstr "Habilitar"
+msgid "Event interface"
+msgstr "Interface de eventos"
+
msgid "Force update every"
msgstr "Forçar atualização a cada"
msgid "Network"
msgstr "Rede"
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+"Na subida de qual interface que o processo do script ddns deve ser iniciado"
+
msgid "Password"
msgstr "Senha"
msgid "network"
msgstr "rede"
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
msgid "Scanning Configuration"
msgstr "Configuração de busca"
+msgid "Scans for devices on specified networks."
+msgstr "Busca por dispositivos nas redes especificadas."
+
msgid "Sleep Between Requests"
msgstr "Espera Entre Requisições"
msgid "check other networks"
msgstr "verifique outras redes"
-
-msgid "Scans for devices on specified networks."
-msgstr "Busca por dispositivos nas redes especificadas."
msgid "BSSID"
msgstr "BSSID"
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr "Configurações Básicas"
msgid "Edit index page"
msgstr "Edita a página índice"
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr "Erro"
msgid "Go to"
msgstr "Vá para"
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr "Olá e seja bem-vindo à rede do"
msgid "Hostname"
msgstr "Nome do equipamento"
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr "Se selecionado, o conteúdo padrão não é mostrado."
msgid "Latitude"
msgstr "Latitude"
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr "Carregar"
msgid "Operator"
msgstr "Operador"
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr "Visão Geral"
msgid "Realname"
msgstr "Nome Real"
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr "SSID"
msgid "Status"
msgstr "Estado"
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr "Sistema"
msgid "Verify downloaded images"
msgstr "Verifique as imagens baixadas"
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr "Visão Geral da Rede Sem Fio"
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Pootle 2.0.4\n"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr "Canal"
msgid "Enable DHCP"
msgstr "Habilitar DHCP"
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr "Configurações Gerais"
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr "Endereço IP da rede em malha"
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr "Assistente de Configuração da Rede em Malha"
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr "Proteget Rede Local (LAN)"
"Selecione isto para permitir que outros usem sua conexão para acessar a "
"internet."
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr "Compartilhar sua conexão com a internet"
msgstr ""
"O endereço IP informado não está na faixa de endereços da rede em malha"
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2011-10-18 20:39+0200\n"
+"PO-Revision-Date: 2012-11-11 04:01+0200\n"
"Last-Translator: Luiz Angelo <luizluca@gmail.com>\n"
"Language-Team: none\n"
"Language: pt_BR\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Attempts Before WAN Failover"
-msgstr "Tentativas Antes do Contorno à Falha na WAN"
+msgstr "Tentativas Antes da Solução de Contorno da WAN"
msgid "Attempts Before WAN Recovery"
msgstr "Tentativas Antes da Recuperação da WAN"
"Algoritmo de qualidade do enlace (somente para <abbr title=\"Link Quality, "
"Qualidade do Enlace\">LQ</abbr> nível 2). <br /><b>etx_float</b>: ETX ponto "
"flutuante com o envelhecimento exponencial<br /><b>etx_fpm</b> : o mesmo que "
-"etx_float, mas com aritmética inteira<br /><b>etx_ff</b> : ETX freifunk, "
-"uma variante do etx que usa todo tráfego OLSE (ao invés de somente as "
-"saudações) para o cálculo do ETX<br /><b>etx_ffeth</b>: variação "
-"incompatível do etx_ff que permite enlaces ethernet com ETX 0.1.<br />O "
-"padrão é \"etx_ff\""
+"etx_float, mas com aritmética inteira<br /><b>etx_ff</b> : ETX freifunk, uma "
+"variante do etx que usa todo tráfego OLSE (ao invés de somente as saudações) "
+"para o cálculo do ETX<br /><b>etx_ffeth</b>: variação incompatível do etx_ff "
+"que permite enlaces ethernet com ETX 0.1.<br />O padrão é \"etx_ff\""
msgid ""
"Link quality level switch between hopcount and cost-based (mostly ETX) "
msgid "NLQ"
msgstr ""
-"<abbr title=\"Neighbor Link Quality, Qualidade do Enlace do "
-"Vizinho\">NLQ</abbr>"
+"<abbr title=\"Neighbor Link Quality, Qualidade do Enlace do Vizinho\">NLQ</"
+"abbr>"
msgid "Neighbors"
msgstr "Vizinhos"
"length is 64 bits. Default is \"::/0\" (no prefix)."
msgstr ""
"Isto pode ser usado para sinalizar o prefixo IPv6 externo do enlace superior "
-"(uplink) para os clientes. Isto pode permitir que um cliente mude o "
-"endereço IPv6 local para usar o roteador IPv6 sem qualquer tradução de "
-"endereços. O tamanho máximo do prefixo é 64 bits. O padrão é \"::/0\" (nenhum "
-"prefixo)."
+"(uplink) para os clientes. Isto pode permitir que um cliente mude o endereço "
+"IPv6 local para usar o roteador IPv6 sem qualquer tradução de endereços. O "
+"tamanho máximo do prefixo é 64 bits. O padrão é \"::/0\" (nenhum prefixo)."
msgid "Timing and Validity"
msgstr "Temporização e Validade"
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2012-09-27 00:39+0200\n"
+"PO-Revision-Date: 2012-11-11 04:03+0200\n"
"Last-Translator: Luiz Angelo <luizluca@gmail.com>\n"
"Language-Team: none\n"
"Language: pt_BR\n"
"you will use ONLY locally and never from a remote location."
msgstr ""
"Entre este endereço IP (ou IP:porta) na configuração de servidor/registrador "
-"dos seus dispositivos SIP que você irá usar SOMENTE localmente e nunca de "
-"um local remoto."
+"dos seus dispositivos SIP que você irá usar SOMENTE localmente e nunca de um "
+"local remoto."
msgid ""
"Enter this hostname (or hostname:port) in the Server/Registrar setting of "
"SIP devices you will use from a remote location (they will work locally too)."
msgstr ""
-"Entre com o nome do equipamento (or equipamento:porta) na configuração de "
+"Entre com o nome do equipamento (ou equipamento:porta) na configuração de "
"servidor/Registrar do seus dispositivos SIP que você irá usar de um local "
"remoto (eles também funcionarão localmente)."
"IP e portas específicas, resultando em melhor latência e redimento de som. "
"Se ativado, será configurada automaticamente pelo PABX uma regra de <abbr "
"title=\"Quality of Service, Qualidade de serviço\">QoS</abbr> para este "
-"serviço, mas você deve visitar a página de configuração de <abbr "
-"title=\"Quality of Service, Qualidade de serviço\">QoS</abbr> (Rede -> QoS) "
-"para configurar outras configurações críticas de QoS como as velocidades da "
-"sua conexão."
+"serviço, mas você deve visitar a página de configuração de <abbr title="
+"\"Quality of Service, Qualidade de serviço\">QoS</abbr> (Rede -> QoS) para "
+"configurar outras configurações críticas de QoS como as velocidades da sua "
+"conexão."
msgid ""
"If you have more than one account that can make outgoing calls, you should "
"exemplo, para fazer chamadas para a Alemanha através de um provedor, você "
"pode digitar 49. Para fazer chamadas para a América do Norte, você pode "
"entrar 1NXXNXXXXXX. Se um de seus provedores pode fazer chamadas locais para "
-"um código de área como Nova York (646), você pode entrar com 646NXXXXXX "
-"para esse provedor. Você deve deixar uma conta com uma lista vazia para "
-"fazer chamadas com ele por padrão para o caso do prefixo não casar com "
-"nenhum outro fornecedor. O sistema irá substituir automaticamente uma lista "
-"vazia com uma mensagem que os este provedor será utilizado caso nenhuma das "
-"regras dos demais provedores casem. Seja tão específico quanto possível "
-"(isto é 1NXXNXXXXXX é melhor do que 1). Por favor, note que todos os códigos "
-"de discagem internacionais são descartados (por exemplo 00, 011, 010, "
-"0011). As entradas podem ser feitas em uma lista separada por espaços ou por "
-"nova linha."
+"um código de área como Nova York (646), você pode entrar com 646NXXXXXX para "
+"esse provedor. Você deve deixar uma conta com uma lista vazia para fazer "
+"chamadas com ele por padrão para o caso do prefixo não casar com nenhum "
+"outro fornecedor. O sistema irá substituir automaticamente uma lista vazia "
+"com uma mensagem que os este provedor será utilizado caso nenhuma das regras "
+"dos demais provedores casem. Seja tão específico quanto possível (isto é "
+"1NXXNXXXXXX é melhor do que 1). Por favor, note que todos os códigos de "
+"discagem internacionais são descartados (por exemplo 00, 011, 010, 0011). As "
+"entradas podem ser feitas em uma lista separada por espaços ou por nova "
+"linha."
msgid "Incoming Calls"
msgstr "Chamadas Recebidas"
"escutar. Não escolher o padrão 5060, porque é frequentemente alvo de ataques "
"de força bruta. Quando terminar, (1) clique em \"Salvar e Aplicar\", e (2) "
"clique no \"Reiniciar o serviço VoIP\" acima. Finalmente, (3) olhe na seção "
-"\"Contas de Dispositivos SIP/Telefones em Software\" para atualizar o "
-"endereço e porta do servidor para seu Dispositivos SIP/Telefones em "
-"Software."
+"\"Contas de Dispositivos SIP/Telefones em Software\" para atualizar o "
+"endereço e porta do servidor para seu Dispositivos SIP/Telefones em Software."
msgid "Port Setting for SIP Devices"
msgstr "Configuração da Porta para Dispositivos SIP"
"SIP, e contas de usuários locais são configurados em \"Contas do Google\", "
"\"Contas SIP\" e \"Contas de Usuário\" sub-seções. Você deve adicionar pelo "
"menos uma conta de usuário para este PABX e configurar um dispositivo SIP ou "
-"softphone para usar a conta, a fim de fazer e receber chamadas com o Google "
-"/ SIP contas. Configurando vários usuários permitem que você faça chamadas "
-"gratuitas entre todos os usuários, e partilhar o Google configurado e contas "
-"SIP. Se você tem mais de um Google e contas SIP configurado, você "
+"softphone para usar a conta, a fim de fazer e receber chamadas com o "
+"Google / SIP contas. Configurando vários usuários permitem que você faça "
+"chamadas gratuitas entre todos os usuários, e partilhar o Google configurado "
+"e contas SIP. Se você tem mais de um Google e contas SIP configurado, você "
"provavelmente deve configurar como as chamadas de e para eles são "
-"encaminhados para a \"Call Routing\" página. Se você está interessado em usar "
-"o seu próprio PABX de qualquer lugar do mundo, então, visitar o \"Remote Uso\" "
-"na seção \"Advanced Settings\" página."
+"encaminhados para a \"Call Routing\" página. Se você está interessado em "
+"usar o seu próprio PABX de qualquer lugar do mundo, então, visitar o "
+"\"Remote Uso\" na seção \"Advanced Settings\" página."
msgid ""
"This is the name that the VoIP server will use to identify itself when "
msgstr ""
"Este é o local onde você configura suas contas Google (Talk e Voice) para "
"poder usá-las para realizar ou receber chamadas (conversa por voz e chamadas "
-"para telefones reais). Por favor, realize ao menos uma chamada de voz "
-"usando o plugin do Google Talk, instalável na interface do GMail. Após esta "
-"chamada, saia da sua conta em todos os serviços. Clique em \"Adicionar\" para "
-"adicionar quantas contas você desejar."
+"para telefones reais). Por favor, realize ao menos uma chamada de voz usando "
+"o plugin do Google Talk, instalável na interface do GMail. Após esta "
+"chamada, saia da sua conta em todos os serviços. Clique em \"Adicionar\" "
+"para adicionar quantas contas você desejar."
msgid ""
"This is where you set up your SIP (VoIP) accounts ts like Sipgate, "
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-10 03:41+0200\n"
-"PO-Revision-Date: 2012-09-27 01:07+0200\n"
+"PO-Revision-Date: 2012-11-11 04:02+0200\n"
"Last-Translator: Luiz Angelo <luizluca@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: pt_BR\n"
msgstr "Configurações do Collectd"
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr "Utilização do Disco"
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr "Mostrar intervalo »"
msgid "Incoming interface"
msgstr "Interface de entrada"
-msgid "Installed network plugins:"
-msgstr "Plugins de rede instalados:"
-
-msgid "Installed output plugins:"
-msgstr "Plugins de saída instalados:"
-
msgid "Interface Plugin Configuration"
msgstr "Configuração do plugin Interface"
msgid "Network plugins"
msgstr "Plugins de rede"
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-"Os plugins de rede são utilizados para coletar informações sobre conexões "
-"tcp abertas, tráfego da interface, regras do iptables, etc."
-
msgid "Network protocol"
msgstr "Protocolo de rede"
msgid "Output plugins"
msgstr "Plugins de saída"
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-"Os plugins de saída proveem diferentes possibilidades para armazenar os "
-"dados coletados. É possível habilitar diversos plugin para, por exemplo, "
-"coletar dados em bancos de dados rrd e transmitir os dados através da rede "
-"para outro serviço collectd."
-
msgid "Ping"
msgstr "Ping"
msgid "System plugins"
msgstr "Plugins de sistema"
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-"Plugins do sistema coletando valores sobre o estado do sistema e uso dos "
-"recursos neste dispositivo.:"
-
msgid "TCP Connections"
msgstr "Conexões TCP"
msgid "Table"
msgstr "Tabela"
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
msgstr ""
"As estatísticas são baseadas no <a href=\"http://collectd.org/index.shtml"
"\">Collectd</a> e é utilizado o <a href=\"http://oss.oetiker.ch/rrdtool/"
-"\">RRD Tool</a> para renderização das imagens à partir dos dados coletados."
+"\">RRD Tool</a> para renderização das imagens a partir dos dados coletados."
msgid ""
"The tcpconns plugin collects informations about open tcp connections on "
"O plugin unixsock cria um socket unix, que pode ser usado para ler os dados "
"coletados a partir de uma collectd em execução."
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-"O plugin wireless coleta estatísticas sobre o nível de sinal wireless, o "
-"ruído e qualidade."
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr "Tentar encontrar o nome do host completo (FQDN)"
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr "UnixSock"
msgid "Wireless"
msgstr "Rede Sem Fio (Wireless)"
-msgid "Wireless Plugin Configuration"
-msgstr "Configuração do Plugin da Rede Sem Fio (Wireless)"
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr "Configuração do Plugin iwinfo da Rede Sem Fio (Wireless)"
msgid "server interfaces"
msgstr "interfaces do servidor"
+
+#~ msgid "Installed network plugins:"
+#~ msgstr "Plugins de rede instalados:"
+
+#~ msgid "Installed output plugins:"
+#~ msgstr "Plugins de saída instalados:"
+
+#~ msgid ""
+#~ "Network plugins are used to collect information about open tcp "
+#~ "connections, interface traffic, iptables rules etc."
+#~ msgstr ""
+#~ "Os plugins de rede são utilizados para coletar informações sobre conexões "
+#~ "tcp abertas, tráfego da interface, regras do iptables, etc."
+
+#~ msgid ""
+#~ "Output plugins provide different possibilities to store collected data. "
+#~ "It is possible to enable multiple plugin at one, for example to store "
+#~ "collected data in rrd databases and to transmit the data over the network "
+#~ "to other collectd instances."
+#~ msgstr ""
+#~ "Os plugins de saída proveem diferentes possibilidades para armazenar os "
+#~ "dados coletados. É possível habilitar diversos plugin para, por exemplo, "
+#~ "coletar dados em bancos de dados rrd e transmitir os dados através da rede "
+#~ "para outro serviço collectd."
+
+#~ msgid ""
+#~ "System plugins collecting values about system state and ressource usage "
+#~ "on the device.:"
+#~ msgstr ""
+#~ "Plugins do sistema coletando valores sobre o estado do sistema e uso dos "
+#~ "recursos neste dispositivo.:"
+
+#~ msgid ""
+#~ "The wireless plugin collects statistics about wireless signal strength, "
+#~ "noise and quality."
+#~ msgstr ""
+#~ "O plugin wireless coleta estatísticas sobre o nível de sinal wireless, o "
+#~ "ruído e qualidade."
+
+#~ msgid "Wireless Plugin Configuration"
+#~ msgstr "Configuração do Plugin da Rede Sem Fio (Wireless)"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-07-06 16:27+0200\n"
-"PO-Revision-Date: 2012-07-06 16:28+0200\n"
+"PO-Revision-Date: 2012-11-11 04:37+0200\n"
"Last-Translator: Luiz Angelo <luizluca@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: pt_BR\n"
"X-Generator: Pootle 2.0.6\n"
msgid "Alternative download speed"
-msgstr "Velocidade de download alternativo"
+msgstr "Velocidade alternativa para baixar"
msgid "Alternative speed enabled"
-msgstr "Velocidade de download ativado"
+msgstr "Velocidade alternativa ativada"
msgid "Alternative speed time begin"
-msgstr "Tempo de velocidade alternativo começar"
+msgstr "Hora de início da velocidade alternativa"
msgid "Alternative speed time day"
-msgstr "Velocidade alternativa por dia"
+msgstr "Dia da velocidade alternativa"
msgid "Alternative speed time end"
-msgstr "Velocidade alternativa final"
+msgstr "Hora final da velocidade alternativa"
msgid "Alternative speed timing enabled"
-msgstr "Velocidade alternativa tempo ativo"
+msgstr "Temporização da velocidade alternativa habilitada"
msgid "Alternative upload speed"
-msgstr "Alternativo velocidade de upload"
+msgstr "Velocidade de subida alternativa"
msgid "Automatically start added torrents"
-msgstr "Iniciar automaticamente torrents adicionados "
+msgstr "Iniciar automaticamente os torrents adicionados "
msgid "Bandwidth settings"
-msgstr "configurações de largura de banda"
+msgstr "Configurações da velocidade do enlace"
msgid "Binding address IPv4"
-msgstr "Endereço IPv4 Binding"
+msgstr "Endereço de escuta IPv4"
msgid "Binding address IPv6"
-msgstr "Endereço IPv6 Binding"
+msgstr "Endereço de escuta IPv6"
msgid "Block list enabled"
-msgstr "Lista de Bloqueios habilitado"
+msgstr "Lista de Bloqueios habilitada"
msgid "Blocklist URL"
-msgstr "Lista de bloqueio de URL"
+msgstr "URL da lista de bloqueio"
msgid "Blocklists"
msgstr "Lista de Bloqueio"
msgstr "Tamanho em MB do cache"
msgid "Config file directory"
-msgstr "Configuração de diretório de arquivos"
+msgstr "Diretório dos arquivos de configuração"
msgid "DHT enabled"
-msgstr "DHT Ativado"
+msgstr "DHT habilitado"
msgid "Debug"
-msgstr "Debug"
+msgstr "Depuração"
msgid "Download directory"
-msgstr "Diretório de download "
+msgstr "Diretório de arquivos baixados "
msgid "Download queue enabled"
-msgstr "Fila Download ativado"
+msgstr "Fila para baixar habilitada"
msgid "Download queue size"
-msgstr "Tamanho da fila de Download "
+msgstr "Tamanho da fila para baixar "
msgid "Enable watch directory"
-msgstr "Ativar diretório assistido"
+msgstr "Habilitar monitoramento de diretório"
msgid "Enabled"
-msgstr "Ativar"
+msgstr "Habilitar"
msgid "Encryption"
-msgstr "Criptografar"
+msgstr "Cifragem"
msgid "Error"
msgstr "Erro"
msgstr "Cheio"
msgid "Global peer limit"
-msgstr "Limite global de pontos conectados"
+msgstr "Limite global de parceiros conectados"
msgid "Global settings"
-msgstr "Configuração Global "
+msgstr "Configurações Globais"
msgid "Idle seeding limit"
-msgstr "Limite de seeding ocioso"
+msgstr "Limite para parar de semear se ocioso"
msgid "Idle seeding limit enabled"
-msgstr "Limite de seeding ocioso habilitado"
+msgstr "Habilitar limite para parar de semear se ocioso"
msgid "Incomplete directory"
-msgstr "Diretório incompleto"
+msgstr "Diretório de incompletos"
msgid "Incomplete directory enabled"
-msgstr "Diretório incompleto ativado"
+msgstr "Diretório de incompletos habilitado"
msgid "Info"
msgstr "informação"
msgid "LPD enabled"
-msgstr "LPD ativado"
+msgstr "LPD habilitado"
msgid "Lazy bitfield enabled"
-msgstr "Lazy bitfield ativado"
+msgstr "Envio de campo de bits incompletos habilitado"
msgid "Message level"
-msgstr "nível de mensagem"
+msgstr "Nível de mensagens"
msgid "Miscellaneous"
-msgstr "diverso"
+msgstr "Diversos"
msgid "None"
msgstr "Nada"
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-"Número / bitfield. Comece com 0, então para cada dia você quer que o "
-"programador habilitado, adicione um valor. Para domingo - 1, segunda-feira - "
+"Número/Campo de bits. Comece com 0 e, então, para cada dia você quer o "
+"agendador habilitado, adicione um valor. Para domingo - 1, segunda-feira - "
"2, terça-feira - 4, quarta-feira - 8, quinta-feira - 16, sexta-feira - 32, "
"Sábado - 64"
msgstr "Abrir interface Web"
msgid "PEX enabled"
-msgstr "PEX ativado"
+msgstr "PEX habilitado"
msgid "Peer Port settings"
-msgstr "Configuração de porta de peer "
+msgstr "Configuração de porta do parceiro"
msgid "Peer congestion algorithm"
-msgstr "Algoritmo de congestionamento por peer"
+msgstr "Algoritmo de congestionamento dos parceiro"
msgid "Peer limit per torrent"
-msgstr "Limite de torrents por Peer"
+msgstr "Limite de torrents por parceiro"
msgid "Peer port"
-msgstr "Porta de peer"
+msgstr "Porta do parceiro"
msgid "Peer port random high"
-msgstr "Porta alta randômica do peer "
+msgstr "Limite superior da porta aleatória do parceiro"
msgid "Peer port random low"
-msgstr "Porta baixa randômica do peer"
+msgstr "Limite inferior da porta aleatória do parceiro"
msgid "Peer port random on start"
-msgstr "Porta inicial randômica do peer"
+msgstr "Porta aleatória inicial do parceiro"
msgid "Peer settings"
-msgstr "Configuração do peer"
+msgstr "Configuração do parceiro"
msgid "Peer socket tos"
-msgstr "Peer socket tos"
+msgstr "TOS da conexão do parceiro"
msgid "Port forwarding enabled"
-msgstr "Porta encaminhando (forwarding) ativada"
+msgstr "Encaminhamento de porta ativado"
msgid "Preferred"
-msgstr "preferido"
+msgstr "Preferencial"
msgid "Prefetch enabled"
-msgstr "prefetch ativado"
+msgstr "Adiantamento de leitura de disco habilitado"
msgid "Queue stalled enabled"
-msgstr "Fila parada ativada"
+msgstr "Parada de fila habilitada"
msgid "Queue stalled minutes"
-msgstr "Fila parado minutos"
+msgstr "Parada de fila em minutos"
msgid "Queueing"
msgstr "Filas"
msgstr "RPC URL"
msgid "RPC authentication required"
-msgstr "RPC autenticação requerida "
+msgstr "RPC requer autenticação "
msgid "RPC bind address"
-msgstr "RPC endereço de ligação"
+msgstr "Endereço de escuta do RPC"
msgid "RPC enabled"
-msgstr "RPC Ativado"
+msgstr "RPC habilitado"
msgid "RPC password"
-msgstr "RPC Senha"
+msgstr "Senha do RPC"
msgid "RPC port"
-msgstr "RPC porta"
+msgstr "Porta do RPC"
msgid "RPC settings"
-msgstr "RPC configuração"
+msgstr "Configuração do RPC"
msgid "RPC username"
-msgstr "RPC nome de usuario (login)"
+msgstr "Nome do usuario do RPC"
msgid "RPC whitelist"
-msgstr "RPC lista permitida"
+msgstr "Lista branca do RPC"
msgid "RPC whitelist enabled"
-msgstr "RPC lista permitida ativado"
+msgstr "Lista branca do RPC habilitada"
msgid "Ratio limit"
-msgstr "limite Relação"
+msgstr "Limite da relação"
msgid "Ratio limit enabled"
-msgstr "limite Relação ativado"
+msgstr "Limite da relação habilitado"
msgid "Rename partial files"
-msgstr "Renomear arquivo parcialmente"
+msgstr "Renomear arquivos parciais"
msgid "Run daemon as user"
-msgstr "Executar daemon como usuário"
+msgstr "Executar serviço como usuário"
msgid "Scheduling"
-msgstr "agendamento"
+msgstr "Agendamento"
msgid "Scrape paused torrents enabled"
-msgstr "Scrape torrents pausados habilitado"
+msgstr "Busca de informações de torrents pausados habilitada"
msgid "Script torrent done enabled"
-msgstr "Torrente Script feito habilitado"
+msgstr "Script de conclusão de torrent habilitado"
msgid "Script torrent done filename"
-msgstr "Torrente Script feito nome do arquivo"
+msgstr "Nome do arquivo do script de conclusão de torrent"
msgid "Seed queue enabled"
-msgstr "Fila de Sementes habilitado"
+msgstr "Fila de semeadura habilitada"
msgid "Seed queue size"
-msgstr "Tamanho da fila de Sementes"
+msgstr "Tamanho da fila de semeadura"
msgid "Speed limit down"
-msgstr "Limite de velocidade down"
+msgstr "Limite inferior de velocidade"
msgid "Speed limit down enabled"
-msgstr "Limite de velocidade down ativado"
+msgstr "Limite inferior de velocidade habilitado"
msgid "Speed limit up"
-msgstr "Limite de velocidade up"
+msgstr "Limite superior de velocidade"
msgid "Speed limit up enabled"
-msgstr "Limite de velocidade up ativado"
+msgstr "Limite superior de velocidade habilitado"
msgid "Transmission"
-msgstr "transmissão"
+msgstr "Transmission"
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-"Daemon de transmissão é um cliente BitTorrent simples, aqui você pode "
-"configurar as definições."
+"O Transmission é um cliente BitTorrent simples, aqui você pode configurá-lo."
msgid "Trash original torrent files"
-msgstr "Lixo arquivos torrent originais"
+msgstr "Apague os arquivos torrent originais"
msgid "Upload slots per torrent"
-msgstr "Slots para upload por torrent"
+msgstr "Vagas para conexão de envio por torrent"
msgid "Watch directory"
-msgstr "Assista diretório"
+msgstr "Monitorar diretório"
msgid "in minutes from midnight"
msgstr "em minutos a partir da meia-noite"
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2011-10-07 00:21+0200\n"
-"Last-Translator: Daniel <daniel.petre@pitesti.rcs-rds.ro>\n"
+"PO-Revision-Date: 2012-12-01 16:10+0200\n"
+"Last-Translator: cgherman <cgherman@mandrivausers.ro>\n"
"Language-Team: none\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2);;\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "(%d minute window, %d second interval)"
msgstr ""
msgstr "Incarcarea in ultimele 15 minute"
msgid "40MHz 2nd channel above"
-msgstr ""
+msgstr "40MHz 2 canale de mai jos"
msgid "40MHz 2nd channel below"
msgstr ""
msgstr "Incarcarea in ultimele 5 minute"
msgid "<abbr title=\"Basic Service Set Identifier\">BSSID</abbr>"
-msgstr ""
+msgstr "<abbr title=\"Basic Service Set Identifier\">BSSID</abbr>"
msgid "<abbr title=\"Domain Name System\">DNS</abbr> query port"
-msgstr ""
+msgstr "<abbr title=\"Domain Name System\">DNS</abbr>port de apelare"
msgid "<abbr title=\"Domain Name System\">DNS</abbr> server port"
msgstr ""
msgstr ""
msgid "<abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"
-msgstr ""
+msgstr "<abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"
msgid "<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"
msgstr "Adresa <abbr title=\"Internet Protocol Version 4\">IPv4</abbr>"
msgid "Allowed range is 1 to 65535"
msgstr ""
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr ""
msgid "Force"
msgstr "Forteaza"
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
-msgid "Waiting for router..."
-msgstr "Asteptam dupa router.."
-
msgid "Warning"
msgstr "Avertizare"
msgid "« Back"
msgstr "« Inapoi"
+#~ msgid "Waiting for router..."
+#~ msgstr "Asteptam dupa router.."
+
#~ msgid "Active Leases"
#~ msgstr "Conexiuni dhcp active"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2012-12-01 16:07+0200\n"
+"Last-Translator: cgherman <cgherman@mandrivausers.ro>\n"
+"Language-Team: none\n"
+"Language: ro\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2);;\n"
+"X-Generator: Pootle 2.0.6\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+"Permite executarea comenzii si descarcarea rezultatului fara o autentificare "
+"anterioara"
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr "Permite utilizatorului sa adauge parametrii in linia de comanda"
+
+msgid "Arguments:"
+msgstr "Parametrii:"
+
+msgid "Binary data not displayed, download instead."
+msgstr "Datele binare nu sunt afisate, descarcale in schimb"
+
+msgid "Code:"
+msgstr "Cod:"
+
+msgid "Collecting data..."
+msgstr "Aduna date..."
+
+msgid "Command"
+msgstr "Comanda"
+
+msgid "Command failed"
+msgstr "Comanda esuata"
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr "Comanda reusita"
+
+msgid "Command:"
+msgstr "Comanda:"
+
+msgid "Configure"
+msgstr "Configureaza"
+
+msgid "Custom Commands"
+msgstr "Comenzi particulare"
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr "Dashboard"
+
+msgid "Description"
+msgstr "Descriere"
+
+msgid "Download"
+msgstr "Descarca"
+
+msgid "Failed to execute command!"
+msgstr "S-a esuat executarea comenzii!!"
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr "Se incarca"
+
+msgid "Public access"
+msgstr "Access public"
+
+msgid "Run"
+msgstr "Ruleaza"
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+"Aceasta pagina permite configurarea de comenzi personale ce pot fi usor "
+"apelate din interfata grafica"
+
+msgid "Waiting for command to complete..."
+msgstr "Astept finalizarea comenzii..."
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"Last-Translator: Automatically generated\n"
+"PO-Revision-Date: 2012-12-01 15:57+0200\n"
+"Last-Translator: cgherman <cgherman@mandrivausers.ro>\n"
"Language-Team: none\n"
+"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
-"20)) ? 1 : 2;\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2);;\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "CoovaChilli"
-msgstr ""
+msgstr "CoovaChilli"
msgid "Network Configuration"
-msgstr ""
+msgstr "Configurare retea"
msgid "RADIUS configuration"
-msgstr ""
+msgstr "Configurare RADIUS"
msgid "UAM and MAC Authentication"
-msgstr ""
+msgstr "Autentificare UAM si MAC"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-02 13:44+0100\n"
-"PO-Revision-Date: 2011-10-07 00:42+0200\n"
-"Last-Translator: Daniel <daniel.petre@pitesti.rcs-rds.ro>\n"
+"PO-Revision-Date: 2012-12-01 15:59+0200\n"
+"Last-Translator: cgherman <cgherman@mandrivausers.ro>\n"
"Language-Team: none\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2);;\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Check for changed IP every"
msgstr "Verifica pentru adresa IP schimbata la fiecare"
msgid "Enable"
msgstr "Activeaza"
+msgid "Event interface"
+msgstr ""
+
msgid "Force update every"
msgstr "Forteaza actualizarea la fiecare"
msgstr "Unitatea de timp la fortare actualizare"
msgid "Hostname"
-msgstr "nume dns"
+msgstr "Nume host"
msgid "Interface"
msgstr "Interfata"
msgid "Network"
msgstr "Retea"
+msgid "On which interface up should start the ddns script process."
+msgstr "Pe care interfata trebuie sa porneasca scriptul ddns"
+
msgid "Password"
msgstr "Parola"
msgid "network"
msgstr "retea"
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
msgid "Scanning Configuration"
msgstr ""
+msgid "Scans for devices on specified networks."
+msgstr ""
+
msgid "Sleep Between Requests"
msgstr "Pauza dintre cereri"
msgid "check other networks"
msgstr "verifica alte retele"
-
-msgid "Scans for devices on specified networks."
-msgstr ""
msgid "BSSID"
msgstr ""
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr ""
msgid "Edit index page"
msgstr ""
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr ""
msgid "Go to"
msgstr ""
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr ""
msgid "Hostname"
msgstr ""
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr ""
msgid "Latitude"
msgstr ""
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr ""
msgid "Operator"
msgstr ""
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr ""
msgid "Realname"
msgstr ""
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr ""
msgid "Status"
msgstr ""
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr ""
msgid "Verify downloaded images"
msgstr ""
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr ""
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
"20)) ? 1 : 2);;\n"
"X-Generator: Pootle 2.0.4\n"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr "Canal"
msgid "Enable DHCP"
msgstr "Activeaza DHCP"
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr "Setari generale"
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr ""
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr ""
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr "Protejeaza reteaua locala LAN"
"Selecteaza aici ca sa permiti si altora sa-ti foloseasca si ei conexiunea ta "
"de Internet."
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr "Partajeaza cu altii conexiunea ta de Internet"
msgid "The given IP address is not inside the mesh network range"
msgstr ""
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-14 13:24+0200\n"
-"PO-Revision-Date: 2011-10-07 17:07+0200\n"
-"Last-Translator: Daniel <daniel.petre@pitesti.rcs-rds.ro>\n"
+"PO-Revision-Date: 2012-12-01 16:08+0200\n"
+"Last-Translator: cgherman <cgherman@mandrivausers.ro>\n"
"Language-Team: none\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2);;\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Clock Adjustment"
msgstr "Ajustarea ceasului"
msgstr "Sincronizeaza timpul sistemului"
msgid "Time Server"
-msgstr ""
+msgstr "Server de timp"
msgid "Time Servers"
msgstr "Serverele de timp"
msgstr "Setarile Collectd"
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr "Utilizarea discului"
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr ""
msgid "Incoming interface"
msgstr ""
-msgid "Installed network plugins:"
-msgstr ""
-
-msgid "Installed output plugins:"
-msgstr ""
-
msgid "Interface Plugin Configuration"
msgstr ""
msgid "Network plugins"
msgstr "Pluginuri de retea"
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-
msgid "Network protocol"
msgstr ""
msgid "Output plugins"
msgstr "Pluginuri de iesire"
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-
msgid "Ping"
msgstr "Ping"
msgid "System plugins"
msgstr "Pluginuri de sistem"
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-
msgid "TCP Connections"
msgstr "Conexiuni TCP"
msgid "Table"
msgstr ""
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"collected data from a running collectd instance."
msgstr ""
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr "Incearca sa rezolvi numele de domeniu complet"
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr "UnixSock"
msgid "Wireless"
msgstr "Wireless"
-msgid "Wireless Plugin Configuration"
-msgstr ""
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr ""
msgid ""
msgstr ""
"Project-Id-Version: LuCI: ahcp\n"
+"POT-Creation-Date: \n"
"PO-Revision-Date: 2012-08-15 15:30+0300\n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.6\n"
-"POT-Creation-Date: \n"
"X-Poedit-SourceCharset: UTF-8\n"
# Ad-Hoc Configuration Protocol - протокол автоматической конфигурации IPv6 и сетей IPv6/IPv4 двойного стека
msgid "Allowed range is 1 to 65535"
msgstr "Допустимый диапазон от 1 до 65535"
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr "Если вы не выберите эту опцию, то будет создана дополнительная сеть."
msgid "Force"
msgstr "Принудительно"
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr "Требовать CCMP (AES)"
msgid "Waiting for command to complete..."
msgstr "Ожидание завершения выполнения команды..."
-msgid "Waiting for router..."
-msgstr "Ожидание маршрутизатора..."
-
msgid "Warning"
msgstr "Внимание"
msgid "« Back"
msgstr "« Назад"
+#~ msgid "Waiting for router..."
+#~ msgstr "Ожидание маршрутизатора..."
+
#~ msgid "Enable builtin NTP server"
#~ msgstr "Включить встроенный NTP-сервер"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.6\n"
"X-Poedit-SourceCharset: UTF-8\n"
"Project-Id-Version: LuCI: ddns\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-02 13:44+0100\n"
-"PO-Revision-Date: 2012-08-14 22:36+0300\n"
+"PO-Revision-Date: 2012-11-01 21:54+0300\n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid "Enable"
msgstr "Включить"
+msgid "Event interface"
+msgstr "Интерфейс события"
+
msgid "Force update every"
msgstr "Принудительно обновлять каждые"
msgid "Network"
msgstr "Сеть"
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+"При включении какого интерфейса должен запускаться процесс скрипта DDNS."
+
msgid "Password"
msgstr "Пароль"
msgid "network"
msgstr "сеть"
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
msgid ""
msgstr ""
"Project-Id-Version: LuCI: diag_core\n"
+"POT-Creation-Date: \n"
"PO-Revision-Date: 2012-08-15 11:44+0300\n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.6\n"
-"POT-Creation-Date: \n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid "Configure Diagnostics"
msgid ""
msgstr ""
"Project-Id-Version: LuCI: diag_devinfo\n"
+"POT-Creation-Date: \n"
"PO-Revision-Date: 2012-08-15 18:27+0300\n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
-"POT-Creation-Date: \n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid "Actions"
msgid "Scanning Configuration"
msgstr "Конфигурация сканирования"
+msgid "Scans for devices on specified networks."
+msgstr "Сканирует устройства в заданных сетях."
+
msgid "Sleep Between Requests"
msgstr "Пауза между запросами"
msgid "check other networks"
msgstr "проверить другие сети"
-
-msgid "Scans for devices on specified networks."
-msgstr "Сканирует устройства в заданных сетях."
msgid ""
msgstr ""
"Project-Id-Version: LuCI: ffwizard\n"
+"POT-Creation-Date: \n"
"PO-Revision-Date: 2012-08-15 17:17+0300\n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.6\n"
-"POT-Creation-Date: \n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid "Allow to transfer anonymous statistics about this node"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid "BSSID"
msgstr "BSSID"
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr "Базовые настройки"
msgid "Edit index page"
msgstr "Редактировать главную страницу"
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr "Ошибка"
msgid "Go to"
msgstr "Перейти"
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr "Здравствуйте и добро пожаловать в сеть"
msgid "Hostname"
msgstr "Имя хоста"
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr "Если выбрано, содержимое по умолчанию не будет показано."
msgid "Latitude"
msgstr "Широта"
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr "Загрузка"
msgid "Operator"
msgstr "Оператор"
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr "Обзор"
msgid "Realname"
msgstr "Имя"
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr "SSID"
msgid "Status"
msgstr "Статус"
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr "Система"
msgid "Verify downloaded images"
msgstr "Проверять загруженные образы"
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr "Обзор беспроводных сетей"
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.6\n"
"X-Poedit-SourceCharset: UTF-8\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr "Канал"
msgid "Enable DHCP"
msgstr "Включить DHCP"
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr "Общие настройки"
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr "IP-адрес ячейки"
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr "Мастер настройки ячеистой сети"
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr "Защитить LAN"
"Включите эту опцию, чтобы позволить другим клиентам использовать ваше "
"подключение к интернету."
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr "Сделать интернет-подключение общедоступным"
msgid "The given IP address is not inside the mesh network range"
msgstr "Заданный IP-адрес не находится внутри ячеистой сети"
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
msgid ""
msgstr ""
"Project-Id-Version: LuCI: minidlna\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
+"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"POT-Creation-Date: \n"
-"PO-Revision-Date: \n"
-"Language: ru\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid "Advanced Settings"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.6\n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid ""
msgstr ""
"Project-Id-Version: LuCI: multiwan\n"
+"POT-Creation-Date: \n"
"PO-Revision-Date: 2012-08-15 14:05+0300\n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
-"POT-Creation-Date: \n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid "Attempts Before WAN Failover"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
msgstr "Топология"
msgid ""
-"Type of service value for the IP header of control traffic. Default is "
-"\"16\"."
+"Type of service value for the IP header of control traffic. Default is \"16"
+"\"."
msgstr ""
"Значение поля ToS IP -аголовка управляющего трафика. По умолчанию \"16\"."
"Project-Id-Version: LuCI: openvpn\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-19 19:36+0200\n"
-"PO-Revision-Date: 2012-08-16 20:01+0300\n"
+"PO-Revision-Date: 2012-11-01 21:58+0300\n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
msgstr "%s"
msgid "'net30', 'p2p', or 'subnet'"
-msgstr "'net30', 'p2p', или 'subnet'"
+msgstr "'net30', 'p2p' или 'subnet'"
msgid "Accept options pushed from server"
msgstr "Принимать опции, отправленные с сервера"
#, fuzzy
msgid "Replay protection sliding window size"
-msgstr "Ð\97аÑ\89иÑ\82а оÑ\82 повÑ\82оÑ\80а Ñ\81колÑ\8cзÑ\8fÑ\89его Ñ\80азмеÑ\80а окна"
+msgstr "РазмеÑ\80 Ñ\81колÑ\8cзÑ\8fÑ\89его окна заÑ\89иÑ\82Ñ\8b оÑ\82 повÑ\82оÑ\80ов"
msgid "Require explicit designation on certificate"
msgstr "Требовать явного указания в сертификате"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid ""
msgstr ""
"Project-Id-Version: LuCI: pbx-voicemail\n"
+"POT-Creation-Date: \n"
"PO-Revision-Date: 2012-08-15 17:42+0300\n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
-"POT-Creation-Date: \n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid "Email Addresses that Receive Voicemail"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid ""
msgstr ""
"Project-Id-Version: LuCI: radvd\n"
+"POT-Creation-Date: \n"
"PO-Revision-Date: 2012-08-16 11:37+0300\n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
-"POT-Creation-Date: \n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid "6to4 interface"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
msgstr "Настройки Collectd"
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr "Использование диска"
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr "Показать за промежуток »"
msgid "Incoming interface"
msgstr "Входящий интерфейс"
-msgid "Installed network plugins:"
-msgstr "Установленные сетевые модули:"
-
-msgid "Installed output plugins:"
-msgstr "Установленные модули вывода:"
-
msgid "Interface Plugin Configuration"
msgstr "Конфигурация модуля Interface"
msgid "Network plugins"
msgstr "Сетевые модули"
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-"Сетевые модули используются для сбора информации об открытых TCP-"
-"соединениях, трафике, правилах iptables и т.п."
-
msgid "Network protocol"
msgstr "Сетевой протокол"
msgid "Output plugins"
msgstr "Модули вывода"
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-"Модули вывода обеспечивают различные варианты сохранения собранных данных. "
-"Можно включить несколько модулей, например, чтобы сохранить собранные данные "
-"в базе данных RRD и передать их по сети другим инстанциям collectd."
-
msgid "Ping"
msgstr "Ping"
msgid "System plugins"
msgstr "Системные модули"
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-"Системные модули, собирающие данные о состоянии системы и использовании "
-"ресурсов устройства:"
-
msgid "TCP Connections"
msgstr "TCPConns"
msgid "Table"
msgstr "Таблица"
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"Модуль UnixSock создает Unix-сокет, который может быть использован для "
"получения статистики от работающего сервиса collectd."
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr "Модуль Wireless собирает статистику о силе, шуме и качестве сигнала."
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr "Пытаться определять имя хоста"
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr "UnixSock"
msgid "Wireless"
msgstr "Wireless"
-msgid "Wireless Plugin Configuration"
-msgstr "Конфигурация модуля Wireless"
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr "Конфигурация модуля Iwinfo"
msgid "server interfaces"
msgstr "интерфейсы сервера"
+
+#~ msgid "Installed network plugins:"
+#~ msgstr "Установленные сетевые модули:"
+
+#~ msgid "Installed output plugins:"
+#~ msgstr "Установленные модули вывода:"
+
+#~ msgid ""
+#~ "Network plugins are used to collect information about open tcp "
+#~ "connections, interface traffic, iptables rules etc."
+#~ msgstr ""
+#~ "Сетевые модули используются для сбора информации об открытых "
+#~ "TCP-соединениях, трафике, правилах iptables и т.п."
+
+#~ msgid ""
+#~ "Output plugins provide different possibilities to store collected data. "
+#~ "It is possible to enable multiple plugin at one, for example to store "
+#~ "collected data in rrd databases and to transmit the data over the network "
+#~ "to other collectd instances."
+#~ msgstr ""
+#~ "Модули вывода обеспечивают различные варианты сохранения собранных данных. "
+#~ "Можно включить несколько модулей, например, чтобы сохранить собранные данные "
+#~ "в базе данных RRD и передать их по сети другим инстанциям collectd."
+
+#~ msgid ""
+#~ "System plugins collecting values about system state and ressource usage "
+#~ "on the device.:"
+#~ msgstr ""
+#~ "Системные модули, собирающие данные о состоянии системы и использовании "
+#~ "ресурсов устройства:"
+
+#~ msgid ""
+#~ "The wireless plugin collects statistics about wireless signal strength, "
+#~ "noise and quality."
+#~ msgstr "Модуль Wireless собирает статистику о силе, шуме и качестве сигнала."
+
+#~ msgid "Wireless Plugin Configuration"
+#~ msgstr "Конфигурация модуля Wireless"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.6\n"
"X-Poedit-SourceCharset: UTF-8\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.6\n"
"X-Poedit-SourceCharset: UTF-8\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.6\n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid ""
msgstr ""
"Project-Id-Version: LuCI: uvc_streamer\n"
+"POT-Creation-Date: \n"
"PO-Revision-Date: 2012-08-15 11:46+0300\n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
-"POT-Creation-Date: \n"
"X-Poedit-SourceCharset: UTF-8\n"
#. Frames per second
msgid ""
msgstr ""
"Project-Id-Version: LuCI: vnstat\n"
+"POT-Creation-Date: \n"
"PO-Revision-Date: 2012-08-15 11:48+0300\n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
-"POT-Creation-Date: \n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid "Configuration"
msgid ""
msgstr ""
"Project-Id-Version: LuCI: voice_core\n"
+"POT-Creation-Date: \n"
"PO-Revision-Date: 2012-08-15 11:23+0300\n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.6\n"
-"POT-Creation-Date: \n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid "Phones"
msgid ""
msgstr ""
"Project-Id-Version: LuCI: voice_diag\n"
+"POT-Creation-Date: \n"
"PO-Revision-Date: 2012-08-15 11:22+0300\n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
-"POT-Creation-Date: \n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid "Diagnostics"
msgid ""
msgstr ""
"Project-Id-Version: LuCI: watchcat\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
+"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"POT-Creation-Date: \n"
-"PO-Revision-Date: \n"
-"Language: ru\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid "Forced reboot delay"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid "Allowed range is 1 to 65535"
msgstr ""
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr ""
msgid "Force"
msgstr ""
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
-msgid "Waiting for router..."
-msgstr ""
-
msgid "Warning"
msgstr ""
--- /dev/null
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
msgid "Enable"
msgstr ""
+msgid "Event interface"
+msgstr ""
+
msgid "Force update every"
msgstr ""
msgid "Network"
msgstr ""
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+
msgid "Password"
msgstr ""
msgid "network"
msgstr ""
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
msgid "Scanning Configuration"
msgstr ""
+msgid "Scans for devices on specified networks."
+msgstr ""
+
msgid "Sleep Between Requests"
msgstr ""
msgid "check other networks"
msgstr ""
-
-msgid "Scans for devices on specified networks."
-msgstr ""
msgid "BSSID"
msgstr ""
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr ""
msgid "Edit index page"
msgstr ""
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr ""
msgid "Go to"
msgstr ""
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr ""
msgid "Hostname"
msgstr ""
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr ""
msgid "Latitude"
msgstr ""
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr ""
msgid "Operator"
msgstr ""
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr ""
msgid "Realname"
msgstr ""
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr ""
msgid "Status"
msgstr ""
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr ""
msgid "Verify downloaded images"
msgstr ""
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr ""
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr ""
msgid "Enable DHCP"
msgstr ""
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr ""
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr ""
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr ""
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr ""
"Select this to allow others to use your connection to access the internet."
msgstr ""
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr ""
msgid "The given IP address is not inside the mesh network range"
msgstr ""
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
msgstr ""
msgid ""
-"Type of service value for the IP header of control traffic. Default is "
-"\"16\"."
+"Type of service value for the IP header of control traffic. Default is \"16"
+"\"."
msgstr ""
msgid "Unable to connect to the OLSR daemon!"
msgstr ""
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr ""
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr ""
msgid "Incoming interface"
msgstr ""
-msgid "Installed network plugins:"
-msgstr ""
-
-msgid "Installed output plugins:"
-msgstr ""
-
msgid "Interface Plugin Configuration"
msgstr ""
msgid "Network plugins"
msgstr ""
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-
msgid "Network protocol"
msgstr ""
msgid "Output plugins"
msgstr ""
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-
msgid "Ping"
msgstr ""
msgid "System plugins"
msgstr ""
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-
msgid "TCP Connections"
msgstr ""
msgid "Table"
msgstr ""
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"collected data from a running collectd instance."
msgstr ""
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr ""
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr ""
msgid "Wireless"
msgstr ""
-msgid "Wireless Plugin Configuration"
-msgstr ""
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Allowed range is 1 to 65535"
msgstr ""
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr ""
msgid "Force"
msgstr ""
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
-msgid "Waiting for router..."
-msgstr ""
-
msgid "Warning"
msgstr ""
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
msgid "Enable"
msgstr ""
+msgid "Event interface"
+msgstr ""
+
msgid "Force update every"
msgstr ""
msgid "Network"
msgstr ""
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+
msgid "Password"
msgstr ""
msgid "network"
msgstr ""
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
msgid "Scanning Configuration"
msgstr ""
+msgid "Scans for devices on specified networks."
+msgstr ""
+
msgid "Sleep Between Requests"
msgstr ""
msgid "check other networks"
msgstr ""
-
-msgid "Scans for devices on specified networks."
-msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "BSSID"
msgstr ""
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr ""
msgid "Edit index page"
msgstr ""
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr ""
msgid "Go to"
msgstr ""
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr ""
msgid "Hostname"
msgstr ""
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr ""
msgid "Latitude"
msgstr ""
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr ""
msgid "Operator"
msgstr ""
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr ""
msgid "Realname"
msgstr ""
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr ""
msgid "Status"
msgstr ""
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr ""
msgid "Verify downloaded images"
msgstr ""
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr ""
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr ""
msgid "Enable DHCP"
msgstr ""
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr ""
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr ""
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr ""
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr ""
"Select this to allow others to use your connection to access the internet."
msgstr ""
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr ""
msgid "The given IP address is not inside the mesh network range"
msgstr ""
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
"Project-Id-Version: PACKAGE VERSION\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgstr ""
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr ""
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr ""
msgid "Incoming interface"
msgstr ""
-msgid "Installed network plugins:"
-msgstr ""
-
-msgid "Installed output plugins:"
-msgstr ""
-
msgid "Interface Plugin Configuration"
msgstr ""
msgid "Network plugins"
msgstr ""
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-
msgid "Network protocol"
msgstr ""
msgid "Output plugins"
msgstr ""
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-
msgid "Ping"
msgstr ""
msgid "System plugins"
msgstr ""
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-
msgid "TCP Connections"
msgstr ""
msgid "Table"
msgstr ""
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"collected data from a running collectd instance."
msgstr ""
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr ""
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr ""
msgid "Wireless"
msgstr ""
-msgid "Wireless Plugin Configuration"
-msgstr ""
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
msgid "(%d minute window, %d second interval)"
msgid "Allowed range is 1 to 65535"
msgstr "Допустимий діапазон — від 1 до 65535"
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr "Якщо ви залишите це невибраним, буде створена додаткова мережа."
msgid "Force"
msgstr "Примусово"
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr "Примусово CCMP (AES)"
msgid "Waiting for command to complete..."
msgstr ""
-msgid "Waiting for router..."
-msgstr "Очікування маршрутизатора..."
-
msgid "Warning"
msgstr "Застереження"
msgid "« Back"
msgstr "« Назад"
+#~ msgid "Waiting for router..."
+#~ msgstr "Очікування маршрутизатора..."
+
#~ msgid "Enable builtin NTP server"
#~ msgstr "Увімкнути вбудований NTP-сервер"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
msgid "Check for changed IP every"
msgid "Enable"
msgstr "Увімкнути"
+msgid "Event interface"
+msgstr ""
+
msgid "Force update every"
msgstr "Примусово оновлювати кожні"
msgid "Network"
msgstr "Мережа"
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+
msgid "Password"
msgstr "Пароль"
msgid "network"
msgstr "мережа"
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
msgid "Actions"
msgstr ""
msgid "Scanning Configuration"
msgstr ""
+msgid "Scans for devices on specified networks."
+msgstr ""
+
msgid "Sleep Between Requests"
msgstr ""
msgid "check other networks"
msgstr ""
-
-msgid "Scans for devices on specified networks."
-msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "BSSID"
msgstr ""
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr ""
msgid "Edit index page"
msgstr ""
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr ""
msgid "Go to"
msgstr ""
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr ""
msgid "Hostname"
msgstr ""
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr ""
msgid "Latitude"
msgstr ""
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr ""
msgid "Operator"
msgstr ""
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr ""
msgid "Realname"
msgstr ""
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr ""
msgid "Status"
msgstr ""
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr ""
msgid "Verify downloaded images"
msgstr ""
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr ""
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
msgid "Channel"
msgstr ""
msgid "Enable DHCP"
msgstr ""
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr ""
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr ""
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr ""
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr ""
"Select this to allow others to use your connection to access the internet."
msgstr ""
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr ""
msgid "The given IP address is not inside the mesh network range"
msgstr ""
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
"Project-Id-Version: PACKAGE VERSION\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgstr ""
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr ""
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr ""
msgid "Incoming interface"
msgstr ""
-msgid "Installed network plugins:"
-msgstr ""
-
-msgid "Installed output plugins:"
-msgstr ""
-
msgid "Interface Plugin Configuration"
msgstr ""
msgid "Network plugins"
msgstr ""
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-
msgid "Network protocol"
msgstr ""
msgid "Output plugins"
msgstr ""
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-
msgid "Ping"
msgstr ""
msgid "System plugins"
msgstr ""
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-
msgid "TCP Connections"
msgstr ""
msgid "Table"
msgstr ""
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"collected data from a running collectd instance."
msgstr ""
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr ""
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr ""
msgid "Wireless"
msgstr ""
-msgid "Wireless Plugin Configuration"
-msgstr ""
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr ""
"PO-Revision-Date: 2009-08-14 12:23+0200\n"
"Last-Translator: Hong Phuc Dang <dhppat@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Allowed range is 1 to 65535"
msgstr ""
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr ""
+
msgid "An additional network will be created if you leave this unchecked."
msgstr ""
msgid "Force"
msgstr "Force"
+msgid "Force 40MHz mode"
+msgstr ""
+
msgid "Force CCMP (AES)"
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
-msgid "Waiting for router..."
-msgstr ""
-
msgid "Warning"
msgstr ""
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
msgid "Enable"
msgstr ""
+msgid "Event interface"
+msgstr ""
+
msgid "Force update every"
msgstr "Buộc cập nhật mỗi"
msgid "Network"
msgstr ""
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+
msgid "Password"
msgstr ""
msgid "network"
msgstr ""
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
msgid "Scanning Configuration"
msgstr ""
+msgid "Scans for devices on specified networks."
+msgstr ""
+
msgid "Sleep Between Requests"
msgstr ""
msgid "check other networks"
msgstr ""
-
-msgid "Scans for devices on specified networks."
-msgstr ""
msgid "BSSID"
msgstr ""
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr ""
msgid "Edit index page"
msgstr ""
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr ""
msgid "Go to"
msgstr ""
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr "Xin chào và chào mừng gia nhập mạng lưới của"
msgid "Hostname"
msgstr "Hostname"
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr ""
msgid "Latitude"
msgstr ""
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr ""
msgid "Operator"
msgstr ""
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr ""
msgid "Realname"
msgstr "Tên thật "
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr ""
msgid "Status"
msgstr ""
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr ""
msgid "Verify downloaded images"
msgstr "Xác minh hình ảnh đã tải"
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr ""
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr ""
msgid "Enable DHCP"
msgstr ""
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
msgid "General Settings"
msgstr ""
+msgid "IPv6 Settings"
+msgstr ""
+
msgid ""
"If this is selected then config is cleaned before setting new config options."
msgstr ""
msgid "Mesh IP address"
msgstr ""
+msgid "Mesh IPv6 address"
+msgstr ""
+
msgid "Mesh Wizard"
msgstr ""
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
+msgstr ""
+
msgid "Protect LAN"
msgstr ""
"Select this to allow others to use your connection to access the internet."
msgstr ""
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr ""
msgid "The given IP address is not inside the mesh network range"
msgstr ""
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
"PO-Revision-Date: 2009-08-16 05:50+0200\n"
"Last-Translator: Hong Phuc Dang <dhppat@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgstr "Những cài đặt collectd"
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
-"Collectd là một daeomon nhỏ để thu thập dữ liệu từ nhiều nguồn thông qua các "
+"Collectd là một daemon nhỏ để thu thập dữ liệu từ nhiều nguồn thông qua các "
"plugins khác nhau. Trên trang này, bạn có thể thay đổi cài đặt tổng quát cho "
"cai collectd daemon. "
msgid "Disk Usage"
msgstr "Disk Usage"
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr "Display timespan"
msgid "Incoming interface"
msgstr "Giao diện đang tới"
-msgid "Installed network plugins:"
-msgstr ""
-
-msgid "Installed output plugins:"
-msgstr ""
-
msgid "Interface Plugin Configuration"
msgstr "Cấu hình giao diện plugin"
msgid "Network plugins"
msgstr "Network plugins"
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-
msgid "Network protocol"
msgstr "Network protocol"
msgid "Output plugins"
msgstr "Output plugins"
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-
msgid "Ping"
msgstr "Ping"
msgid "System plugins"
msgstr "System plugins"
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-
msgid "TCP Connections"
msgstr "Kết nối TCP"
msgid "Table"
msgstr "Table"
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"Unixsock plugin tạo một unix socket mà có thể dùng để đọc dữ liệu thu thập "
"từ một collectd instance đang vận hành. "
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-"Cấu hình wireless plugin thu thập thống kê về độ mạnh của tín hiệu wireless, "
-"noise và chất lượng."
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr "Thử tra cứu những tên host đủ điều kiện"
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr "UnixSock"
msgid "Wireless"
msgstr "Mạng không dây"
-msgid "Wireless Plugin Configuration"
-msgstr "Cấu hình Wireless Plugin "
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr ""
msgid "server interfaces"
msgstr "giao diện server"
+
+#~ msgid ""
+#~ "The wireless plugin collects statistics about wireless signal strength, "
+#~ "noise and quality."
+#~ msgstr ""
+#~ "Cấu hình wireless plugin thu thập thống kê về độ mạnh của tín hiệu wireless, "
+#~ "noise và chất lượng."
+
+#~ msgid "Wireless Plugin Configuration"
+#~ msgstr "Cấu hình Wireless Plugin "
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 23:08+0200\n"
-"PO-Revision-Date: 2012-10-06 11:33+0200\n"
+"PO-Revision-Date: 2012-11-23 11:54+0200\n"
"Last-Translator: phantasm131 <phantasm131@gmail.com>\n"
"Language-Team: QQ Group:75543259\n"
"Language: zh_CN\n"
msgid "Allowed range is 1 to 65535"
msgstr "允许的范围:1 到 65535"
+msgid ""
+"Always use 40MHz channels even if the secondary channel overlaps. Using this "
+"option does not comply with IEEE 802.11n-2009!"
+msgstr "强制启用40MHz频宽并忽略辅助信道重叠。此选项不兼容IEEE 802.11n-2009!"
+
msgid "An additional network will be created if you leave this unchecked."
msgstr "取消选中将会另外创建一个新网络,而不会覆盖当前网络设置"
msgid "Force"
msgstr "强制开启DHCP"
+msgid "Force 40MHz mode"
+msgstr "强制40MHz频宽"
+
msgid "Force CCMP (AES)"
msgstr "强制使用CCMP(AES)加密"
"\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem\">ext3</abbr></"
"samp>)"
msgstr ""
-"用于格式化存储器的文件系统,(<abbr title=\"for example\">例如</abbr> <samp><abbr title=\"Third "
-"Extended Filesystem\">ext4</abbr></samp>)"
+"用于格式化存储器的文件系统,(<abbr title=\"for example\">例如</abbr> "
+"<samp><abbr title=\"Third Extended Filesystem\">ext4</abbr></samp>)"
msgid ""
"The flash image was uploaded. Below is the checksum and file size listed, "
msgid "Waiting for command to complete..."
msgstr "正在执行命令..."
-msgid "Waiting for router..."
-msgstr "等待路由器..."
-
msgid "Warning"
msgstr "警告"
msgid "« Back"
msgstr "« 后退"
+#~ msgid "Waiting for router..."
+#~ msgstr "等待路由器..."
+
#~ msgid "Enable builtin NTP server"
#~ msgstr "开启内置NTP服务器"
#~ msgid "Active Leases"
-#~ msgstr "活动客户端"
+#~ msgstr "活动的租约"
#~ msgid "Open"
-#~ msgstr "开启"
+#~ msgstr "打开"
#~ msgid "KB"
#~ msgstr "KB"
#~ msgid "Bit Rate"
-#~ msgstr "传输速率"
+#~ msgstr "比特率"
#~ msgid "Configuration / Apply"
-#~ msgstr "Configuration / Apply"
+#~ msgstr "设置 /应用"
#~ msgid "Configuration / Changes"
-#~ msgstr "Configuration / Changes"
+#~ msgstr "设置 / 修改"
#~ msgid "Configuration / Revert"
-#~ msgstr "Configuration / Revert"
+#~ msgstr "设置 / 重置"
#~ msgid "MAC"
#~ msgstr "MAC"
#~ msgstr "<abbr title=\"Encrypted\">加密</abbr>"
#~ msgid "<abbr title=\"Wireless Local Area Network\">WLAN</abbr>-Scan"
-#~ msgstr "<abbr title=\"Wireless Local Area Network\">WLAN</abbr>-搜索"
+#~ msgstr "搜索<abbr title=\"Wireless Local Area Network\">WLAN</abbr>"
#~ msgid ""
#~ "Choose the network you want to attach to this wireless interface. Select "
#~ "<em>unspecified</em> to not attach any network or fill out the "
#~ "<em>create</em> field to define a new network."
-#~ msgstr "此无线接口的网络。填写<em>创建</em>栏可新建网络。"
+#~ msgstr ""
+#~ "请选择你需要链接到无线网络接口的网络. 如果不链接到任何网络请选择 <em>未指"
+#~ "定</em>,如果需要创建新网络请点<em>创建</em>."
#~ msgid "Create Network"
-#~ msgstr "Create Network"
+#~ msgstr "创建一个网络"
#~ msgid "Link"
#~ msgstr "链接"
#~ msgstr "Power"
#~ msgid "Wifi networks in your local environment"
-#~ msgstr "Wifi networks in your local environment"
+#~ msgstr "扫描到的无线热点"
#~ msgid ""
#~ "<abbr title=\"Classless Inter-Domain Routing\">CIDR</abbr>-Notation: "
#~ "address/prefix"
#~ msgstr ""
-#~ "<abbr title=\"Classless Inter-Domain Routing\">CIDR</abbr>-标识:地址/前缀"
+#~ "<abbr title=\"Classless Inter-Domain Routing\">CIDR</abbr>-Notation: "
+#~ "address/prefix"
#~ msgid "<abbr title=\"Domain Name System\">DNS</abbr>-Server"
-#~ msgstr "<abbr title=\"Domain Name System\">DNS</abbr>-Server"
+#~ msgstr "<abbr title=\"Domain Name System\">DNS</abbr>-服务器"
#~ msgid "<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Broadcast"
#~ msgstr "<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-广播"
#~ msgstr "IP-Aliases"
#~ msgid "IPv6 Setup"
-#~ msgstr "IPv6设置"
+#~ msgstr "IPv6 设置"
#~ msgid ""
#~ "Note: If you choose an interface here which is part of another network, "
#~ "it will be moved into this network."
#~ msgstr ""
-#~ "Note: If you choose an interface here which is part of another network, "
-#~ "it will be moved into this network."
+#~ "注意:当你选择一个已经存在与一个网络中的接口时,它将会被移除那个网络。"
#~ msgid ""
#~ "Really delete this interface? The deletion cannot be undone!\\nYou might "
#~ "the next greater network like the internet and other ports for a local "
#~ "network."
#~ msgstr ""
-#~ "The network ports on your router can be combined to several <abbr title="
-#~ "\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
-#~ "communicate directly with each other. <abbr title=\"Virtual Local Area "
-#~ "Network\">VLAN</abbr>s are often used to separate different network "
-#~ "segments. Often there is by default one Uplink port for a connection to "
-#~ "the next greater network like the internet and other ports for a local "
-#~ "network."
+#~ "本设备可以划分为多个<abbr title=\"Virtual Local Area Network\">VLAN</"
+#~ "abbr>,并支持电脑间的直接通讯;<abbr title=\"Virtual Local Area Network"
+#~ "\">VLAN</abbr>也常用于分割不同网段;默认通常是一条上传端口连接ISP,其余端"
+#~ "口为本地子网。"
#~ msgid "Enable buffering"
#~ msgstr "开启缓冲"
#~ msgstr "空闲"
#~ msgid "static"
-#~ msgstr "静态IP"
+#~ msgstr "静态"
#~ msgid ""
#~ "<abbr title=\"Lua Configuration Interface\">LuCI</abbr> is a collection "
#~ msgstr "服务"
#~ msgid "Statistics"
-#~ msgstr "统计"
+#~ msgstr "统计信息"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "A short textual description of the configured command"
+msgstr ""
+
+msgid "Access command with"
+msgstr ""
+
+msgid ""
+"Allow executing the command and downloading its output without prior "
+"authentication"
+msgstr ""
+
+msgid "Allow the user to provide additional command line arguments"
+msgstr ""
+
+msgid "Arguments:"
+msgstr ""
+
+msgid "Binary data not displayed, download instead."
+msgstr ""
+
+msgid "Code:"
+msgstr ""
+
+msgid "Collecting data..."
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Command failed"
+msgstr ""
+
+msgid "Command line to execute"
+msgstr ""
+
+msgid "Command successful"
+msgstr ""
+
+msgid "Command:"
+msgstr ""
+
+msgid "Configure"
+msgstr ""
+
+msgid "Custom Commands"
+msgstr ""
+
+msgid "Custom arguments"
+msgstr ""
+
+msgid "Dashboard"
+msgstr ""
+
+msgid "Description"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Failed to execute command!"
+msgstr ""
+
+msgid "Link"
+msgstr ""
+
+msgid "Loading"
+msgstr ""
+
+msgid "Public access"
+msgstr ""
+
+msgid "Run"
+msgstr ""
+
+msgid ""
+"This page allows you to configure custom shell commands which can be easily "
+"invoked from the web interface."
+msgstr ""
+
+msgid "Waiting for command to complete..."
+msgstr ""
msgid "Enable"
msgstr "启用"
+msgid "Event interface"
+msgstr ""
+
msgid "Force update every"
msgstr "强制更新间隔"
msgid "Network"
msgstr "网络"
+msgid "On which interface up should start the ddns script process."
+msgstr ""
+
msgid "Password"
msgstr "密码"
msgid "network"
msgstr "网络"
-
-msgid "Event interface"
-msgstr ""
-
-msgid "On which interface up should start the ddns script process."
-msgstr ""
msgid "Scanning Configuration"
msgstr ""
+msgid "Scans for devices on specified networks."
+msgstr ""
+
msgid "Sleep Between Requests"
msgstr ""
msgid "check other networks"
msgstr ""
-
-msgid "Scans for devices on specified networks."
-msgstr ""
"forwarded traffic between different networks within the zone. <em>Covered "
"networks</em> specifies which available networks are member of this zone."
msgstr ""
-"本节定义 %q 的通用属性, <em>入站数据</em> 和 <em>出站数据</em>规则用于设置数据包“进”和“出”路由器(某个接口)默认的转发原则"
-",<em>转发</em>规则用于特定(一个或多个)区域的不同子网之间的数据包转发。<em>覆盖网络</em>选择从属于这个区域的网络。"
+"本节定义 %q 的通用属性, <em>入站数据</em> 和 <em>出站数据</em>规则用于设置数"
+"据包“进”和“出”路由器(某个接口)默认的转发原则,<em>转发</em>规则用于特定(一"
+"个或多个)区域的不同子网之间的数据包转发。<em>覆盖网络</em>选择从属于这个区域"
+"的网络。"
msgid "To %s at %s on <var>this device</var>"
msgstr "到 %s at %s 位于<var>本设备</var>"
msgid "BSSID"
msgstr "BSSID"
+msgid "Bad (ETX > 10)"
+msgstr ""
+
msgid "Basic Settings"
msgstr "基础设置"
msgid "Edit index page"
msgstr ""
+msgid "Enable IPv6"
+msgstr ""
+
msgid "Error"
msgstr ""
msgid "Go to"
msgstr ""
+msgid "Good (2 < ETX < 4)"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
msgid "Hello and welcome in the network of"
msgstr ""
msgid "Hostname"
msgstr ""
+msgid "IPv6 Config"
+msgstr ""
+
+msgid "IPv6 Prefix"
+msgstr ""
+
+msgid "IPv6 network in CIDR notation."
+msgstr ""
+
msgid "If selected then the default content element is not shown."
msgstr ""
msgid "Latitude"
msgstr ""
+msgid "Legend"
+msgstr ""
+
msgid "Load"
msgstr ""
msgid "Operator"
msgstr ""
+msgid "Orange"
+msgstr ""
+
msgid "Overview"
msgstr ""
msgid "Realname"
msgstr ""
+msgid "Red"
+msgstr ""
+
msgid "SSID"
msgstr ""
msgid "Status"
msgstr ""
+msgid "Still usable (4 < ETX < 10)"
+msgstr ""
+
msgid "System"
msgstr ""
msgid "Verify downloaded images"
msgstr ""
+msgid "Very good (ETX < 2)"
+msgstr ""
+
msgid ""
"We are an initiative to establish a free, independent and open wireless mesh "
"network."
msgid "Wireless Overview"
msgstr ""
+msgid "Yellow"
+msgstr ""
+
msgid ""
"You can display additional content on the public index page by inserting "
"valid XHTML in the form below.<br />Headlines should be enclosed between <"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-09-24 18:01+0200\n"
-"PO-Revision-Date: 2012-09-24 18:01+0200\n"
-"Last-Translator: shanliren <shanliren.net@gmail.com>\n"
+"PO-Revision-Date: 2012-10-30 04:28+0200\n"
+"Last-Translator: yingrui <easygodg@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Pootle 2.0.6\n"
+msgid "Activate or deactivate IPv6 config globally."
+msgstr ""
+
msgid "Channel"
msgstr "频道"
msgid "Check this to protect your LAN from other nodes or clients"
-msgstr ""
+msgstr "选择此项,隔离其他节点或客户端的攻击来保护你的局域网"
msgid "Cleanup config"
-msgstr ""
+msgstr "清空配置"
msgid "Configure this interface"
-msgstr ""
+msgstr "配置当前界面"
msgid "DHCP IP range"
-msgstr ""
+msgstr "DHCP IP 范围"
msgid "DHCP will automatically assign ip addresses to clients"
-msgstr ""
+msgstr "DHCP将自动给客户端分配IP地址"
msgid "Enable DHCP"
+msgstr "启动DHCP"
+
+msgid "Enable RA"
+msgstr ""
+
+msgid "Enabled"
msgstr ""
msgid "General Settings"
+msgstr "总体设置"
+
+msgid "IPv6 Settings"
msgstr ""
msgid ""
"If this is selected then config is cleaned before setting new config options."
-msgstr ""
+msgstr "如果此项被选中,在设置新选项之前,配置将被清空。"
msgid "Interfaces"
-msgstr ""
+msgstr "界面"
msgid "Mesh IP address"
+msgstr "Mesh IP 地址"
+
+msgid "Mesh IPv6 address"
msgstr ""
msgid "Mesh Wizard"
+msgstr "Mesh 导引"
+
+msgid ""
+"Note: this will setup this interface for mesh operation, i.e. add to zone "
+"'freifunk' and enable olsr."
msgstr ""
msgid "Protect LAN"
"Select this to allow others to use your connection to access the internet."
msgstr ""
+msgid "Send router advertisements on this device."
+msgstr ""
+
msgid "Share your internet connection"
msgstr ""
msgid "The given IP address is not inside the mesh network range"
msgstr ""
+msgid ""
+"This is a unique IPv6 address in CIDR notation (e.g. 2001:1:2:3::1/64) and "
+"has to be registered at your local community."
+msgstr ""
+
msgid ""
"This is a unique address in the mesh (e.g. 10.1.1.1) and has to be "
"registered at your local community."
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"Last-Translator: Automatically generated\n"
+"PO-Revision-Date: 2012-11-16 06:26+0200\n"
+"Last-Translator: Rui <shenrui01@gmail.com>\n"
"Language-Team: none\n"
+"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Pootle 2.0.6\n"
msgid "Advanced Settings"
-msgstr ""
+msgstr "高级设置"
msgid "Album art names:"
-msgstr ""
+msgstr "专辑封面名称:"
msgid "Announced model number:"
-msgstr ""
+msgstr "通告型号:"
msgid "Announced serial number:"
-msgstr ""
+msgstr "通告编号:"
msgid "Browse directory"
-msgstr ""
+msgstr "浏览目录"
msgid "Collecting data..."
-msgstr ""
+msgstr "收集数据..."
msgid "Database directory:"
-msgstr ""
+msgstr "数据库目录:"
msgid "Enable TIVO:"
-msgstr ""
+msgstr "启用TIVO:"
msgid "Enable inotify:"
-msgstr ""
+msgstr "启用inotify:"
msgid "Enable:"
-msgstr ""
+msgstr "启用:"
msgid "Friendly name:"
-msgstr ""
+msgstr "友好名称:"
msgid "General Settings"
-msgstr ""
+msgstr "基本设置"
msgid "Interfaces:"
-msgstr ""
+msgstr "接口:"
msgid "Log directory:"
-msgstr ""
+msgstr "日志目录:"
msgid "Media directories:"
-msgstr ""
+msgstr "媒体目录:"
msgid ""
"MiniDLNA is server software with the aim of being fully compliant with DLNA/"
"UPnP-AV clients."
-msgstr ""
+msgstr "MiniDLNA是DLNA / UPnP-AV媒体服务器。"
msgid ""
"Model number the miniDLNA daemon will report to clients in its XML "
"description."
-msgstr ""
+msgstr "miniDLNA守护程序将在其XML描述中向客户端通告型号。"
msgid "Music"
-msgstr ""
+msgstr "音乐"
msgid "Network interfaces to serve."
-msgstr ""
+msgstr "服务的网络接口。"
msgid "Notify interval in seconds."
-msgstr ""
+msgstr "通知的时间间隔,以秒为单位。"
msgid "Notify interval:"
-msgstr ""
+msgstr "通知的时间间隔:"
msgid "Pictures"
-msgstr ""
+msgstr "图片"
msgid "Port for HTTP (descriptions, SOAP, media transfer) traffic."
-msgstr ""
+msgstr "Port for HTTP (descriptions, SOAP, media transfer) traffic."
msgid "Port:"
-msgstr ""
+msgstr "端口:"
msgid "Presentation URL:"
-msgstr ""
+msgstr "服务网址"
msgid "Root container:"
-msgstr ""
+msgstr "根目录:"
msgid ""
"Serial number the miniDLNA daemon will report to clients in its XML "
"description."
-msgstr ""
+msgstr "miniDLNA守护程序将在其XML描述中向客户端通告编号。"
msgid ""
"Set this if you want to customize the name that shows up on your clients."
-msgstr ""
+msgstr "设置自定义名称。"
msgid ""
"Set this if you would like to specify the directory where you want MiniDLNA "
"to store its database and album art cache."
-msgstr ""
+msgstr "设置miniDLNA缓存目录"
msgid ""
"Set this if you would like to specify the directory where you want MiniDLNA "
"to store its log file."
-msgstr ""
+msgstr "设置miniDLNA日志目录"
msgid ""
"Set this to enable inotify monitoring to automatically discover new files."
-msgstr ""
+msgstr "设定启用inotify监控,自动发现新的文件。"
msgid ""
"Set this to enable support for streaming .jpg and .mp3 files to a TiVo "
"supporting HMO."
-msgstr ""
+msgstr "为HMO TiVo启用JPG和MP3流媒体支持。"
msgid ""
"Set this to strictly adhere to DLNA standards. This will allow server-side "
"downscaling of very large JPEG images, which may hurt JPEG serving "
"performance on (at least) Sony DLNA products."
msgstr ""
+"设定严格遵守DLNA标准。这将允许服务器端降小大尺寸JPEG图像,在(至少)索尼DLNA"
+"的产品这可能会降低JPEG服务性能。"
msgid ""
"Set this to the directory you want scanned. If you want to restrict the "
"audio, 'V' for video, 'P' for images), followed by a comma, to the directory "
"(eg. media_dir=A,/mnt/media/Music). Multiple directories can be specified."
msgstr ""
+"设置要扫描的目录。如果你想限制特定内容类型的目录,你可以在前面加上类型(用于"
+"音频'A','V'视频,'P'图片),其次是用逗号分隔的目录(如media_dir = A,/ mnt/"
+"媒体/音乐)。可以指定多个目录。"
msgid "Specify the path to the MiniSSDPd socket."
-msgstr ""
+msgstr "指定MiniSSDPd socket的路径。"
msgid "Standard container"
-msgstr ""
+msgstr "基本目录"
msgid "Strict to DLNA standard:"
-msgstr ""
+msgstr "严格的DLNA标准:"
msgid ""
"The miniDLNA service is active, serving %d audio, %d video and %d image "
"files."
-msgstr ""
+msgstr "miniDLNA服务已启用,提供 %d 音频, %d 视频 和 %d 图片."
msgid "The miniDLNA service is not running."
-msgstr ""
+msgstr "miniDLNA服务未启用"
msgid "This is a list of file names to check for when searching for album art."
-msgstr ""
+msgstr "这是一个文件名列表,为搜索专辑封面。"
msgid "Video"
-msgstr ""
+msgstr "视频"
msgid "miniDLNA"
-msgstr ""
+msgstr "miniDLNA"
msgid "miniDLNA Status"
-msgstr ""
+msgstr "miniDLNA 状态"
msgid "miniSSDP socket:"
-msgstr ""
+msgstr "miniSSDP socket:"
"Project-Id-Version: LuCi Chinese Translation\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-14 13:24+0200\n"
-"PO-Revision-Date: 2012-06-28 08:58+0200\n"
-"Last-Translator: phantasm131 <phantasm131@gmail.com>\n"
+"PO-Revision-Date: 2012-11-15 21:39+0200\n"
+"Last-Translator: Rui <shenrui01@gmail.com>\n"
"Language-Team: QQ Group 75543259\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"X-Generator: Pootle 2.0.6\n"
msgid "Clock Adjustment"
-msgstr ""
+msgstr "时钟校对"
msgid "Count of time measurements"
-msgstr ""
+msgstr "单位时间数"
msgid "Current system time"
-msgstr ""
+msgstr "当前系统时间"
msgid "General"
-msgstr ""
+msgstr "基本设置"
msgid "Hostname"
-msgstr ""
+msgstr "主机名"
msgid "Offset frequency"
-msgstr ""
+msgstr "偏移量"
msgid "Port"
-msgstr ""
+msgstr "端口"
msgid "Synchronizes the system time"
-msgstr ""
+msgstr "同步系统时间"
msgid "Time Server"
-msgstr ""
+msgstr "时间服务器"
msgid "Time Servers"
-msgstr ""
+msgstr "时间服务器"
msgid "Time Synchronisation"
-msgstr ""
+msgstr "时间同步"
msgid "Update interval (in seconds)"
-msgstr ""
+msgstr "更新间隔(秒)"
msgid "empty = infinite"
-msgstr ""
+msgstr "空值为无限长度"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-19 19:35+0200\n"
-"PO-Revision-Date: 2012-06-21 18:36+0200\n"
-"Last-Translator: phantasm131 <phantasm131@gmail.com>\n"
+"PO-Revision-Date: 2012-11-22 18:17+0200\n"
+"Last-Translator: Rui <shenrui01@gmail.com>\n"
"Language-Team: QQ Group 75543259 <axishero@foxmail.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"X-Generator: Pootle 2.0.6\n"
msgid "Bidirectional mode"
-msgstr ""
+msgstr "双向模式"
msgid "Device"
-msgstr ""
+msgstr "设备"
msgid ""
"First you have to install the packages to get support for USB (kmod-usb-"
"printer) or parallel port (kmod-lp)."
-msgstr ""
+msgstr "首先你必须安装支持USB打印机的驱动(kmod-usb-printer)或者并行端口驱动(kmod-lp)"
msgid "Port"
-msgstr ""
+msgstr "端口"
msgid "Settings"
-msgstr ""
+msgstr "设置"
msgid "TCP listener port."
-msgstr ""
+msgstr "监听端口"
msgid "enable"
-msgstr ""
+msgstr "启用"
msgid "p910nd - Printer server"
-msgstr ""
+msgstr "打印服务器"
#~ msgid "p910nd listens on port 910+N. E.g. 9100 for the first printer."
#~ msgstr "p910nd 的监听端口是910+N,举例:9100用于监听第一台打印机"
"Bandwidth limit for clients is only activated when both up- and download "
"limit are set. Use a value of 0 here to completely disable this limitation. "
"Whitelisted clients are not limited."
-msgstr "只有当 上传和下载的限制都设置的时候对客户端的带宽限制才会生效。在这里使用0 可以完全禁用此限制。白名单客户端不受限制。"
+msgstr ""
+"只有当 上传和下载的限制都设置的时候对客户端的带宽限制才会生效。在这里使用0 可"
+"以完全禁用此限制。白名单客户端不受限制。"
# Something wwrong?
msgid ""
msgstr ""
msgid ""
-"Collectd is a small daeomon for collecting data from various sources through "
+"Collectd is a small daemon for collecting data from various sources through "
"different plugins. On this page you can change general settings for the "
"collectd daemon."
msgstr ""
msgid "Disk Usage"
msgstr ""
+msgid "Display Host »"
+msgstr ""
+
msgid "Display timespan »"
msgstr ""
msgid "Incoming interface"
msgstr ""
-msgid "Installed network plugins:"
-msgstr ""
-
-msgid "Installed output plugins:"
-msgstr ""
-
msgid "Interface Plugin Configuration"
msgstr ""
msgid "Network plugins"
msgstr ""
-msgid ""
-"Network plugins are used to collect information about open tcp connections, "
-"interface traffic, iptables rules etc."
-msgstr ""
-
msgid "Network protocol"
msgstr ""
msgid "Output plugins"
msgstr ""
-msgid ""
-"Output plugins provide different possibilities to store collected data. It "
-"is possible to enable multiple plugin at one, for example to store collected "
-"data in rrd databases and to transmit the data over the network to other "
-"collectd instances."
-msgstr ""
-
msgid "Ping"
msgstr ""
msgid "System plugins"
msgstr ""
-msgid ""
-"System plugins collecting values about system state and ressource usage on "
-"the device.:"
-msgstr ""
-
msgid "TCP Connections"
msgstr ""
msgid "Table"
msgstr ""
+msgid "The NUT plugin reads information about Uninterruptible Power Supplies."
+msgstr ""
+
msgid ""
"The OLSRd plugin reads information about meshed networks from the txtinfo "
"plugin of OLSRd."
"collected data from a running collectd instance."
msgstr ""
-msgid ""
-"The wireless plugin collects statistics about wireless signal strength, "
-"noise and quality."
-msgstr ""
-
msgid ""
"This section defines on which interfaces collectd will wait for incoming "
"connections."
msgid "Try to lookup fully qualified hostname"
msgstr ""
+msgid "UPS"
+msgstr ""
+
+msgid "UPS Plugin Configuration"
+msgstr ""
+
+msgid "UPS name in NUT ups@host format"
+msgstr ""
+
msgid "UnixSock"
msgstr ""
msgid "Wireless"
msgstr ""
-msgid "Wireless Plugin Configuration"
-msgstr ""
-
msgid "Wireless iwinfo Plugin Configuration"
msgstr ""
"upstream proxy, <em>Reject access</em> disables any upstream proxy for the "
"target"
msgstr ""
+"<em>通过代理</em>允许给定的对象经过指定的上行代理的路由请求。<em>拒绝代理</"
+"em> 禁用对象的任何上行代理。"
msgid ""
"Adds an \"X-Tinyproxy\" HTTP header with the client IP address to forwarded "
msgstr ""
msgid "Allowed clients"
-msgstr ""
+msgstr "授权客户端"
msgid "Allowed connect ports"
-msgstr ""
+msgstr "允许的连接端口"
msgid "Bind address"
-msgstr ""
+msgstr "绑定地址"
msgid ""
"By default, basic POSIX expressions are used for filtering. Enable this to "
"activate extended regular expressions"
msgstr ""
+"默认情况下,使用基本的POSIX表达式作为滤规则。启用这个以使用正规表达式代替之。"
msgid ""
"By default, filter strings are treated as case-insensitive. Enable this to "
"make the matching case-sensitive"
-msgstr ""
+msgstr "默认情况下,过滤规则是不区分大小写的。启用它则转为区分大小写。"
msgid ""
"By default, filtering is done based on domain names. Enable this to match "
"against URLs instead"
-msgstr ""
+msgstr "默认情况下,过滤器只匹配域名。启用它以匹配URL。"
msgid ""
"By default, the filter rules act as blacklist. Enable this option to only "
"allow matched URLs or domain names"
msgstr ""
+"默认情况下,过滤规则将以黑名单形式匹配。启用它将仅允许过滤规则里的URL或域名。"
msgid ""
"Can be either an IP address or range, a domain name or \".\" for any host "
"without domain"
-msgstr ""
+msgstr "可以是IP地址或者范围,也可以是域名或者以\".\"代表任意主机"
msgid "Configuration"
msgstr ""
msgid "Connection timeout"
-msgstr ""
+msgstr "连接超时时间"
msgid "Default deny"
-msgstr ""
+msgstr "默认拒绝"
msgid "Enable Tinyproxy server"
-msgstr ""
+msgstr "启用Tinyproxy"
msgid "Error page"
-msgstr ""
+msgstr "错误页面"
msgid "Failed to retrieve statistics from url:"
msgstr ""
msgid "Filter by RegExp"
-msgstr ""
+msgstr "正则表达式过滤器"
msgid "Filter by URLs"
-msgstr ""
+msgstr "基于URL的过滤器"
msgid "Filter case-sensitive"
-msgstr ""
+msgstr "过滤器大小写敏感"
msgid "Filter file"
-msgstr ""
+msgstr "过滤器文件"
msgid "Filtering and ACLs"
-msgstr ""
+msgstr "过滤规则和访问控制列表"
msgid "General settings"
-msgstr ""
+msgstr "基本设置"
msgid "Group"
-msgstr ""
+msgstr "运行组"
msgid "HTML template file to serve for stat host requests"
msgstr ""
msgid "HTML template file to serve when HTTP errors occur"
-msgstr ""
+msgstr "HTTP出错页面HTML模板"
msgid "Header whitelist"
msgstr ""
msgid ""
"List of IP addresses or ranges which are allowed to use the proxy server"
-msgstr ""
+msgstr "允许访问代理服务器的IP或IP段列表"
msgid ""
"List of allowed ports for the CONNECT method. A single value \"0\" allows "
"all ports"
-msgstr ""
+msgstr "允许CONNECT方法连接的端口列表,0代表所有端口。"
msgid "Listen address"
-msgstr ""
+msgstr "服务地址"
msgid "Listen port"
-msgstr ""
+msgstr "服务端口"
msgid "Log file"
-msgstr ""
+msgstr "日志文件"
msgid "Log file to use for dumping messages"
msgstr ""
msgid "Log level"
-msgstr ""
+msgstr "记录等级"
msgid "Logging verbosity of the Tinyproxy process"
msgstr ""
msgid "Max. clients"
-msgstr ""
+msgstr "最大客户端数"
msgid "Max. requests per server"
-msgstr ""
+msgstr "单进程最大请求数"
msgid "Max. spare servers"
-msgstr ""
+msgstr "最多备用服务器"
msgid "Maximum allowed number of concurrently connected clients"
-msgstr ""
+msgstr "允许同时连接的最大客户端数量"
msgid ""
"Maximum allowed number of requests per process. If it is exeeded, the "
"process is restarted. Zero means unlimited."
-msgstr ""
+msgstr "单个进程允许的最多请求数,超过这个值,进程将重启。0表示不限制。"
msgid "Maximum number of prepared idle processes"
-msgstr ""
+msgstr "备用进程数的最大值"
msgid "Maximum number of seconds an inactive connection is held open"
msgstr ""
msgid "Min. spare servers"
-msgstr ""
+msgstr "最少备用服务器"
msgid "Minimum number of prepared idle processes"
-msgstr ""
+msgstr "备用进程数的最小值"
msgid "Number of idle processes to start when launching Tinyproxy"
-msgstr ""
+msgstr "启动Tinyproxy时开启的进程数"
msgid "Plaintext file with URLs or domains to filter. One entry per line"
-msgstr ""
+msgstr "用于过滤器的文本,包含URL或者域名,每行一条。"
msgid "Policy"
-msgstr ""
+msgstr "策略"
msgid "Privacy settings"
-msgstr ""
+msgstr "策略设置"
msgid "Reject access"
-msgstr ""
+msgstr "拒绝访问"
msgid "Server Settings"
-msgstr ""
+msgstr "服务器设置"
msgid "Server limits"
-msgstr ""
+msgstr "服务器限制"
msgid ""
"Specifies HTTP header names which are allowed to pass-through, all others "
msgid ""
"Specifies the address Tinyproxy binds to for outbound forwarded requests"
-msgstr ""
+msgstr "指定服务器向外转发请求时所使用的地址"
msgid "Specifies the addresses Tinyproxy is listening on for requests"
-msgstr ""
+msgstr "指定服务器接收代理请求所使用的地址"
msgid "Specifies the group name the Tinyproxy process is running as"
-msgstr ""
+msgstr "指定Tinyproxy进程所属组"
msgid ""
"Specifies the upstream proxy to use for accessing the target host. Format is "
"<code>address:port</code>"
-msgstr ""
+msgstr "指定上级代理. 格式 <code>IP地址:端口</code>"
msgid "Specifies the user name the Tinyproxy process is running as"
-msgstr ""
+msgstr "指定Tinyproxy进程所属用户"
msgid "Start spare servers"
msgstr ""
msgid "Statistics page"
-msgstr ""
+msgstr "统计页面"
msgid "Status"
msgstr ""
msgid "Target host"
-msgstr ""
+msgstr "目标主机"
msgid "Tinyproxy"
-msgstr ""
+msgstr "Tinyproxy"
msgid "Tinyproxy Status"
msgstr ""
msgid "Tinyproxy is a small and fast non-caching HTTP(S)-Proxy"
-msgstr ""
+msgstr "Tinyproxy是一个轻量级无缓存机制的高速HTTP(S)代理服务器"
msgid "Upstream Proxies"
-msgstr ""
+msgstr "上级代理"
msgid ""
"Upstream proxy rules define proxy servers to use when accessing certain IP "
msgstr ""
msgid "Use syslog"
-msgstr ""
+msgstr "使用系统日志服务"
msgid "User"
-msgstr ""
+msgstr "运行用户"
msgid "Via hostname"
msgstr ""
msgid "Via proxy"
-msgstr ""
+msgstr "通过代理"
msgid "Writes log messages to syslog instead of a log file"
-msgstr ""
+msgstr "将日志写入系统日志以代替指定的日志文件"
msgid "X-Tinyproxy header"
msgstr ""
"uShare is a UPnP (TM) A/V & DLNA Media Server. It implements the server "
"component that provides UPnP media devices with information on available "
"multimedia files."
-msgstr "uShare是一个UPnP(TM) A/V和DLNA媒体服务器。可以将多媒体文件共享到支持UPnP的设备上。"
+msgstr ""
+"uShare是一个UPnP(TM) A/V和DLNA媒体服务器。可以将多媒体文件共享到支持UPnP的设"
+"备上。"
msgid ""
"Configure your Linux-UVC compatible webcam. Point your browser to e.g. <a "
"href=\"http://%s:%i/\">http://%s:%i/</a>"
-msgstr "配置兼容的网络相机。用浏览器访问<a href=\"http://%s:%i/\">http://%s:%i/</a>"
+msgstr ""
+"配置兼容的网络相机。用浏览器访问<a href=\"http://%s:%i/\">http://%s:%i/</a>"
msgid ""
"How often to check internet connection. Default unit is seconds, you can you "
"use the suffix 'm' for minutes, 'h' for hours or 'd' for days"
-msgstr "检测网络连接的频率。默认单位为秒,你可以使用'm'作为后缀表示分钟,‘h’表示小时‘d’表示天。"
+msgstr ""
+"检测网络连接的频率。默认单位为秒,你可以使用'm'作为后缀表示分钟,‘h’表示小"
+"时‘d’表示天。"
msgid ""
"In periodic mode, it defines the reboot period. In internet mode, it defines "
"engaged.Default unit is seconds, you can use the suffix 'm' for minutes, 'h' "
"for hours or 'd' for days"
msgstr ""
-"在周期模式,此处定义了重启的周期。在联网模式,这个表示没有网络连接情况下到执行重启的最长时间间隔。默认单位为秒,你可以使用'm'作为后缀表示分钟,‘h’"
-"表示小时‘d’表示天。"
+"在周期模式,此处定义了重启的周期。在联网模式,这个表示没有网络连接情况下到执"
+"行重启的最长时间间隔。默认单位为秒,你可以使用'm'作为后缀表示分钟,‘h’表示小"
+"时‘d’表示天。"
msgid "Operating mode"
msgstr "操作模式"
"a non zero value here, will trigger a delayed hard reboot if the soft reboot "
"fails. Enter a number of seconds to enable, use 0 to disable"
msgstr ""
-"当重启系统的时候WatchCat将会触发一个软重启,在这里输入一个非0的值,如果软重启失败将会触发一个延迟的硬重启。输入秒数启用,输入0禁止功能。"
+"当重启系统的时候WatchCat将会触发一个软重启,在这里输入一个非0的值,如果软重启"
+"失败将会触发一个延迟的硬重启。输入秒数启用,输入0禁止功能。"
"X-Generator: Pootle 2.0.6\n"
msgid "Broadcast on all interfaces"
-msgstr ""
+msgstr "向所有接口广播"
msgid "Choose the host to wake up or enter a custom MAC address to use"
-msgstr ""
+msgstr "选择要唤醒的主机或者输入自定义mac地址"
msgid "Host to wake up"
-msgstr ""
+msgstr "选择要唤醒的主机"
msgid "Network interface to use"
-msgstr ""
+msgstr "选择使用的网络接口"
msgid ""
"Sometimes only one of both tools work. If one of fails, try the other one"
-msgstr ""
+msgstr "有时只有一个工具生效。如果其中一个失效,请尝试另一个"
msgid "Specifies the interface the WoL packet is sent on"
-msgstr ""
+msgstr "限定网络唤醒数据包将被发送到的接口"
msgid "Starting WoL utility:"
-msgstr ""
+msgstr "正在启动网络唤醒工具"
msgid "Wake on LAN"
-msgstr ""
+msgstr "网络唤醒"
msgid ""
"Wake on LAN is a mechanism to remotely boot computers in the local network."
-msgstr ""
+msgstr "网络唤醒提供了从远程启动本地网络内计算机的机制。"
msgid "Wake up host"
-msgstr ""
+msgstr "唤醒主机"
msgid "WoL program"
-msgstr ""
+msgstr "网络唤醒程序"
return (nixio.fs.glob("/usr/lib/pppd/*/pptp.so")() ~= nil)
elseif p == "3g" then
return nixio.fs.access("/lib/netifd/proto/3g.sh")
+ elseif p == "l2tp" then
+ return nixio.fs.access("/lib/netifd/proto/l2tp.sh")
else
return nixio.fs.access("/lib/netifd/proto/ppp.sh")
end
+++ /dev/null
-/*
-Copyright (C) 2008 Alina Friedrichsen <x-alina@gmx.net>
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-*/
-
-function initDropdowns() {
- var aSelects = XHTML1.getElementsByTagName("select");
- var isIE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
-
- function showPlaceholder(sel) {
- if( ! sel._ph ) {
- var box = sel.getBoundingClientRect();
- sel._dm = sel.currentStyle.display;
- sel._ph = document.createElement('input');
- sel.parentNode.insertBefore(sel._ph, sel);
- sel._ph.style.width = ( box.right - box.left ) + 'px';
- sel._ph.style.height = ( box.bottom - box.top ) + 'px';
- sel._ph.style.margin = sel.currentStyle.margin;
- }
-
- sel._ph.value = sel.options[sel.selectedIndex].text;
- sel._ph.style.display = sel._dm;
- sel.style.display = 'none';
- }
-
- function hidePlaceholder(sel) {
- if( sel._ph ) sel._ph.style.display = 'none';
- sel.style.display = sel._dm;
- }
-
- function hideSelects() {
- for(var i = 0; i < aSelects.length; i++) {
- showPlaceholder(aSelects[i]);
- }
- }
-
- function showSelects() {
- for(var i = 0; i < aSelects.length; i++) {
- hidePlaceholder(aSelects[i]);
- }
- }
-
- function isEmptyObject(obj) {
- for(var i in obj) {
- return false;
- }
- return true;
- }
-
- var nextUniqueID = 1;
- var elementsNeeded = {};
- var menusShown = {};
- var menusToHide = {};
- var delayHideTimerId;
- var delayHideAllTime = 1000;
- var delayHideTime = 400;
- function delayHide() {
- for(var i in menusToHide) {
- XHTML1.removeClass(menusToHide[i], "focus");
- }
- delayHideTimerId = null;
- }
-
- function updatePopup() {
- if(isIE6) {
- if(isEmptyObject(elementsNeeded)) {
- showSelects();
- }
- else{
- hideSelects();
- }
- }
-
- var menusShownOld = menusShown;
- menusShown = {};
- for(var id in elementsNeeded) {
- var element = elementsNeeded[id];
- for(element = findLi(element); element; element = findLi(element.parentNode)) {
- XHTML1.addClass(element, "focus");
- if(!element.uniqueID) {
- element.uniqueID = nextUniqueID++;
- }
- element.style.zIndex = 1000;
- menusShown[element.uniqueID] = element;
- delete menusToHide[element.uniqueID];
- }
- }
- for(var id in menusShownOld) {
- if(!menusShown[id]) {
- if(delayHideTimerId) {
- clearTimeout(delayHideTimerId);
- delayHideTimerId = 0;
- delayHide();
- }
- menusToHide[id] = menusShownOld[id];
- menusToHide[id].style.zIndex = 999;
- }
- }
- if(menusToHide || isEmptyObject(elementsNeeded)) {
- if(delayHideTimerId) {
- clearTimeout(delayHideTimerId);
- }
- delayHideTimerId = setTimeout(delayHide, isEmptyObject(elementsNeeded) ? delayHideAllTime : delayHideTime);
- }
- }
-
- function findLi(element) {
- for(; element; element = element.parentNode) {
- if(XHTML1.isElement(element, "li")) {
- return element;
- }
- }
- }
-
- function onmouseover(evt) {
- var li = findLi(evt.currentTarget);
- if(li && !li.focused) {
- if(!li.uniqueID) {
- li.uniqueID = nextUniqueID++;
- }
- elementsNeeded[li.uniqueID] = li;
- }
- XHTML1.addClass(evt.currentTarget, "over");
- updatePopup();
- }
-
- function onmouseout(evt) {
- var li = findLi(evt.currentTarget);
- if(li && !li.focused && li.uniqueID) {
- delete elementsNeeded[li.uniqueID];
- }
- XHTML1.removeClass(evt.currentTarget, "over");
- updatePopup();
- }
-
- function onfocus(evt) {
- var li = findLi(evt.currentTarget);
- if(li) {
- li.focused = true;
- if(!li.uniqueID) {
- li.uniqueID = nextUniqueID++;
- }
- elementsNeeded[li.uniqueID] = li;
- }
- updatePopup();
- }
-
- function onblur(evt) {
- var li = findLi(evt.currentTarget);
- if(li) {
- li.focused = false;
- delete elementsNeeded[li.uniqueID];
- }
- updatePopup();
- }
-
- var aElements = XHTML1.getElementsByTagName("a");
- for(var i = 0; i < aElements.length; i++) {
- var a = aElements[i];
- for(var element = a.parentNode; element; element = element.parentNode) {
- if(XHTML1.isElement(element, "ul") && XHTML1.containsClass(element, "dropdowns")) {
- XHTML1.addEventListener(a, "focus", onfocus);
- XHTML1.addEventListener(a, "blur", onblur);
- XHTML1.addEventListener(a, "mouseover", onmouseover);
- XHTML1.addEventListener(a, "mouseout", onmouseout);
- break;
- }
- }
- }
-
- XHTML1.addEventListener(document, "click", function() {
- if (delayHideTimerId) {
- clearTimeout(delayHideTimerId);
- delayHideTimerId = 0;
- delayHide();
- }
- });
-}
-
-if(XHTML1.isDOMSupported()) {
- XHTML1.addEventListener(window, "load", initDropdowns);
-}
+++ /dev/null
-/*
-Copyright (C) 2008 Alina Friedrichsen <x-alina@gmx.net>
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-*/
-
-function VarType() {
-}
-
-VarType.isNull = function(obj) {
- if(typeof obj == "undefined") return true;
- if(typeof obj == "object" && (!obj)) return true;
- return false;
-};
-
-VarType.toFloat = function(value) {
- value = Number(value);
- return value;
-};
-
-VarType.toDecimal = function(value) {
- value = Number(value);
- if(!isFinite(value)) value = 0.0;
- return value;
-};
-
-VarType.toInt = function(value) {
- value = Number(value);
- if(!isFinite(value)) value = 0.0;
- value = Math.floor(value);
- return value;
-};
-
-VarType.toUInt = function(value) {
- value = Number(value);
- if(!isFinite(value)) value = 0.0;
- else if(value < 0.0) value = 0.0;
- value = Math.floor(value);
- return value;
-};
-
-VarType.toStr = function(value) {
- if(VarType.isNull(value)) value = "";
- value = String(value);
- return value;
-};
-
-VarType.toBool = function(value) {
- value = Boolean(value);
- return value;
-};
-
-VarType.needObject = function(obj) {
- if(typeof obj != "object" || (!obj)) throw new TypeError();
-};
-
-VarType.needInstanceOf = function(obj, type) {
- if(!(obj instanceof type)) throw new TypeError();
-};
-
-VarType.needFunction = function(obj) {
- if(typeof obj != "function") throw new TypeError();
-};
-
-VarType.needNode = function(obj, type) {
- VarType.needObject(obj);
- if(VarType.isNull(obj.nodeType)) throw new TypeError();
- if(!VarType.isNull(type)) {
- type = VarType.toInt(type);
- if(obj.nodeType != type) throw new TypeError();
- }
-};
+++ /dev/null
-/*
-Copyright (C) 2007, 2008 Alina Friedrichsen <x-alina@gmx.net>
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-*/
-
-var XMLNS_XMLNS = "http://www.w3.org/2000/xmlns/";
-var XMLNS_XML = "http://www.w3.org/XML/1998/namespace";
-var XMLNS_XHTML = "http://www.w3.org/1999/xhtml";
-
-function W3CDOM_Event(currentTarget) {
- VarType.needObject(currentTarget);
- this.currentTarget = currentTarget;
- this.preventDefault = function() { window.event.returnValue = false; };
- return this;
-}
-
-function XHTML1() {
-}
-
-XHTML1.isDOMSupported = function() {
- if(!document.getElementById) return false;
- if(!(window.addEventListener || window.attachEvent)) return false;
- return true;
-};
-
-XHTML1.isXHTML = function() {
- if(document.documentElement.nodeName == "HTML") return false;
- return true;
-};
-
-XHTML1.addEventListener = function(target, type, listener) {
- VarType.needObject(target);
- type = VarType.toStr(type);
- VarType.needFunction(listener);
-
- if(target.addEventListener) {
- target.addEventListener(type, listener, false);
- }
- else if(target.attachEvent) {
- target.attachEvent("on" + type, function() { listener(new W3CDOM_Event(target)); } );
- }
-};
-
-XHTML1.createElement = function(tagName) {
- tagName = VarType.toStr(tagName);
-
- if(XHTML1.isXHTML()) {
- return document.createElementNS(XMLNS_XHTML, tagName.toLowerCase());
- }
-
- return document.createElement(tagName.toUpperCase());
-};
-
-XHTML1.getElementsByTagName = function(tagName) {
- tagName = VarType.toStr(tagName);
-
- if(XHTML1.isXHTML()) {
- return document.getElementsByTagNameNS(XMLNS_XHTML, tagName.toLowerCase());
- }
-
- return document.getElementsByTagName(tagName.toUpperCase());
-};
-
-XHTML1.isElement = function(node, tagName) {
- VarType.needNode(node);
- tagName = VarType.toStr(tagName);
-
- if(node.nodeType == 1) {
- if(XHTML1.isXHTML()) {
- if(node.namespaceURI == XMLNS_XHTML) {
- if(node.localName == tagName.toLowerCase()) return true;
- }
- } else {
- if(node.nodeName == tagName.toUpperCase()) return true;
- }
- }
-
- return false;
-};
-
-XHTML1.getAttribute = function(element, name) {
- VarType.needNode(element, 1);
- name = VarType.toStr(name);
-
- name = name.toLowerCase();
-
- if(XHTML1.isXHTML()) {
- return element.getAttributeNS(null, name);
- }
-
- if(name == "class") {
- return element.className;
- }
-
- return element.getAttribute(name);
-};
-
-XHTML1.setAttribute = function(element, name, value) {
- VarType.needNode(element, 1);
- name = VarType.toStr(name);
- value = VarType.toStr(value);
-
- name = name.toLowerCase();
-
- if(XHTML1.isXHTML()) {
- element.setAttributeNS(null, name, value);
- return;
- }
-
- if(name == "class") {
- element.className = value;
- return;
- }
-
- element.setAttribute(name, value);
-};
-
-XHTML1.removeAttribute = function(element, name) {
- VarType.needNode(element, 1);
- name = VarType.toStr(name);
-
- name = name.toLowerCase();
-
- if(XHTML1.isXHTML()) {
- element.removeAttributeNS(null, name);
- return;
- }
-
- if(name == "class") {
- element.className = "";
- return;
- }
-
- element.removeAttribute(name);
-};
-
-XHTML1.containsClass = function(element, className) {
- VarType.needNode(element, 1);
- className = VarType.toStr(className).replace(/^\s+/g, "").replace(/\s+$/g, "");
-
- var classString = XHTML1.getAttribute(element, "class").replace(/\s+/g, " ").replace(/^\s+/g, "").replace(/\s+$/g, "");
- var classArray = classString.split(" ");
- for(var i = 0; i < classArray.length; i++) {
- if(classArray[i] == className) return true;
- }
-
- return false;
-};
-
-XHTML1.addClass = function(element, className) {
- VarType.needNode(element, 1);
- className = VarType.toStr(className).replace(/^\s+/g, "").replace(/\s+$/g, "");
-
- var classString = XHTML1.getAttribute(element, "class").replace(/\s+/g, " ").replace(/^\s+/g, "").replace(/\s+$/g, "");
- var classArray = classString.split(" ");
- classString = "";
- for(var i = 0; i < classArray.length; i++) {
- if(classArray[i] != className) {
- if(classString == "") classString = classArray[i];
- else classString += " " + classArray[i];
- }
- }
-
- if(classString == "") classString = className;
- else classString += " " + className;
-
- XHTML1.setAttribute(element, "class", classString);
-};
-
-XHTML1.removeClass = function(element, className) {
- VarType.needNode(element, 1);
- className = VarType.toStr(className).replace(/^\s+/g, "").replace(/\s+$/g, "");
-
- var classString = XHTML1.getAttribute(element, "class").replace(/\s+/g, " ").replace(/^\s+/g, "").replace(/\s+$/g, "");
- var classArray = classString.split(" ");
- classString = "";
- for(var i = 0; i < classArray.length; i++) {
- if(classArray[i] != className) {
- if(classString == "") classString = classArray[i];
- else classString += " " + classArray[i];
- }
- }
-
- XHTML1.setAttribute(element, "class", classString);
-};
-
-XHTML1.removeAllChildren = function(node) {
- VarType.needNode(node);
-
- while(node.lastChild) {
- node.removeChild(node.lastChild);
- }
-};
-
-XHTML1.getTextContent = function(node) {
- VarType.needNode(node);
-
- if(typeof node.textContent != "undefined") {
- return node.textContent;
- }
-
- switch(node.nodeType) {
- case 1:
- case 2:
- case 5:
- case 6:
- case 11:
- var textContent = "";
- for(node = node.firstChild; node; node = node.nextSibling) {
- if(node.nodeType == 7) continue;
- if(node.nodeType == 8) continue;
- textContent += VarType.toStr(XHTML1.getTextContent(node));
- }
- return textContent;
- case 3:
- case 4:
- case 7:
- case 8:
- return node.nodeValue;
- }
-
- return null;
-};
-
-XHTML1.setTextContent = function(node, value) {
- VarType.needNode(node);
- value = VarType.toStr(value);
-
- if(typeof node.textContent != "undefined") {
- node.textContent = value;
- }
-
- switch(node.nodeType) {
- case 1:
- case 2:
- case 5:
- case 6:
- case 11:
- XHTML1.removeAllChildren(node);
- if(value != "") {
- node.appendChild(document.createTextNode(value));
- }
- break;
- case 3:
- case 4:
- case 7:
- case 8:
- node.nodeValue = value;
- break;
- }
-};
/* Reset.less
* Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
-html, body {
+html {
margin: 0;
padding: 0;
}
+body {
+ margin: 0;
+ padding: 5px;
+}
+
h1, h2, h3, h4, h5, h6, p, pre, a, abbr, acronym, code, del, em, img, q, s,
small, strike, strong, sub, sup, tt, var, dd, dl, dt, li, ol, ul, fieldset,
form, label, legend, button, table, caption, tbody, tfoot, thead, tr, th, td {
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+ padding: 0 5px;
}
header div > ul, .nav {
background-image: url('../resources/cbi/link.gif'), linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
}
+.cbi-button-download,
+.cbi-input-download {
+ background-position: 6px center, left top;
+ padding-left: 28px;
+ background-image: url('../resources/cbi/download.gif'), -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
+ background-image: url('../resources/cbi/download.gif'), -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ background-image: url('../resources/cbi/download.gif'), -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
+ background-image: url('../resources/cbi/download.gif'), -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ background-image: url('../resources/cbi/download.gif'), -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ background-image: url('../resources/cbi/download.gif'), linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+}
+
.btn.active, .btn:active {
-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
end
if level > 2 then
%>
- <li class="tabmenu-item-<%=v%><%- if nnode._menu_selected or (node.leaf and v == leaf) then -%> active<% end %>">
+ <li class="tabmenu-item-<%=v%><%- if nnode._menu_selected or (node.leaf and v == leaf) then %> active<% end %>">
<a href="<%=nodeurl(prefix, v, nnode.query)%>"><%=striptags(translate(nnode.title))%></a>
</li>
<% end
<link rel="shortcut icon" href="<%=media%>/favicon.ico">
<% if node and node.css then %><link rel="stylesheet" href="<%=resource%>/<%=node.css%>">
<% end -%>
+ <% if css then %><style title="text/css">
+ <%-= css %>
+ </style>
+ <% end -%>
<script src="<%=resource%>/xhr.js"></script>
</head>
color: #ffffff;
font-family: Verdana, Arial, sans-serif;
font-size: 100%;
- line-height: 100%;
+ line-height: 100%;
background-image: url(images/main-back.png);
background-repeat: repeat-x;
background-position: left bottom;
}
-#all {
+#all {
margin: 0px;
padding: 0px;
min-height: 800px;
-}
+}
code {
font-family: monospace;
a:link, a:visited {
color:#000000;
font-weight:bold;
- text-decoration:none;
+ text-decoration:none;
}
a:hover {
color:#333333;
color: #000000;
text-decoration: none;
font-size: 70%;
- font-weight: bold;
+ font-weight: bold;
}
border-top:0.3em solid #FFCB05;
margin-top: -0.2em;
}
-.mainmenu .active a{
+.mainmenu .active a{
color: #000000;
font-weight: bold;
border-top:0.2em solid #FFCB05;
end
end
-require("luci.i18n").loadc("base")
require("luci.http").prepare_content("text/html")
-%>
<head>
<link rel="stylesheet" type="text/css" href="<%=media%>/cascade.css" />
<% if node and node.css then %><link rel="stylesheet" type="text/css" href="<%=resource%>/<%=node.css%>" /><% end %>
+ <% if css then %><style title="text/css">
+ <%-= css %>
+ </style>
+ <% end -%>
<link rel="shortcut icon" href="<%=media%>/images/favicon.ico" />
<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
<meta http-equiv="content-script-type" content="text/javascript" />
left: 100%;
}
-#xhr_poll_status {
- cursor: pointer;
-}
+#xhr_poll_status {
+ cursor: pointer;
+}
-#xhr_poll_status #xhr_poll_status_off {
- font-weight: bold;
- color: #FF0000;
-}
+#xhr_poll_status #xhr_poll_status_off {
+ font-weight: bold;
+ color: #FF0000;
+}
-#xhr_poll_status #xhr_poll_status_on {
- font-weight: bold;
- color: #00FF00;
-}
+#xhr_poll_status #xhr_poll_status_on {
+ font-weight: bold;
+ color: #00FF00;
+}
#menubar {
position: relative;
background-color: inherit;
color: #000;
padding: 0 1px 0 17px;
- border: 1px solid #FFF;
+ border: 1px solid #FFF;
}
input.cbi-input-fieldadd,
input.cbi-input-apply,
input.cbi-button-apply {
background: url('../resources/cbi/apply.gif') no-repeat scroll 1px center;
- background-color: inherit;
- color: #000;
+ background-color: inherit;
+ color: #000;
padding: 0 1px 0 17px;
-}
+}
-input.cbi-input-link,
- input.cbi-button-link {
- background: url('../resources/cbi/link.gif') no-repeat scroll 1px center;
+input.cbi-input-link,
+input.cbi-button-link {
+ background: url('../resources/cbi/link.gif') no-repeat scroll 1px center;
background-color: inherit;
- color: #000;
+ color: #000;
+ padding: 0 1px 0 17px;
+ border: none;
+}
+
+input.cbi-input-download,
+input.cbi-button-download {
+ background: url('../resources/cbi/download.gif') no-repeat scroll 1px center;
+ background-color: inherit;
+ color: #000;
padding: 0 1px 0 17px;
- border: none;
+ border: none;
}
input.cbi-input-remove,
padding: 0.5em;
}
-.uci-change-list {
- font-family: monospace;
-}
-
-.uci-change-list ins,
-.uci-change-legend-label ins {
- text-decoration: none;
- border: 1px solid #00FF00;
- background-color: #CCFFCC;
- display: block;
- padding: 2px;
-}
-
-.uci-change-list del,
-.uci-change-legend-label del {
- text-decoration: none;
+.uci-change-list {
+ font-family: monospace;
+}
+
+.uci-change-list ins,
+.uci-change-legend-label ins {
+ text-decoration: none;
+ border: 1px solid #00FF00;
+ background-color: #CCFFCC;
+ display: block;
+ padding: 2px;
+}
+
+.uci-change-list del,
+.uci-change-legend-label del {
+ text-decoration: none;
border: 1px solid #FF0000;
background-color: #FFCCCC;
- display: block;
- font-style: normal;
- padding: 2px;
-}
-
-.uci-change-list var,
-.uci-change-legend-label var {
- text-decoration: none;
+ display: block;
+ font-style: normal;
+ padding: 2px;
+}
+
+.uci-change-list var,
+.uci-change-legend-label var {
+ text-decoration: none;
border: 1px solid #CCCCCC;
background-color: #EEEEEE;
- display: block;
- font-style: normal;
- padding: 2px;
-}
-
-.uci-change-list var ins,
-.uci-change-list var del {
- /*display: inline;*/
- border: none;
- white-space: pre;
- font-style: normal;
- padding: 0px;
-}
-
-.uci-change-legend {
- padding: 5px;
-}
-
-.uci-change-legend-label {
- width: 150px;
- float: left;
- font-size: 80%;
-}
-
-.uci-change-legend-label>ins,
-.uci-change-legend-label>del,
-.uci-change-legend-label>var {
- float: left;
- margin-right: 4px;
- width: 10px;
- height: 10px;
- display: block;
-}
-
-.uci-change-legend-label var ins,
+ display: block;
+ font-style: normal;
+ padding: 2px;
+}
+
+.uci-change-list var ins,
+.uci-change-list var del {
+ /*display: inline;*/
+ border: none;
+ white-space: pre;
+ font-style: normal;
+ padding: 0px;
+}
+
+.uci-change-legend {
+ padding: 5px;
+}
+
+.uci-change-legend-label {
+ width: 150px;
+ float: left;
+ font-size: 80%;
+}
+
+.uci-change-legend-label>ins,
+.uci-change-legend-label>del,
+.uci-change-legend-label>var {
+ float: left;
+ margin-right: 4px;
+ width: 10px;
+ height: 10px;
+ display: block;
+}
+
+.uci-change-legend-label var ins,
.uci-change-legend-label var del {
- line-height: 6px;
- border: none;
+ line-height: 6px;
+ border: none;
}
-}
+}
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<link rel="stylesheet" type="text/css" media="screen" href="<%=media%>/cascade.css" />
-<link rel="stylesheet" media="only screen and (max-device-width: 480px)" href="<%=media%>/mobile.css" type="text/css" />
+<link rel="stylesheet" media="only screen and (max-device-width: 854px)" href="<%=media%>/mobile.css" type="text/css" />
<link rel="stylesheet" media="handheld" href="<%=media%>/mobile.css" type="text/css" />
<!--[if IE 7]><link rel="stylesheet" type="text/css" media="screen" href="<%=media%>/ie7.css" /><![endif]-->
<% if node and node.css then %><link rel="stylesheet" type="text/css" media="screen" href="<%=resource%>/<%=node.css%>" />
<% end -%>
+<% if css then %><style title="text/css">
+<%= css %>
+</style>
+<% end -%>
<script type="text/javascript" src="<%=resource%>/xhr.js"></script>
<title><%=striptags( hostname .. ( (node and node.title) and ' - ' .. translate(tostring(node.title)) or '')) %> - LuCI</title>
padding-right: 1px;
}
+input.cbi-input-download,
+input.cbi-button-download {
+ background-image: url('../resources/cbi/download.gif');
+ color: #000000;
+ padding-left: 17px;
+ padding-right: 1px;
+}
+
input.cbi-input-remove,
div.cbi-section-remove input {
background-image: url('../resources/cbi/remove.gif');
<!--[if IE 8]><link rel="stylesheet" type="text/css" media="screen" href="<%=media%>/ie8.css" /><![endif]-->
<% if node and node.css then %><link rel="stylesheet" type="text/css" media="screen" href="<%=resource%>/<%=node.css%>" />
<% end -%>
+<% if css then %><style title="text/css">
+<%= css %>
+</style>
+<% end -%>
<script type="text/javascript" src="<%=resource%>/xhr.js"></script>
<title><%=striptags( hostname .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - LuCI</title>
</head>