diff options
| author | Jo-Philipp Wich <jow@openwrt.org> | 2013-01-18 14:08:37 +0000 |
|---|---|---|
| committer | Jo-Philipp Wich <jow@openwrt.org> | 2013-01-18 14:08:37 +0000 |
| commit | 03ed541b7613206010ddfbfc5a8fb6af5cbbf106 (patch) | |
| tree | c87ae496dce3aac85ee5d4bfd80bdba4829a4124 | |
| parent | 13224b696d0ea71fb2f8e2b4b0e8eca6caa9ae90 (diff) | |
luci-0.11: merge r9571 - r9622
65 files changed, 598 insertions, 253 deletions
diff --git a/applications/luci-freifunk-diagnostics/Makefile b/applications/luci-freifunk-diagnostics/Makefile new file mode 100644 index 0000000000..f7fac7740e --- /dev/null +++ b/applications/luci-freifunk-diagnostics/Makefile @@ -0,0 +1,2 @@ +include ../../build/config.mk +include ../../build/module.mk diff --git a/applications/luci-freifunk-diagnostics/ipkg/postinst b/applications/luci-freifunk-diagnostics/ipkg/postinst new file mode 100644 index 0000000000..cc814c365c --- /dev/null +++ b/applications/luci-freifunk-diagnostics/ipkg/postinst @@ -0,0 +1,4 @@ +#!/bin/sh +[ -n "${IPKG_INSTROOT}" ] || { + ( . /etc/uci-defaults/luci-freifunk-diagnostics ) && rm -f /etc/uci-defaults/luci-freifunk-diagnostics +} diff --git a/applications/luci-freifunk-diagnostics/luasrc/controller/freifunk/diag.lua b/applications/luci-freifunk-diagnostics/luasrc/controller/freifunk/diag.lua new file mode 100644 index 0000000000..2a5db6751a --- /dev/null +++ b/applications/luci-freifunk-diagnostics/luasrc/controller/freifunk/diag.lua @@ -0,0 +1,82 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2008 Steven Barth <steven@midlink.org> +Copyright 2011 Jo-Philipp Wich <xm@subsignal.org> +Copyright 2013 Manuel Munz <freifunk@somakoma.de> + +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.freifunk.diag", package.seeall) + +function index() + local uci = require("luci.model.uci").cursor() + local page + page = node("freifunk", "status", "diagnostics") + page.target = template("freifunk/diagnostics") + page.title = _("Diagnostics") + page.order = 60 + + page = entry({"freifunk", "status", "diag_ping"}, call("diag_ping"), nil) + page.leaf = true + + page = entry({"freifunk", "status", "diag_nslookup"}, call("diag_nslookup"), nil) + page.leaf = true + + page = entry({"freifunk", "status", "diag_traceroute"}, call("diag_traceroute"), nil) + page.leaf = true + + page = entry({"freifunk", "status", "diag_ping6"}, call("diag_ping6"), nil) + page.leaf = true + + page = entry({"freifunk", "status", "diag_traceroute6"}, call("diag_traceroute6"), nil) + page.leaf = true +end + +function diag_command(cmd, addr) + if addr and addr:match("^[a-zA-Z0-9%-%.:_]+$") then + luci.http.prepare_content("text/plain") + + local util = io.popen(cmd % addr) + if util then + while true do + local ln = util:read("*l") + if not ln then break end + luci.http.write(ln) + luci.http.write("\n") + end + + util:close() + end + + return + end + + luci.http.status(500, "Bad address") +end + +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_ping6(addr) + diag_command("ping6 -c 5 %q 2>&1", addr) +end + +function diag_traceroute6(addr) + diag_command("traceroute6 -q 1 -w 2 -n %q 2>&1", addr) +end diff --git a/applications/luci-freifunk-diagnostics/luasrc/view/freifunk/diagnostics.htm b/applications/luci-freifunk-diagnostics/luasrc/view/freifunk/diagnostics.htm new file mode 100644 index 0000000000..f35811f648 --- /dev/null +++ b/applications/luci-freifunk-diagnostics/luasrc/view/freifunk/diagnostics.htm @@ -0,0 +1,120 @@ +<%# +LuCI - Lua Configuration Interface +Copyright 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 + +$Id$ + +-%> + +<%+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, proto) + { + var tool = field.name; + var addr = field.value; + var protocol = proto ? "6" : ""; + + var legend = document.getElementById('diag-rc-legend'); + var output = document.getElementById('diag-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("freifunk", "status")%>/diag_' + tool + protocol + '/' + addr, null, + function(x) + { + if (x.responseText) + { + legend.style.display = 'none'; + output.innerHTML = String.format('<pre>%h</pre>', x.responseText); + } + else + { + legend.style.display = 'none'; + output.innerHTML = '<span class="error"><%:Bad address specified!%></span>'; + } + } + ); + } + } +//]]></script> + +<form method="post" action="<%=pcdata(luci.http.getenv("REQUEST_URI"))%>"> + <div class="cbi-map"> + <h2><a id="content" name="content"><%:Diagnostics%></a></h2> + + <fieldset class="cbi-section"> + <legend><%:Network Utilities%></legend> + + <br /> + + <div style="width:30%; float:left"> + <input style="margin: 5px 0" type="text" value="openwrt.org" name="ping" /><br /> + <% if has_ping6 then %> + <select name="ping_proto" style="width:auto"> + <option value="" selected="selected"><%:IPv4%></option> + <option value="6"><%:IPv6%></option> + </select> + <input type="button" value="<%:Ping%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.ping, this.form.ping_proto.selectedIndex)" /> + <% else %> + <input type="button" value="<%:Ping%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.ping)" /> + <% end %> + </div> + + <div style="width:33%; float:left"> + <input style="margin: 5px 0" type="text" value="openwrt.org" name="traceroute" /><br /> + <% if has_traceroute6 then %> + <select name="traceroute_proto" style="width:auto"> + <option value="" selected="selected"><%:IPv4%></option> + <option value="6"><%:IPv6%></option> + </select> + <input type="button" value="<%:Traceroute%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.traceroute, this.form.traceroute_proto.selectedIndex)" /> + <% else %> + <input type="button" value="<%:Traceroute%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.traceroute)" /> + <% end %> + <% if not has_traceroute6 then %> + <p> </p> + <p><%:Install iputils-traceroute6 for IPv6 traceroute%></p> + <% end %> + </div> + + <div style="width:33%; float:left;"> + <input style="margin: 5px 0" type="text" value="openwrt.org" name="nslookup" /><br /> + <input type="button" value="<%:Nslookup%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.nslookup)" /> + </div> + + <br style="clear:both" /><br /> + + </fieldset> + </div> + + <fieldset class="cbi-section" style="display:none"> + <legend id="diag-rc-legend"><%:Collecting data...%></legend> + <span id="diag-rc-output"></span> + </fieldset> +</form> + +<%+footer%> diff --git a/applications/luci-freifunk-diagnostics/root/etc/uci-defaults/luci-freifunk-diagnostics b/applications/luci-freifunk-diagnostics/root/etc/uci-defaults/luci-freifunk-diagnostics new file mode 100644 index 0000000000..963d8a4efc --- /dev/null +++ b/applications/luci-freifunk-diagnostics/root/etc/uci-defaults/luci-freifunk-diagnostics @@ -0,0 +1,2 @@ +#!/bin/sh +rm -f /tmp/luci-indexcache diff --git a/applications/luci-freifunk-widgets/root/etc/config/freifunk-widgets b/applications/luci-freifunk-widgets/root/etc/config/freifunk-widgets index e5a20e7e5f..5a9f3254fa 100644 --- a/applications/luci-freifunk-widgets/root/etc/config/freifunk-widgets +++ b/applications/luci-freifunk-widgets/root/etc/config/freifunk-widgets @@ -19,7 +19,7 @@ config widget 'example_search' option enabled '0' option title 'Search' list engine 'Google|http://www.google.de/search?q=' - list engine 'Freifunk Wiki|http://wiki.freifunk.net/index.php?search=' + list engine 'Freifunk Wiki|http://wiki.freifunk.net/index.php?search=' option width '50%' option paddingright '8%' diff --git a/applications/luci-meshwizard/luasrc/model/cbi/freifunk/meshwizard.lua b/applications/luci-meshwizard/luasrc/model/cbi/freifunk/meshwizard.lua index f4478f61cc..3a52419e9a 100644 --- a/applications/luci-meshwizard/luasrc/model/cbi/freifunk/meshwizard.lua +++ b/applications/luci-meshwizard/luasrc/model/cbi/freifunk/meshwizard.lua @@ -142,7 +142,11 @@ uci:foreach("wireless", "wifi-device", function(section) end -- Enable VAP - if hwtype == "atheros" then + local supports_vap = 0 + if sys.call("/usr/bin/meshwizard/helpers/supports_vap.sh " .. device .. " " .. hwtype) == 0 then + supports_vap = 1 + end + if supports_vap == 1 then local vap = n:taboption(device, Flag, device .. "_vap", translate("Virtual Access Point (VAP)"), translate("This will setup a new virtual wireless interface in Access Point mode.")) vap:depends(device .. "_dhcp", "1") diff --git a/applications/luci-olsr/luasrc/view/status-olsr/overview.htm b/applications/luci-olsr/luasrc/view/status-olsr/overview.htm index d57da7cfe3..294af7b3a6 100644 --- a/applications/luci-olsr/luasrc/view/status-olsr/overview.htm +++ b/applications/luci-olsr/luasrc/view/status-olsr/overview.htm @@ -168,7 +168,7 @@ XHR.poll(30, '<%=REQUEST_URI%>', { status: 1 }, </div> <div class="cbi-value-field"> <div style="width: 6em; float:left;"> - <a href="<%=luci.dispatcher.build_url("freifunk", "olsr", "interfaces")%>"> + <a href="<%=REQUEST_URI%>/interfaces"> <span id="nr_ifaces"> <%=nr_ifaces%> <span> @@ -189,7 +189,7 @@ XHR.poll(30, '<%=REQUEST_URI%>', { status: 1 }, </div> <div class="cbi-value-field"> <div style="width: 6em; float:left;"> - <a href="<%=luci.dispatcher.build_url("freifunk", "olsr", "neighbors")%>"> + <a href="<%=REQUEST_URI%>/neighbors"> <span id="nr_neigh"> <%=nr_neigh%> </span> @@ -210,7 +210,7 @@ XHR.poll(30, '<%=REQUEST_URI%>', { status: 1 }, </div> <div class="cbi-value-field"> <div style="width: 6em; float:left;"> - <a href="<%=luci.dispatcher.build_url("freifunk", "olsr", "topology")%>"> + <a href="<%=REQUEST_URI%>/topology"> <span id="nr_nodes"> <%=nr_nodes%> </span> @@ -226,7 +226,7 @@ XHR.poll(30, '<%=REQUEST_URI%>', { status: 1 }, </div> <div class="cbi-value-field"> <div style="width: 6em; float:left;"> - <a href="<%=luci.dispatcher.build_url("freifunk", "olsr", "hna")%>"> + <a href="<%=REQUEST_URI%>/hna"> <span id="nr_hna"> <%=nr_hna%> </span> @@ -242,7 +242,7 @@ XHR.poll(30, '<%=REQUEST_URI%>', { status: 1 }, </div> <div class="cbi-value-field"> <div style="width: 6em; float:left;"> - <a href="<%=luci.dispatcher.build_url("freifunk", "olsr", "topology")%>"> + <a href="<%=REQUEST_URI%>/topology"> <span id="nr_topo"> <%=nr_topo%> </span> diff --git a/applications/luci-statistics/luasrc/model/cbi/luci_statistics/olsrd.lua b/applications/luci-statistics/luasrc/model/cbi/luci_statistics/olsrd.lua index 1bb1f836bc..e3eb7b2c4b 100644 --- a/applications/luci-statistics/luasrc/model/cbi/luci_statistics/olsrd.lua +++ b/applications/luci-statistics/luasrc/model/cbi/luci_statistics/olsrd.lua @@ -21,7 +21,7 @@ enable.default = 0 host = s:option(Value, "Host", translate("Host"), translate("IP or hostname where to get the txtinfo output from")) host.placeholder = "127.0.0.1" -host.datatype = "hostname" +host.datatype = "host" host.rmempty = true port = s:option(Value, "Port", translate("Port")) diff --git a/applications/luci-upnp/luasrc/controller/upnp.lua b/applications/luci-upnp/luasrc/controller/upnp.lua index 7acd029a5f..83fa94154b 100644 --- a/applications/luci-upnp/luasrc/controller/upnp.lua +++ b/applications/luci-upnp/luasrc/controller/upnp.lua @@ -10,7 +10,6 @@ You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 -$Id$ ]]-- module("luci.controller.upnp", package.seeall) @@ -25,9 +24,6 @@ function index() page = entry({"admin", "services", "upnp"}, cbi("upnp/upnp"), _("UPNP")) page.dependent = true - page = entry({"mini", "network", "upnp"}, cbi("upnp/upnpmini", {autoapply=true}), _("UPNP")) - page.dependent = true - entry({"admin", "services", "upnp", "status"}, call("act_status")).leaf = true entry({"admin", "services", "upnp", "delete"}, call("act_delete")).leaf = true end @@ -67,11 +63,20 @@ function act_status() end end -function act_delete(idx) - idx = tonumber(idx) +function act_delete(num) + local idx = tonumber(num) + local uci = luci.model.uci.cursor() + 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) + + local lease_file = uci:get("upnpd", "config", "upnp_lease_file") + if lease_file and nixio.fs.access(lease_file) then + luci.sys.call("sed -i -e '%dd' %q" %{ idx, lease_file }) + end + + luci.http.status(200, "OK") return end diff --git a/applications/luci-upnp/luasrc/model/cbi/upnp/upnpmini.lua b/applications/luci-upnp/luasrc/model/cbi/upnp/upnpmini.lua deleted file mode 100644 index 3f1ba3035a..0000000000 --- a/applications/luci-upnp/luasrc/model/cbi/upnp/upnpmini.lua +++ /dev/null @@ -1,26 +0,0 @@ ---[[ -LuCI - Lua Configuration Interface - -Copyright 2008 Steven Barth <steven@midlink.org> -Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net> - -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 - -$Id$ -]]-- -m = Map("upnpd", translate("Universal Plug & Play"), translate("UPNP allows clients in the local network to automatically configure the router.")) - -s = m:section(NamedSection, "config", "upnpd", "") -s.addremove = false - -e = s:option(Flag, "enabled", translate("enable")) -e.rmempty = false - -s:option(Value, "download", translate("Downlink"), "kByte/s").rmempty = true -s:option(Value, "upload", translate("Uplink"), "kByte/s").rmempty = true - -return m diff --git a/contrib/package/community-profiles/files/etc/config/profile_augsburg b/contrib/package/community-profiles/files/etc/config/profile_augsburg index 46cf1006a4..fdb73ccaa8 100644 --- a/contrib/package/community-profiles/files/etc/config/profile_augsburg +++ b/contrib/package/community-profiles/files/etc/config/profile_augsburg @@ -53,8 +53,8 @@ config widget 'search' option enabled '1' option width '50%' list engine 'Google|http://www.google.de/search?q=' - list engine 'Freifunk Augsburg|http://www.google.de/search?q=site:augsburg.freifunk.net&' - list engine 'Freifunk Wiki|http://wiki.freifunk.net/index.php?search=' + list engine 'Freifunk Augsburg|http://www.google.de/search?q=site:augsburg.freifunk.net+' + list engine 'Freifunk Wiki|http://wiki.freifunk.net/index.php?search=' config widget 'clear1' option template 'clear' diff --git a/contrib/package/luci/Makefile b/contrib/package/luci/Makefile index 33267b6c9c..9fbc587497 100644 --- a/contrib/package/luci/Makefile +++ b/contrib/package/luci/Makefile @@ -344,6 +344,8 @@ $(eval $(call application,olsr,OLSR configuration and status module,\ $(eval $(call application,olsr-viz,OLSR Visualisation,\ luci-app-olsr +olsrd-mod-txtinfo)) +$(eval $(call application,freifunk-diagnostics,Tools for network diagnosis like traceroute and ping)) + $(eval $(call application,olsr-services,Show services announced with the nameservice plugin,\ luci-app-olsr +olsrd-mod-nameservice)) diff --git a/contrib/package/meshwizard/Makefile b/contrib/package/meshwizard/Makefile index a9a1a0b6e8..3aaddec256 100644 --- a/contrib/package/meshwizard/Makefile +++ b/contrib/package/meshwizard/Makefile @@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=meshwizard -PKG_RELEASE:=0.0.8-1 +PKG_RELEASE:=0.0.8-3 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) diff --git a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/gen_bssid.sh b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/gen_bssid.sh index 8c9155e5e9..efe101fad0 100755 --- a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/gen_bssid.sh +++ b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/gen_bssid.sh @@ -24,10 +24,10 @@ if [ -z "$bssid" ]; then bssid="$(printf "%X\n" $channel)2:CA:FF:EE:BA:BE" ;; [3-9][0-9]) - bssid="00:$channel:CA:FF:EE:EE" + bssid="02:$channel:CA:FF:EE:EE" ;; 1[0-9][0-9]) - bssid="${channel/1/01:}:CA:FF:EE:EE" + bssid="${channel/1/12:}:CA:FF:EE:EE" ;; *) bssid="02:CA:FF:EE:BA:BE" ;; diff --git a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_firewall_interface.sh b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_firewall_interface.sh index 7f40f87147..fc664430fe 100755 --- a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_firewall_interface.sh +++ b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_firewall_interface.sh @@ -45,7 +45,11 @@ network=$(echo $network) # Removes leading and trailing whitespaces [ -n "$netrenamed" ] && [ -z "$(echo $network | grep $netrenamed)" ] && network="$network $netrenamed" -if [ "$type" == "atheros" -a "$vap" == 1 ]; then +# check if this hardware supports VAPs +supports_vap="0" +$dir/helpers/supports_vap.sh $net $type && supports_vap=1 + +if [ "$supports_vap" == "1" -a "$vap" == 1 ]; then [ -n "$netrenamed" ] && [ "$network" == "${network/${netrenamed}dhcp/}" ] && network="$network ${netrenamed}dhcp" fi diff --git a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_wifi.sh b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_wifi.sh index 84c5438ebc..34bd0cbb03 100755 --- a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_wifi.sh +++ b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_wifi.sh @@ -79,7 +79,16 @@ uci_commitverbose "Setup wifi interface for $netrenamed" wireless ## VAP ip4addr="$(uci get meshwizard.netconfig.$net\_ip4addr)" -if [ "$type" == "atheros" -a "$vap" == 1 ]; then + +# check if this hardware supports VAPs +# the interface needs to be up before the check can happen + +/sbin/wifi + +supports_vap="0" +$dir/helpers/supports_vap.sh $net $type && supports_vap=1 + +if [ "$supports_vap" == "1" -a "$vap" == 1 ]; then uci batch <<- EOF set wireless.$net\_iface_dhcp="wifi-iface" set wireless.$net\_iface_dhcp.device="$net" diff --git a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/supports_vap.sh b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/supports_vap.sh new file mode 100755 index 0000000000..045ea976e0 --- /dev/null +++ b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/supports_vap.sh @@ -0,0 +1,35 @@ +#!/bin/sh +# checks if a given device can be used for a VAP interface (1 adhoc + 1 ap) +dev="$1" +type="$2" + + +if [ -z "$dev" -o -z "$type" ]; then + exit 1 +fi + +if [ "$type" = "atheros" ]; then + exit 0 +elif [ "$type" = "mac80211" ]; then + # not hostapd[-mini], no VAP + if [ ! -x /usr/sbin/hostapd ]; then + echo "WARNING: hostapd[-mini] is required to be able to use VAP with mac80211." + exit 1 + fi + # get driver in use + netindex="$(echo $dev |sed 's/[a-zA-z]*//')" + if [ -d /sys/class/net/wlan${netindex}/device/driver/module ]; then + driver="$(basename $(ls -l /sys/class/net/wlan${netindex}/device/driver/module | sed -ne 's/.* -> //p'))" + if [ "$driver" = "ath9k" -o "$driver" = "ath5k" ]; then + exit 0 + else + exit 1 + fi + else + exit 1 + fi +else + exit 1 +fi + + diff --git a/libs/core/luasrc/model/network.lua b/libs/core/luasrc/model/network.lua index 56f1751f81..09a58d7424 100644 --- a/libs/core/luasrc/model/network.lua +++ b/libs/core/luasrc/model/network.lua @@ -1164,31 +1164,24 @@ function interface.is_bridgeport(self) return self.dev and self.dev.bridge and true or false end -local function uint(x) - if x then - return (x < 0) and ((2^32) + x) or x - end - return 0 -end - function interface.tx_bytes(self) local stat = self:_ubus("statistics") - return stat and uint(stat.tx_bytes) or 0 + return stat and stat.tx_bytes or 0 end function interface.rx_bytes(self) local stat = self:_ubus("statistics") - return stat and uint(stat.rx_bytes) or 0 + return stat and stat.rx_bytes or 0 end function interface.tx_packets(self) local stat = self:_ubus("statistics") - return stat and uint(stat.tx_packets) or 0 + return stat and stat.tx_packets or 0 end function interface.rx_packets(self) local stat = self:_ubus("statistics") - return stat and uint(stat.rx_packets) or 0 + return stat and stat.rx_packets or 0 end function interface.get_network(self) diff --git a/libs/sys/luasrc/sys.lua b/libs/sys/luasrc/sys.lua index 825092fff8..18622da77c 100644 --- a/libs/sys/luasrc/sys.lua +++ b/libs/sys/luasrc/sys.lua @@ -695,38 +695,29 @@ end function process.list() local data = {} local k - local ps = luci.util.execi("top -bn1") + local ps = luci.util.execi("/bin/busybox top -bn1") if not ps then return end - while true do - local line = ps() - if not line then - return - end - - k = luci.util.split(luci.util.trim(line), "%s+", nil, true) - if k[6] == "%VSZ" then - k[6] = "%MEM" - end - if k[1] == "PID" then - break - end - end - for line in ps do - local row = {} - - line = luci.util.trim(line) - for i, value in ipairs(luci.util.split(line, "%s+", #k-1, true)) do - row[k[i]] = value - end + local pid, ppid, user, stat, vsz, mem, cpu, cmd = line:match( + "^ *(%d+) +(%d+) +(%S.-%S) +([RSDZTW][W ][<N ]) +(%d+) +(%d+%%) +(%d+%%) +(.+)" + ) - local pid = tonumber(row[k[1]]) - if pid then - data[pid] = row + local idx = tonumber(pid) + if idx then + data[idx] = { + ['PID'] = pid, + ['PPID'] = ppid, + ['USER'] = user, + ['STAT'] = stat, + ['VSZ'] = vsz, + ['%MEM'] = mem, + ['%CPU'] = cpu, + ['COMMAND'] = cmd + } end end diff --git a/libs/web/src/template_lmo.h b/libs/web/src/template_lmo.h index a40d7587ab..57f59aa56b 100644 --- a/libs/web/src/template_lmo.h +++ b/libs/web/src/template_lmo.h @@ -32,6 +32,7 @@ #include <fnmatch.h> #include <dirent.h> #include <ctype.h> +#include <limits.h> #if (defined(__GNUC__) && defined(__i386__)) #define sfh_get16(d) (*((const uint16_t *) (d))) diff --git a/modules/admin-full/luasrc/model/cbi/admin_network/dhcp.lua b/modules/admin-full/luasrc/model/cbi/admin_network/dhcp.lua index bf8418f812..98f9d8ecf9 100644 --- a/modules/admin-full/luasrc/model/cbi/admin_network/dhcp.lua +++ b/modules/admin-full/luasrc/model/cbi/admin_network/dhcp.lua @@ -236,6 +236,7 @@ name.rmempty = true mac = s:option(Value, "mac", translate("<abbr title=\"Media Access Control\">MAC</abbr>-Address")) mac.datatype = "list(macaddr)" +mac.rmempty = true ip = s:option(Value, "ip", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address")) ip.datatype = "ip4addr" @@ -248,5 +249,14 @@ sys.net.arptable(function(entry) ) end) +function ip.validate(self, value, section) + local m = mac:formvalue(section) or "" + local n = name:formvalue(section) or "" + if value and #n == 0 and #m == 0 then + return nil, translate("One of hostname or mac address must be specified!") + end + return Value.validate(self, value, section) +end + return m diff --git a/modules/admin-full/luasrc/view/admin_network/diagnostics.htm b/modules/admin-full/luasrc/view/admin_network/diagnostics.htm index 64666880da..d1bef2a8b7 100644 --- a/modules/admin-full/luasrc/view/admin_network/diagnostics.htm +++ b/modules/admin-full/luasrc/view/admin_network/diagnostics.htm @@ -24,23 +24,15 @@ local has_traceroute6 = fs.access("/usr/bin/traceroute6") <script type="text/javascript">//<![CDATA[ var stxhr = new XHR(); - function update_status(field,proto) + function update_status(field, proto) { var tool = field.name; var addr = field.value; - var protocol = "" + var protocol = proto ? "6" : ""; 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 = @@ -80,29 +72,37 @@ local has_traceroute6 = fs.access("/usr/bin/traceroute6") <br /> <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,this.form.proto)" /> + <input style="margin: 5px 0" type="text" value="openwrt.org" name="ping" /><br /> <% 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%> + <select name="ping_proto" style="width:auto"> + <option value="" selected="selected"><%:IPv4%></option> + <option value="6"><%:IPv6%></option> + </select> + <input type="button" value="<%:Ping%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.ping, this.form.ping_proto.selectedIndex)" /> + <% else %> + <input type="button" value="<%:Ping%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.ping)" /> + <% end %> </div> <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,this.form.trproto)" /> + <input style="margin: 5px 0" type="text" value="openwrt.org" name="traceroute" /><br /> <% 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%> + <select name="traceroute_proto" style="width:auto"> + <option value="" selected="selected"><%:IPv4%></option> + <option value="6"><%:IPv6%></option> + </select> + <input type="button" value="<%:Traceroute%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.traceroute, this.form.traceroute_proto.selectedIndex)" /> + <% else %> + <input type="button" value="<%:Traceroute%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.traceroute)" /> + <% end %> + <% if not has_traceroute6 then %> + <p> </p> + <p><%:Install iputils-traceroute6 for IPv6 traceroute%></p> + <% end %> </div> <div style="width:33%; float:left;"> - <input style="width: 50%" type="text" value="openwrt.org" name="nslookup" /> + <input style="margin: 5px 0" type="text" value="openwrt.org" name="nslookup" /><br /> <input type="button" value="<%:Nslookup%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.nslookup)" /> </div> diff --git a/modules/admin-full/luasrc/view/admin_network/wifi_overview.htm b/modules/admin-full/luasrc/view/admin_network/wifi_overview.htm index ab5d7a2134..97d900d5cf 100644 --- a/modules/admin-full/luasrc/view/admin_network/wifi_overview.htm +++ b/modules/admin-full/luasrc/view/admin_network/wifi_overview.htm @@ -1,7 +1,7 @@ <%# LuCI - Lua Configuration Interface Copyright 2008-2009 Steven Barth <steven@midlink.org> -Copyright 2008-2011 Jo-Philipp Wich <xm@subsignal.org> +Copyright 2008-2013 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. @@ -23,20 +23,25 @@ You may obtain a copy of the License at ntm.init(uci) - function guess_wifi_hw(ifname) + function guess_wifi_hw(dev) local bands = "" + local ifname = dev:name() local name, idx = ifname:match("^([a-z]+)(%d+)") idx = tonumber(idx) if has_iwinfo then - local iw = luci.sys.wifi.getiwinfo(ifname) - local bl = iw.hwmodelist + local bl = dev.iwinfo.hwmodelist if bl and next(bl) then if bl.a then bands = bands .. "a" end if bl.b then bands = bands .. "b" end if bl.g then bands = bands .. "g" end if bl.n then bands = bands .. "n" end end + + local hw = dev.iwinfo.hardware_name + if hw then + return "%s 802.11%s" %{ hw, bands } + end end -- wl.o @@ -365,7 +370,7 @@ You may obtain a copy of the License at <tr> <td style="width:34px"><img src="<%=resource%>/icons/wifi_big_disabled.png" style="float:left; margin-right:10px" id="<%=dev:name()%>-iw-upstate" /></td> <td colspan="2" style="text-align:left"> - <big><strong><%=guess_wifi_hw(dev:name())%> (<%=dev:name()%>)</strong></big><br /> + <big><strong><%=guess_wifi_hw(dev)%> (<%=dev:name()%>)</strong></big><br /> <span id="<%=dev:name()%>-iw-devinfo"></span> </td> <td style="width:310px;text-align:right"> diff --git a/modules/freifunk/luasrc/model/cbi/freifunk/contact.lua b/modules/freifunk/luasrc/model/cbi/freifunk/contact.lua index f6cdec7fe1..30e94a3e96 100644 --- a/modules/freifunk/luasrc/model/cbi/freifunk/contact.lua +++ b/modules/freifunk/luasrc/model/cbi/freifunk/contact.lua @@ -17,6 +17,7 @@ c = m:section(NamedSection, "contact", "public", "") c:option(Value, "nickname", translate("Nickname")) c:option(Value, "name", translate("Realname")) +c:option(DynamicList, "homepage", translate("Homepage")) c:option(Value, "mail", translate("E-Mail")) c:option(Value, "phone", translate("Phone")) c:option(TextValue, "note", translate("Notice")).rows = 10 diff --git a/modules/freifunk/luasrc/view/freifunk/contact.htm b/modules/freifunk/luasrc/view/freifunk/contact.htm index 23a5e7b1af..2d79ccd406 100644 --- a/modules/freifunk/luasrc/view/freifunk/contact.htm +++ b/modules/freifunk/luasrc/view/freifunk/contact.htm @@ -21,10 +21,11 @@ local lon = uci:get_first("system", "system", "longitude") local lat = uci:get_first("system", "system", "latitude") if not contact then - nickname, name, mail, phone, location, note = "" + nickname, name, homepage, mail, phone, location, note = "" else nickname = contact.nickname or "" name = contact.name or "" + homepage = contact.homepage or {} mail = contact.mail or "" phone = contact.phone or "" location = uci:get_first("system", "system", "location") or contact.location @@ -39,6 +40,11 @@ end <table cellspacing="10" width="100%" style="text-align:left"> <tr><th width="33%"><%:Nickname%>:</th><td><%=nickname%></td></tr> <tr><th width="33%"><%:Realname%>:</th><td><%=name%></td></tr> + <tr><th width="33%"><%:Homepage%>:</th><td> + <% for k, v in ipairs(homepage) do %> + <a href="<%=v%>"><%=v%></a><br /> + <% end %> + </td></tr> <tr><th width="33%"><%:E-Mail%>:</th><td><a href="mailto:<%=mail%>"><%=mail%></a></td></tr> <tr><th width="33%"><%:Phone%>:</th><td><%=phone%></td></tr> </table> diff --git a/po/ca/base.po b/po/ca/base.po index 16d494d0b9..91b63b5bac 100644 --- a/po/ca/base.po +++ b/po/ca/base.po @@ -1576,6 +1576,9 @@ msgstr "" msgid "On-State Delay" msgstr "" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "" diff --git a/po/cs/base.po b/po/cs/base.po index 7544c90d5b..73dfc43b4b 100644 --- a/po/cs/base.po +++ b/po/cs/base.po @@ -1589,6 +1589,9 @@ msgstr "" msgid "On-State Delay" msgstr "" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "Jedno nebo více polí obsahuje neplatné hodnoty!" diff --git a/po/de/base.po b/po/de/base.po index ad4590c627..7da9c0a2b3 100644 --- a/po/de/base.po +++ b/po/de/base.po @@ -3,7 +3,7 @@ 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: 2012-11-21 20:47+0200\n" +"PO-Revision-Date: 2013-01-04 16:11+0200\n" "Last-Translator: Jo-Philipp <xm@subsignal.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: de\n" @@ -1617,6 +1617,9 @@ msgstr "" msgid "On-State Delay" msgstr "Verzögerung für Anschalt-Zustand" +msgid "One of hostname or mac address must be specified!" +msgstr "Es muss entweder ein Hostname oder eine MAC-Adresse angegeben werden!" + msgid "One or more fields contain invalid values!" msgstr "Ein oder mehrere Felder enthalten ungültige Werte!" diff --git a/po/el/base.po b/po/el/base.po index e23d440612..e887b4a2ff 100644 --- a/po/el/base.po +++ b/po/el/base.po @@ -1619,6 +1619,9 @@ msgstr "" msgid "On-State Delay" msgstr "" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "Ένα ή περισσότερα πεδία περιέχουν μη έγκυρες τιμές!" diff --git a/po/en/base.po b/po/en/base.po index 5ce5b5de2c..65fe33542a 100644 --- a/po/en/base.po +++ b/po/en/base.po @@ -1585,6 +1585,9 @@ msgstr "" msgid "On-State Delay" msgstr "" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "" diff --git a/po/es/base.po b/po/es/base.po index 2c134b6415..2c4a640e74 100644 --- a/po/es/base.po +++ b/po/es/base.po @@ -3,7 +3,7 @@ msgstr "" "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-12-13 20:55+0200\n" +"PO-Revision-Date: 2013-01-08 22:47+0200\n" "Last-Translator: José Vicente <josevteg@gmail.com>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: es\n" @@ -1625,6 +1625,9 @@ msgstr "" msgid "On-State Delay" msgstr "Retraso de activación" +msgid "One of hostname or mac address must be specified!" +msgstr "¡Debe especificar al menos un nombre de máquina o dirección mac!" + msgid "One or more fields contain invalid values!" msgstr "¡Valores no válidos!" diff --git a/po/fr/base.po b/po/fr/base.po index fcdc313acd..6a0ece9981 100644 --- a/po/fr/base.po +++ b/po/fr/base.po @@ -1636,6 +1636,9 @@ msgstr "" msgid "On-State Delay" msgstr "Durée allumée" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "Un ou plusieurs champs contiennent des valeurs incorrectes !" diff --git a/po/he/base.po b/po/he/base.po index 484e04a38a..ffa5cefd5c 100644 --- a/po/he/base.po +++ b/po/he/base.po @@ -1556,6 +1556,9 @@ msgstr "" msgid "On-State Delay" msgstr "" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "ישנם שדות המכילים ערכים בלתי חוקיים!" diff --git a/po/hu/base.po b/po/hu/base.po index bf8f2169ab..0865f07902 100644 --- a/po/hu/base.po +++ b/po/hu/base.po @@ -1623,6 +1623,9 @@ msgstr "" msgid "On-State Delay" msgstr "Bekapcsolt állapot késleltetés" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "Egy vagy több mező érvénytelen adatot tartalmaz!" diff --git a/po/hu/mmc_over_gpio.po b/po/hu/mmc_over_gpio.po index 7b74cf895f..758c711036 100644 --- a/po/hu/mmc_over_gpio.po +++ b/po/hu/mmc_over_gpio.po @@ -3,8 +3,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2012-07-10 21:07+0200\n" -"Last-Translator: Gyula <pro564@hotmail.com>\n" +"PO-Revision-Date: 2012-12-30 19:09+0200\n" +"Last-Translator: romboyco <romboyco@gmail.com>\n" "Language-Team: none\n" "Language: hu\n" "MIME-Version: 1.0\n" @@ -14,16 +14,16 @@ msgstr "" "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 "Bekapcsolás" diff --git a/po/hu/multiwan.po b/po/hu/multiwan.po index 3dc774ac29..20ff8d60b0 100644 --- a/po/hu/multiwan.po +++ b/po/hu/multiwan.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2012-07-10 21:06+0200\n" -"Last-Translator: Gyula <pro564@hotmail.com>\n" +"PO-Revision-Date: 2012-12-30 19:12+0200\n" +"Last-Translator: romboyco <romboyco@gmail.com>\n" "Language-Team: none\n" "Language: hu\n" "MIME-Version: 1.0\n" @@ -45,7 +45,7 @@ msgid "Enable" msgstr "Engedélyezés" msgid "Failing" -msgstr "" +msgstr "Csökkenő" msgid "Failover Traffic Destination" msgstr "Failover forgalom cél" diff --git a/po/hu/qos.po b/po/hu/qos.po index e4c392ce75..446f73c68f 100644 --- a/po/hu/qos.po +++ b/po/hu/qos.po @@ -5,8 +5,8 @@ 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: 2012-09-18 17:33+0200\n" -"Last-Translator: Gyula <pro564@hotmail.com>\n" +"PO-Revision-Date: 2012-12-30 19:18+0200\n" +"Last-Translator: romboyco <romboyco@gmail.com>\n" "Language-Team: none\n" "Language: hu\n" "MIME-Version: 1.0\n" @@ -28,7 +28,7 @@ msgid "Destination host" msgstr "Cél gép" msgid "Downlink" -msgstr "" +msgstr "Downlink" msgid "Download speed (kbit/s)" msgstr "Letöltési sebesség (kbit/s)" @@ -70,7 +70,7 @@ msgid "Target" msgstr "Cél" msgid "Uplink" -msgstr "" +msgstr "Uplink" msgid "Upload speed (kbit/s)" msgstr "Feltöltési sebesség (kbit/s)" @@ -87,7 +87,7 @@ msgid "all" msgstr "összes" msgid "allf" -msgstr "" +msgstr "allf" msgid "default" msgstr "alapértelmezett" @@ -105,4 +105,4 @@ msgid "priority" msgstr "prioritás" msgid "qos_connbytes" -msgstr "" +msgstr "qos_connbytes" diff --git a/po/it/base.po b/po/it/base.po index 9630fa5697..4edc2899ea 100644 --- a/po/it/base.po +++ b/po/it/base.po @@ -1589,6 +1589,9 @@ msgstr "" msgid "On-State Delay" msgstr "" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "Uno o più campi contengono valori non validi!" diff --git a/po/ja/base.po b/po/ja/base.po index 24a7be5a41..b948a7c7dc 100644 --- a/po/ja/base.po +++ b/po/ja/base.po @@ -1602,6 +1602,9 @@ msgstr "" msgid "On-State Delay" msgstr "点灯時間" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "1つ以上のフィールドに無効な値が設定されています!" diff --git a/po/ms/base.po b/po/ms/base.po index d5b1f6f530..b6d7807b88 100644 --- a/po/ms/base.po +++ b/po/ms/base.po @@ -1557,6 +1557,9 @@ msgstr "" msgid "On-State Delay" msgstr "" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "" diff --git a/po/no/base.po b/po/no/base.po index c606fb7f3e..730a1c197d 100644 --- a/po/no/base.po +++ b/po/no/base.po @@ -1591,6 +1591,9 @@ msgstr "" msgid "On-State Delay" msgstr "Forsinkelse ved tilstand -På-" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "Ett eller flere felt inneholder ugyldige verdier!" diff --git a/po/pl/base.po b/po/pl/base.po index b64e49635c..6378a0d1bf 100644 --- a/po/pl/base.po +++ b/po/pl/base.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: LuCI\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-04-20 09:40+0200\n" -"PO-Revision-Date: 2012-12-15 21:28+0200\n" -"Last-Translator: razor07b7 <razor07b7@gmail.com>\n" +"PO-Revision-Date: 2013-01-06 12:58+0200\n" +"Last-Translator: obsy <cezary@eko.one.pl>\n" "Language-Team: Polish\n" "Language: pl\n" "MIME-Version: 1.0\n" @@ -432,7 +432,7 @@ msgid "" "fill out the <em>create</em> field to define a new zone and attach the " "interface to it." msgstr "" -"Wybierz strefę firewall`a którą chcesz przypisać do tego interfejsu. Wybierz " +"Wybierz strefę firewalla którą chcesz przypisać do tego interfejsu. Wybierz " "<em>unspecified</em> aby usunąć interfejs z przypisanej strefy lub wybierz " "pole <em>create</em> aby zdefiniować nową strefę i przypisać ją do " "interfejsu." @@ -527,7 +527,7 @@ msgid "Cover the following interfaces" msgstr "Pokrywa następujące interfejsy" msgid "Create / Assign firewall-zone" -msgstr "Utwórz / Przypisz strefę firewall`a" +msgstr "Utwórz / Przypisz strefę firewalla" msgid "Create Interface" msgstr "Utwórz interfejs" @@ -675,10 +675,10 @@ msgid "" "Forwarder for <abbr title=\"Network Address Translation\">NAT</abbr> " "firewalls" msgstr "" -"Dnsmasq jest to serwer <abbr title=\"Dynamic Host Configuration Protocol" -"\">DHCP</abbr> połączony z serwerem <abbr title=\"Domain Name System\">DNS</" -"abbr>. Jest to serwer przekazujący (Fowarder) dla firewall`i <abbr title=" -"\"Network Address Translation\">NAT</abbr>" +"Dnsmasq jest to serwer <abbr title=\"Dynamic Host Configuration " +"Protocol\">DHCP</abbr> połączony z serwerem <abbr title=\"Domain Name " +"System\">DNS</abbr>. Jest to serwer przekazujący (Fowarder) dla firewalli " +"<abbr title=\"Network Address Translation\">NAT</abbr>" msgid "Do not cache negative replies, e.g. for not existing domains" msgstr "Nie cache`uj odpowiedzi negatywnych, np. nie dla bieżących domen" @@ -866,11 +866,12 @@ msgstr "Zakończ" msgid "Firewall" msgstr "Firewall - zapora ogniowa" +# Nie ma potrzeby pisania z dużej litery msgid "Firewall Settings" -msgstr "Ustawienia Firewall `a" +msgstr "Ustawienia firewalla" msgid "Firewall Status" -msgstr "Stan Firewall `a" +msgstr "Stan firewalla" msgid "Firmware Version" msgstr "Wersja firmware" @@ -1138,8 +1139,8 @@ msgstr "" "Jeśli ilość twojej pamięci fizycznej jest niewystarczająca, nieużywane " "miejsce na dysku może być tymczasowo wykorzystane na urządzenie pliku " "wymiany. W rezultacie większa ilość pamięci <abbr title=\"Random Access " -"Memory\">RAM</abbr> będzie dostępna.Uwaga plik wymiany jest dużo wolniejszy " -"niż pamięć <abbr title=\"Random Access Memory\">RAM</abbr>." +"Memory\">RAM</abbr> będzie dostępna. Uwaga - plik wymiany jest dużo " +"wolniejszy niż pamięć <abbr title=\"Random Access Memory\">RAM</abbr>." msgid "Ignore Hosts files" msgstr "Ignoruj pliki Hosts" @@ -1390,7 +1391,7 @@ msgid "Log output level" msgstr "Poziom logowania" msgid "Log queries" -msgstr "Zapytania Loga" +msgstr "Loguj zapytania" msgid "Logging" msgstr "Logowanie" @@ -1526,7 +1527,7 @@ msgid "NAS ID" msgstr "NAS ID" msgid "NTP server candidates" -msgstr "Kandydaci na serwer NTP" +msgstr "Lista serwerów NTP" msgid "Name" msgstr "Nazwa" @@ -1647,6 +1648,9 @@ msgstr "" msgid "On-State Delay" msgstr "Zwłoka włączenia" +msgid "One of hostname or mac address must be specified!" +msgstr "Nazwa hosta lub adres MAC musu być podany!" + msgid "One or more fields contain invalid values!" msgstr "Jedno lub więcej pól zawiera nieprawidłowe wartości!" @@ -1846,8 +1850,9 @@ msgstr "Protokół nowego interfejsu" msgid "Protocol support is not installed" msgstr "Wsparcie dla protokołu nie jest zainstalowane" +# Opcja dotyczy włączenia serwera czasu, więc "podaj" nie jest właściwym tłumaczeniem w tym miejscu - obsy msgid "Provide NTP server" -msgstr "Podaj serwer NTP" +msgstr "Włącz serwer NTP" msgid "Provide new network" msgstr "Utwórz nową sieć" @@ -2027,7 +2032,7 @@ msgid "Restart" msgstr "Uruchom ponownie" msgid "Restart Firewall" -msgstr "Uruchom ponownie Firewall`a" +msgstr "Uruchom ponownie firewalla" msgid "Restore backup" msgstr "Przywróć kopię zapasową" @@ -2530,8 +2535,8 @@ 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 "" @@ -2719,10 +2724,10 @@ msgid "" "address to use and the <em>Hostname</em> is assigned as symbolic name to the " "requesting host." msgstr "" -"Użyj przycisku <em>Dodaj</ em>, aby dodać nowy wpis dzierżawy. <em>Adres " -"MAC</ em> identyfikuje hosta, <em>Adres IPv4</ em> określa, którego stałego " -"adresu użyć, natomiast <em>Nazwa hosta</ em> jest przypisana jako " -"symboliczna nazwa do określonego hosta." +"Użyj przycisku <em>Dodaj</em>, aby dodać nowy wpis dzierżawy. <em>Adres " +"MAC</ em> identyfikuje hosta, <em>Adres IPv4</em> określa, którego stałego " +"adresu użyć, natomiast <em>Nazwa hosta</em> jest przypisana jako symboliczna " +"nazwa do określonego hosta." msgid "Use valid lifetime" msgstr "Użyj prawidłowego czasu życia" @@ -2849,8 +2854,8 @@ msgid "" msgstr "" "Tutaj można włączyć lub wyłączyć zainstalowane skrypty. Zmiany zostaną " "zastosowane po ponownym uruchomieniu urządzenia.<br /><strong>Ostrzeżenie: " -"Jeśli wyłączysz podstawowe skrypty typu \"networks\", urządzenie może stać " -"się nieosiągalne!</ strong>" +"Jeśli wyłączysz podstawowe skrypty typu \"networks\", urządzenie może stać się " +"nieosiągalne!</strong>" msgid "" "You must enable Java Script in your browser or LuCI will not work properly." diff --git a/po/pl/commands.po b/po/pl/commands.po index c9921fda9c..ed181cefb9 100644 --- a/po/pl/commands.po +++ b/po/pl/commands.po @@ -1,13 +1,16 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2013-01-11 00:00+0200\n" +"Last-Translator: farmer92 <sebastian.stolorz@gmail.com>\n" "Language-Team: none\n" +"Language: pl\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" +"X-Generator: Pootle 2.0.6\n" msgid "A short textual description of the configured command" msgstr "" @@ -24,7 +27,7 @@ msgid "Allow the user to provide additional command line arguments" msgstr "" msgid "Arguments:" -msgstr "" +msgstr "Argumenty:" msgid "Binary data not displayed, download instead." msgstr "" @@ -33,13 +36,13 @@ msgid "Code:" msgstr "" msgid "Collecting data..." -msgstr "" +msgstr "Zbieram dane:" msgid "Command" -msgstr "" +msgstr "Komenda" msgid "Command failed" -msgstr "" +msgstr "Zła komenda" msgid "Command line to execute" msgstr "" @@ -51,34 +54,34 @@ msgid "Command:" msgstr "" msgid "Configure" -msgstr "" +msgstr "Konfiguracja" msgid "Custom Commands" -msgstr "" +msgstr "Własne komendy" msgid "Custom arguments" -msgstr "" +msgstr "Własne argumenty" msgid "Dashboard" msgstr "" msgid "Description" -msgstr "" +msgstr "Opis" msgid "Download" -msgstr "" +msgstr "Download" msgid "Failed to execute command!" -msgstr "" +msgstr "Nie można wykonać komendy!" msgid "Link" msgstr "" msgid "Loading" -msgstr "" +msgstr "Ładowanie" msgid "Public access" -msgstr "" +msgstr "Publiczny dostęp" msgid "Run" msgstr "" diff --git a/po/pl/ddns.po b/po/pl/ddns.po index 91485c2d54..5163918e39 100644 --- a/po/pl/ddns.po +++ b/po/pl/ddns.po @@ -3,8 +3,8 @@ 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-06-03 16:05+0200\n" -"Last-Translator: Staszek <fistaszek@tlen.pl>\n" +"PO-Revision-Date: 2013-01-06 13:08+0200\n" +"Last-Translator: obsy <cezary@eko.one.pl>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: pl\n" "MIME-Version: 1.0\n" @@ -12,7 +12,7 @@ msgstr "" "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" -"X-Generator: Pootle 2.0.4\n" +"X-Generator: Pootle 2.0.6\n" msgid "Check for changed IP every" msgstr "Sprawdzaj zmiany adresu IP co" @@ -37,7 +37,7 @@ msgid "Enable" msgstr "Włącz" msgid "Event interface" -msgstr "" +msgstr "Interfejs" msgid "Force update every" msgstr "Wymuszaj aktualizację co" @@ -55,7 +55,7 @@ msgid "Network" msgstr "Sieć" msgid "On which interface up should start the ddns script process." -msgstr "" +msgstr "Określa interfejs na którym zostanie uruchomiony skrypt ddns." msgid "Password" msgstr "Hasło" diff --git a/po/pl/firewall.po b/po/pl/firewall.po index 4dfd6e7bce..41458c890f 100644 --- a/po/pl/firewall.po +++ b/po/pl/firewall.po @@ -3,8 +3,8 @@ 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-09-20 11:04+0200\n" -"Last-Translator: emc <mplichta@gmail.com>\n" +"PO-Revision-Date: 2013-01-06 12:43+0200\n" +"Last-Translator: obsy <cezary@eko.one.pl>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: pl\n" "MIME-Version: 1.0\n" @@ -199,7 +199,7 @@ msgid "Limit log messages" msgstr "Ograniczenie logowania" msgid "MSS clamping" -msgstr "Mocowania MSS" +msgstr "Dostosuj MSS" msgid "Masquerading" msgstr "Maskarada" diff --git a/po/pl/p910nd.po b/po/pl/p910nd.po index 7fcb4a23d5..54c634a105 100644 --- a/po/pl/p910nd.po +++ b/po/pl/p910nd.po @@ -3,8 +3,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2012-03-29 10:47+0200\n" -"Last-Translator: Anonymous Pootle User\n" +"PO-Revision-Date: 2013-01-06 12:57+0200\n" +"Last-Translator: obsy <cezary@eko.one.pl>\n" "Language-Team: none\n" "Language: pl\n" "MIME-Version: 1.0\n" @@ -12,7 +12,7 @@ msgstr "" "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" -"X-Generator: Pootle 2.0.4\n" +"X-Generator: Pootle 2.0.6\n" msgid "Bidirectional mode" msgstr "Tryb dwukierunkowy" @@ -37,10 +37,11 @@ msgid "TCP listener port." msgstr "Port nasłuchu TCP" msgid "enable" -msgstr "włączony" +msgstr "Włączony" +# W sambie usługa też się nazywa "network shares", więc nie ma specjalnie potrzeby używania nazwy własnej demona "p910nd". msgid "p910nd - Printer server" -msgstr "p910nd - Serwer wydruku" +msgstr "Serwer wydruku" #~ msgid "port_help" #~ msgstr "port_help" diff --git a/po/pl/polipo.po b/po/pl/polipo.po index 11eb62f2e2..698edc98c5 100644 --- a/po/pl/polipo.po +++ b/po/pl/polipo.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2012-08-25 18:30+0200\n" -"Last-Translator: goodgod261 <goodgod261@wp.pl>\n" +"PO-Revision-Date: 2013-01-06 22:57+0200\n" +"Last-Translator: obsy <cezary@eko.one.pl>\n" "Language-Team: none\n" "Language: pl\n" "MIME-Version: 1.0\n" @@ -144,10 +144,11 @@ msgid "Query DNS by hostname" msgstr "Zapytanie DNS po nazwie hosta" msgid "Query DNS directly, fallback to system resolver" -msgstr "" +msgstr "Odpytuj DNS bezpośrednio, powracając do resolvera systemu" msgid "Query DNS directly, for unknown hosts fall back to system resolver" msgstr "" +"Odpytuj DNS bezpośrednio, dla nieznanych hostów powróć do resolvera systemu" msgid "Query DNS for IPv6" msgstr "Zapytanie DNS dla IPv6" @@ -165,54 +166,66 @@ msgid "" "Set the DNS server address to use, if you want Polipo to use different DNS " "server than the host system." msgstr "" +"Ustaw adres serwera DNS do użycia, jeśli chcesz aby Polipo używał innego " +"DNS`a niż system hosta." msgid "Shared cache" -msgstr "" +msgstr "Cache udostępniany" msgid "" "Size of the first PMM segment. If not defined, it defaults to twice the PMM " "segment size." msgstr "" +"Rozmiar PIERWSZEGO segmentu PMM. Jeśli nie zdefiniowano, jego domyślny " +"rozmiar to dwu-krotność rozmiaru segmentu PMM." msgid "Size to which cached files should be truncated" -msgstr "" +msgstr "Rozmiar do którego pliki cache`owane mają być przycięte" msgid "Status" -msgstr "" +msgstr "Status" msgid "Syslog facility" -msgstr "" +msgstr "Funkcja (facility) loga systemowego" msgid "" "The interface on which Polipo will listen. To listen on all interfaces use " "0.0.0.0 or :: (IPv6)." msgstr "" +"Interfejs na którym słucha proxy Polipo. Aby słuchać na wszystkich " +"interfejsach użyj 0.0.0.0 lub :: dla IPv6" msgid "Time after which cached files will be deleted" -msgstr "" +msgstr "Czas po którym pliki cache będą skasowane" msgid "Time after which cached files will be truncated" -msgstr "" +msgstr "Czas po którym pliki cache będą przycięte" msgid "To enable PMM, PMM segment size must be set to some positive value." msgstr "" +"Aby włączyć PMM, rozmiar segmentu PMM musi mieć ustawioną wartość dodatnią." msgid "Truncate cache files size (in bytes)" -msgstr "" +msgstr "Rozmiar przycinanych plików w cache(w bajtach)" msgid "Truncate cache files time" -msgstr "" +msgstr "Czas przycinanych plików w cache" msgid "" "Use of external storage device is recommended, because the log file is " "written frequently and can grow considerably." msgstr "" +"Użycie zewnętrznego nośnika danych wysoce zalecane, plik loga jest " +"zapisywany okresowo i może urosnąć znacząco." msgid "" "When listen address is set to 0.0.0.0 or :: (IPv6), you must list clients " "that are allowed to connect. The format is IP address or network address " "(192.168.1.123, 192.168.1.0/24, 2001:660:116::/48 (IPv6))" msgstr "" +"Jeśli adres nasłuchu ustawiony jest na 0.0.0.0 lub ::(IPv6), musisz " +"wyszczególnić klientów mających pozwolenie na połączenie. Format to adres IP " +"lub adres sieci (192.168.1.123, 192.168.1.0/24, 2001:660:116::/48 (IPv6))" msgid "enable" msgstr "włączone" diff --git a/po/pl/splash.po b/po/pl/splash.po index 56bf3c26ca..1e1fa9804f 100644 --- a/po/pl/splash.po +++ b/po/pl/splash.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-08-24 06:17+0200\n" -"PO-Revision-Date: 2012-10-11 14:57+0200\n" -"Last-Translator: mesiu84 <kmesek84@gmail.com>\n" +"PO-Revision-Date: 2013-01-06 13:10+0200\n" +"Last-Translator: obsy <cezary@eko.one.pl>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: pl\n" "MIME-Version: 1.0\n" @@ -65,11 +65,12 @@ msgstr "Czas wyzwalacza" msgid "Client-Splash" msgstr "Splash kliencki" +# nie ma słowa "autentykacja" - to brzydka kalka z angielskiego. msgid "" "Client-Splash is a hotspot authentification system for wireless mesh " "networks." msgstr "" -"Klient Splash - sposób autentykowania użytkowników dla sieci WiFi oparty o " +"Klient Splash - sposób uwierzytelniania użytkowników dla sieci WiFi oparty o " "wyświetlanie komunikatów." msgid "Clients download speed is limited to this value (kbyte/s)" @@ -87,7 +88,7 @@ msgid "Contact" msgstr "Kontakt" msgid "Decline" -msgstr "" +msgstr "Odrzuć" msgid "Donate some money to help us keep this project alive." msgstr "Możesz zasposorować ten projekt aby utrzymać go przy życiu" @@ -99,7 +100,7 @@ msgid "Edit Splash text" msgstr "Edytuj tekst Komunikatu (Splash)" msgid "Firewall zone" -msgstr "Strefa Firewall" +msgstr "Strefa firewall" msgid "General" msgstr "Ogólne" @@ -138,6 +139,8 @@ msgid "" "KB/s (Download/Upload). You may be able to remove this limit by actively " "contributing to this project." msgstr "" +"KB/s (Download/Upload). Będziesz w stanie usunąć ten limit jeśli aktywnie " +"przyłączysz się do tego projektu." msgid "MAC Address" msgstr "Adres MAC" @@ -255,12 +258,10 @@ msgid "unknown" msgstr "nieznane" # Zgaduję, że to jest wyświetlane tuż po komunikacie nr 2, więc tak powinno pasować. -#, fuzzy msgid "use filesharing applications on this network" msgstr "używał programów do dzielenia się plikami w tej sieci" # j.w. -#, fuzzy msgid "waste bandwidth with unneccesary downloads or streams" msgstr "marnował transfer na niepotrzebne pobieranie plików i strumieni" diff --git a/po/pl/transmission.po b/po/pl/transmission.po index 99085bacfe..1634a699f1 100644 --- a/po/pl/transmission.po +++ b/po/pl/transmission.po @@ -3,8 +3,8 @@ 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-15 22:58+0200\n" -"Last-Translator: halinka1125 <halinka1125@op.pl>\n" +"PO-Revision-Date: 2013-01-06 13:14+0200\n" +"Last-Translator: obsy <cezary@eko.one.pl>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: pl\n" "MIME-Version: 1.0\n" @@ -256,15 +256,11 @@ msgstr "Harmonogramowanie" msgid "Scrape paused torrents enabled" msgstr "Zdzieranie wstrzymanych torentów włączone" -#, fuzzy msgid "Script torrent done enabled" -msgstr "" -"skrypty <abbr title=\" torrent done\">wykonano torrenta</abbr> włączone" +msgstr "Włączenie wykonywania skryptu po zakończeniu pobierania" -#, fuzzy msgid "Script torrent done filename" -msgstr "" -"Nazwa pliku skryptu <abbr title=\" torrent done\">wykonano torrenta</abbr>" +msgstr "Nazwa skryptu wykonywanego po zakończeniu pobierania" msgid "Seed queue enabled" msgstr "Kolejkowanie Seed'ów włączone" diff --git a/po/pt/base.po b/po/pt/base.po index 559a85e7fc..60c70fac8c 100644 --- a/po/pt/base.po +++ b/po/pt/base.po @@ -1570,6 +1570,9 @@ msgstr "" msgid "On-State Delay" msgstr "" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "" diff --git a/po/pt_BR/base.po b/po/pt_BR/base.po index bb5d522da1..6c1a6fd596 100644 --- a/po/pt_BR/base.po +++ b/po/pt_BR/base.po @@ -1648,6 +1648,9 @@ msgstr "" msgid "On-State Delay" msgstr "Atraso no estado de conexões" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "Um ou mais campos contém valores inválidos!" diff --git a/po/ro/base.po b/po/ro/base.po index b0768f5abc..42ee3273f7 100644 --- a/po/ro/base.po +++ b/po/ro/base.po @@ -1537,6 +1537,9 @@ msgstr "" msgid "On-State Delay" msgstr "" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "Unul sau mai multe campuri contin valori invalide !" diff --git a/po/ru/base.po b/po/ru/base.po index 6eea0a9998..c495a3fb4b 100644 --- a/po/ru/base.po +++ b/po/ru/base.po @@ -1628,6 +1628,9 @@ msgstr "" msgid "On-State Delay" msgstr "Задержка включенного состояния" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "Одно или несколько полей содержат недопустимые значения!" diff --git a/po/templates/base.pot b/po/templates/base.pot index 833356fc37..0d8576059a 100644 --- a/po/templates/base.pot +++ b/po/templates/base.pot @@ -1518,6 +1518,9 @@ msgstr "" msgid "On-State Delay" msgstr "" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "" diff --git a/po/tr/base.po b/po/tr/base.po index 1549e3bc46..cfc3caa7ee 100644 --- a/po/tr/base.po +++ b/po/tr/base.po @@ -1532,6 +1532,9 @@ msgstr "" msgid "On-State Delay" msgstr "" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "" diff --git a/po/uk/base.po b/po/uk/base.po index 979e5d4ef1..961ca55776 100644 --- a/po/uk/base.po +++ b/po/uk/base.po @@ -1632,6 +1632,9 @@ msgstr "" msgid "On-State Delay" msgstr "Затримка On-State" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "Одне або декілька полів містять неприпустимі значення!" diff --git a/po/uk/coovachilli.po b/po/uk/coovachilli.po index d11d6b570b..07ffc5562e 100644 --- a/po/uk/coovachilli.po +++ b/po/uk/coovachilli.po @@ -3,22 +3,25 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2012-12-29 13:00+0200\n" +"Last-Translator: Yurii <yuripet@gmail.com>\n" "Language-Team: none\n" +"Language: uk\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" msgid "CoovaChilli" -msgstr "" +msgstr "CoovaChilli" msgid "Network Configuration" -msgstr "" +msgstr "Конфігурація мережі" msgid "RADIUS configuration" -msgstr "" +msgstr "Конфігурація RADIUS" msgid "UAM and MAC Authentication" -msgstr "" +msgstr "Автентифікація через UAM і MAC" diff --git a/po/uk/ddns.po b/po/uk/ddns.po index f8d57fb0e0..ae0e29c3c4 100644 --- a/po/uk/ddns.po +++ b/po/uk/ddns.po @@ -5,8 +5,8 @@ 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: 2012-03-18 21:40+0200\n" -"Last-Translator: YuriPet <yuripet@gmail.com>\n" +"PO-Revision-Date: 2012-12-29 12:47+0200\n" +"Last-Translator: Yurii <yuripet@gmail.com>\n" "Language-Team: none\n" "Language: uk\n" "MIME-Version: 1.0\n" @@ -14,7 +14,7 @@ msgstr "" "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" -"X-Generator: Pootle 2.0.4\n" +"X-Generator: Pootle 2.0.6\n" msgid "Check for changed IP every" msgstr "Перевіряти, чи змінилася IP-адреса кожні" @@ -39,7 +39,7 @@ msgid "Enable" msgstr "Увімкнути" msgid "Event interface" -msgstr "" +msgstr "Інтерфейс події" msgid "Force update every" msgstr "Примусово оновлювати кожні" @@ -57,7 +57,7 @@ msgid "Network" msgstr "Мережа" msgid "On which interface up should start the ddns script process." -msgstr "" +msgstr "При вмиканні якого інтерфейсу має запускатися процес скрипта DDNS." msgid "Password" msgstr "Пароль" diff --git a/po/uk/firewall.po b/po/uk/firewall.po index 5517571d1a..170032d591 100644 --- a/po/uk/firewall.po +++ b/po/uk/firewall.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2012-04-28 21:47+0200\n" +"PO-Revision-Date: 2012-12-29 12:53+0200\n" "Last-Translator: Yurii <yuripet@gmail.com>\n" "Language-Team: none\n" "Language: uk\n" @@ -13,13 +13,13 @@ msgstr "" "X-Generator: Pootle 2.0.6\n" msgid "%s in %s" -msgstr "" +msgstr "%s у %s" msgid "%s%s with %s" msgstr "%s%s із %s" msgid "%s, %s in %s" -msgstr "" +msgstr "%s, %s у %s" msgid "(Unnamed Entry)" msgstr "(Запис без імені)" @@ -119,7 +119,7 @@ msgid "External port" msgstr "Зовнішній порт" msgid "External zone" -msgstr "" +msgstr "Зовнішня зона" msgid "Extra arguments" msgstr "Додаткові аргументи" @@ -146,7 +146,7 @@ msgid "Forward" msgstr "Спрямовування" msgid "Forward to" -msgstr "" +msgstr "спрямовування до" msgid "From %s in %s" msgstr "%s у %s" @@ -200,10 +200,10 @@ msgid "Masquerading" msgstr "Підміна" msgid "Match" -msgstr "" +msgstr "Зіставляти" msgid "Match ICMP type" -msgstr "Обирати ICMP трафік" +msgstr "Зіставляти ICMP типу" msgid "Match forwarded traffic to the given destination port or port range." msgstr "" @@ -400,13 +400,13 @@ msgstr "" "визначає, які доступні мережі є членами цієї зони." msgid "To %s at %s on <var>this device</var>" -msgstr "%s через %s на <var>цьому пристрої</var>" +msgstr "%s на %s <var>цього пристрою</var>" msgid "To %s in %s" msgstr "%s у %s" msgid "To %s on <var>this device</var>" -msgstr "%s на <var>цьому пристрої</var>" +msgstr "%s на <var>цього пристрою</var>" msgid "To %s, %s in %s" msgstr "%s, %s у %s" @@ -430,10 +430,10 @@ msgstr "" "порти WAN на маршрутизаторі." msgid "Via %s" -msgstr "" +msgstr "Через %s" msgid "Via %s at %s" -msgstr "" +msgstr "Через %s на %s" msgid "" "You may specify multiple by selecting \"-- custom --\" and then entering " diff --git a/po/uk/mmc_over_gpio.po b/po/uk/mmc_over_gpio.po index b2da90278c..e9b37f2b63 100644 --- a/po/uk/mmc_over_gpio.po +++ b/po/uk/mmc_over_gpio.po @@ -3,8 +3,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2012-03-18 20:47+0200\n" -"Last-Translator: YuriPet <yuripet@gmail.com>\n" +"PO-Revision-Date: 2012-12-29 13:06+0200\n" +"Last-Translator: Yurii <yuripet@gmail.com>\n" "Language-Team: none\n" "Language: uk\n" "MIME-Version: 1.0\n" @@ -12,31 +12,31 @@ msgstr "" "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" -"X-Generator: Pootle 2.0.4\n" +"X-Generator: Pootle 2.0.6\n" msgid "CLK_pin" -msgstr "" +msgstr "Вивід ВCLK" msgid "CS_pin" -msgstr "" +msgstr "Вивід CS" msgid "DI_pin" -msgstr "" +msgstr "Вивід DI" msgid "DO_pin" -msgstr "" +msgstr "Вивід DO" msgid "Enable" -msgstr "" +msgstr "Увімкнути" msgid "MMC/SD driver configuration" -msgstr "" +msgstr "Конфігурація драйвера MMC/SD" msgid "Mode" -msgstr "" +msgstr "Режим" msgid "Name" -msgstr "" +msgstr "Ім'я" msgid "Settings" msgstr "Настройки" diff --git a/po/uk/voice_core.po b/po/uk/voice_core.po index d88b9db3a5..4886d7298a 100644 --- a/po/uk/voice_core.po +++ b/po/uk/voice_core.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2012-03-08 12:11+0200\n" -"Last-Translator: YuriPet <yuripet@gmail.com>\n" +"PO-Revision-Date: 2012-12-29 12:56+0200\n" +"Last-Translator: Yurii <yuripet@gmail.com>\n" "Language-Team: none\n" "Language: uk\n" "MIME-Version: 1.0\n" @@ -10,13 +10,13 @@ msgstr "" "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" -"X-Generator: Pootle 2.0.4\n" +"X-Generator: Pootle 2.0.6\n" msgid "Phones" msgstr "Телефони" msgid "Voice" -msgstr "" +msgstr "Голос" #~ msgid "l_v_adminphones" #~ msgstr "l_v_adminphones" diff --git a/po/vi/base.po b/po/vi/base.po index 692b0e1e78..afc0446eef 100644 --- a/po/vi/base.po +++ b/po/vi/base.po @@ -1560,6 +1560,9 @@ msgstr "" msgid "On-State Delay" msgstr "" +msgid "One of hostname or mac address must be specified!" +msgstr "" + msgid "One or more fields contain invalid values!" msgstr "" diff --git a/po/zh_CN/base.po b/po/zh_CN/base.po index 50af97cd12..c50b7891dd 100644 --- a/po/zh_CN/base.po +++ b/po/zh_CN/base.po @@ -3,7 +3,7 @@ msgstr "" "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-11-23 11:54+0200\n" +"PO-Revision-Date: 2013-01-07 15:00+0200\n" "Last-Translator: phantasm131 <phantasm131@gmail.com>\n" "Language-Team: QQ Group:75543259\n" "Language: zh_CN\n" @@ -1542,6 +1542,9 @@ msgstr "配置网络接口信息。" msgid "On-State Delay" msgstr "通电时间" +msgid "One of hostname or mac address must be specified!" +msgstr "请指定主机名或MAC地址!" + msgid "One or more fields contain invalid values!" msgstr "一个或多个选项值有误!" diff --git a/themes/bootstrap/htdocs/luci-static/bootstrap/cascade.css b/themes/bootstrap/htdocs/luci-static/bootstrap/cascade.css index e529129e08..45bc6ec7e0 100644 --- a/themes/bootstrap/htdocs/luci-static/bootstrap/cascade.css +++ b/themes/bootstrap/htdocs/luci-static/bootstrap/cascade.css @@ -108,9 +108,13 @@ img { button, input, select, +option, textarea { font-size: 100%; margin: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; vertical-align: baseline; *vertical-align: middle; } @@ -449,7 +453,7 @@ textarea { form .input, form .cbi-value-field { - margin-left: 150px; + margin-left: 200px; } form .cbi-value label.cbi-value-title { @@ -457,7 +461,7 @@ form .cbi-value label.cbi-value-title { font-size: 13px; line-height: 18px; float: left; - width: 130px; + width: 180px; text-align: right; color: #404040; } @@ -472,7 +476,7 @@ select, .uneditable-input { display: inline-block; width: 210px; - height: 18px; + height: 30px; padding: 4px; font-size: 13px; line-height: 18px; @@ -507,6 +511,7 @@ input[type=file] { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; + width: auto !important; } input[type=button], input[type=reset], input[type=submit] { @@ -515,9 +520,7 @@ input[type=button], input[type=reset], input[type=submit] { } select, input[type=file] { - height: 27px; *height: auto; - line-height: 27px; *margin-top: 4px; /* For IE7, add top margin to align select with labels */ } @@ -1760,6 +1763,10 @@ table.cbi-section-table td.cbi-section-table-cell { text-align: right; } +table.cbi-section-table td.cbi-section-table-cell select { + width: inherit; +} + .cbi-value-description { display: inline; } .cbi-value-description img { vertical-align: middle; } @@ -1833,8 +1840,8 @@ table.cbi-section-table td.cbi-section-table-cell { cursor: pointer; } -.zonebadge em, -.zonebadge strong { +.zonebadge > em, +.zonebadge > strong { margin: 5px; display: inline-block; } |
