Merge pull request #917 from aa65535/master
authorDaniel Dickinson <cshoredaniel@users.noreply.github.com>
Mon, 16 Jan 2017 14:26:42 +0000 (09:26 -0500)
committerGitHub <noreply@github.com>
Mon, 16 Jan 2017 14:26:42 +0000 (09:26 -0500)
luci-base:adjust the code order

59 files changed:
applications/luci-app-firewall/po/ko/firewall.po [new file with mode: 0644]
applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua
applications/luci-app-fwknopd/luasrc/view/fwknopd-qr.htm
applications/luci-app-fwknopd/po/en/fwknopd.po
applications/luci-app-fwknopd/po/templates/fwknopd.pot
applications/luci-app-fwknopd/root/etc/uci-defaults/40_luci-fwknopd
applications/luci-app-fwknopd/root/usr/sbin/gen-qr.sh
applications/luci-app-olsr/luasrc/controller/olsr.lua
applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm
applications/luci-app-privoxy/po/zh-cn/privoxy.po
applications/luci-app-shairplay/po/ja/shairplay.po
applications/luci-app-shairplay/po/templates/shairplay.pot
applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/df.lua
applications/luci-app-travelmate/luasrc/model/cbi/travelmate.lua
applications/luci-app-travelmate/po/ja/travelmate.po
applications/luci-app-travelmate/po/templates/travelmate.pot
applications/luci-app-uhttpd/po/ja/uhttpd.po
applications/luci-app-uhttpd/po/templates/uhttpd.pot
applications/luci-app-upnp/po/ja/upnp.po
applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua
applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua
applications/luci-app-wifischedule/luasrc/view/wifischedule/file_viewer.htm
applications/luci-app-wifischedule/po/ja/wifischedule.po
applications/luci-app-wifischedule/po/templates/wifischedule.pot
applications/luci-app-wifischedule/po/zh-cn/wifischedule.po
collections/luci-ssl-openssl/Makefile
contrib/package/freifunk-common/Makefile
modules/luci-base/Makefile
modules/luci-base/luasrc/tools/webadmin.lua
modules/luci-base/po/ca/base.po
modules/luci-base/po/cs/base.po
modules/luci-base/po/de/base.po
modules/luci-base/po/el/base.po
modules/luci-base/po/en/base.po
modules/luci-base/po/es/base.po
modules/luci-base/po/fr/base.po
modules/luci-base/po/he/base.po
modules/luci-base/po/hu/base.po
modules/luci-base/po/it/base.po
modules/luci-base/po/ja/base.po
modules/luci-base/po/ko/base.po
modules/luci-base/po/ms/base.po
modules/luci-base/po/no/base.po
modules/luci-base/po/pl/base.po
modules/luci-base/po/pt-br/base.po
modules/luci-base/po/pt/base.po
modules/luci-base/po/ro/base.po
modules/luci-base/po/ru/base.po
modules/luci-base/po/sk/base.po
modules/luci-base/po/sv/base.po
modules/luci-base/po/templates/base.pot
modules/luci-base/po/tr/base.po
modules/luci-base/po/uk/base.po
modules/luci-base/po/vi/base.po
modules/luci-base/po/zh-cn/base.po
modules/luci-base/po/zh-tw/base.po
modules/luci-mod-admin-full/luasrc/controller/admin/status.lua
modules/luci-mod-admin-full/luasrc/controller/admin/system.lua
modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi_add.lua

diff --git a/applications/luci-app-firewall/po/ko/firewall.po b/applications/luci-app-firewall/po/ko/firewall.po
new file mode 100644 (file)
index 0000000..699af7b
--- /dev/null
@@ -0,0 +1,504 @@
+msgid ""
+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-11-14 17:32+0200\n"
+"Last-Translator: Weongyo Jeong <weongyo@gmail.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ko\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 "%s in %s"
+msgstr ""
+
+msgid "%s%s with %s"
+msgstr "%s%s ,%s"
+
+msgid "%s, %s in %s"
+msgstr ""
+
+msgid "(Unnamed Entry)"
+msgstr ""
+
+msgid "(Unnamed Rule)"
+msgstr ""
+
+msgid "(Unnamed SNAT)"
+msgstr ""
+
+msgid "<var>%d</var> pkts. per <var>%s</var>"
+msgstr ""
+
+msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+msgstr ""
+
+msgid "<var>%s</var> and limit to %s"
+msgstr ""
+
+msgid "Action"
+msgstr ""
+
+msgid "Add"
+msgstr ""
+
+msgid "Add and edit..."
+msgstr "추가 후 수정..."
+
+msgid "Advanced Settings"
+msgstr ""
+
+msgid "Allow forward from <em>source zones</em>:"
+msgstr "<em>Source zone</em> 로부터의 forward 허용:"
+
+msgid "Allow forward to <em>destination zones</em>:"
+msgstr "<em>Destination zone</em> 으로 forward 허용:"
+
+msgid "Any"
+msgstr ""
+
+msgid "Covered networks"
+msgstr ""
+
+msgid "Custom Rules"
+msgstr "Custom Rule"
+
+msgid ""
+"Custom rules allow you to execute arbritary iptables commands which are not "
+"otherwise covered by the firewall framework. The commands are executed after "
+"each firewall restart, right after the default ruleset has been loaded."
+msgstr ""
+"Custom rule 은 방화벽 UI 로 해결이 되지 않는 임의의 iptables 명령을 "
+"실행할 수 있도록 합니다.  입력된 명령어들은 매 방화벽 재시작시 실행되는데 "
+"default ruleset 이 load 된 후 시점입니다."
+
+msgid "Destination IP address"
+msgstr "Destination IP 주소"
+
+msgid "Destination address"
+msgstr "Destination 주소"
+
+msgid "Destination port"
+msgstr ""
+
+msgid "Destination zone"
+msgstr ""
+
+msgid "Do not rewrite"
+msgstr ""
+
+msgid "Drop invalid packets"
+msgstr ""
+
+msgid "Enable"
+msgstr "활성화"
+
+msgid "Enable NAT Loopback"
+msgstr "NAT Loopback 활성화"
+
+msgid "Enable SYN-flood protection"
+msgstr "SYN-flood protection 활성화"
+
+msgid "Enable logging on this zone"
+msgstr "zone 의 logging 활성화"
+
+msgid "External IP address"
+msgstr "외부 IP 주소"
+
+msgid "External port"
+msgstr "외부 port"
+
+msgid "External zone"
+msgstr "외부 zone"
+
+msgid "Extra arguments"
+msgstr "추가 argument"
+
+msgid "Firewall"
+msgstr "방화벽"
+
+msgid "Firewall - Custom Rules"
+msgstr "방화벽 - Custom Rules"
+
+msgid "Firewall - Port Forwards"
+msgstr "방화벽 - Port Forwards"
+
+msgid "Firewall - Traffic Rules"
+msgstr "방화벽 - Traffic Rules"
+
+msgid "Firewall - Zone Settings"
+msgstr "방화벽 - Zone 설정"
+
+msgid "Force connection tracking"
+msgstr ""
+
+msgid "Forward"
+msgstr ""
+
+msgid "Forward to"
+msgstr ""
+
+msgid "Friday"
+msgstr "금요일"
+
+msgid "From %s in %s"
+msgstr ""
+
+msgid "From %s in %s with source %s"
+msgstr ""
+
+msgid "From %s in %s with source %s and %s"
+msgstr ""
+
+msgid "General Settings"
+msgstr ""
+
+msgid "IPv4"
+msgstr ""
+
+msgid "IPv4 and IPv6"
+msgstr ""
+
+msgid "IPv4 only"
+msgstr ""
+
+msgid "IPv6"
+msgstr ""
+
+msgid "IPv6 only"
+msgstr ""
+
+msgid "Input"
+msgstr ""
+
+msgid "Inter-Zone Forwarding"
+msgstr ""
+
+msgid "Internal IP address"
+msgstr "내부 IP 주소"
+
+msgid "Internal port"
+msgstr "내부 port"
+
+msgid "Internal zone"
+msgstr "내부 zone"
+
+msgid "Limit log messages"
+msgstr ""
+
+msgid "MSS clamping"
+msgstr ""
+
+msgid "Masquerading"
+msgstr ""
+
+msgid "Match"
+msgstr ""
+
+msgid "Match ICMP type"
+msgstr ""
+
+msgid "Match forwarded traffic to the given destination port or port range."
+msgstr ""
+
+msgid ""
+"Match incoming traffic directed at the given destination port or port range "
+"on this host"
+msgstr ""
+
+msgid ""
+"Match incoming traffic originating from the given source port or port range "
+"on the client host."
+msgstr ""
+
+msgid "Monday"
+msgstr "월요일"
+
+msgid "Month Days"
+msgstr ""
+
+msgid "Name"
+msgstr "이름"
+
+msgid "New SNAT rule"
+msgstr "새로운 SNAT rule"
+
+msgid "New forward rule"
+msgstr "새로운 forward rule"
+
+msgid "New input rule"
+msgstr "새로운 input rule"
+
+msgid "New port forward"
+msgstr "새로운 port forward"
+
+msgid "New source NAT"
+msgstr "새로운 source NAT"
+
+msgid "Only match incoming traffic directed at the given IP address."
+msgstr ""
+
+msgid "Only match incoming traffic from these MACs."
+msgstr ""
+
+msgid "Only match incoming traffic from this IP or range."
+msgstr ""
+
+msgid ""
+"Only match incoming traffic originating from the given source port or port "
+"range on the client host"
+msgstr ""
+
+msgid "Open ports on router"
+msgstr ""
+
+msgid "Other..."
+msgstr ""
+
+msgid "Output"
+msgstr ""
+
+msgid "Passes additional arguments to iptables. Use with care!"
+msgstr "iptables 명령에 추가 인자들을 더합니다.  조심해 사용하세요!"
+
+msgid "Port Forwards"
+msgstr "Port Forward"
+
+msgid ""
+"Port forwarding allows remote computers on the Internet to connect to a "
+"specific computer or service within the private LAN."
+msgstr ""
+"Port forwarding 기능은 인터넷 상의 원격 컴퓨터가 내부 LAN 에 속한 "
+"특정 컴퓨터나 서비스에 접속할 수 있도록 합니다."
+
+msgid "Protocol"
+msgstr ""
+
+msgid ""
+"Redirect matched incoming traffic to the given port on the internal host"
+msgstr ""
+
+msgid "Redirect matched incoming traffic to the specified internal host"
+msgstr ""
+
+msgid "Restrict Masquerading to given destination subnets"
+msgstr "주어진 destination subnet 으로 Masquerading 제한"
+
+msgid "Restrict Masquerading to given source subnets"
+msgstr "주어진 source subnet 으로 Masquerading 제한"
+
+msgid "Restrict to address family"
+msgstr "Address family 제한"
+
+msgid "Rewrite matched traffic to the given address."
+msgstr ""
+
+msgid ""
+"Rewrite matched traffic to the given source port. May be left empty to only "
+"rewrite the IP address."
+msgstr ""
+
+msgid "Rewrite to source %s"
+msgstr ""
+
+msgid "Rewrite to source %s, %s"
+msgstr ""
+
+msgid "SNAT IP address"
+msgstr ""
+
+msgid "SNAT port"
+msgstr ""
+
+msgid "Saturday"
+msgstr "토요일"
+
+msgid "Source IP address"
+msgstr "Source IP 주소"
+
+msgid "Source MAC address"
+msgstr "Source MAC 주소"
+
+msgid "Source NAT"
+msgstr ""
+
+msgid ""
+"Source NAT is a specific form of masquerading which allows fine grained "
+"control over the source IP used for outgoing traffic, for example to map "
+"multiple WAN addresses to internal subnets."
+msgstr ""
+"Source NAT 기능은 masquerading 의 한 형태로써 outgoing 트래픽이 사용할 "
+"source IP 를 세밀하게 제어할 수 있습니다.  예를 들어 다수의 WAN 주소들을 "
+"내부 subnet 에 매핑(mapping) 할 경우 사용됩니다."
+
+msgid "Source address"
+msgstr "Source 주소"
+
+msgid "Source port"
+msgstr ""
+
+msgid "Source zone"
+msgstr ""
+
+msgid "Start Date (yyyy-mm-dd)"
+msgstr "시작 날짜 (yyyy-mm-dd)"
+
+msgid "Start Time (hh:mm:ss)"
+msgstr "시작 시간 (hh:mm:ss)"
+
+msgid "Stop Date (yyyy-mm-dd)"
+msgstr "종료 날짜 (yyyy-mm-dd)"
+
+msgid "Stop Time (hh:mm:ss)"
+msgstr "종료 시간 (hh:mm:ss)"
+
+msgid "Sunday"
+msgstr "일요일"
+
+msgid ""
+"The firewall creates zones over your network interfaces to control network "
+"traffic flow."
+msgstr ""
+"방화벽 기능을 이용하여 네트워크 인터페이스와 연결된 zone 을 생성할 수 있고 "
+"이를 이용하여 네트워크 traffic flow 를 제어할 수 있습니다."
+
+msgid ""
+"The options below control the forwarding policies between this zone (%s) and "
+"other zones. <em>Destination zones</em> cover forwarded traffic "
+"<strong>originating from %q</strong>. <em>Source zones</em> match forwarded "
+"traffic from other zones <strong>targeted at %q</strong>. The forwarding "
+"rule is <em>unidirectional</em>, e.g. a forward from lan to wan does "
+"<em>not</em> imply a permission to forward from wan to lan as well."
+msgstr ""
+"이 zone (%s) 과 다른 zone 들 사이의 forwarding 정책을 제어하는 옵션들입니다. "
+"<em>Destination zones</em> 은 <strong>%q 에서 출발한 </strong> "
+"forward traffic 을 뜻하고, <em>Source zones</em> 은 다른 zone 들에서 "
+"<strong>%q 로 전달되는</strong> forward traffic 을 뜻합니다. "
+"Forwarding rule 은 <em>unidirectional</em> 인데, 예를 들어 LAN 에서 WAN "
+"으로의 forward 규칙이 WAN 에서 LAN 으로의 forward 를 허락하는 것이 "
+"아닙니다."
+
+msgid ""
+"This page allows you to change advanced properties of the port forwarding "
+"entry. In most cases there is no need to modify those settings."
+msgstr ""
+"이 메뉴에서는 port forwarding 의 고급 설정 정보를 변경할 수 있습니다. "
+"대부분의 경우 이 설정을 수정할 일이 없습니다."
+
+msgid ""
+"This page allows you to change advanced properties of the traffic rule "
+"entry, such as matched source and destination hosts."
+msgstr ""
+"이 메뉴에서는 traffic rule 항목의 고급 설정, 예를 들어 source host 와 "
+"destination host 매칭, 을 변경할 수 있습니다."
+
+#, fuzzy
+msgid ""
+"This section defines common properties of %q. The <em>input</em> and "
+"<em>output</em> options set the default policies for traffic entering and "
+"leaving this zone while the <em>forward</em> option describes the policy for "
+"forwarded traffic between different networks within the zone. <em>Covered "
+"networks</em> specifies which available networks are members of this zone."
+msgstr ""
+"이 섹션은 %q 의 공통 속성을 설정할 수 있습니다.  <em>input</em> 과 "
+"<em>output</em> 옵션은 이 zone 으로 전달되어 들오거나 나가는 트래픽에 대한 "
+"기본 정책을 뜻합니다. <em>forward</em> 옵션은 zone 내에서 다른 네트워크들 "
+"사이를 오가는 forward traffic 에 대한 정책을 뜻합니다. "
+"<em>Covered networks</em> 에서는 zone 의 영향을 받을 네트워크들을 지정할 수 "
+"있습니다."
+
+msgid "Thursday"
+msgstr "목요일"
+
+msgid "Time in UTC"
+msgstr "UTC 기준시"
+
+msgid "To %s at %s on <var>this device</var>"
+msgstr ""
+
+msgid "To %s in %s"
+msgstr ""
+
+msgid "To %s on <var>this device</var>"
+msgstr ""
+
+msgid "To %s, %s in %s"
+msgstr ""
+
+msgid "To source IP"
+msgstr ""
+
+msgid "To source port"
+msgstr ""
+
+msgid "Traffic Rules"
+msgstr "Traffic Rule"
+
+msgid ""
+"Traffic rules define policies for packets traveling between different zones, "
+"for example to reject traffic between certain hosts or to open WAN ports on "
+"the router."
+msgstr ""
+"Traffic rule 은 서로 다른 zone 사이를 오가는 패킷들에 대한 정책을 "
+"정의합니다. 예를 들어 특정 host 들 사이의 트래픽을 차단하거나 "
+"공유기의 WAN port 를 open 할때 사용됩니다."
+
+msgid "Tuesday"
+msgstr "화요일"
+
+msgid "Via %s"
+msgstr ""
+
+msgid "Via %s at %s"
+msgstr ""
+
+msgid "Wednesday"
+msgstr "수요일"
+
+msgid "Week Days"
+msgstr "주일"
+
+msgid ""
+"You may specify multiple by selecting \"-- custom --\" and then entering "
+"protocols separated by space."
+msgstr ""
+
+msgid "Zone %q"
+msgstr ""
+
+msgid "Zone ⇒ Forwardings"
+msgstr ""
+
+msgid "Zones"
+msgstr "Zone 내역"
+
+msgid "accept"
+msgstr ""
+
+msgid "any"
+msgstr ""
+
+msgid "any host"
+msgstr ""
+
+msgid "any router IP"
+msgstr ""
+
+msgid "any zone"
+msgstr ""
+
+msgid "don't track"
+msgstr ""
+
+msgid "drop"
+msgstr ""
+
+msgid "reject"
+msgstr ""
+
+msgid "traffic"
+msgstr ""
index 096724f..4358374 100644 (file)
@@ -1,19 +1,19 @@
 -- Copyright 2015 Jonathan Bennett <jbennett@incomsystems.biz>
 -- Licensed to the public under the GNU General Public License v2.
-
+tmp = 0
 m = Map("fwknopd", translate("Firewall Knock Operator"))
 
 s = m:section(TypedSection, "global", translate("Enable Uci/Luci control")) -- Set uci control on or off
 s.anonymous=true
 s:option(Flag, "uci_enabled", translate("Enable config overwrite"), translate("When unchecked, the config files in /etc/fwknopd will be used as is, ignoring any settings here."))
-qr = s:option(DummyValue, "note0", "dummy")
-qr.template = "fwknopd-qr"
-qr:depends("uci_enabled", "1")
 
 s = m:section(TypedSection, "access", translate("access.conf stanzas")) -- set the access.conf settings
 s.anonymous=true
 s.addremove=true
-s.dynamic=true
+qr = s:option(DummyValue, "note0", "dummy")
+qr.tmp = tmp
+qr.template = "fwknopd-qr"
+qr:depends("uci_enabled", "1")
 s:option(Value, "SOURCE", "SOURCE", translate("Use ANY for any source ip"))
 k1 = s:option(Value, "KEY", "KEY", translate("Define the symmetric key used for decrypting an incoming SPA packet that is encrypted by the fwknop client with Rijndael."))
 k1:depends("keytype", translate("Normal Key"))
@@ -40,15 +40,13 @@ s:option(Value, "REQUIRE_SOURCE_ADDRESS", "REQUIRE_SOURCE_ADDRESS", translate("F
                                        This makes it impossible to use the -s command line argument on the fwknop client command line, so either -R \
                                        has to be used to automatically resolve the external address (if the client behind a NAT) or the client must \
                                        know the external IP and set it via the -a argument."))
-s:option(DummyValue, "note1", translate("Enter custom access.conf variables below:"))
 
 s = m:section(TypedSection, "config", translate("fwknopd.conf config options")) 
 s.anonymous=true
-s.dynamic=true
 s:option(Value, "MAX_SPA_PACKET_AGE", "MAX_SPA_PACKET_AGE", translate("Maximum age in seconds that an SPA packet will be accepted. defaults to 120 seconds"))
 s:option(Value, "PCAP_INTF", "PCAP_INTF", translate("Specify the ethernet interface on which fwknopd will sniff packets."))
 s:option(Value, "ENABLE_IPT_FORWARDING", "ENABLE_IPT_FORWARDING", translate("Allow SPA clients to request access to services through an iptables firewall instead of just to it."))
-s:option(DummyValue, "note2", translate("Enter custom fwknopd.conf variables below:"))
+s:option(Value, "ENABLE_NAT_DNS", "ENABLE_NAT_DNS", translate("Allow SPA clients to request forwarding destination by DNS name."))
 
 return m
 
index 9e6e818..5773f52 100644 (file)
@@ -1 +1,2 @@
-<% print(luci.sys.exec("sh /usr/sbin/gen-qr.sh")) %>
+<% print(luci.sys.exec("sh /usr/sbin/gen-qr.sh " .. self.tmp)) %>
+<% self.tmp = self.tmp + 1 %>
index d75c99d..fbdd8d7 100644 (file)
@@ -17,6 +17,9 @@ msgstr ""
 "Allow SPA clients to request access to services through an iptables firewall "
 "instead of just to it."
 
+msgid "Allow SPA clients to request forwarding destination by DNS name."
+msgstr ""
+
 msgid "Base 64 key"
 msgstr "Base 64 key"
 
@@ -55,12 +58,6 @@ msgstr "Enable Uci/Luci control"
 msgid "Enable config overwrite"
 msgstr "Enable config overwrite"
 
-msgid "Enter custom access.conf variables below:"
-msgstr "Enter custom access.conf variables below:"
-
-msgid "Enter custom fwknopd.conf variables below:"
-msgstr "Enter custom fwknopd.conf variables below:"
-
 msgid "Firewall Knock Daemon"
 msgstr "Firewall Knock Daemon"
 
@@ -111,3 +108,9 @@ msgstr "access.conf stanzas"
 
 msgid "fwknopd.conf config options"
 msgstr "fwknopd.conf config options"
+
+#~ msgid "Enter custom access.conf variables below:"
+#~ msgstr "Enter custom access.conf variables below:"
+
+#~ msgid "Enter custom fwknopd.conf variables below:"
+#~ msgstr "Enter custom fwknopd.conf variables below:"
index 4fb616f..1010ba7 100644 (file)
@@ -6,6 +6,9 @@ msgid ""
 "instead of just to it."
 msgstr ""
 
+msgid "Allow SPA clients to request forwarding destination by DNS name."
+msgstr ""
+
 msgid "Base 64 key"
 msgstr ""
 
@@ -34,12 +37,6 @@ msgstr ""
 msgid "Enable config overwrite"
 msgstr ""
 
-msgid "Enter custom access.conf variables below:"
-msgstr ""
-
-msgid "Enter custom fwknopd.conf variables below:"
-msgstr ""
-
 msgid "Firewall Knock Daemon"
 msgstr ""
 
index 01b85de..65ef012 100644 (file)
@@ -16,6 +16,7 @@ uci set fwknopd.@access[0].hkeytype='Base 64 key'
 uci set fwknopd.@access[0].KEY_BASE64=`fwknopd --key-gen | awk '/^KEY/ {print $2;}'`
 uci set fwknopd.@access[0].HMAC_KEY_BASE64=`fwknopd --key-gen | awk '/^HMAC/ {print $2;}'`
 uci set fwknopd.@config[0].ENABLE_IPT_FORWARDING='y'
+uci set fwknopd.@config[0].ENABLE_NAT_DNS='y'
 
 uci commit fwknopd
 rm -f /tmp/luci-indexcache
index 97493da..abca5d3 100644 (file)
@@ -1,9 +1,13 @@
 #!/bin/sh
+entry_num=0
+if [ "$1" != "" ]; then
+entry_num=$1
+fi
 
-key_base64=$(uci get fwknopd.@access[0].KEY_BASE64)
-key=$(uci get fwknopd.@access[0].KEY)
-hmac_key_base64=$(uci get fwknopd.@access[0].HMAC_KEY_BASE64)
-hmac_key=$(uci get fwknopd.@access[0].HMAC_KEY)
+key_base64=$(uci get fwknopd.@access[$entry_num].KEY_BASE64)
+key=$(uci get fwknopd.@access[$entry_num].KEY)
+hmac_key_base64=$(uci get fwknopd.@access[$entry_num].HMAC_KEY_BASE64)
+hmac_key=$(uci get fwknopd.@access[$entry_num].HMAC_KEY)
 
 if [ $key_base64 != "" ]; then
 qr="KEY_BASE64:$key_base64"
index 9a997bd..0564bd4 100644 (file)
@@ -87,8 +87,8 @@ function action_json()
        local v4_port = uci:get("olsrd", "olsrd_jsoninfo", "port") or 9090
        local v6_port = uci:get("olsrd6", "olsrd_jsoninfo", "port") or 9090
 
-       jsonreq4 = utl.exec("(echo /status | nc 127.0.0.1 " .. v4_port .. ") 2>/dev/null" )
-       jsonreq6 = utl.exec("(echo /status | nc ::1 " .. v6_port .. ") 2>/dev/null")
+       jsonreq4 = utl.exec("(echo /status | nc 127.0.0.1 " .. v4_port .. " | sed -n '/^[}{ ]/p') 2>/dev/null" )
+       jsonreq6 = utl.exec("(echo /status | nc ::1 " .. v6_port .. " | sed -n '/^[}{ ]/p') 2>/dev/null")
        http.prepare_content("application/json")
        if not jsonreq4 or jsonreq4 == "" then
                jsonreq4 = "{}"
@@ -375,8 +375,8 @@ function fetch_jsoninfo(otable)
        local v4_port = uci:get("olsrd", "olsrd_jsoninfo", "port") or 9090
        local v6_port = uci:get("olsrd6", "olsrd_jsoninfo", "port") or 9090
 
-       jsonreq4 = utl.exec("(echo /" .. otable .. " | nc 127.0.0.1 " .. v4_port .. ") 2>/dev/null")
-       jsonreq6 = utl.exec("(echo /" .. otable .. " | nc ::1 " .. v6_port .. ") 2>/dev/null")
+       jsonreq4 = utl.exec("(echo /" .. otable .. " | nc 127.0.0.1 " .. v4_port .. " | sed -n '/^[}{ ]/p') 2>/dev/null")
+       jsonreq6 = utl.exec("(echo /" .. otable .. " | nc ::1 " .. v6_port .. " | sed -n '/^[}{ ]/p') 2>/dev/null")
        local jsondata4 = {}
        local jsondata6 = {}
        local data4 = {}
index 31dd7d0..c077c20 100644 (file)
@@ -12,8 +12,8 @@ local i = 1
 if luci.http.formvalue("status") == "1" then
        local rv = {}
        for k, link in ipairs(links) do
-               link.linkCost = tonumber(link.linkCost)/1024 or 0
-               if link.linkCost == 4096 then
+               link.linkCost = tonumber(link.linkCost) or 0
+               if link.linkCost == 4194304 then
                        link.linkCost = 0
                end
                local color = olsrtools.etx_color(link.linkCost)
@@ -129,8 +129,8 @@ end
                <tbody id="olsr_neigh_table">
                <%      local i = 1
                        for k, link in ipairs(links) do
-                       link.linkCost = tonumber(link.linkCost)/1024 or 0
-                       if link.linkCost == 4096 then
+                       link.linkCost = tonumber(link.linkCost) or 0
+                       if link.linkCost == 4194304 then
                                link.linkCost = 0
                        end
 
index 75d1a92..778422b 100644 (file)
@@ -2,14 +2,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: luci-app-privoxy\n"
 "POT-Creation-Date: 2015-06-10 20:16+0100\n"
-"PO-Revision-Date: 2015-06-10 20:16+0100\n"
+"PO-Revision-Date: 2017-01-05 18:01+0800\n"
 "Last-Translator: maz-1 <ohmygod19993 at gmail dotcom>\n"
 "Language-Team: \n"
-"Language: zh-cn\n"
+"Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.8.11\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
@@ -21,10 +21,10 @@ msgstr "当用户试图访问不受信任的页面时,错误页面所显示的
 msgid ""
 "A URL to documentation about the local Privoxy setup, configuration or "
 "policies."
-msgstr "指向Privoxy安装、设置和规则说明文档的URL"
+msgstr "指向 Privoxy 安装、设置和规则说明文档的 URL"
 
 msgid "A directory where Privoxy can create temporary files."
-msgstr "Privoxy存放临时文件的目录。"
+msgstr "Privoxy 存放临时文件的目录。"
 
 msgid "Access Control"
 msgstr "访问控制"
@@ -36,18 +36,18 @@ msgid "An alternative directory where the templates are loaded from."
 msgstr "可选的目录,放在里面的模板会被加载。"
 
 msgid "An email address to reach the Privoxy administrator."
-msgstr "用于联系privoxy管理员的邮箱地址。"
+msgstr "用于联系 Privoxy 管理员的邮箱地址。"
 
 msgid ""
 "Assumed server-side keep-alive timeout (in seconds) if not specified by the "
 "server."
-msgstr "当服务端没有指定超时时间时假定的超时时间(单位秒)。"
+msgstr "当服务端没有指定超时时间时假定的超时时间(单位秒)。"
 
 msgid "Boot delay"
-msgstr ""
+msgstr "启动延时"
 
 msgid "CGI user interface"
-msgstr "CGI用户界面"
+msgstr "CGI 用户界面"
 
 msgid "Common Log Format"
 msgstr "通用日志格式"
@@ -57,14 +57,14 @@ msgid ""
 "proxies. Note that parent proxies can severely decrease your privacy level. "
 "Also specified here are SOCKS proxies."
 msgstr ""
-"在这里设置http请求所经过的多重代理链。注意父级代理可能严重降低你的隐私安全"
-"度ã\80\82å\9c¨è¿\99é\87\8cè¿\98å\8f¯ä»¥è®¾ç½®SOCKS代理。"
+"在这里设置 HTTP 请求所经过的多重代理链。注意:父级代理可能严重降低你的隐私安"
+"å\85¨åº¦ã\80\82å\9c¨è¿\99é\87\8cè¿\98å\8f¯ä»¥è®¾ç½® SOCKS 代理。"
 
 msgid "Debug GIF de-animation"
 msgstr "GIF动画日志"
 
 msgid "Debug force feature"
-msgstr "force feature日志"
+msgstr "Force feature 日志"
 
 msgid "Debug redirects"
 msgstr "重定向日志"
@@ -73,7 +73,7 @@ msgid "Debug regular expression filters"
 msgstr "正则表达式日志"
 
 msgid "Delay (in seconds) during system boot before Privoxy start"
-msgstr ""
+msgstr "Privoxy 自启动延迟时间(单位:秒)"
 
 msgid "Directory does not exist!"
 msgstr "目录不存在!"
@@ -82,20 +82,20 @@ msgid "Disabled == Transparent Proxy Mode"
 msgstr "禁用 == 透明代理模式"
 
 msgid "Documentation"
-msgstr ""
+msgstr "记录信息"
 
 msgid "During delay ifup-events are not monitored !"
-msgstr ""
+msgstr "在延迟期间无法检测到 ifup 事件!"
 
 msgid "Enable proxy authentication forwarding"
 msgstr "允许转发代理认证"
 
 msgid ""
 "Enable/Disable autostart of Privoxy on system startup and interface events"
-msgstr "开启/关闭Privoxy在系统启动或者设置界面更改时自动启动。"
+msgstr "开启/关闭 Privoxy 在系统启动或接口事件时自动启动。"
 
 msgid "Enable/Disable filtering when Privoxy starts."
-msgstr "Privoxy启动时开启/关闭过滤。"
+msgstr "Privoxy 启动时开启/关闭过滤。"
 
 msgid "Enabled"
 msgstr "已开启"
@@ -103,10 +103,10 @@ msgstr "已开启"
 msgid ""
 "Enabling this option is NOT recommended if there is no parent proxy that "
 "requires authentication!"
-msgstr "父级代理不需要认证时不推荐开启这个选项!"
+msgstr "如果没有需要认证的父级代理时,不推荐开启这个选项!"
 
 msgid "File '%s' not found inside Configuration Directory"
-msgstr "文件 '%s' 没有在设置目录中找到!"
+msgstr "在设置目录中未找到文件 '%S'!"
 
 msgid "File not found or empty"
 msgstr "文件不存在或为空"
@@ -115,7 +115,7 @@ msgid "Files and Directories"
 msgstr "文件和目录"
 
 msgid "For help use link at the relevant option"
-msgstr "在相应选项下的连接可获取帮助。"
+msgstr "点击相应选项的连接可获取帮助。"
 
 msgid "Forwarding"
 msgstr "转发"
@@ -123,15 +123,15 @@ msgstr "转发"
 msgid ""
 "If enabled, Privoxy hides the 'go there anyway' link. The user obviously "
 "should not be able to bypass any blocks."
-msgstr "如果启用,Privoxy会隐藏'go there anyway'链接。用户显然不应能绕过屏蔽。"
+msgstr "如果启用,Privoxy 会隐藏 'go there anyway' 链接,用户就不能绕过屏蔽。"
 
 msgid ""
 "If you intend to operate Privoxy for more users than just yourself, it might "
 "be a good idea to let them know how to reach you, what you block and why you "
 "do that, your policies, etc."
 msgstr ""
-"如果除了你还有其他用户通过privoxy连接,让他们知道如何联系你、什么内容被屏蔽"
-"äº\86ã\80\81你为ä»\80ä¹\88è¦\81è¿\99ä¹\88å\81\9aã\80\81ä½ æ\89\80å\88¶å®\9aç\9a\84è§\84è\8c\83ç­\89ç­\89æ\98¯ä¸\80个好主æ\84\8f。"
+"如果除了你还有其他用户使用 Privoxy 连接,最好让他们知道如何联系你,你屏蔽什"
+"ä¹\88ï¼\8c你为ä»\80ä¹\88è¿\99æ ·å\81\9aï¼\8cä½ ç\9a\84æ\94¿ç­\96ç­\89ç­\89。"
 
 msgid "Invalid email address"
 msgstr "邮箱地址无效"
@@ -140,29 +140,29 @@ msgid "It is NOT recommended for the casual user."
 msgstr "不推荐新手使用。"
 
 msgid "Location of the Privoxy User Manual."
-msgstr "Privoxy用户手册位置"
+msgstr "Privoxy 用户手册位置"
 
 msgid "Log File Viewer"
 msgstr "日志查看器"
 
 msgid "Log all data read from the network"
-msgstr "记录所有从网络接收的数据"
+msgstr "记录所有接收的网络数据"
 
 msgid "Log all data written to the network"
-msgstr "è®°å½\95æ\89\80æ\9c\89å\8f\91é\80\81ç»\99ç½\91ç»\9cç\9a\84数据"
+msgstr "è®°å½\95æ\89\80æ\9c\89å\8f\91é\80\81ç\9a\84ç½\91ç»\9c数据"
 
 msgid "Log the applying actions"
-msgstr "记录被应用的规则"
+msgstr "记录配置保存动作"
 
 msgid ""
 "Log the destination for each request Privoxy let through. See also 'Debug "
 "1024'."
-msgstr "记录Privoxy所允许的所有请求。另请参考'Debug 1024'。"
+msgstr "记录 Privoxy 允许的所有请求。另请参考 'Debug 1024'。"
 
 msgid ""
 "Log the destination for requests Privoxy didn't let through, and the reason "
 "why."
-msgstr "记录被Privoxy拒绝的请求目标以及拒绝原因。"
+msgstr "记录 Privoxy 拒绝的请求目标以及拒绝原因。"
 
 msgid "Logging"
 msgstr "日志"
@@ -198,40 +198,40 @@ msgid "Maximum number of client connections that will be served."
 msgstr "客户端数量上限。"
 
 msgid "Maximum size (in KB) of the buffer for content filtering."
-msgstr "内容过滤的最大缓冲(单位KB)。"
+msgstr "内容过滤的最大缓冲(单位KB)。"
 
 msgid "Miscellaneous"
 msgstr "杂项"
 
 msgid "NOT installed"
-msgstr ""
+msgstr "未安装"
 
 msgid "No trailing '/', please."
-msgstr "路径结尾不要加'/' ."
+msgstr "路径结尾不要加 '/' 。"
 
 msgid "Non-fatal errors - *we highly recommended enabling this*"
-msgstr "非致命性错误 - * 建议开启 *"
+msgstr "é\9d\9eè\87´å\91½æ\80§é\94\99误 - * å¼ºç\83\88建议å¼\80å\90¯ *"
 
 msgid ""
 "Number of seconds after which a socket times out if no data is received."
-msgstr "socket连接未收到数据的超时时间。"
+msgstr "Socket 连接未收到数据的超时时间。"
 
 msgid ""
 "Number of seconds after which an open connection will no longer be reused."
-msgstr "一个开放的连接不再重复使用的超时时间。"
+msgstr "开放的连接不再重复使用的超时时间。"
 
 msgid ""
 "Only when using 'external filters', Privoxy has to create temporary files."
-msgstr "只有使用外置规则时,privoxy才需要创建临时文件。"
+msgstr "只有使用外置规则时,Privoxy 才需要创建临时文件。"
 
 msgid "Please install current version !"
-msgstr ""
+msgstr "请安装当前版本!"
 
 msgid "Please press [Read] button"
-msgstr "请点击[读取]按钮"
+msgstr "请点击 [读取] 按钮"
 
 msgid "Please read Privoxy manual for details!"
-msgstr "请阅读Privoxy手册以了解详情!"
+msgstr "请阅读 Privoxy 手册以了解详情!"
 
 msgid "Please update to the current version!"
 msgstr "请升级到当前版本!"
@@ -244,16 +244,16 @@ msgid ""
 "configuration, help and logging. This section of the configuration file "
 "tells Privoxy where to find those other files."
 msgstr ""
-"Privoxy可以使用其他一些文件用于附加设置,帮助和日志。这个区域用来告诉Privoxy"
-"从哪里找到这些文件。"
+"Privoxy 可以使用其他一些文件用于附加设置,帮助和日志。这个区域用来告诉 "
+"Privoxy 从哪里找到这些文件。"
 
 msgid ""
 "Privoxy is a non-caching web proxy with advanced filtering capabilities for "
 "enhancing privacy, modifying web page data and HTTP headers, controlling "
 "access, and removing ads and other obnoxious Internet junk."
 msgstr ""
-"Privoxy是一个无缓存的网络代理,具有高级过滤功能,能够修改网页数据和HTTP头,控"
-"制访问,移除广告等。"
+"Privoxy 是一个无缓存的网络代理,具有高级过滤功能,能够修改网页数据和 HTTP 请"
+"求头,控制访问,移除广告等。"
 
 msgid "Read / Reread log file"
 msgstr "读取/刷新日志文件"
@@ -265,13 +265,13 @@ msgid "Show each connection status"
 msgstr "显示每个连接的状态"
 
 msgid "Show header parsing"
-msgstr "Show header parsing"
+msgstr "显示请求头 解析"
 
 msgid "Software package '%s' is not installed."
-msgstr ""
+msgstr "软件包 '%s' 未安装"
 
 msgid "Software package '%s' is outdated."
-msgstr ""
+msgstr "软件包 '%s' 已过时"
 
 msgid "Start"
 msgstr "启动"
@@ -289,7 +289,7 @@ msgid "Syntax:"
 msgstr "格式:"
 
 msgid "Syntax: Client header names delimited by spaces."
-msgstr "格式: Client header names delimited by spaces."
+msgstr "格式: 由空格分隔的客户端请求头名称。"
 
 msgid "Syntax: target_pattern http_parent[:port]"
 msgstr "格式: target_pattern http_parent[:port]"
@@ -298,7 +298,7 @@ msgid "Syntax: target_pattern socks_proxy[:port] http_parent[:port]"
 msgstr "格式: target_pattern socks_proxy[:port] http_parent[:port]"
 
 msgid "System"
-msgstr ""
+msgstr "系统"
 
 msgid ""
 "The actions file(s) to use. Multiple actionsfile lines are permitted, and "
@@ -307,12 +307,12 @@ msgstr "所使用的规则文件。允许并且推荐使用多个规则文件。
 
 msgid ""
 "The address and TCP port on which Privoxy will listen for client requests."
-msgstr "Privoxy接收客户端请求时监听的地址和TCP端口。"
+msgstr "Privoxy 接收客户端请求时监听的地址和 TCP 端口。"
 
 msgid ""
 "The compression level that is passed to the zlib library when compressing "
 "buffered content."
-msgstr "使用zlib压缩缓冲内容时的压缩级别。"
+msgstr "使用 zlib 压缩缓冲内容时的压缩级别。"
 
 msgid ""
 "The directory where all logging takes place (i.e. where the logfile is "
@@ -334,14 +334,14 @@ msgid "The log file to use. File name, relative to log directory."
 msgstr "日志文件名称,与日志路径相对。"
 
 msgid "The order in which client headers are sorted before forwarding them."
-msgstr "转发数据前,client headers的排序。"
+msgstr "转发数据前,客户端请求头的排序。"
 
 msgid ""
 "The status code Privoxy returns for pages blocked with +handle-as-empty-"
 "document."
 msgstr ""
-"当页面因为handle-as-empty-document规则被阻止时返回的状态码(选上为200 OK,不"
-"选上为403 Forbidden)"
+"当页面因为 handle-as-empty-document 规则被阻止时返回的状态码(选上为 200 OK,"
+"不选上为 403 Forbidden)"
 
 msgid ""
 "The trust mechanism is an experimental feature for building white-lists and "
@@ -361,19 +361,20 @@ msgstr "这个选项仅用于调试,开启后会极大地降低性能。"
 msgid ""
 "This option will be removed in future releases as it has been obsoleted by "
 "the more general header taggers."
-msgstr "这个选项在以后的版本中将被移除,因为它被header taggers所取代了。"
+msgstr "这个选项在以后的版本中将被移除,因为它被 header taggers 所取代了。"
 
 msgid ""
 "This tab controls the security-relevant aspects of Privoxy's configuration."
-msgstr "这个标签用于设置与安全相关的Privoxy选项。"
+msgstr "这个标签用于设置与安全相关的 Privoxy 选项。"
 
 msgid ""
 "Through which SOCKS proxy (and optionally to which parent HTTP proxy) "
 "specific requests should be routed."
-msgstr "指定的请求应该通过哪一个SOCKS代理(并且通过哪一个HTTP父代理,可选)"
+msgstr ""
+"指定的请求应该通过哪一个 SOCKS 代理(并且通过哪一个 HTTP 父代理,可选)"
 
 msgid "To which parent HTTP proxy specific requests should be routed."
-msgstr "请求应转发至哪一个父级HTTP代理。"
+msgstr "请求应转发至哪一个父级 HTTP 代理。"
 
 msgid "User customizations"
 msgstr "用户自定义"
@@ -382,10 +383,10 @@ msgid "Value is not a number"
 msgstr "输入值不是数字"
 
 msgid "Value not between 0 and 300"
-msgstr ""
+msgstr "输入值不在0和300之间"
 
 msgid "Value not between 0 and 9"
-msgstr "输入值不在0和9之间"
+msgstr "输入值不在0和9之间"
 
 msgid "Value not between 1 and 4096"
 msgstr "输入值不在1和4096之间"
@@ -408,7 +409,7 @@ msgstr "被拦截的请求是否应被当作有效的。"
 msgid ""
 "Whether or not Privoxy recognizes special HTTP headers to change toggle "
 "state."
-msgstr "Privoxy是否识别特殊的HTTP头以切换状态。"
+msgstr "Privoxy 是否识别特殊的 HTTP 请求头以切换状态。"
 
 msgid "Whether or not buffered content is compressed before delivery."
 msgstr "缓冲内容在传递之前是否压缩。"
@@ -422,7 +423,7 @@ msgid "Whether or not pipelined requests should be served."
 msgstr "是否处理管道化的请求。"
 
 msgid "Whether or not proxy authentication through Privoxy should work."
-msgstr "是否可以通过Privoxy进行代理验证。"
+msgstr "是否可以通过 Privoxy 进行代理验证。"
 
 msgid "Whether or not the web-based actions file editor may be used."
 msgstr "是否使用基于网页的规则编辑器。"
@@ -431,11 +432,11 @@ msgid "Whether or not the web-based toggle feature may be used."
 msgstr "是否启用基于网页的切换功能。"
 
 msgid "Whether requests to Privoxy's CGI pages can be blocked or redirected."
-msgstr "访问Privoxy CGI页面的请求是否可以被拦截或重定向。"
+msgstr "访问 Privoxy CGI 页面的请求是否可以被拦截或重定向。"
 
 msgid ""
 "Whether the CGI interface should stay compatible with broken HTTP clients."
-msgstr "CGI界面是否应兼容过时的HTTP客户端。"
+msgstr "CGI 界面是否应兼容过时的HTTP客户端。"
 
 msgid "Whether to run only one server thread."
 msgstr "是否只运行一个服务线程。"
index eb1ff83..07fa7be 100644 (file)
@@ -13,9 +13,6 @@ msgstr ""
 "X-Poedit-Basepath: .\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-msgid "Airport Name"
-msgstr "Airport名"
-
 msgid "AO Device ID"
 msgstr "オーディオ出力 デバイスID"
 
@@ -25,6 +22,9 @@ msgstr "オーディオ出力 デバイス名"
 msgid "AO Driver"
 msgstr "オーディオ出力 デバイスドライバー"
 
+msgid "Airport Name"
+msgstr "Airport名"
+
 msgid "Default"
 msgstr "デフォルト"
 
@@ -43,9 +43,12 @@ msgstr "ポート"
 msgid "Respawn"
 msgstr "リスポーン"
 
+msgid "Shairplay"
+msgstr ""
+
 msgid ""
 "Shairplay is a simple AirPlay server implementation, here you can configure "
 "the settings."
 msgstr ""
-"Shairplayは、シンプルなAirPlay サーバー実装です。ここでは、設定を行うことが"
-"ã\81§ã\81\8dã\81¾ã\81\99ã\80\82"
+"Shairplayは、シンプルなAirPlay サーバー実装です。ここでは、設定を行うことが"
+"きます。"
index 8e46bbd..b3da99e 100644 (file)
@@ -1,9 +1,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=UTF-8"
 
-msgid "Airport Name"
-msgstr ""
-
 msgid "AO Device ID"
 msgstr ""
 
@@ -13,6 +10,9 @@ msgstr ""
 msgid "AO Driver"
 msgstr ""
 
+msgid "Airport Name"
+msgstr ""
+
 msgid "Default"
 msgstr ""
 
@@ -31,6 +31,9 @@ msgstr ""
 msgid "Respawn"
 msgstr ""
 
+msgid "Shairplay"
+msgstr ""
+
 msgid ""
 "Shairplay is a simple AirPlay server implementation, here you can configure "
 "the settings."
index fbc3884..b5633c1 100644 (file)
@@ -8,7 +8,6 @@ function rrdargs( graph, plugin, plugin_instance, dtype )
        return {
                title = "%H: Disk space usage on %pi",
                vlabel = "Bytes",
-               per_instance  = true,
                number_format = "%5.1lf%sB",
 
                data = {
index 9050ae9..fa44d4b 100644 (file)
@@ -18,17 +18,17 @@ o = s:option(Flag, "trm_enabled", translate("Enable Travelmate"))
 o.rmempty = false
 o.default = 0
 
-o = s:option(Value, "trm_loop", translate("Loop timeout in seconds for wlan monitoring"),
-       translate("Default 30, range 5-60"))
+o = s:option(Value, "trm_maxwait", translate("Max. timeout in seconds for wlan interface reload"),
+       translate("Default 20, range 10-60"))
 o.rmempty = false
-o.default = 30
-o.datatype = "range(5,60)"
+o.default = 20
+o.datatype = "range(10,60)"
 
 o = s:option(Value, "trm_maxretry", translate("Max. number of connection retries to an uplink"),
-       translate("Default 3, range 0-10. Set to 0 to allow unlimited retries"))
+       translate("Default 3, range 1-10"))
 o.rmempty = false
 o.default = 3
-o.datatype = "range(0,10)"
+o.datatype = "range(1,10)"
 
 -- Extra options
 
@@ -38,8 +38,8 @@ a = e:option(Flag, "trm_debug", translate("Debug logging"))
 a.rmempty = true
 a.default = a.disabled
 
-a = e:option(Value, "trm_device", translate("Use only one radio, e.g. 'radio0'"),
-       translate("Default: empty = use all radios."))
+a = e:option(Value, "trm_iface", translate("Restrict reload trigger to certain interface(s)"),
+       translate("Space separated list of wwan interfaces that trigger reload action. To disable reload trigger set it to 'false'. Default: empty"))
 a.rmempty = true
 a.default = ""
 a.datatype = "uciname"
index 986d7b3..de1acee 100644 (file)
@@ -32,14 +32,11 @@ msgstr "トラベル ルータ機能を有効にする、Travelmate パッケー
 msgid "Debug logging"
 msgstr "デバッグ ログ"
 
-msgid "Default 3, range 0-10. Set to 0 to allow unlimited retries"
-msgstr "既定値 3、範囲 0 - 10。再試行回数を制限しない場合、0 に設定します。"
+msgid "Default 20, range 10-60"
+msgstr "既定値 20、範囲 10 - 60"
 
-msgid "Default 30, range 5-60"
-msgstr "既定値 30、範囲 5 - 60"
-
-msgid "Default: empty = use all radios."
-msgstr "デフォルト:(空)= 全ての無線を使用"
+msgid "Default 3, range 1-10"
+msgstr "既定値 3、範囲 1 - 10"
 
 msgid "Disable this if you want to use iwinfo instead of iw"
 msgstr "iw の代わりに iwinfo を使用したい場合、この設定を無効にします。"
@@ -56,17 +53,39 @@ msgstr "全般オプション"
 msgid "Link to detailed advice"
 msgstr "詳細な解説へのリンク"
 
-msgid "Loop timeout in seconds for wlan monitoring"
-msgstr "無線LAN モニターのループ タイムアウト(秒)"
-
 msgid "Max. number of connection retries to an uplink"
 msgstr "確立までの接続試行回数"
 
+msgid "Max. timeout in seconds for wlan interface reload"
+msgstr "無線LANインターフェース リロード時の最大待機時間(秒)"
+
+msgid "Restrict reload trigger to certain interface(s)"
+msgstr "リロード トリガを特定のインターフェースに限定する"
+
+msgid ""
+"Space separated list of wwan interfaces that trigger reload action. To "
+"disable reload trigger set it to 'false'. Default: empty"
+msgstr ""
+"リロード動作のトリガとなる、スペースで区切られたWWAN インターフェースのリスト"
+"です。リロードのトリガを無効にするには、'false' を設定します。既定値:(空)"
+
 msgid "Travelmate"
 msgstr "Travelmate"
 
 msgid "Use iw for scanning"
 msgstr "スキャンに iw を使用する"
 
-msgid "Use only one radio, e.g. 'radio0'"
-msgstr "単一の無線のみ使用する 例: 'radio0'"
+#~ msgid "Default 3, range 0-10. Set to 0 to allow unlimited retries"
+#~ msgstr "既定値 3、範囲 0 - 10。再試行回数を制限しない場合、0 に設定します。"
+
+#~ msgid "Default 30, range 5-60"
+#~ msgstr "既定値 30、範囲 5 - 60"
+
+#~ msgid "Default: empty = use all radios."
+#~ msgstr "デフォルト:(空)= 全ての無線を使用"
+
+#~ msgid "Loop timeout in seconds for wlan monitoring"
+#~ msgstr "無線LAN モニターのループ タイムアウト(秒)"
+
+#~ msgid "Use only one radio, e.g. 'radio0'"
+#~ msgstr "単一の無線のみ使用する 例: 'radio0'"
index 533b3e2..2062819 100644 (file)
@@ -16,13 +16,10 @@ msgstr ""
 msgid "Debug logging"
 msgstr ""
 
-msgid "Default 3, range 0-10. Set to 0 to allow unlimited retries"
+msgid "Default 20, range 10-60"
 msgstr ""
 
-msgid "Default 30, range 5-60"
-msgstr ""
-
-msgid "Default: empty = use all radios."
+msgid "Default 3, range 1-10"
 msgstr ""
 
 msgid "Disable this if you want to use iwinfo instead of iw"
@@ -40,17 +37,22 @@ msgstr ""
 msgid "Link to detailed advice"
 msgstr ""
 
-msgid "Loop timeout in seconds for wlan monitoring"
+msgid "Max. number of connection retries to an uplink"
 msgstr ""
 
-msgid "Max. number of connection retries to an uplink"
+msgid "Max. timeout in seconds for wlan interface reload"
 msgstr ""
 
-msgid "Travelmate"
+msgid "Restrict reload trigger to certain interface(s)"
 msgstr ""
 
-msgid "Use iw for scanning"
+msgid ""
+"Space separated list of wwan interfaces that trigger reload action. To "
+"disable reload trigger set it to 'false'. Default: empty"
 msgstr ""
 
-msgid "Use only one radio, e.g. 'radio0'"
+msgid "Travelmate"
+msgstr ""
+
+msgid "Use iw for scanning"
 msgstr ""
index c682877..5729034 100644 (file)
@@ -13,21 +13,18 @@ msgstr ""
 "X-Poedit-Basepath: .\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-msgid "404 Error"
-msgstr "404 エラー"
-
 msgid ""
 "(/old/path=/new/path) or (just /old/path which becomes /cgi-prefix/old/path)"
 msgstr ""
 "(/old/path=/new/path) または (just /old/path which becomes /cgi-prefix/old/"
 "path)"
 
+msgid "404 Error"
+msgstr "404 エラー"
+
 msgid "A lightweight single-threaded HTTP(S) server"
 msgstr "軽量なシングル スレッド HTTP(S) サーバーです。"
 
-msgid "a.k.a CommonName"
-msgstr "共通名"
-
 msgid "Advanced Settings"
 msgstr "詳細設定"
 
@@ -81,12 +78,12 @@ msgstr ""
 msgid "For settings primarily geared to serving more than the web UI"
 msgstr "主に、Web UI以上のものを提供することを対象とした設定です。"
 
-msgid "Full real path to handler for Lua scripts"
-msgstr "Lua スクリプトへの絶対パス"
-
 msgid "Full Web Server Settings"
 msgstr "完全なWebサーバー設定"
 
+msgid "Full real path to handler for Lua scripts"
+msgstr "Lua スクリプトへの絶対パス"
+
 msgid "General Settings"
 msgstr "一般設定"
 
@@ -96,12 +93,12 @@ msgstr "HTTP 待ち受け(アドレス:ポート)"
 msgid "HTTPS Certificate (DER Encoded)"
 msgstr "HTTPS 証明書(DER エンコード)"
 
-msgid "HTTPS listener (address:port)"
-msgstr "HTTPS 待ち受け(アドレス:ポート)"
-
 msgid "HTTPS Private Key (DER Encoded)"
 msgstr "HTTPS 秘密鍵(DER エンコード)"
 
+msgid "HTTPS listener (address:port)"
+msgstr "HTTPS 待ち受け(アドレス:ポート)"
+
 msgid "Ignore private IPs on public interface"
 msgstr "公開側インターフェースでのプライベートIPを無視する"
 
@@ -112,8 +109,8 @@ msgid ""
 "Interpreter to associate with file endings ('suffix=handler', e.g. '.php=/"
 "usr/bin/php-cgi')"
 msgstr ""
-"ファイル拡張子に関連付けるインタープリタです。('suffix=handler'、例: '."
-"php=/usr/bin/php-cgi')"
+"ファイル拡張子に関連付けるインタープリタです。('suffix=handler'、例: '.php=/"
+"usr/bin/php-cgi')"
 
 msgid "Length of key in bits"
 msgstr "鍵のビット数"
@@ -143,8 +140,8 @@ msgid ""
 "Prevent access from private (RFC1918) IPs on an interface if it has an "
 "public IP address"
 msgstr ""
-"グローバル IPアドレスを持つインターフェースでは、プライベート IP (RFC1918) "
-"ã\81\8bã\82\89ã\81®ã\82¢ã\82¯ã\82»ã\82¹ã\82\92ã\83\96ã\83­ã\83\83ã\82¯ã\81\97ã\81¾ã\81\99ã\80\82"
+"グローバル IPアドレスを持つインターフェースでは、プライベート IP (RFC1918) "
+"らのアクセスをブロックします。"
 
 msgid "Realm for Basic Auth"
 msgstr "基本認証の領域名"
@@ -174,9 +171,26 @@ msgstr "TCP キープアライブ"
 msgid "This permanently deletes the cert, key, and configuration to use same."
 msgstr ""
 
-msgid "ubus integration is disabled if not present"
+msgid "Valid for # of Days"
+msgstr "有効日数"
+
+msgid ""
+"Virtual URL or CGI script to display on status '404 Not Found'. Must begin "
+"with '/'"
+msgstr ""
+
+msgid "Virtual path prefix for Lua scripts"
+msgstr "Lua スクリプトへの仮想パスプレフィクス"
+
+msgid "Virtual path prefix for ubus via JSON-RPC integration"
 msgstr ""
 
+msgid "Will not use HTTP authentication if not present"
+msgstr "指定しない場合、HTTP 認証は使用されません。"
+
+msgid "a.k.a CommonName"
+msgstr "共通名"
+
 msgid "uHTTPd"
 msgstr "uHTTPd"
 
@@ -188,21 +202,12 @@ msgid ""
 "shown below."
 msgstr "uHTTPd は、以下に表示した設定で新しい自己署名証明書を生成します。"
 
-msgid "Valid for # of Days"
-msgstr "有効日数"
-
-msgid "Virtual path prefix for Lua scripts"
-msgstr "Lua スクリプトへの仮想パスプレフィクス"
-
-msgid "Virtual path prefix for ubus via JSON-RPC integration"
-msgstr ""
-
-msgid ""
-"Virtual URL or CGI script to display on status '404 Not Found'.  Must begin "
-"with '/'"
+msgid "ubus integration is disabled if not present"
 msgstr ""
-"'404 Not Found' ステータスを表示する、仮想URLまたはCGIスクリプトです。'/' か"
-"ら始まる必要があります。"
 
-msgid "Will not use HTTP authentication if not present"
-msgstr "指定しない場合、HTTP 認証は使用されません。"
+#~ msgid ""
+#~ "Virtual URL or CGI script to display on status '404 Not Found'.  Must "
+#~ "begin with '/'"
+#~ msgstr ""
+#~ "'404 Not Found' ステータスを表示する、仮想URLまたはCGIスクリプトです。'/' "
+#~ "から始まる必要があります。"
index f6599a5..5503450 100644 (file)
@@ -1,17 +1,14 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=UTF-8"
 
-msgid "404 Error"
-msgstr ""
-
 msgid ""
 "(/old/path=/new/path) or (just /old/path which becomes /cgi-prefix/old/path)"
 msgstr ""
 
-msgid "A lightweight single-threaded HTTP(S) server"
+msgid "404 Error"
 msgstr ""
 
-msgid "a.k.a CommonName"
+msgid "A lightweight single-threaded HTTP(S) server"
 msgstr ""
 
 msgid "Advanced Settings"
@@ -65,10 +62,10 @@ msgstr ""
 msgid "For settings primarily geared to serving more than the web UI"
 msgstr ""
 
-msgid "Full real path to handler for Lua scripts"
+msgid "Full Web Server Settings"
 msgstr ""
 
-msgid "Full Web Server Settings"
+msgid "Full real path to handler for Lua scripts"
 msgstr ""
 
 msgid "General Settings"
@@ -80,10 +77,10 @@ msgstr ""
 msgid "HTTPS Certificate (DER Encoded)"
 msgstr ""
 
-msgid "HTTPS listener (address:port)"
+msgid "HTTPS Private Key (DER Encoded)"
 msgstr ""
 
-msgid "HTTPS Private Key (DER Encoded)"
+msgid "HTTPS listener (address:port)"
 msgstr ""
 
 msgid "Ignore private IPs on public interface"
@@ -154,33 +151,36 @@ msgstr ""
 msgid "This permanently deletes the cert, key, and configuration to use same."
 msgstr ""
 
-msgid "ubus integration is disabled if not present"
+msgid "Valid for # of Days"
 msgstr ""
 
-msgid "uHTTPd"
+msgid ""
+"Virtual URL or CGI script to display on status '404 Not Found'. Must begin "
+"with '/'"
 msgstr ""
 
-msgid "uHTTPd Self-signed Certificate Parameters"
+msgid "Virtual path prefix for Lua scripts"
 msgstr ""
 
-msgid ""
-"uHTTPd will generate a new self-signed certificate using the configuration "
-"shown below."
+msgid "Virtual path prefix for ubus via JSON-RPC integration"
 msgstr ""
 
-msgid "Valid for # of Days"
+msgid "Will not use HTTP authentication if not present"
 msgstr ""
 
-msgid "Virtual path prefix for Lua scripts"
+msgid "a.k.a CommonName"
 msgstr ""
 
-msgid "Virtual path prefix for ubus via JSON-RPC integration"
+msgid "uHTTPd"
+msgstr ""
+
+msgid "uHTTPd Self-signed Certificate Parameters"
 msgstr ""
 
 msgid ""
-"Virtual URL or CGI script to display on status '404 Not Found'.  Must begin "
-"with '/'"
+"uHTTPd will generate a new self-signed certificate using the configuration "
+"shown below."
 msgstr ""
 
-msgid "Will not use HTTP authentication if not present"
+msgid "ubus integration is disabled if not present"
 msgstr ""
index 728befa..f0aff73 100644 (file)
@@ -17,8 +17,8 @@ msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
 msgstr ""
-"アクセス制御リスト(ACL) は、どの外部ポートからどの内部アドレス及びポートへ"
-"ã\83ªã\83\80ã\82¤ã\83¬ã\82¯ã\83\88ã\81\99ã\82\8bã\81\8bã\82\92設å®\9aã\81\97ã\81¾ã\81\99ã\80\82"
+"アクセス制御リスト(ACL) は、どの外部ポートからどの内部アドレス及びポートへ"
+"ダイレクトするかを設定します。"
 
 msgid "Action"
 msgstr "動作"
@@ -129,8 +129,8 @@ msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr ""
-"UPnPを使用することで、ローカルネットワーク内のクライアントが自動的にルータ"
-"構成することができます。"
+"UPnPを使用することで、ローカルネットワーク内のクライアントが自動的にルータ"
+"構成することができます。"
 
 msgid "UPnP lease file"
 msgstr "UPnP リースファイル"
@@ -148,8 +148,8 @@ msgstr "クライアントへの情報提供のみに使用される、KByte/s
 #~ "UPNP allows clients in the local network to automatically configure the "
 #~ "router."
 #~ msgstr ""
-#~ "UPnPを使用することで、ローカルネットワーク内のクライアントが自動的にルー"
-#~ "ã\82¿ã\82\92æ§\8bæ\88\90ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81¾ã\81\99ã\80\82"
+#~ "UPnPを使用することで、ローカルネットワーク内のクライアントが自動的にルー"
+#~ "を構成することができます。"
 
 #~ msgid "enable"
 #~ msgstr "有効"
@@ -158,5 +158,5 @@ msgstr "クライアントへの情報提供のみに使用される、KByte/s
 #~ "UPNP should only be enabled if absolutely necessary as it can result in "
 #~ "high security risks for your network."
 #~ msgstr ""
-#~ "UPnPはあなたの使用するネットワークに対して、セキュリティリスクが生じる可"
-#~ "性があるため、必要な場合のみ有効にしてください。"
+#~ "UPnPはあなたの使用するネットワークに対して、セキュリティリスクが生じる可"
+#~ "性があるため、必要な場合のみ有効にしてください。"
index 4743453..261cf36 100644 (file)
 --
 -- Author: Nils Koenig <openwrt@newk.it>
 
-module("luci.controller.wifischedule.wifi_schedule", package.seeall)  
+module("luci.controller.wifischedule.wifi_schedule", package.seeall)
+
+local fs = require "nixio.fs"
+local sys = require "luci.sys"
+local template = require "luci.template"
+local i18n = require "luci.i18n"
 
 function index()
-     entry({"admin", "wifi_schedule"}, firstchild(), _("Wifi Schedule"), 60).dependent=false
-     entry({"admin", "wifi_schedule", "tab_from_cbi"}, cbi("wifischedule/wifi_schedule"), _("Schedule"), 1)
-     entry({"admin", "wifi_schedule", "wifi_schedule"}, call("wifi_schedule_log"), _("View Logfile"), 2)
-     entry({"admin", "wifi_schedule", "cronjob"}, call("view_crontab"), _("View Cron Jobs"), 3)
+    if not nixio.fs.access("/etc/config/wifi_schedule") then
+        return
+    end
+    entry({"admin", "services", "wifi_schedule"}, firstchild(), _("Wifi Schedule"), 60).dependent=false
+    entry({"admin", "services", "wifi_schedule", "tab_from_cbi"}, cbi("wifischedule/wifi_schedule"), _("Schedule"), 1)
+    entry({"admin", "services", "wifi_schedule", "wifi_schedule"}, call("wifi_schedule_log"), _("View Logfile"), 2)
+    entry({"admin", "services", "wifi_schedule", "cronjob"}, call("view_crontab"), _("View Cron Jobs"), 3)
 end
 
 function wifi_schedule_log()
-        local logfile = luci.sys.exec("cat /tmp/log/wifi_schedule.log")
-        luci.template.render("wifischedule/file_viewer", {title="Wifi Schedule Logfile", content=logfile})
+    local logfile = fs.readfile("/tmp/log/wifi_schedule.log") or ""
+    template.render("wifischedule/file_viewer",
+        {title = i18n.translate("Wifi Schedule Logfile"), content = logfile})
 end
 
 function view_crontab()
-        local crontab = luci.sys.exec("cat /etc/crontabs/root")
-        luci.template.render("wifischedule/file_viewer", {title="Cron Jobs", content=crontab})
+    local crontab = fs.readfile("/etc/crontabs/root") or ""
+    template.render("wifischedule/file_viewer",
+        {title = i18n.translate("Cron Jobs"), content = crontab})
 end
index 7c7f1b5..1d30121 100644 (file)
 --
 -- Author: Nils Koenig <openwrt@newk.it>
 
-function file_exists(name)
-   local f=io.open(name,"r")
-   if f~=nil then io.close(f) return true else return false end
-end
-
+local fs = require "nixio.fs"
+local sys = require "luci.sys"
 
 function time_validator(self, value, desc)
     if value ~= nil then
-        
         h_str, m_str = string.match(value, "^(%d%d?):(%d%d?)$")
         h = tonumber(h_str)
         m = tonumber(m_str)
@@ -32,16 +28,16 @@ function time_validator(self, value, desc)
              m <= 59) then
             return value
         end
-    end 
-    return nil, translate("The value '" .. desc .. "' is invalid")
+    end
+    return nil, translatef("The value %s is invalid", desc)
 end
 
 -- -------------------------------------------------------------------------------------------------
 
 -- BEGIN Map
-m = Map("wifi_schedule", translate("Wifi Schedule"), translate("Defines a schedule when to turn on and off wifi.")) 
+m = Map("wifi_schedule", translate("Wifi Schedule"), translate("Defines a schedule when to turn on and off wifi."))
 function m.on_commit(self)
-    luci.sys.exec("/usr/bin/wifi_schedule.sh cron")
+    sys.exec("/usr/bin/wifi_schedule.sh cron")
 end
 -- END Map
 
@@ -54,13 +50,13 @@ global_section.anonymous = true
 
 -- BEGIN Global Enable Checkbox
 global_enable = global_section:option(Flag, "enabled", translate("Enable Wifi Schedule"))
-global_enable.optional=false; 
-global_enable.rmempty = false;
+global_enable.optional = false
+global_enable.rmempty = false
 
 function global_enable.validate(self, value, global_section)
     if value == "1" then
-        if ( file_exists("/sbin/wifi") and
-             file_exists("/usr/bin/wifi_schedule.sh") )then
+        if ( fs.access("/sbin/wifi") and
+             fs.access("/usr/bin/wifi_schedule.sh") )then
             return value
         else
             return nil, translate("Could not find required /usr/bin/wifi_schedule.sh or /sbin/wifi")
@@ -71,39 +67,38 @@ function global_enable.validate(self, value, global_section)
 end
 -- END Global Enable Checkbox
 
-
 -- BEGIN Global Logging Checkbox
 global_logging = global_section:option(Flag, "logging", translate("Enable logging"))
-global_logging.optional=false; 
-global_logging.rmempty = false;
+global_logging.optional = false
+global_logging.rmempty = false
 global_logging.default = 0
 -- END Global Enable Checkbox
 
 -- BEGIN Global Activate WiFi Button
 enable_wifi = global_section:option(Button, "enable_wifi", translate("Activate wifi"))
 function enable_wifi.write()
-    luci.sys.exec("/usr/bin/wifi_schedule.sh start manual")
+    sys.exec("/usr/bin/wifi_schedule.sh start manual")
 end
 -- END Global Activate Wifi Button
 
 -- BEGIN Global Disable WiFi Gracefully Button
 disable_wifi_gracefully = global_section:option(Button, "disable_wifi_gracefully", translate("Disable wifi gracefully"))
 function disable_wifi_gracefully.write()
-    luci.sys.exec("/usr/bin/wifi_schedule.sh stop manual")
+    sys.exec("/usr/bin/wifi_schedule.sh stop manual")
 end
--- END Global Disable Wifi Gracefully Button 
+-- END Global Disable Wifi Gracefully Button
 
 -- BEGIN Disable WiFi Forced Button
 disable_wifi_forced = global_section:option(Button, "disable_wifi_forced", translate("Disabled wifi forced"))
 function disable_wifi_forced.write()
-    luci.sys.exec("/usr/bin/wifi_schedule.sh forcestop manual")
+    sys.exec("/usr/bin/wifi_schedule.sh forcestop manual")
 end
 -- END Global Disable WiFi Forced Button
 
 -- BEGIN Global Unload Modules Checkbox
 global_unload_modules = global_section:option(Flag, "unload_modules", translate("Unload Modules (experimental; saves more power)"))
-global_unload_modules.optional = false;
-global_unload_modules.rmempty = false;
+global_unload_modules.optional = false
+global_unload_modules.rmempty = false
 global_unload_modules.default = 0
 -- END Global Unload Modules Checkbox
 
@@ -111,13 +106,13 @@ global_unload_modules.default = 0
 -- BEGIN Modules
 modules = global_section:option(TextValue, "modules", "")
 modules:depends("unload_modules", global_unload_modules.enabled);
-modules.wrap    = "off"
-modules.rows    = 10
+modules.wrap = "off"
+modules.rows = 10
 
 function modules.cfgvalue(self, section)
-    mod=uci.get("wifi_schedule", section, "modules")
+    mod = uci.get("wifi_schedule", section, "modules")
     if mod == nil then
-        mod=""
+        mod = ""
     end
     return mod:gsub(" ", "\r\n")
 end
@@ -131,28 +126,27 @@ function modules.write(self, section, value)
 end
 -- END Modules
 
--- BEGIN Determine Modules 
+-- BEGIN Determine Modules
 determine_modules = global_section:option(Button, "determine_modules", translate("Determine Modules Automatically"))
 determine_modules:depends("unload_modules", global_unload_modules.enabled);
 function determine_modules.write(self, section)
-    output = luci.sys.exec("/usr/bin/wifi_schedule.sh getmodules")
+    output = sys.exec("/usr/bin/wifi_schedule.sh getmodules")
     modules:write(section, output)
 end
 -- END Determine Modules
 
-
 -- BEGIN Section
 d = m:section(TypedSection, "entry", translate("Schedule events"))
-d.addremove = true  
+d.addremove = true
 --d.anonymous = true
 -- END Section
 
 -- BEGIN Enable Checkbox
 c = d:option(Flag, "enabled", translate("Enable"))
-c.optional=false; c.rmempty = false;
+c.optional = false
+c.rmempty = false
 -- END Enable Checkbox
 
-
 -- BEGIN Day(s) of Week
 dow = d:option(MultiValue, "daysofweek", translate("Day(s) of Week"))
 dow.optional = false
@@ -168,8 +162,8 @@ dow:value("Sunday", translate("Sunday"))
 
 -- BEGIN Start Wifi Dropdown
 starttime =  d:option(Value, "starttime", translate("Start WiFi"))
-starttime.optional=false; 
-starttime.rmempty = false;
+starttime.optional = false
+starttime.rmempty = false
 starttime:value("00:00")
 starttime:value("01:00")
 starttime:value("02:00")
@@ -198,14 +192,12 @@ starttime:value("23:00")
 function starttime.validate(self, value, d)
     return time_validator(self, value, translate("Start Time"))
 end
-
 -- END Start Wifi Dropdown
 
-
 -- BEGIN Stop Wifi Dropdown
-stoptime =  d:option(Value, "stoptime", translate("Stop WiFi"))
-stoptime.optional=false;
-stoptime.rmempty = false;
+stoptime = d:option(Value, "stoptime", translate("Stop WiFi"))
+stoptime.optional = false
+stoptime.rmempty = false
 stoptime:value("00:00")
 stoptime:value("01:00")
 stoptime:value("02:00")
@@ -236,15 +228,14 @@ function stoptime.validate(self, value, d)
 end
 -- END Stop Wifi Dropdown
 
-
 -- BEGIN Force Wifi Stop Checkbox
 force_wifi = d:option(Flag, "forcewifidown", translate("Force disabling wifi even if stations associated"))
 force_wifi.default = false
-force_wifi.rmempty = false;
+force_wifi.rmempty = false
 
 function force_wifi.validate(self, value, d)
     if value == "0" then
-        if file_exists("/usr/bin/iwinfo") then
+        if fs.access("/usr/bin/iwinfo") then
             return value
         else
             return nil, translate("Could not find required programm /usr/bin/iwinfo")
@@ -255,5 +246,4 @@ function force_wifi.validate(self, value, d)
 end
 -- END Force Wifi Checkbox
 
-
 return m
index 2c7beba..f67a2be 100644 (file)
@@ -15,7 +15,7 @@ Author: Nils Koenig <openwrt@newk.it>
 -%>
 
 <%+header%>
-<h2 name="title"><%=translate(title)%></h2>
+<h2 name="title"><%=title%></h2>
 <div id="content_fileviewer">
 <textarea style="width: 100%" readonly="readonly" wrap="off" rows="<%=content:cmatch("\n")+1%>" id="content_id"><%=content:pcdata()%></textarea>
 </div>
index b654c63..3bc7864 100644 (file)
@@ -42,12 +42,12 @@ msgstr "WiFiの強制終了"
 msgid "Enable"
 msgstr "有効"
 
-msgid "Enable logging"
-msgstr "ログの有効化"
-
 msgid "Enable Wifi Schedule"
 msgstr "WiFi スケジュールの有効化"
 
+msgid "Enable logging"
+msgstr "ログの有効化"
+
 msgid "Force disabling wifi even if stations associated"
 msgstr "ステーションが関連付けられていてもWiFiを強制終了する"
 
@@ -84,6 +84,9 @@ msgstr "WiFiの停止"
 msgid "Sunday"
 msgstr "日曜日"
 
+msgid "The value %s is invalid"
+msgstr "%s の値が無効です"
+
 msgid "Thursday"
 msgstr "木曜日"
 
index c61dd62..639c432 100644 (file)
@@ -31,10 +31,10 @@ msgstr ""
 msgid "Enable"
 msgstr ""
 
-msgid "Enable logging"
+msgid "Enable Wifi Schedule"
 msgstr ""
 
-msgid "Enable Wifi Schedule"
+msgid "Enable logging"
 msgstr ""
 
 msgid "Force disabling wifi even if stations associated"
@@ -73,6 +73,9 @@ msgstr ""
 msgid "Sunday"
 msgstr ""
 
+msgid "The value %s is invalid"
+msgstr ""
+
 msgid "Thursday"
 msgstr ""
 
index 397e6ec..ab3a8d0 100644 (file)
@@ -1,5 +1,5 @@
 msgid ""
-msgstr "Content-Type: text/plain; charset=UTF-8"
+msgstr "Content-Type: text/plain; charset=UTF-8\n"
 
 msgid "Activate wifi"
 msgstr "激活 WiFi"
@@ -17,7 +17,7 @@ msgid "Day(s) of Week"
 msgstr "星期"
 
 msgid "Defines a schedule when to turn on and off wifi."
-msgstr "定义打开和关闭 WiFi 的时间表"
+msgstr "定义自动打开和关闭 WiFi 的计划表"
 
 msgid "Determine Modules Automatically"
 msgstr "自动确定模块"
@@ -31,12 +31,12 @@ msgstr "强制关闭 WiFi"
 msgid "Enable"
 msgstr "启用"
 
+msgid "Enable Wifi Schedule"
+msgstr "启用 WiFi 计划"
+
 msgid "Enable logging"
 msgstr "启用日志"
 
-msgid "Enable Wifi Schedule"
-msgstr "启用 WiFi 时间表"
-
 msgid "Force disabling wifi even if stations associated"
 msgstr "即使有设备连接也强制关闭 WiFi"
 
@@ -53,7 +53,7 @@ msgid "Saturday"
 msgstr "星期六"
 
 msgid "Schedule"
-msgstr "时间表"
+msgstr "计划表"
 
 msgid "Schedule events"
 msgstr "计划事件"
@@ -73,6 +73,9 @@ msgstr "关闭 WiFi"
 msgid "Sunday"
 msgstr "星期日"
 
+msgid "The value %s is invalid"
+msgstr "%s 的值无效"
+
 msgid "Thursday"
 msgstr "星期四"
 
@@ -80,7 +83,7 @@ msgid "Tuesday"
 msgstr "星期二"
 
 msgid "Unload Modules (experimental; saves more power)"
-msgstr "å\8f\96æ¶\88å\8a 载模块(实验性的,节省更多电量)"
+msgstr "å\8d¸载模块(实验性的,节省更多电量)"
 
 msgid "View Cron Jobs"
 msgstr "查看计划任务"
@@ -92,7 +95,7 @@ msgid "Wednesday"
 msgstr "星期三"
 
 msgid "Wifi Schedule"
-msgstr "WiFi 时间表"
+msgstr "WiFi 计划"
 
 msgid "Wifi Schedule Logfile"
-msgstr "WiFi 时间表日志文件"
+msgstr "WiFi 计划日志文件"
index 37442a3..b5f4b09 100644 (file)
@@ -11,7 +11,9 @@ LUCI_BASENAME:=ssl-openssl
 
 LUCI_TITLE:=LuCI with HTTPS support (OpenSSL as SSL backend)
 LUCI_DESCRIPTION:=LuCI with OpenSSL as the SSL backend (libustream-openssl). \
- Note: px5g still requires libpolarssl
+ Note: px5g still requires libmbedtls (in LEDE) or libpolarssl (in Openwrt). \
+ In LEDE it is also possible to replace px5g with openssl-util as uhttpd can \
+ also generate keys with openssl commandline tools if px5g is not installed.
 LUCI_DEPENDS:=+luci +libustream-openssl +px5g
 
 include ../../luci.mk
index c15f02d..d9bbd99 100644 (file)
@@ -4,7 +4,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=freifunk-common
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
index ce7d40d..753ff25 100644 (file)
@@ -15,8 +15,8 @@ LUCI_TITLE:=LuCI core libraries
 LUCI_DEPENDS:=+lua +libuci-lua +luci-lib-nixio +luci-lib-ip +rpcd +libubus-lua +luci-lib-jsonc
 
 PKG_SOURCE:=LuaSrcDiet-0.12.1.tar.bz2
-PKG_SOURCE_URL:=https://luasrcdiet.googlecode.com/files
-PKG_MD5SUM:=8a0812701e29b6715e4d76f2f118264a
+PKG_SOURCE_URL:=https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/luasrcdiet
+PKG_MD5SUM:=ed7680f2896269ae8633756e7edcf09050812f78c8f49e280e63c30d14f35aea
 
 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/LuaSrcDiet-0.12.1
 
index 8273175..106810a 100644 (file)
@@ -96,7 +96,7 @@ function iface_get_network(iface)
                        if net.l3_device == iface or net.device == iface then
                                -- cross check with uci to filter out @name style aliases
                                local uciname = cur:get("network", net.interface, "ifname")
-                               if not uciname or uciname:sub(1, 1) ~= "@" then
+                               if type(uciname) == "string" and uciname:sub(1,1) ~= "@" or uciname then
                                        return net.interface
                                end
                        end
index 06fd6b6..044339b 100644 (file)
@@ -292,9 +292,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -579,6 +576,9 @@ msgstr "Comprovació"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Suma de verificació"
 
index 5079cb9..8c850a2 100644 (file)
@@ -292,9 +292,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -578,6 +575,9 @@ msgstr "Kontrola"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Kontrolní součet"
 
index c43deb0..e44d8bb 100644 (file)
@@ -291,9 +291,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -578,6 +575,9 @@ msgstr "Prüfen"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Prüfsumme"
 
index b1ce7a3..a196f5b 100644 (file)
@@ -299,9 +299,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -587,6 +584,9 @@ msgstr "Έλεγχος"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Άθροισμα Ελέγχου"
 
index a784612..125314d 100644 (file)
@@ -290,9 +290,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -576,6 +573,9 @@ msgstr "Check"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Checksum"
 
index 3cab5bb..da786b6 100644 (file)
@@ -296,9 +296,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -583,6 +580,9 @@ msgstr "Comprobar"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Comprobación"
 
index 417d281..cce8ee2 100644 (file)
@@ -302,9 +302,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -588,6 +585,9 @@ msgstr "Vérification"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Somme de contrôle"
 
index d1c5821..0b11005 100644 (file)
@@ -289,9 +289,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -578,6 +575,9 @@ msgstr "לבדוק"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr ""
 
index 9045c59..2b85df1 100644 (file)
@@ -295,9 +295,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -583,6 +580,9 @@ msgstr "Ellenőrzés"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Ellenőrző összeg"
 
index 5c894d1..2f5350d 100644 (file)
@@ -302,9 +302,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -588,6 +585,9 @@ msgstr "Verifica"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Checksum"
 
index f6b10f1..ed72412 100644 (file)
@@ -290,9 +290,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr "常にデフォルト ルーターとして通知する"
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -581,6 +578,9 @@ msgstr "チェック"
 msgid "Check fileystems before mount"
 msgstr "マウント前にファイルシステムをチェックする"
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "チェックサム"
 
index 06a45df..af52ee7 100644 (file)
@@ -284,9 +284,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -572,6 +569,9 @@ msgstr ""
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr ""
 
@@ -1244,7 +1244,7 @@ msgid "Global network options"
 msgstr ""
 
 msgid "Go to password configuration..."
-msgstr ""
+msgstr "암호 설정 하기"
 
 msgid "Go to relevant configuration page"
 msgstr ""
@@ -2000,7 +2000,7 @@ msgid "No package lists available"
 msgstr ""
 
 msgid "No password set!"
-msgstr ""
+msgstr "암호 설정을 해주세요!"
 
 msgid "No rules in this chain"
 msgstr ""
@@ -2734,7 +2734,7 @@ msgid "Service Type"
 msgstr ""
 
 msgid "Services"
-msgstr "Services"
+msgstr "서비스"
 
 msgid "Set up Time Synchronization"
 msgstr ""
@@ -3120,6 +3120,8 @@ msgid ""
 "There is no password set on this router. Please configure a root password to "
 "protect the web interface and enable SSH."
 msgstr ""
+"이 공유기에 암호 설정이 되지 않았습니다. 웹 UI 와 SSH 부분을 보호하기 "
+"위해서 꼭 root 암호를 설정해 주세요."
 
 msgid "This IPv4 address of the relay"
 msgstr ""
index 05c44b8..8ba922f 100644 (file)
@@ -279,9 +279,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -562,6 +559,9 @@ msgstr ""
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Jumlah disemak "
 
index 37f7281..f9dad0a 100644 (file)
@@ -288,9 +288,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -574,6 +571,9 @@ msgstr "Kontroller"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Kontrollsum"
 
index 1e4c9bc..a78584c 100644 (file)
@@ -303,9 +303,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -592,6 +589,9 @@ msgstr "Sprawdź"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Suma kontrolna"
 
index 66a6600..0bcd639 100644 (file)
@@ -303,9 +303,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -589,6 +586,9 @@ msgstr "Verificar"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Soma de verificação"
 
index 5b63bbf..d8790dc 100644 (file)
@@ -301,9 +301,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -587,6 +584,9 @@ msgstr "Verificar"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Checksum"
 
index 90a643a..4135c79 100644 (file)
@@ -287,9 +287,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -570,6 +567,9 @@ msgstr "Verificare"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Suma de verificare"
 
index 43b1933..e704588 100644 (file)
@@ -300,9 +300,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -587,6 +584,9 @@ msgstr "Проверить"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Контрольная сумма"
 
index b39addb..f824029 100644 (file)
@@ -273,9 +273,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -556,6 +553,9 @@ msgstr ""
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr ""
 
index 737809b..4e22808 100644 (file)
@@ -279,9 +279,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -562,6 +559,9 @@ msgstr ""
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr ""
 
index 536425a..5a77cd2 100644 (file)
@@ -266,9 +266,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -549,6 +546,9 @@ msgstr ""
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr ""
 
index 4d4226e..7f0ea7e 100644 (file)
@@ -286,9 +286,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -569,6 +566,9 @@ msgstr ""
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr ""
 
index 0449e40..29b1514 100644 (file)
@@ -310,9 +310,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -596,6 +593,9 @@ msgstr "Перевірити"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Контрольна сума"
 
index cf9cbf4..0cc83bf 100644 (file)
@@ -280,9 +280,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -563,6 +560,9 @@ msgstr ""
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "Checksum"
 
index 1f0bf97..7c00f8f 100644 (file)
@@ -3,21 +3,21 @@ msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-12-21 23:08+0200\n"
-"PO-Revision-Date: 2015-12-20 13:14+0800\n"
-"Last-Translator: GuoGuo <gch981213@gmail.com>\n"
+"PO-Revision-Date: 2017-01-07 21:46+0800\n"
+"Last-Translator: Hsing-Wang Liao <kuoruan@gmail.com>\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: Poedit 1.8.5\n"
+"X-Generator: Poedit 1.8.11\n"
 "Language-Team: \n"
 
 msgid "%s is untagged in multiple VLANs!"
-msgstr ""
+msgstr "%s 在多个 VLAN 中未标记"
 
 msgid "(%d minute window, %d second interval)"
-msgstr "(%d分钟信息,%d秒刷新)"
+msgstr "(%d 分钟信息,%d 秒刷新)"
 
 msgid "(%s available)"
 msgstr "(%s 可用)"
@@ -50,91 +50,89 @@ msgid "15 Minute Load:"
 msgstr "15分钟负载:"
 
 msgid "464XLAT (CLAT)"
-msgstr ""
+msgstr "464XLAT (CLAT)"
 
 msgid "5 Minute Load:"
 msgstr "5分钟负载:"
 
 msgid "<abbr title=\"Basic Service Set Identifier\">BSSID</abbr>"
-msgstr "<abbr title=\"Basic Service Set Identifier\">BSSID</abbr>"
+msgstr "<abbr title=\"基本服务集标识符\">BSSID</abbr>"
 
 msgid "<abbr title=\"Domain Name System\">DNS</abbr> query port"
-msgstr "<abbr title=\"Domain Name System\">DNS</abbr> 查询端口"
+msgstr "<abbr title=\"域名服务系统\">DNS</abbr> 查询端口"
 
 msgid "<abbr title=\"Domain Name System\">DNS</abbr> server port"
-msgstr "<abbr title=\"Domain Name System\">DNS</abbr> 服务器端口"
+msgstr "<abbr title=\"域名服务系统\">DNS</abbr> 服务器端口"
 
 msgid ""
 "<abbr title=\"Domain Name System\">DNS</abbr> servers will be queried in the "
 "order of the resolvfile"
-msgstr "将会按照指定的顺序查询<abbr title=\"Domain Name System\">DNS</abbr>"
+msgstr "将会按照指定的顺序查询<abbr title=\"域名服务系统\">DNS</abbr>"
 
 msgid "<abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"
-msgstr "<abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"
+msgstr "<abbr title=\"扩展服务集标识符\">ESSID</abbr>"
 
 msgid "<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"
-msgstr "<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-地址"
+msgstr "<abbr title=\"互联网协议第4版\">IPv4</abbr>-地址"
 
 msgid "<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Gateway"
-msgstr "<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-网关"
+msgstr "<abbr title=\"互联网协议第4版\">IPv4</abbr>-网关"
 
 msgid "<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"
-msgstr "<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-子网掩码"
+msgstr "<abbr title=\"互联网协议第4版\">IPv4</abbr>-子网掩码"
 
 msgid ""
 "<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Address or Network "
 "(CIDR)"
 msgstr ""
-"<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-地址或超网() (<abbr "
-"title=\"无类别域间路由\">CIDR</abbr>)"
+"<abbr title=\"互联网协议第6版\">IPv6</abbr>-地址或超网(<abbr title=\"无类别域"
+"间路由\">CIDR</abbr>)"
 
 msgid "<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Gateway"
-msgstr "<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-网关"
+msgstr "<abbr title=\"互联网协议第6版\">IPv6</abbr>-网关"
 
 msgid "<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Suffix (hex)"
-msgstr ""
-"<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-后缀(十六进制)"
+msgstr "<abbr title=\"互联网协议第6版\">IPv6</abbr>-后缀(十六进制)"
 
 msgid "<abbr title=\"Light Emitting Diode\">LED</abbr> Configuration"
-msgstr "<abbr title=\"Light Emitting Diode\">LED</abbr>配置"
+msgstr "<abbr title=\"发光二极管\">LED</abbr>配置"
 
 msgid "<abbr title=\"Light Emitting Diode\">LED</abbr> Name"
-msgstr "<abbr title=\"Light Emitting Diode\">LED</abbr>名称"
+msgstr "<abbr title=\"发光二极管\">LED</abbr>名称"
 
 msgid "<abbr title=\"Media Access Control\">MAC</abbr>-Address"
-msgstr "<abbr title=\"Media Access Control\">MAC</abbr>-地址"
+msgstr "<abbr title=\"介质访问控制\">MAC</abbr>-地址"
 
 msgid ""
 "<abbr title=\"maximal\">Max.</abbr> <abbr title=\"Dynamic Host Configuration "
 "Protocol\">DHCP</abbr> leases"
-msgstr ""
-"最大<abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>分配数量"
+msgstr "最大<abbr title=\"动态主机配置协议\">DHCP</abbr>分配数量"
 
 msgid ""
 "<abbr title=\"maximal\">Max.</abbr> <abbr title=\"Extension Mechanisms for "
 "Domain Name System\">EDNS0</abbr> packet size"
-msgstr "最大<abbr title=\"DNS扩展名\">EDNS0</abbr>数据包大小"
+msgstr "最大<abbr title=\"DNS扩展名机制\">EDNS0</abbr>数据包大小"
 
 msgid "<abbr title=\"maximal\">Max.</abbr> concurrent queries"
-msgstr "<abbr title=\"maximal\">最大</abbr>并发查询数"
+msgstr "最大并发查询数"
 
 msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>"
 msgstr "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>"
 
 msgid "A43C + J43 + A43"
-msgstr ""
+msgstr "A43C + J43 + A43"
 
 msgid "A43C + J43 + A43 + V43"
-msgstr ""
+msgstr "A43C + J43 + A43 + V43"
 
 msgid "ADSL"
 msgstr "ADSL"
 
 msgid "AICCU (SIXXS)"
-msgstr ""
+msgstr "AICCU (SIXXS)"
 
 msgid "ANSI T1.413"
-msgstr ""
+msgstr "ANSI T1.413"
 
 msgid "APN"
 msgstr "APN"
@@ -146,7 +144,7 @@ msgid "ARP retry threshold"
 msgstr "ARP重试阈值"
 
 msgid "ATM (Asynchronous Transfer Mode)"
-msgstr ""
+msgstr "ATM(异步传输模式)"
 
 msgid "ATM Bridges"
 msgstr "ATM桥接"
@@ -169,10 +167,10 @@ msgid "ATM device number"
 msgstr "ATM设备号码"
 
 msgid "ATU-C System Vendor ID"
-msgstr ""
+msgstr "ATU-C系统供应商ID"
 
 msgid "AYIYA"
-msgstr ""
+msgstr "AYIYA"
 
 msgid "Access Concentrator"
 msgstr "接入集中器"
@@ -190,10 +188,10 @@ msgid "Activate this network"
 msgstr "激活此网络"
 
 msgid "Active <abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Routes"
-msgstr "活动的<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-链路"
+msgstr "活动的<abbr title=\"互联网协议第4版\">IPv4</abbr>-链路"
 
 msgid "Active <abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Routes"
-msgstr "活动的<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-链路"
+msgstr "活动的<abbr title=\"互联网协议第6版\">IPv6</abbr>-链路"
 
 msgid "Active Connections"
 msgstr "活动连接"
@@ -220,7 +218,7 @@ msgid "Additional Hosts files"
 msgstr "额外的HOSTS文件"
 
 msgid "Additional servers file"
-msgstr ""
+msgstr "额外的SERVERS文件"
 
 msgid "Address"
 msgstr "地址"
@@ -235,7 +233,7 @@ msgid "Advanced Settings"
 msgstr "高级设置"
 
 msgid "Aggregate Transmit Power(ACTATP)"
-msgstr ""
+msgstr "总发射功率(ACTATP)"
 
 msgid "Alert"
 msgstr "警戒"
@@ -243,13 +241,13 @@ msgstr "警戒"
 msgid ""
 "Allocate IP addresses sequentially, starting from the lowest available "
 "address"
-msgstr ""
+msgstr "从最低可用地址开始顺序分配IP地址"
 
 msgid "Allocate IP sequentially"
-msgstr ""
+msgstr "顺序分配IP"
 
 msgid "Allow <abbr title=\"Secure Shell\">SSH</abbr> password authentication"
-msgstr "允许<abbr title=\"Secure Shell\">SSH</abbr>密码验证"
+msgstr "允许<abbr title=\"安全外壳协议\">SSH</abbr>密码验证"
 
 msgid "Allow all except listed"
 msgstr "仅允许列表外"
@@ -264,7 +262,7 @@ msgid "Allow remote hosts to connect to local SSH forwarded ports"
 msgstr "允许远程主机连接到本地SSH转发端口"
 
 msgid "Allow root logins with password"
-msgstr "root权限登录"
+msgstr "允许root用户凭密码登录"
 
 msgid "Allow the <em>root</em> user to login with password"
 msgstr "允许<em>root</em>用户凭密码登录"
@@ -274,68 +272,65 @@ msgid ""
 msgstr "允许127.0.0.0/8回环范围内的上行响应,例如:RBL服务"
 
 msgid "Allowed IPs"
-msgstr ""
+msgstr "允许的IP"
 
 msgid ""
 "Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
 "\">Tunneling Comparison</a> on SIXXS"
 msgstr ""
 "也请查看SIXXS上的<a href=\"https://www.sixxs.net/faq/connectivity/?"
-"faq=comparison\">Tunneling Comparison</a> "
+"faq=comparison\">隧道对比</a>"
 
 msgid "Always announce default router"
 msgstr "总是广播默认路由"
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
-msgstr ""
+msgstr "Annex"
 
 msgid "Annex A + L + M (all)"
-msgstr ""
+msgstr "Annex A + L + M (全部)"
 
 msgid "Annex A G.992.1"
-msgstr ""
+msgstr "Annex A G.992.1"
 
 msgid "Annex A G.992.2"
-msgstr ""
+msgstr "Annex A G.992.2"
 
 msgid "Annex A G.992.3"
-msgstr ""
+msgstr "Annex A G.992.3"
 
 msgid "Annex A G.992.5"
-msgstr ""
+msgstr "Annex A G.992.5"
 
 msgid "Annex B (all)"
-msgstr ""
+msgstr "Annex B (全部)"
 
 msgid "Annex B G.992.1"
-msgstr ""
+msgstr "Annex B G.992.1"
 
 msgid "Annex B G.992.3"
-msgstr ""
+msgstr "Annex B G.992.3"
 
 msgid "Annex B G.992.5"
-msgstr ""
+msgstr "Annex B G.992.5"
 
 msgid "Annex J (all)"
-msgstr ""
+msgstr "Annex J (全部)"
 
 msgid "Annex L G.992.3 POTS 1"
-msgstr ""
+msgstr "Annex L G.992.3 POTS 1"
 
 msgid "Annex M (all)"
-msgstr ""
+msgstr "Annex M (全部)"
 
 msgid "Annex M G.992.3"
-msgstr ""
+msgstr "Annex M G.992.3"
 
 msgid "Annex M G.992.5"
-msgstr ""
+msgstr "Annex M G.992.5"
 
 msgid "Announce as default router even if no public prefix is available."
-msgstr "即使没有可用的公共前缀也广播默认路由"
+msgstr "即使没有可用的公共前缀也广播默认路由"
 
 msgid "Announced DNS domains"
 msgstr "广播的DNS域名"
@@ -344,7 +339,7 @@ msgid "Announced DNS servers"
 msgstr "广播的DNS服务器"
 
 msgid "Anonymous Identity"
-msgstr ""
+msgstr "匿名身份"
 
 msgid "Anonymous Mount"
 msgstr "自动挂载未配置的磁盘分区"
@@ -379,7 +374,7 @@ msgstr "分配接口..."
 
 msgid ""
 "Assign prefix parts using this hexadecimal subprefix ID for this interface."
-msgstr ""
+msgstr "指定此接口使用的十六进制子ID前缀部分"
 
 msgid "Associated Stations"
 msgstr "已连接站点"
@@ -388,7 +383,7 @@ msgid "Atheros 802.11%s Wireless Controller"
 msgstr "Qualcomm/Atheros 802.11%s 无线网卡"
 
 msgid "Auth Group"
-msgstr ""
+msgstr "认证组"
 
 msgid "AuthGroup"
 msgstr "认证组"
@@ -397,7 +392,7 @@ msgid "Authentication"
 msgstr "认证"
 
 msgid "Authentication Type"
-msgstr ""
+msgstr "认证类型"
 
 msgid "Authoritative"
 msgstr "授权的唯一DHCP服务器"
@@ -418,10 +413,10 @@ msgid "Automatically check filesystem for errors before mounting"
 msgstr "在挂载前自动检查文件系统错误"
 
 msgid "Automatically mount filesystems on hotplug"
-msgstr "通过hotplug自动挂载磁盘"
+msgstr "通过Hotplug自动挂载磁盘"
 
 msgid "Automatically mount swap on hotplug"
-msgstr "通过hotplug自动挂载Swap分区"
+msgstr "通过Hotplug自动挂载Swap分区"
 
 msgid "Automount Filesystem"
 msgstr "自动挂载磁盘"
@@ -439,13 +434,13 @@ msgid "Average:"
 msgstr "平均:"
 
 msgid "B43 + B43C"
-msgstr ""
+msgstr "B43 + B43C"
 
 msgid "B43 + B43C + V43"
-msgstr ""
+msgstr "B43 + B43C + V43"
 
 msgid "BR / DMR / AFTR"
-msgstr ""
+msgstr "BR / DMR / AFTR"
 
 msgid "BSSID"
 msgstr "BSSID"
@@ -495,13 +490,13 @@ msgstr ""
 "备份文件。"
 
 msgid "Bind interface"
-msgstr ""
+msgstr "绑定接口"
 
 msgid "Bind only to specific interfaces rather than wildcard address."
-msgstr ""
+msgstr "仅绑定到特定接口,而不是全部地址。"
 
 msgid "Bind the tunnel to this interface (optional)."
-msgstr ""
+msgstr "将隧道绑定到此接口(可选)。"
 
 msgid "Bitrate"
 msgstr "传输速率"
@@ -539,7 +534,7 @@ msgid "Buttons"
 msgstr "按键"
 
 msgid "CA certificate; if empty it will be saved after the first connection."
-msgstr "CA证书.如果留空的话证书将在第一次连接时被保存."
+msgstr "CA证书,如果留空的话证书将在第一次连接时被保存。"
 
 msgid "CPU usage (%)"
 msgstr "CPU使用率(%)"
@@ -571,6 +566,9 @@ msgstr "检查"
 msgid "Check fileystems before mount"
 msgstr "在挂载前检查文件系统"
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "校验值"
 
@@ -590,7 +588,7 @@ msgid "Cipher"
 msgstr "算法"
 
 msgid "Cisco UDP encapsulation"
-msgstr ""
+msgstr "Cisco UDP封装"
 
 msgid ""
 "Click \"Generate archive\" to download a tar archive of the current "
@@ -696,7 +694,7 @@ msgstr "自定义的软件源"
 msgid ""
 "Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
 "\">LED</abbr>s if possible."
-msgstr "自定义<abbr title=\"Light Emitting Diode\">LED</abbr>的活动状态。"
+msgstr "自定义<abbr title=\"发光二极管\">LED</abbr>的活动状态。"
 
 msgid "DHCP Leases"
 msgstr "DHCP分配"
@@ -732,34 +730,34 @@ msgid "DNS forwardings"
 msgstr "DNS转发"
 
 msgid "DNS-Label / FQDN"
-msgstr ""
+msgstr "DNS-Label / FQDN"
 
 msgid "DNSSEC"
-msgstr ""
+msgstr "DNSSEC"
 
 msgid "DNSSEC check unsigned"
-msgstr ""
+msgstr "DNSSEC未签名检查"
 
 msgid "DPD Idle Timeout"
-msgstr ""
+msgstr "DPD空闲超时"
 
 msgid "DS-Lite AFTR address"
-msgstr ""
+msgstr "DS-Lite AFTR地址"
 
 msgid "DSL"
-msgstr ""
+msgstr "DSL"
 
 msgid "DSL Status"
-msgstr ""
+msgstr "DSL状态"
 
 msgid "DSL line mode"
-msgstr ""
+msgstr "DSL线路模式"
 
 msgid "DUID"
-msgstr "DUID(DHCP唯一标识符)"
+msgstr "DUID (DHCP唯一标识符)"
 
 msgid "Data Rate"
-msgstr ""
+msgstr "数据速率"
 
 msgid "Debug"
 msgstr "调试"
@@ -771,7 +769,7 @@ msgid "Default gateway"
 msgstr "默认网关"
 
 msgid "Default is stateless + stateful"
-msgstr ""
+msgstr "默认是无状态 + 有状态"
 
 msgid "Default route"
 msgstr "默认路由"
@@ -832,17 +830,16 @@ msgstr "禁用"
 msgid ""
 "Disable <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr> for "
 "this interface."
-msgstr ""
-"禁用本接口的<abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>。"
+msgstr "禁用本接口的<abbr title=\"动态主机配置协议\">DHCP</abbr>。"
 
 msgid "Disable DNS setup"
 msgstr "停用DNS设定"
 
 msgid "Disable Encryption"
-msgstr ""
+msgstr "禁用加密"
 
 msgid "Disable HW-Beacon timer"
-msgstr "停用 HW-Beacon 计时器"
+msgstr "停用HW-Beacon计时器"
 
 msgid "Disabled"
 msgstr "禁用"
@@ -891,7 +888,7 @@ msgid "Domain whitelist"
 msgstr "域名白名单"
 
 msgid "Don't Fragment"
-msgstr ""
+msgstr "禁止碎片"
 
 msgid ""
 "Don't forward <abbr title=\"Domain Name System\">DNS</abbr>-Requests without "
@@ -911,14 +908,14 @@ msgid ""
 "Dropbear offers <abbr title=\"Secure Shell\">SSH</abbr> network shell access "
 "and an integrated <abbr title=\"Secure Copy\">SCP</abbr> server"
 msgstr ""
-"Dropbear提供了集成的<abbr title=\"Secure Copy\">SCP</abbr>服务器和基于<abbr "
-"title=\"Secure Shell\">SSH</abbr>的shell访问"
+"Dropbear提供了集成的<abbr title=\"安全复制\">SCP</abbr>服务器和基于<abbr "
+"title=\"安全外壳协议\">SSH</abbr>的Shell访问"
 
 msgid "Dual-Stack Lite (RFC6333)"
-msgstr ""
+msgstr "Dual-Stack Lite (RFC6333)"
 
 msgid "Dynamic <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>"
-msgstr "动态<abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>"
+msgstr "动态<abbr title=\"动态主机配置协议\">DHCP</abbr>"
 
 msgid "Dynamic tunnel"
 msgstr "动态隧道"
@@ -929,10 +926,10 @@ msgid ""
 msgstr "动态分配DHCP地址。如果禁用,则只能为静态租用表中的客户端提供网络服务。"
 
 msgid "EA-bits length"
-msgstr ""
+msgstr "EA位长度"
 
 msgid "EAP-Method"
-msgstr "EAP-Method"
+msgstr "EAP类型"
 
 msgid "Edit"
 msgstr "修改"
@@ -955,13 +952,13 @@ msgid "Enable"
 msgstr "启用"
 
 msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
-msgstr "开启<abbr title=\"Spanning Tree Protocol\">STP</abbr>"
+msgstr "开启<abbr title=\"生成树协议\">STP</abbr>"
 
 msgid "Enable HE.net dynamic endpoint update"
 msgstr "启用HE.net动态终端更新"
 
 msgid "Enable IPv6 negotiation"
-msgstr ""
+msgstr "启用IPv6协商"
 
 msgid "Enable IPv6 negotiation on the PPP link"
 msgstr "在PPP链路上启用IPv6协商"
@@ -973,7 +970,7 @@ msgid "Enable NTP client"
 msgstr "启用NTP客户端"
 
 msgid "Enable Single DES"
-msgstr ""
+msgstr "启用单个DES"
 
 msgid "Enable TFTP server"
 msgstr "启用TFTP服务器"
@@ -982,7 +979,7 @@ msgid "Enable VLAN functionality"
 msgstr "启用VLAN"
 
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
-msgstr "启用WPS按键配置.要求使用WPA(2)-PSK"
+msgstr "启用WPS按键配置要求使用WPA(2)-PSK"
 
 msgid "Enable learning and aging"
 msgstr "启用智能交换学习"
@@ -994,7 +991,7 @@ msgid "Enable mirroring of outgoing packets"
 msgstr "启用流出数据包镜像"
 
 msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
-msgstr ""
+msgstr "启用封装数据包的DF(禁止碎片)标志。"
 
 msgid "Enable this mount"
 msgstr "启用挂载点"
@@ -1018,10 +1015,10 @@ msgid "Encryption"
 msgstr "加密"
 
 msgid "Endpoint Host"
-msgstr ""
+msgstr "端点主机"
 
 msgid "Endpoint Port"
-msgstr ""
+msgstr "端点端口"
 
 msgid "Erasing..."
 msgstr "擦除中..."
@@ -1030,7 +1027,7 @@ msgid "Error"
 msgstr "错误"
 
 msgid "Errored seconds (ES)"
-msgstr ""
+msgstr "错误秒数(ES)"
 
 msgid "Ethernet Adapter"
 msgstr "以太网适配器"
@@ -1039,7 +1036,7 @@ msgid "Ethernet Switch"
 msgstr "以太网交换机"
 
 msgid "Exclude interfaces"
-msgstr ""
+msgstr "排除接口"
 
 msgid "Expand hosts"
 msgstr "扩展HOSTS文件中的主机后缀"
@@ -1047,22 +1044,21 @@ msgstr "扩展HOSTS文件中的主机后缀"
 msgid "Expires"
 msgstr "到期时间"
 
-#, fuzzy
 msgid ""
 "Expiry time of leased addresses, minimum is 2 minutes (<code>2m</code>)."
-msgstr "地址租期,最小2分钟(<code>2m</code>)。"
+msgstr "租用地址的到期时间,最短2分钟(<code>2m</code>)。"
 
 msgid "External"
-msgstr ""
+msgstr "远程"
 
 msgid "External system log server"
-msgstr "远程log服务器"
+msgstr "远程日志服务器"
 
 msgid "External system log server port"
-msgstr "远程log服务器端口"
+msgstr "远程日志服务器端口"
 
 msgid "External system log server protocol"
-msgstr ""
+msgstr "远程日志服务器协议"
 
 msgid "Extra SSH command options"
 msgstr "额外的SSH命令选项"
@@ -1114,7 +1110,7 @@ msgid "Firewall Status"
 msgstr "防火墙状态"
 
 msgid "Firmware File"
-msgstr ""
+msgstr "固件文件"
 
 msgid "Firmware Version"
 msgstr "固件版本"
@@ -1153,16 +1149,16 @@ msgid "Force TKIP and CCMP (AES)"
 msgstr "TKIP和CCMP(AES)混合加密"
 
 msgid "Force use of NAT-T"
-msgstr ""
+msgstr "强制使用NAT-T"
 
 msgid "Form token mismatch"
-msgstr ""
+msgstr "表单令牌不匹配"
 
 msgid "Forward DHCP traffic"
 msgstr "转发DHCP数据包"
 
 msgid "Forward Error Correction Seconds (FECS)"
-msgstr ""
+msgstr "前向纠错秒数(FECS)"
 
 msgid "Forward broadcast traffic"
 msgstr "转发广播数据包"
@@ -1186,6 +1182,8 @@ msgid ""
 "Further information about WireGuard interfaces and peers at <a href=\"http://"
 "wireguard.io\">wireguard.io</a>."
 msgstr ""
+"有关WireGuard接口和Peer的更多信息:<a href=\"http://wireguard.io\">wireguard."
+"io</a>"
 
 msgid "GHz"
 msgstr "GHz"
@@ -1206,7 +1204,7 @@ msgid "General Setup"
 msgstr "基本设置"
 
 msgid "General options for opkg"
-msgstr "opkg基础配置"
+msgstr "Opkg基础配置"
 
 msgid "Generate Config"
 msgstr "生成配置"
@@ -1233,7 +1231,7 @@ msgid "Go to relevant configuration page"
 msgstr "跳转到相关的配置页面"
 
 msgid "Group Password"
-msgstr ""
+msgstr "组密码"
 
 msgid "Guest"
 msgstr "访客"
@@ -1245,7 +1243,7 @@ msgid "HE.net username"
 msgstr "HE.net用户名"
 
 msgid "HT mode (802.11n)"
-msgstr ""
+msgstr "HT模式(802.11n)"
 
 msgid "Handler"
 msgstr "处理程序"
@@ -1254,7 +1252,7 @@ msgid "Hang Up"
 msgstr "挂起"
 
 msgid "Header Error Code Errors (HEC)"
-msgstr ""
+msgstr "头错误代码错误(HEC)"
 
 msgid "Heartbeat"
 msgstr "心跳"
@@ -1273,10 +1271,10 @@ msgid "Hermes 802.11b Wireless Controller"
 msgstr "Hermes 802.11b 无线网卡"
 
 msgid "Hide <abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"
-msgstr "隐藏<abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"
+msgstr "隐藏<abbr title=\"扩展服务集标识符\">ESSID</abbr>"
 
 msgid "Host"
-msgstr ""
+msgstr "主机"
 
 msgid "Host entries"
 msgstr "主机目录"
@@ -1300,7 +1298,7 @@ msgid "Hybrid"
 msgstr "混合"
 
 msgid "IKE DH Group"
-msgstr ""
+msgstr "IKE DH组"
 
 msgid "IP address"
 msgstr "IP地址"
@@ -1345,7 +1343,7 @@ msgid "IPv4-Address"
 msgstr "IPv4-地址"
 
 msgid "IPv4-in-IPv4 (RFC2003)"
-msgstr ""
+msgstr "IPv4-in-IPv4 (RFC2003)"
 
 msgid "IPv6"
 msgstr "IPv6"
@@ -1372,7 +1370,7 @@ msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
 msgstr "绑定到本地隧道终点的IPv6地址(可选)"
 
 msgid "IPv6 assignment hint"
-msgstr ""
+msgstr "IPv6分配提示"
 
 msgid "IPv6 assignment length"
 msgstr "IPv6分配长度"
@@ -1408,10 +1406,10 @@ msgid "Identity"
 msgstr "鉴权"
 
 msgid "If checked, 1DES is enaled"
-msgstr ""
+msgstr "选中以启用1DES"
 
 msgid "If checked, encryption is disabled"
-msgstr ""
+msgstr "选中以禁用加密"
 
 msgid ""
 "If specified, mount the device by its UUID instead of a fixed device node"
@@ -1455,12 +1453,14 @@ msgid ""
 "In order to prevent unauthorized access to the system, your request has been "
 "blocked. Click \"Continue »\" below to return to the previous page."
 msgstr ""
+"为了防止对系统的未授权访问,您的请求已被阻止。点击下面的 “继续 »” 来返回上一"
+"页。"
 
 msgid "Inactivity timeout"
 msgstr "活动超时"
 
 msgid "Inbound:"
-msgstr "入站:"
+msgstr "入站"
 
 msgid "Info"
 msgstr "信息"
@@ -1475,10 +1475,10 @@ msgid "Install"
 msgstr "安装"
 
 msgid "Install iputils-traceroute6 for IPv6 traceroute"
-msgstr "安装iputils-traceroute6以进行IPv6 traceroute"
+msgstr "安装 iputils-traceroute6 以进行IPv6 traceroute"
 
 msgid "Install package %q"
-msgstr "安装软件包%q"
+msgstr "安装软件包 %q"
 
 msgid "Install protocol extensions..."
 msgstr "安装扩展协议..."
@@ -1502,10 +1502,10 @@ msgid "Interface is shutting down..."
 msgstr "正在关闭接口..."
 
 msgid "Interface name"
-msgstr ""
+msgstr "接口名称"
 
 msgid "Interface not present or not connected yet."
-msgstr "接口不存在或未连接"
+msgstr "接口不存在或未连接"
 
 msgid "Interface reconnected"
 msgstr "接口已重新连接"
@@ -1517,7 +1517,7 @@ msgid "Interfaces"
 msgstr "接口"
 
 msgid "Internal"
-msgstr ""
+msgstr "内部"
 
 msgid "Internal Server Error"
 msgstr "内部服务器错误"
@@ -1526,19 +1526,18 @@ msgid "Invalid"
 msgstr "无效"
 
 msgid "Invalid VLAN ID given! Only IDs between %d and %d are allowed."
-msgstr "无效的VLAN ID只有 %d 和 %d 之间的ID有效。"
+msgstr "无效的VLAN ID只有 %d 和 %d 之间的ID有效。"
 
 msgid "Invalid VLAN ID given! Only unique IDs are allowed"
-msgstr "无效的VLAN ID只允许唯一的ID。"
+msgstr "无效的VLAN ID只允许唯一的ID。"
 
 msgid "Invalid username and/or password! Please try again."
-msgstr "无效的用户名和/或密码请重试。"
+msgstr "无效的用户名和/或密码请重试。"
 
-#, fuzzy
 msgid ""
 "It appears that you are trying to flash an image that does not fit into the "
 "flash memory, please verify the image file!"
-msgstr "将要刷新的固件与本路由器不兼容,请重新验证固件文件。"
+msgstr "你尝试刷写的固件与本路由器不兼容,请重新验证固件文件。"
 
 msgid "Java Script required!"
 msgstr "需要Java Script!"
@@ -1547,10 +1546,10 @@ msgid "Join Network"
 msgstr "加入网络"
 
 msgid "Join Network: Wireless Scan"
-msgstr "加入网络:搜索无线"
+msgstr "加入网络搜索无线"
 
 msgid "Joining Network: %q"
-msgstr ""
+msgstr "加入网络:%q"
 
 msgid "Keep settings"
 msgstr "保留配置"
@@ -1595,13 +1594,13 @@ msgid "Language and Style"
 msgstr "语言和界面"
 
 msgid "Latency"
-msgstr ""
+msgstr "延迟"
 
 msgid "Leaf"
-msgstr "叶"
+msgstr "叶"
 
 msgid "Lease time"
-msgstr ""
+msgstr "租期"
 
 msgid "Lease validity time"
 msgstr "有效租期"
@@ -1628,22 +1627,22 @@ msgid "Limit"
 msgstr "客户数"
 
 msgid "Limit DNS service to subnets interfaces on which we are serving DNS."
-msgstr ""
+msgstr "将DNS服务限制到我们提供DNS的子网接口。"
 
 msgid "Limit listening to these interfaces, and loopback."
-msgstr ""
+msgstr "仅监听这些接口和环回接口。"
 
 msgid "Line Attenuation (LATN)"
-msgstr ""
+msgstr "线路衰减(LATN)"
 
 msgid "Line Mode"
-msgstr ""
+msgstr "线路模式"
 
 msgid "Line State"
 msgstr "线路状态"
 
 msgid "Line Uptime"
-msgstr ""
+msgstr "线路运行时间"
 
 msgid "Link On"
 msgstr "活动链接"
@@ -1654,7 +1653,7 @@ msgid ""
 msgstr "将指定的域名DNS解析转发到指定的DNS服务器(按照示例填写)"
 
 msgid "List of SSH key files for auth"
-msgstr ""
+msgstr "用于认证的SSH密钥文件列表"
 
 msgid "List of domains to allow RFC1918 responses for"
 msgstr "允许RFC1918响应的域名列表"
@@ -1663,10 +1662,10 @@ msgid "List of hosts that supply bogus NX domain results"
 msgstr "允许虚假空域名响应的服务器列表"
 
 msgid "Listen Interfaces"
-msgstr ""
+msgstr "监听接口"
 
 msgid "Listen Port"
-msgstr ""
+msgstr "监听端口"
 
 msgid "Listen only on the given interface or, if unspecified, on all"
 msgstr "监听指定的接口;未指定则监听全部"
@@ -1684,7 +1683,7 @@ msgid "Loading"
 msgstr "加载中"
 
 msgid "Local IP address to assign"
-msgstr ""
+msgstr "要分配的本地IP地址"
 
 msgid "Local IPv4 address"
 msgstr "本地IPv4地址"
@@ -1693,7 +1692,7 @@ msgid "Local IPv6 address"
 msgstr "本地IPv6地址"
 
 msgid "Local Service Only"
-msgstr ""
+msgstr "仅本地服务"
 
 msgid "Local Startup"
 msgstr "本地启动脚本"
@@ -1704,11 +1703,10 @@ msgstr "本地时间"
 msgid "Local domain"
 msgstr "本地域名"
 
-#, fuzzy
 msgid ""
 "Local domain specification. Names matching this domain are never forwarded "
 "and are resolved from DHCP or hosts files only"
-msgstr "æ\9c¬å\9c°å\9f\9få\90\8dè§\84å\88\99ã\80\82ä»\8eä¸\8d转å\8f\91å\92\8cå¤\84ç\90\86å\8fªæº\90è\87ªDHCPæ\88\96HOSTSæ\96\87件ç\9a\84æ\9c¬å\9c°å\9f\9få\90\8dæ\95°æ\8d®"
+msgstr "æ\9c¬å\9c°å\9f\9få\90\8dè§\84å\88\99ã\80\82ä¸\8eæ­¤å\9f\9få\8c¹é\85\8dç\9a\84å\90\8d称ä»\8eä¸\8d转å\8f\91ï¼\8cä»\85ä»\8eDHCPæ\88\96HOSTSæ\96\87件解æ\9e\90"
 
 msgid "Local domain suffix appended to DHCP names and hosts file entries"
 msgstr "本地域名后缀将添加到DHCP和HOSTS文件条目"
@@ -1725,7 +1723,7 @@ msgid "Localise queries"
 msgstr "本地化查询"
 
 msgid "Locked to channel %s used by: %s"
-msgstr "信道道已被锁定为 %s,因为该信道被 %s 使用"
+msgstr "信道道已被锁定为 %s因为该信道被 %s 使用"
 
 msgid "Log output level"
 msgstr "日志记录等级"
@@ -1743,7 +1741,7 @@ msgid "Logout"
 msgstr "退出"
 
 msgid "Loss of Signal Seconds (LOSS)"
-msgstr ""
+msgstr "信号丢失秒数(LOSS)"
 
 msgid "Lowest leased address as offset from the network address."
 msgstr "网络地址的起始分配基址。"
@@ -1761,13 +1759,13 @@ msgid "MAC-List"
 msgstr "MAC-列表"
 
 msgid "MAP / LW4over6"
-msgstr ""
+msgstr "MAP / LW4over6"
 
 msgid "MB/s"
 msgstr "MB/s"
 
 msgid "MD5"
-msgstr ""
+msgstr "MD5"
 
 msgid "MHz"
 msgstr "MHz"
@@ -1778,13 +1776,13 @@ msgstr "MTU"
 msgid ""
 "Make sure to clone the root filesystem using something like the commands "
 "below:"
-msgstr "请确认你已经复制过整个根文件系统,例如使用以下命令:"
+msgstr "请确认你已经复制过整个根文件系统,例如使用以下命令"
 
 msgid "Manual"
-msgstr ""
+msgstr "手动"
 
 msgid "Max. Attainable Data Rate (ATTNDR)"
-msgstr ""
+msgstr "最大可达数据速率(ATTNDR)"
 
 msgid "Maximum Rate"
 msgstr "最高速率"
@@ -1796,7 +1794,7 @@ msgid "Maximum allowed number of concurrent DNS queries"
 msgstr "允许的最大并发DNS查询数"
 
 msgid "Maximum allowed size of EDNS.0 UDP packets"
-msgstr "å\85\81许ç\9a\84æ\9c\80大EDNS.0 UDPæ\8a¥æ\96\87大小"
+msgstr "å\85\81许ç\9a\84æ\9c\80大EDNS.0 UDPæ\95°æ\8d®å\8c\85大小"
 
 msgid "Maximum amount of seconds to wait for the modem to become ready"
 msgstr "调制解调器就绪的最大等待时间(秒)"
@@ -1808,6 +1806,7 @@ msgid ""
 "Maximum length of the name is 15 characters including the automatic protocol/"
 "bridge prefix (br-, 6in4-, pppoe- etc.)"
 msgstr ""
+"名称的最大长度为15个字符,包括自动协议/网桥前缀(br-, 6in4-, pppoe- 等等)"
 
 msgid "Maximum number of leased addresses."
 msgstr "最大地址分配数量。"
@@ -1837,7 +1836,7 @@ msgid "Mirror source port"
 msgstr "数据包镜像源端口"
 
 msgid "Missing protocol extension for proto %q"
-msgstr "缺少协议%q的协议扩展"
+msgstr "缺少协议 %q 的协议扩展"
 
 msgid "Mode"
 msgstr "模式"
@@ -1905,16 +1904,16 @@ msgid "NAS ID"
 msgstr "NAS ID"
 
 msgid "NAT-T Mode"
-msgstr ""
+msgstr "NAT-T模式"
 
 msgid "NAT64 Prefix"
-msgstr ""
+msgstr "NAT64前缀"
 
 msgid "NDP-Proxy"
 msgstr "NDP-代理"
 
 msgid "NT Domain"
-msgstr ""
+msgstr "NT域"
 
 msgid "NTP server candidates"
 msgstr "候选NTP服务器"
@@ -1956,7 +1955,7 @@ msgid "No DHCP Server configured for this interface"
 msgstr "本接口未配置DHCP服务器"
 
 msgid "No NAT-T"
-msgstr ""
+msgstr "无NAT-T"
 
 msgid "No chains in this table"
 msgstr "本表中没有链"
@@ -1992,16 +1991,16 @@ msgid "Noise"
 msgstr "噪声"
 
 msgid "Noise Margin (SNR)"
-msgstr ""
+msgstr "噪声容限(SNR)"
 
 msgid "Noise:"
 msgstr "噪声:"
 
 msgid "Non Pre-emtive CRC errors (CRC_P)"
-msgstr ""
+msgstr "非抢占CRC错误(CRC_P)"
 
 msgid "Non-wildcard"
-msgstr ""
+msgstr "非通配符"
 
 msgid "None"
 msgstr "无"
@@ -2022,7 +2021,7 @@ msgid "Note: Configuration files will be erased."
 msgstr "注意:配置文件将被删除。"
 
 msgid "Note: interface name length"
-msgstr ""
+msgstr "注意:接口名称长度"
 
 msgid "Notice"
 msgstr "注意"
@@ -2031,7 +2030,7 @@ msgid "Nslookup"
 msgstr "Nslookup"
 
 msgid "OK"
-msgstr "OK"
+msgstr "确认"
 
 msgid "OPKG-Configuration"
 msgstr "OPKG-配置"
@@ -2064,7 +2063,7 @@ msgid "One or more fields contain invalid values!"
 msgstr "一个或多个选项值有误!"
 
 msgid "One or more invalid/required values on tab"
-msgstr ""
+msgstr "选项卡上存在一个或多个无效/必需值"
 
 msgid "One or more required fields have no value!"
 msgstr "一个或多个必选项值为空!"
@@ -2073,7 +2072,7 @@ msgid "Open list..."
 msgstr "打开列表..."
 
 msgid "OpenConnect (CISCO AnyConnect)"
-msgstr ""
+msgstr "开放连接(CISCO AnyConnect)"
 
 msgid "Operating frequency"
 msgstr "工作频率"
@@ -2085,13 +2084,13 @@ msgid "Option removed"
 msgstr "移除的选项"
 
 msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr "可选,设置这个选项会覆盖默认设定的服务器(tic.sixxs.net)"
+msgstr "可选设置这个选项会覆盖默认设定的服务器(tic.sixxs.net)"
 
 msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr "可选,如果你的SIXXS账号拥有一个以上的隧道请设置此项."
+msgstr "可选如果你的SIXXS账号拥有一个以上的隧道请设置此项."
 
 msgid "Optional."
-msgstr ""
+msgstr "可选"
 
 msgid ""
 "Optional. Adds in an additional layer of symmetric-key cryptography for post-"
@@ -2099,7 +2098,7 @@ msgid ""
 msgstr ""
 
 msgid "Optional. Create routes for Allowed IPs for this peer."
-msgstr ""
+msgstr "可选,为此Peer创建允许IP的路由。"
 
 msgid ""
 "Optional. Host of peer. Names are resolved prior to bringing up the "
@@ -2107,30 +2106,32 @@ msgid ""
 msgstr ""
 
 msgid "Optional. Maximum Transmission Unit of tunnel interface."
-msgstr ""
+msgstr "可选,隧道接口的最大传输单元。"
 
 msgid "Optional. Port of peer."
-msgstr ""
+msgstr "可选,Peer的端口。"
 
 msgid ""
 "Optional. Seconds between keep alive messages. Default is 0 (disabled). "
 "Recommended value if this device is behind a NAT is 25."
 msgstr ""
+"可选,Keep-Alive消息之间的秒数,默认为0(禁用)。如果此设备位于NAT之后,建议使"
+"用的值为25。"
 
 msgid "Optional. UDP port used for outgoing and incoming packets."
-msgstr ""
+msgstr "可选,用于传出和传入数据包的UDP端口。"
 
 msgid "Options"
 msgstr "选项"
 
 msgid "Other:"
-msgstr "其余:"
+msgstr "其余"
 
 msgid "Out"
 msgstr "出口"
 
 msgid "Outbound:"
-msgstr "出站:"
+msgstr "出站"
 
 msgid "Outdoor Channels"
 msgstr "户外频道"
@@ -2142,24 +2143,24 @@ msgid "Override MAC address"
 msgstr "克隆MAC地址"
 
 msgid "Override MTU"
-msgstr "设置MTU"
+msgstr "更新MTU"
 
 msgid "Override TOS"
-msgstr ""
+msgstr "更新TOS"
 
 msgid "Override TTL"
-msgstr ""
+msgstr "更新TTL"
 
 msgid "Override default interface name"
-msgstr ""
+msgstr "更新默认接口名称"
 
 msgid "Override the gateway in DHCP responses"
-msgstr "更新网关"
+msgstr "更新DHCP响应网关"
 
 msgid ""
 "Override the netmask sent to clients. Normally it is calculated from the "
 "subnet that is served."
-msgstr "更新子网掩码。"
+msgstr "æ\9b´æ\96°å\8f\91é\80\81å\88°å®¢æ\88·ç«¯ç\9a\84å­\90ç½\91æ\8e©ç \81ã\80\82"
 
 msgid "Override the table used for internal routes"
 msgstr "更新内部路由表"
@@ -2195,22 +2196,22 @@ msgid "PPPoE"
 msgstr "PPPoE"
 
 msgid "PPPoSSH"
-msgstr ""
+msgstr "PPPoSSH"
 
 msgid "PPtP"
 msgstr "PPtP"
 
 msgid "PSID offset"
-msgstr ""
+msgstr "PSID偏移"
 
 msgid "PSID-bits length"
-msgstr ""
+msgstr "PSID位长度"
 
 msgid "PTM/EFM (Packet Transfer Mode)"
-msgstr ""
+msgstr "PTM/EFM(分组传输模式)"
 
 msgid "Package libiwinfo required!"
-msgstr "需要libiwinfo软件包!"
+msgstr "需要 libiwinfo 软件包!"
 
 msgid "Package lists are older than 24 hours"
 msgstr "软件包列表已超过24小时未更新"
@@ -2234,7 +2235,7 @@ msgid "Password of Private Key"
 msgstr "私有密钥"
 
 msgid "Password of inner Private Key"
-msgstr ""
+msgstr "内部私钥的密码"
 
 msgid "Password successfully changed!"
 msgstr "密码修改成功!"
@@ -2252,25 +2253,25 @@ msgid "Path to executable which handles the button event"
 msgstr "处理按键动作的可执行文件路径"
 
 msgid "Path to inner CA-Certificate"
-msgstr ""
+msgstr "内部CA证书的路径"
 
 msgid "Path to inner Client-Certificate"
-msgstr ""
+msgstr "内部客户端证书的路径"
 
 msgid "Path to inner Private Key"
-msgstr ""
+msgstr "内部私钥的路径"
 
 msgid "Peak:"
 msgstr "峰值:"
 
 msgid "Peer IP address to assign"
-msgstr ""
+msgstr "要分配的Peer IP地址"
 
 msgid "Peers"
-msgstr ""
+msgstr "Peers"
 
 msgid "Perfect Forward Secrecy"
-msgstr ""
+msgstr "完全正向保密"
 
 msgid "Perform reboot"
 msgstr "执行重启"
@@ -2279,7 +2280,7 @@ msgid "Perform reset"
 msgstr "执行复位"
 
 msgid "Persistent Keep Alive"
-msgstr ""
+msgstr "持续Keep-Alive"
 
 msgid "Phy Rate:"
 msgstr "物理速率:"
@@ -2306,13 +2307,13 @@ msgid "Port status:"
 msgstr "端口状态:"
 
 msgid "Power Management Mode"
-msgstr ""
+msgstr "电源管理模式"
 
 msgid "Pre-emtive CRC errors (CRCP_P)"
-msgstr ""
+msgstr "抢占式CRC错误(CRCP_P)"
 
 msgid "Preshared Key"
-msgstr ""
+msgstr "预共享密钥"
 
 msgid ""
 "Presume peer to be dead after given amount of LCP echo failures, use 0 to "
@@ -2320,7 +2321,7 @@ msgid ""
 msgstr "在指定数量的LCP响应故障后假定链路已断开,0为忽略故障"
 
 msgid "Prevent listening on these interfaces."
-msgstr ""
+msgstr "防止监听这些接口。"
 
 msgid "Prevents client-to-client communication"
 msgstr "禁止客户端间通信"
@@ -2329,7 +2330,7 @@ msgid "Prism2/2.5/3 802.11b Wireless Controller"
 msgstr "Prism2/2.5/3 802.11b 无线网卡"
 
 msgid "Private Key"
-msgstr ""
+msgstr "私钥"
 
 msgid "Proceed"
 msgstr "执行"
@@ -2338,7 +2339,7 @@ msgid "Processes"
 msgstr "系统进程"
 
 msgid "Profile"
-msgstr ""
+msgstr "配置文件"
 
 msgid "Prot."
 msgstr "协议"
@@ -2365,19 +2366,19 @@ msgid "Pseudo Ad-Hoc (ahdemo)"
 msgstr "伪装Ad-Hoc(ahdemo)"
 
 msgid "Public Key"
-msgstr ""
+msgstr "公钥"
 
 msgid "Public prefix routed to this device for distribution to clients."
-msgstr ""
+msgstr "分配到此设备的公共前缀,用以分发到客户端。"
 
 msgid "QMI Cellular"
-msgstr ""
+msgstr "QMI蜂窝"
 
 msgid "Quality"
 msgstr "质量"
 
 msgid "RFC3947 NAT-T mode"
-msgstr ""
+msgstr "RFC3947 NAT-T模式"
 
 msgid "RTS/CTS Threshold"
 msgstr "RTS/CTS阈值"
@@ -2420,33 +2421,31 @@ msgid ""
 "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"
-"删除此接口,可能导致无法再访问路由器!"
+"确定要删除此接口?删除操作无法撤销!\\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"
-"删除此无线网络,可能导致无法再访问路由器!"
+"确定要删除此无线网络?删除操作无法撤销!\\n删除此无线网络,可能导致无法再访问"
+"路由器!"
 
 msgid "Really reset all changes?"
 msgstr "确定要放弃所有更改?"
 
-#, fuzzy
 msgid ""
 "Really shut down network?\\nYou might lose access to this device if you are "
 "connected via this interface."
 msgstr ""
-"确定要关闭此网络?\\\n"
-"å\85³é\97­æ­¤ç½\91ç»\9cï¼\8cå\8f¯è\83½å¯¼è\87´æ\97 æ³\95å\86\8d访é\97®è·¯ç\94±å\99¨!"
+"确定要关闭此网络?\\n如果你正在使用此接口连接路由器,关闭此网络可能导致连接断"
+"å¼\80!"
 
 msgid ""
 "Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
 "you are connected via this interface."
 msgstr ""
-"确定要关闭接口\"%s\" ?\\\n"
-"删除此网络,可能导致无法再访问路由器!"
+"确定要关闭接口 \"%s\"?\\n如果你正在使用此接口连接路由器,关闭此网络可能导致"
+"连接断开!"
 
 msgid "Really switch protocol?"
 msgstr "确定要切换协议?"
@@ -2512,7 +2511,7 @@ msgid "Remote IPv4 address"
 msgstr "远程IPv4地址"
 
 msgid "Remote IPv4 address or FQDN"
-msgstr ""
+msgstr "远程IPv4地址或FQDN"
 
 msgid "Remove"
 msgstr "移除"
@@ -2536,24 +2535,26 @@ msgid "Require TLS"
 msgstr "必须使用TLS"
 
 msgid "Required for certain ISPs, e.g. Charter with DOCSIS 3"
-msgstr "某些ISP需要,例如:同轴线网络DOCSIS 3"
+msgstr "某些ISP需要,例如同轴线网络DOCSIS 3"
 
 msgid "Required. Base64-encoded private key for this interface."
-msgstr ""
+msgstr "必须,此接口的Base64编码私钥。"
 
 msgid ""
 "Required. IP addresses and prefixes that this peer is allowed to use inside "
 "the tunnel. Usually the peer's tunnel IP addresses and the networks the peer "
 "routes through the tunnel."
 msgstr ""
+"必须,允许该Peer在隧道中使用的IP地址和前缀,通常是该Peer的隧道IP地址和通过隧"
+"道的路由网络。"
 
 msgid "Required. Public key of peer."
-msgstr ""
+msgstr "必须,Peer的公钥。"
 
 msgid ""
 "Requires upstream supports DNSSEC; verify unsigned domain responses really "
 "come from unsigned domains"
-msgstr ""
+msgstr "需要上级支持DNSSEC,验证未签名的域响应确实是来自未签名的域。"
 
 msgid "Reset"
 msgstr "复位"
@@ -2595,16 +2596,16 @@ msgid "Root preparation"
 msgstr ""
 
 msgid "Route Allowed IPs"
-msgstr ""
+msgstr "路由允许的IP"
 
 msgid "Route type"
-msgstr ""
+msgstr "路由类型"
 
 msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
+msgstr "下行接口的路由IPv6前缀"
 
 msgid "Router Advertisement-Service"
-msgstr ""
+msgstr "路由器广告服务"
 
 msgid "Router Password"
 msgstr "主机密码"
@@ -2624,18 +2625,18 @@ msgid "Run filesystem check"
 msgstr "文件系统检查"
 
 msgid "SHA256"
-msgstr ""
+msgstr "SHA256"
 
 msgid ""
 "SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
 "use 6in4 instead"
-msgstr ""
+msgstr "SIXXS仅支持TIC,对于使用IP协议41(RFC4213)的静态隧道,使用6in4"
 
 msgid "SIXXS-handle[/Tunnel-ID]"
 msgstr ""
 
 msgid "SNR"
-msgstr ""
+msgstr "SNR"
 
 msgid "SSH Access"
 msgstr "SSH访问"
@@ -2677,7 +2678,7 @@ msgid "Section removed"
 msgstr "移除的区域"
 
 msgid "See \"mount\" manpage for details"
-msgstr "详参\"mount\"联机帮助"
+msgstr "详参 \"mount\" 联机帮助"
 
 msgid ""
 "Send LCP echo requests at the given interval in seconds, only effective in "
@@ -2713,7 +2714,6 @@ msgstr "服务类型"
 msgid "Services"
 msgstr "服务"
 
-#, fuzzy
 msgid "Set up Time Synchronization"
 msgstr "设置时间同步"
 
@@ -2721,7 +2721,7 @@ msgid "Setup DHCP Server"
 msgstr "配置DHCP服务器"
 
 msgid "Severely Errored Seconds (SES)"
-msgstr ""
+msgstr "严重误码秒(SES)"
 
 msgid "Short GI"
 msgstr ""
@@ -2739,7 +2739,7 @@ msgid "Signal"
 msgstr "信号"
 
 msgid "Signal Attenuation (SATN)"
-msgstr ""
+msgstr "信号衰减(SATN)"
 
 msgid "Signal:"
 msgstr "信号:"
@@ -2748,7 +2748,7 @@ msgid "Size"
 msgstr "大小"
 
 msgid "Size (.ipk)"
-msgstr ""
+msgstr "大小(.ipk)"
 
 msgid "Skip"
 msgstr "跳过"
@@ -2782,7 +2782,7 @@ msgid ""
 "flashed manually. Please refer to the wiki for device specific install "
 "instructions."
 msgstr ""
-"抱歉,您的设备暂不支持sysupgrade升级,需手动更新固件。请参考Wiki中关于此设备"
+"抱歉,您的设备暂不支持Sysupgrade升级,需手动更新固件。请参考Wiki中关于此设备"
 "的固件更新说明。"
 
 msgid "Sort"
@@ -2814,17 +2814,17 @@ msgid ""
 msgstr "指定假设主机已丢失的最大时间(秒)"
 
 msgid "Specify a TOS (Type of Service)."
-msgstr ""
+msgstr "指定TOS(服务类型)。"
 
 msgid ""
 "Specify a TTL (Time to Live) for the encapsulating packet other than the "
 "default (64)."
-msgstr ""
+msgstr "为封装数据包设置TTL(生存时间),缺省值:64"
 
 msgid ""
 "Specify an MTU (Maximum Transmission Unit) other than the default (1280 "
 "bytes)."
-msgstr ""
+msgstr "设置MTU(最大传输单位),缺省值:1280 bytes"
 
 msgid "Specify the secret encryption key here."
 msgstr "在此指定密钥。"
@@ -2878,10 +2878,10 @@ msgid "Submit"
 msgstr "提交"
 
 msgid "Suppress logging"
-msgstr ""
+msgstr "不记录日志"
 
 msgid "Suppress logging of the routine operation of these protocols"
-msgstr ""
+msgstr "不记录这些协议的常规操作日志。"
 
 msgid "Swap"
 msgstr "交换区"
@@ -2896,14 +2896,14 @@ msgid "Switch %q"
 msgstr "交换机 %q"
 
 msgid "Switch %q (%s)"
-msgstr "交换机%q (%s)"
+msgstr "交换机 %q (%s)"
 
 msgid ""
 "Switch %q has an unknown topology - the VLAN settings might not be accurate."
-msgstr ""
+msgstr "交换机 %q 具有未知的拓扑结构 - VLAN设置可能不正确。"
 
 msgid "Switch VLAN"
-msgstr ""
+msgstr "VLAN交换机"
 
 msgid "Switch protocol"
 msgstr "切换协议"
@@ -2948,7 +2948,7 @@ msgid "Target"
 msgstr "对象"
 
 msgid "Target network"
-msgstr ""
+msgstr "目标网络"
 
 msgid "Terminate"
 msgstr "关闭"
@@ -2977,7 +2977,7 @@ msgstr "HE.net客户端更新设置已经被改变,您现在必须使用用户
 
 msgid ""
 "The IPv4 address or the fully-qualified domain name of the remote tunnel end."
-msgstr ""
+msgstr "远程隧道端的IPv4地址或完整域名。"
 
 msgid ""
 "The IPv6 prefix assigned to the provider, usually ends with <code>::</code>"
@@ -2996,17 +2996,15 @@ msgstr "由于以下错误,配置文件无法被加载:"
 msgid ""
 "The device file of the memory or partition (<abbr title=\"for example\">e.g."
 "</abbr> <code>/dev/sda1</code>)"
-msgstr ""
-"存储器或分区的设备节点,(<abbr title=\"for example\">例如</abbr> <code>/dev/"
-"sda1</code>)"
+msgstr "存储器或分区的设备节点,(例如:<code>/dev/sda1</code>)"
 
 msgid ""
 "The filesystem that was used to format the memory (<abbr title=\"for example"
 "\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem\">ext3</abbr></"
 "samp>)"
 msgstr ""
-"用于格式化存储器的文件系统,(<abbr title=\"for example\">例如</abbr> "
-"<samp><abbr title=\"Third Extended Filesystem\">ext4</abbr></samp>)"
+"用于格式化存储器的文件系统,(例如:<samp><abbr title=\"第三代扩展文件系统"
+"\">ext3</abbr></samp>)"
 
 msgid ""
 "The flash image was uploaded. Below is the checksum and file size listed, "
@@ -3026,11 +3024,10 @@ msgstr "系统中的活跃连接。"
 msgid "The given network name is not unique"
 msgstr "给定的网络名重复"
 
-#, fuzzy
 msgid ""
 "The hardware is not multi-SSID capable and the existing configuration will "
 "be replaced if you proceed."
-msgstr "本机的硬件不支持多SSID,继续进行将会覆盖现有配置。"
+msgstr "本机的硬件不支持多SSID,如果继续,现有配置将被替换。"
 
 msgid ""
 "The length of the IPv4 prefix in bits, the remainder is used in the IPv6 "
@@ -3041,7 +3038,7 @@ msgid "The length of the IPv6 prefix in bits"
 msgstr "bit格式的IPv6前缀长度"
 
 msgid "The local IPv4 address over which the tunnel is created (optional)."
-msgstr ""
+msgstr "所创建隧道的本地IPv4地址(可选)。"
 
 msgid ""
 "The network ports on this device can be combined to several <abbr title="
@@ -3051,16 +3048,15 @@ msgid ""
 "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 ""
-"本设备可以划分为多个<abbr title=\"Virtual Local Area Network\">VLAN</abbr>,"
-"并支持电脑间的直接通讯。<abbr title=\"Virtual Local Area Network\">VLAN</"
-"abbr>也常用于分割不同网段。默认通常是一条上行端口连接ISP,其余端口为本地子"
-"网。"
+"本设备可以划分为多个<abbr title=\"虚拟局域网\">VLAN</abbr>,并支持电脑间的直"
+"接通讯。<abbr title=\"虚拟局域网\">VLAN</abbr>也常用于分割不同网段。默认通常"
+"是一条上行端口连接ISP,其余端口为本地子网。"
 
 msgid "The selected protocol needs a device assigned"
 msgstr "所选的协议需要分配设备"
 
 msgid "The submitted security token is invalid or already expired!"
-msgstr ""
+msgstr "提交的安全令牌无效或已过期!"
 
 msgid ""
 "The system is erasing the configuration partition now and will reboot itself "
@@ -3079,7 +3075,7 @@ msgstr ""
 msgid ""
 "The tunnel end-point is behind NAT, defaults to disabled and only applies to "
 "AYIYA"
-msgstr ""
+msgstr "隧道端点在NAT之后,默认为禁用,仅适用于AYIYA"
 
 msgid ""
 "The uploaded image file does not contain a supported format. Make sure that "
@@ -3101,7 +3097,7 @@ msgstr "没有待生效的更改!"
 msgid ""
 "There is no device assigned yet, please attach a network device in the "
 "\"Physical Settings\" tab"
-msgstr "尚未分配设备,请在\"物理设置\"选项卡中选择网络设备"
+msgstr "尚未分配设备,请在“物理设置”选项卡中选择网络设备"
 
 msgid ""
 "There is no password set on this router. Please configure a root password to "
@@ -3116,6 +3112,8 @@ msgid ""
 "'server=1.2.3.4' fordomain-specific or full upstream <abbr title=\"Domain "
 "Name System\">DNS</abbr> servers."
 msgstr ""
+"此文件可能包含类似'server=/domain/1.2.3.4'或'server=1.2.3.4'的行,来解析特定"
+"域名或指定上游<abbr title=\"域名服务系统\">DNS</abbr>服务器。"
 
 msgid ""
 "This is a list of shell glob patterns for matching files and directories to "
@@ -3128,7 +3126,7 @@ msgstr ""
 msgid ""
 "This is either the \"Update Key\" configured for the tunnel or the account "
 "password if no update key has been configured"
-msgstr "如果更新密钥没有设置的话,隧道的\"更新密钥\"或者账户密码必须填写."
+msgstr "如果更新密钥没有设置的话,隧道的“更新密钥”或者账户密码必须填写。"
 
 msgid ""
 "This is the content of /etc/rc.local. Insert your own commands here (in "
@@ -3143,19 +3141,17 @@ msgstr "隧道代理分配的本地终端地址,通常以<code>:2</code>结尾
 msgid ""
 "This is the only <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
 "abbr> in the local network"
-msgstr ""
-"这是内网中唯一的<abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
-"abbr>服务器"
+msgstr "这是内网中唯一的<abbr title=\"动态主机配置协议\">DHCP</abbr>服务器"
 
 msgid "This is the plain username for logging into the account"
 msgstr "登录账户时填写的用户名"
 
 msgid ""
 "This is the prefix routed to you by the tunnel broker for use by clients"
-msgstr ""
+msgstr "这是隧道代理分配给你的路由前缀,供客户端使用"
 
 msgid "This is the system crontab in which scheduled tasks can be defined."
-msgstr "自定义系统crontab中的计划任务。"
+msgstr "自定义系统Crontab中的计划任务。"
 
 msgid ""
 "This is usually the address of the nearest PoP operated by the tunnel broker"
@@ -3268,7 +3264,7 @@ msgid "Unable to dispatch"
 msgstr "无法调度"
 
 msgid "Unavailable Seconds (UAS)"
-msgstr ""
+msgstr "不可用秒数(UAS)"
 
 msgid "Unknown"
 msgstr "未知"
@@ -3295,7 +3291,7 @@ msgid ""
 "Upload a sysupgrade-compatible image here to replace the running firmware. "
 "Check \"Keep settings\" to retain the current configuration (requires a "
 "compatible firmware image)."
-msgstr "上传兼容的sysupgrade固件以刷新当前系统。"
+msgstr "上传兼容的Sysupgrade固件以刷新当前系统。"
 
 msgid "Upload archive..."
 msgstr "上传备份..."
@@ -3325,7 +3321,7 @@ msgid "Use TTL on tunnel interface"
 msgstr "隧道接口的TTL"
 
 msgid "Use as external overlay (/overlay)"
-msgstr "作为外部overlay使用(/overlay)"
+msgstr "作为外部Overlay使用(/overlay)"
 
 msgid "Use as root filesystem (/)"
 msgstr "作为跟文件系统使用(/)"
@@ -3334,7 +3330,7 @@ msgid "Use broadcast flag"
 msgstr "使用广播标签"
 
 msgid "Use builtin IPv6-management"
-msgstr ""
+msgstr "使用内置的IPv6管理"
 
 msgid "Use custom DNS servers"
 msgstr "使用自定义的DNS服务器"
@@ -3377,19 +3373,19 @@ msgid "VC-Mux"
 msgstr "VC-Mux"
 
 msgid "VDSL"
-msgstr ""
+msgstr "VDSL"
 
 msgid "VLANs on %q"
-msgstr "%q上的VLAN"
+msgstr "%q 上的VLAN"
 
 msgid "VLANs on %q (%s)"
-msgstr "%q (%s)上的VLAN"
+msgstr "%q (%s) 上的VLAN"
 
 msgid "VPN Local address"
-msgstr ""
+msgstr "VPN本地地址"
 
 msgid "VPN Local port"
-msgstr ""
+msgstr "VPN本地端口"
 
 msgid "VPN Server"
 msgstr "VPN服务器"
@@ -3401,7 +3397,7 @@ msgid "VPN Server's certificate SHA1 hash"
 msgstr "VPN服务器证书的SHA1哈希值"
 
 msgid "VPNC (CISCO 3000 (and others) VPN)"
-msgstr ""
+msgstr "VPNC (CISCO 3000 和其他VPN)"
 
 msgid "Vendor"
 msgstr ""
@@ -3410,10 +3406,10 @@ msgid "Vendor Class to send when requesting DHCP"
 msgstr "请求DHCP时发送的Vendor Class"
 
 msgid "Verbose"
-msgstr ""
+msgstr "详细"
 
 msgid "Verbose logging by aiccu daemon"
-msgstr ""
+msgstr "aiccu守护程序详细日志"
 
 msgid "Verify"
 msgstr "验证"
@@ -3448,7 +3444,7 @@ msgstr ""
 
 msgid ""
 "Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr "在NTP同步之前等待时间.设置为0表示同步之前不等待(可选)"
+msgstr "在NTP同步之前等待时间设置为0表示同步之前不等待(可选)"
 
 msgid "Waiting for changes to be applied..."
 msgstr "正在应用更改..."
@@ -3466,10 +3462,10 @@ msgid "Warning: There are unsaved changes that will get lost on reboot!"
 msgstr "警告:有一些未保存的配置将在重启后丢失!"
 
 msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
+msgstr "是否通过隧道创建IPv6缺省路由"
 
 msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
+msgstr "是否仅路由来自分发前缀的数据包"
 
 msgid "Width"
 msgstr "频宽"
@@ -3514,7 +3510,7 @@ msgid "Write received DNS requests to syslog"
 msgstr "将收到的DNS请求写入系统日志"
 
 msgid "Write system log to file"
-msgstr ""
+msgstr "将系统日志写入文件"
 
 msgid "XR Support"
 msgstr "XR支持"
@@ -3536,8 +3532,8 @@ msgid ""
 "upgrade it to at least version 7 or use another browser like Firefox, Opera "
 "or Safari."
 msgstr ""
-"你的Internet Explorer已经老到无法正常显示这个页面了!请至少更新到IE7或者使用诸"
-"如Firefox Opera Safari之类的浏览器."
+"你的Internet Explorer已经老到无法正常显示这个页面了!请至少更新到IE7或者使用"
+"诸如Firefox Opera Safari之类的浏览器。"
 
 msgid "any"
 msgstr "任意"
@@ -3578,8 +3574,7 @@ msgstr "过期时间"
 msgid ""
 "file where given <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
 "abbr>-leases will be stored"
-msgstr ""
-"存放<abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>租约的文件"
+msgstr "存放<abbr title=\"动态主机配置协议\">DHCP</abbr>租约的文件"
 
 msgid "forward"
 msgstr "转发"
@@ -3615,16 +3610,16 @@ msgid "kbit/s"
 msgstr "kbit/s"
 
 msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
-msgstr "本地<abbr title=\"Domain Name System\">DNS</abbr>解析文件"
+msgstr "本地<abbr title=\"域名服务系统\">DNS</abbr>解析文件"
 
 msgid "minimum 1280, maximum 1480"
-msgstr "最小值1280,最大值1480"
+msgstr "最小值1280最大值1480"
 
 msgid "navigation Navigation"
-msgstr ""
+msgstr "导航"
 
 msgid "no"
-msgstr "no"
+msgstr ""
 
 msgid "no link"
 msgstr "未连接"
@@ -3633,7 +3628,7 @@ msgid "none"
 msgstr "无"
 
 msgid "not present"
-msgstr ""
+msgstr "不存在"
 
 msgid "off"
 msgstr "关"
@@ -3645,7 +3640,7 @@ msgid "open"
 msgstr "开放式"
 
 msgid "overlay"
-msgstr ""
+msgstr "覆盖"
 
 msgid "relay mode"
 msgstr "中继模式"
@@ -3657,19 +3652,19 @@ msgid "server mode"
 msgstr "服务器模式"
 
 msgid "skiplink1 Skip to navigation"
-msgstr ""
+msgstr "skiplink1 跳转到导航"
 
 msgid "skiplink2 Skip to content"
-msgstr ""
+msgstr "skiplink2 跳到内容"
 
 msgid "stateful-only"
-msgstr ""
+msgstr "有状态的"
 
 msgid "stateless"
-msgstr ""
+msgstr "无状态的"
 
 msgid "stateless + stateful"
-msgstr ""
+msgstr "有状态和无状态的"
 
 msgid "tagged"
 msgstr "关联"
@@ -3684,7 +3679,7 @@ msgid "unspecified"
 msgstr "未指定"
 
 msgid "unspecified -or- create:"
-msgstr "未指定 // 创建:"
+msgstr "未指定或创建:"
 
 msgid "untagged"
 msgstr "不关联"
@@ -3695,11 +3690,14 @@ msgstr "是"
 msgid "« Back"
 msgstr "« 后退"
 
+#~ msgid "An additional network will be created if you leave this checked."
+#~ msgstr "如果选中此复选框,则会创建一个附加网络。"
+
 #~ msgid "An additional network will be created if you leave this unchecked."
 #~ msgstr "取消选中将会另外创建一个新网络,而不会覆盖当前网络设置"
 
 #~ msgid "Join Network: Settings"
-#~ msgstr "加入网络:设置"
+#~ msgstr "加入网络设置"
 
 #~ msgid "CPU"
 #~ msgstr "CPU"
index 6c26078..15ffafc 100644 (file)
@@ -283,9 +283,6 @@ msgstr ""
 msgid "Always announce default router"
 msgstr ""
 
-msgid "An additional network will be created if you leave this checked."
-msgstr ""
-
 msgid "Annex"
 msgstr ""
 
@@ -568,6 +565,9 @@ msgstr "檢查"
 msgid "Check fileystems before mount"
 msgstr ""
 
+msgid "Check this option to delete the existing networks from this radio."
+msgstr ""
+
 msgid "Checksum"
 msgstr "效驗碼"
 
index 24db1e4..ad575e0 100644 (file)
@@ -24,8 +24,10 @@ function index()
        entry({"admin", "status", "realtime", "bandwidth"}, template("admin_status/bandwidth"), _("Traffic"), 2).leaf = true
        entry({"admin", "status", "realtime", "bandwidth_status"}, call("action_bandwidth")).leaf = true
 
-       entry({"admin", "status", "realtime", "wireless"}, template("admin_status/wireless"), _("Wireless"), 3).leaf = true
-       entry({"admin", "status", "realtime", "wireless_status"}, call("action_wireless")).leaf = true
+       if nixio.fs.access("/etc/config/wireless") then
+               entry({"admin", "status", "realtime", "wireless"}, template("admin_status/wireless"), _("Wireless"), 3).leaf = true
+               entry({"admin", "status", "realtime", "wireless_status"}, call("action_wireless")).leaf = true
+       end
 
        entry({"admin", "status", "realtime", "connections"}, template("admin_status/connections"), _("Connections"), 4).leaf = true
        entry({"admin", "status", "realtime", "connections_status"}, call("action_connections")).leaf = true
index cf8cfb5..5478afa 100644 (file)
@@ -52,6 +52,7 @@ function action_clock_status()
                        luci.sys.call("date -s '%04d-%02d-%02d %02d:%02d:%02d'" %{
                                date.year, date.month, date.day, date.hour, date.min, date.sec
                        })
+                       luci.sys.call("/etc/init.d/sysfixtime restart")
                end
        end
 
index 05b27a9..8277deb 100644 (file)
@@ -16,7 +16,7 @@ if not iw then
        return
 end
 
-m = SimpleForm("network", translate("Joining Network: %q", http.formvalue("join")))
+m = SimpleForm("network", translatef("Joining Network: %q", http.formvalue("join")))
 m.cancel = translate("Back to scan results")
 m.reset = false
 
@@ -44,7 +44,7 @@ m.hidden = {
 
 if iw and iw.mbssid_support then
        replace = m:field(Flag, "replace", translate("Replace wireless configuration"),
-               translate("An additional network will be created if you leave this checked."))
+               translate("Check this option to delete the existing networks from this radio."))
 
        function replace.cfgvalue() return "0" end
 else