From: Daniel Dickinson Date: Tue, 10 Jan 2017 22:19:55 +0000 (-0500) Subject: Merge pull request #930 from cshore-firmware/pull-request-fix-webadmin X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fluci.git;a=commitdiff_plain;h=6c13339ad393fdbf5f6633ba2a41a7814baed9b6;hp=7bfd36d5855100fe18a7759644aef697e9d03cee Merge pull request #930 from cshore-firmware/pull-request-fix-webadmin base: webadmin: Don't take substring of nil variable --- diff --git a/applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua b/applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua index 096724f73..435837444 100644 --- a/applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua +++ b/applications/luci-app-fwknopd/luasrc/model/cbi/fwknopd.lua @@ -1,19 +1,19 @@ -- Copyright 2015 Jonathan Bennett -- 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 diff --git a/applications/luci-app-fwknopd/luasrc/view/fwknopd-qr.htm b/applications/luci-app-fwknopd/luasrc/view/fwknopd-qr.htm index 9e6e8185f..5773f523e 100644 --- a/applications/luci-app-fwknopd/luasrc/view/fwknopd-qr.htm +++ b/applications/luci-app-fwknopd/luasrc/view/fwknopd-qr.htm @@ -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 %> diff --git a/applications/luci-app-fwknopd/root/etc/uci-defaults/40_luci-fwknopd b/applications/luci-app-fwknopd/root/etc/uci-defaults/40_luci-fwknopd index 01b85de25..65ef01245 100644 --- a/applications/luci-app-fwknopd/root/etc/uci-defaults/40_luci-fwknopd +++ b/applications/luci-app-fwknopd/root/etc/uci-defaults/40_luci-fwknopd @@ -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 diff --git a/applications/luci-app-fwknopd/root/usr/sbin/gen-qr.sh b/applications/luci-app-fwknopd/root/usr/sbin/gen-qr.sh index 97493dafe..abca5d3e5 100644 --- a/applications/luci-app-fwknopd/root/usr/sbin/gen-qr.sh +++ b/applications/luci-app-fwknopd/root/usr/sbin/gen-qr.sh @@ -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" diff --git a/applications/luci-app-olsr/luasrc/controller/olsr.lua b/applications/luci-app-olsr/luasrc/controller/olsr.lua index 9a997bdc1..0564bd4ea 100644 --- a/applications/luci-app-olsr/luasrc/controller/olsr.lua +++ b/applications/luci-app-olsr/luasrc/controller/olsr.lua @@ -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 = {} diff --git a/applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm b/applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm index 31dd7d05a..c077c2048 100644 --- a/applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm +++ b/applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm @@ -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 <% 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 diff --git a/applications/luci-app-privoxy/po/zh-cn/privoxy.po b/applications/luci-app-privoxy/po/zh-cn/privoxy.po index 75d1a921c..778422b8b 100644 --- a/applications/luci-app-privoxy/po/zh-cn/privoxy.po +++ b/applications/luci-app-privoxy/po/zh-cn/privoxy.po @@ -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 \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请求所经过的多重代理链。注意父级代理可能严重降低你的隐私安全" -"度。在这里还可以设置SOCKS代理。" +"在这里设置 HTTP 请求所经过的多重代理链。注意:父级代理可能严重降低你的隐私安" +"全度。在这里还可以设置 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连接,让他们知道如何联系你、什么内容被屏蔽" -"了、你为什么要这么做、你所制定的规范等等是一个好主意。" +"如果除了你还有其他用户使用 Privoxy 连接,最好让他们知道如何联系你,你屏蔽什" +"么,你为什么这样做,你的政策等等。" 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 "记录所有发送给网络的数据" +msgstr "记录所有发送的网络数据" 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 "非致命性错误 - * 强烈建议开启 *" 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 "是否只运行一个服务线程。" diff --git a/applications/luci-app-shairplay/po/ja/shairplay.po b/applications/luci-app-shairplay/po/ja/shairplay.po new file mode 100644 index 000000000..07fa7be6e --- /dev/null +++ b/applications/luci-app-shairplay/po/ja/shairplay.po @@ -0,0 +1,54 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2017-01-03 15:06+0900\n" +"Last-Translator: INAGAKI Hiroshi \n" +"Language-Team: \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"X-Poedit-Basepath: .\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "AO Device ID" +msgstr "オーディオ出力 デバイスID" + +msgid "AO Device Name" +msgstr "オーディオ出力 デバイス名" + +msgid "AO Driver" +msgstr "オーディオ出力 デバイスドライバー" + +msgid "Airport Name" +msgstr "Airport名" + +msgid "Default" +msgstr "デフォルト" + +msgid "Enabled" +msgstr "有効" + +msgid "HW Address" +msgstr "ハードウェア アドレス" + +msgid "Password" +msgstr "パスワード" + +msgid "Port" +msgstr "ポート" + +msgid "Respawn" +msgstr "リスポーン" + +msgid "Shairplay" +msgstr "" + +msgid "" +"Shairplay is a simple AirPlay server implementation, here you can configure " +"the settings." +msgstr "" +"Shairplayは、シンプルなAirPlay サーバー実装です。ここでは、設定を行うことがで" +"きます。" diff --git a/applications/luci-app-shairplay/po/templates/shairplay.pot b/applications/luci-app-shairplay/po/templates/shairplay.pot new file mode 100644 index 000000000..b3da99e0b --- /dev/null +++ b/applications/luci-app-shairplay/po/templates/shairplay.pot @@ -0,0 +1,40 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +msgid "AO Device ID" +msgstr "" + +msgid "AO Device Name" +msgstr "" + +msgid "AO Driver" +msgstr "" + +msgid "Airport Name" +msgstr "" + +msgid "Default" +msgstr "" + +msgid "Enabled" +msgstr "" + +msgid "HW Address" +msgstr "" + +msgid "Password" +msgstr "" + +msgid "Port" +msgstr "" + +msgid "Respawn" +msgstr "" + +msgid "Shairplay" +msgstr "" + +msgid "" +"Shairplay is a simple AirPlay server implementation, here you can configure " +"the settings." +msgstr "" diff --git a/applications/luci-app-travelmate/po/ja/travelmate.po b/applications/luci-app-travelmate/po/ja/travelmate.po new file mode 100644 index 000000000..986d7b32b --- /dev/null +++ b/applications/luci-app-travelmate/po/ja/travelmate.po @@ -0,0 +1,72 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"Last-Translator: INAGAKI Hiroshi \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Language: ja\n" + +msgid "" +"Brief advice: Create a wwan interface, configure it to use dhcp and add it " +"to the wan zone in firewall. Create the wifi interfaces to be used ('client' " +"mode, assigned to wwan network, left as disabled). Travelmate will try to " +"connect to the known wifi client interfaces in the defined order." +msgstr "" +"簡単な解説: 予めWWANインターフェースを作成し、DHCPを使用するよう構成してファ" +"イアウォールのWANゾーンに追加します。また、使用される無線インターフェースを作" +"成しておきます(\"クライアント\" モード、WWANに割り当て、無効状態)。" +"Travelmateは、登録されている順序で既知の無線クライアント インターフェースへの" +"接続を試行します。" + +msgid "" +"Configuration of the Travelmate package to enable travel router " +"functionality." +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 30, range 5-60" +msgstr "既定値 30、範囲 5 - 60" + +msgid "Default: empty = use all radios." +msgstr "デフォルト:(空)= 全ての無線を使用" + +msgid "Disable this if you want to use iwinfo instead of iw" +msgstr "iw の代わりに iwinfo を使用したい場合、この設定を無効にします。" + +msgid "Enable Travelmate" +msgstr "Travelmateの有効化" + +msgid "Extra options" +msgstr "拡張オプション" + +msgid "Global options" +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 "Travelmate" +msgstr "Travelmate" + +msgid "Use iw for scanning" +msgstr "スキャンに iw を使用する" + +msgid "Use only one radio, e.g. 'radio0'" +msgstr "単一の無線のみ使用する 例: 'radio0'" diff --git a/applications/luci-app-uhttpd/po/ja/uhttpd.po b/applications/luci-app-uhttpd/po/ja/uhttpd.po new file mode 100644 index 000000000..572903404 --- /dev/null +++ b/applications/luci-app-uhttpd/po/ja/uhttpd.po @@ -0,0 +1,213 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2017-01-01 18:11+0900\n" +"Last-Translator: INAGAKI Hiroshi \n" +"Language-Team: \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"X-Poedit-Basepath: .\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +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 "Advanced Settings" +msgstr "詳細設定" + +msgid "Aliases" +msgstr "エイリアス" + +msgid "Base directory for files to be served" +msgstr "サーバーがホストするファイルのベースディレクトリです。" + +msgid "Bind to specific interface:port (by specifying interface address" +msgstr "" +"インターフェースのアドレスを使用して、特定のインターフェースとポートに関連付" +"けます。" + +msgid "CGI filetype handler" +msgstr "CGIファイル形式 ハンドラー" + +msgid "CGI is disabled if not present." +msgstr "指定しない場合、CGIは無効になります。" + +msgid "Config file (e.g. for credentials for Basic Auth)" +msgstr "設定ファイル(例: 基本認証用の資格情報)" + +msgid "Connection reuse" +msgstr "接続の再使用" + +msgid "Country" +msgstr "国" + +msgid "Disable JSON-RPC authorization via ubus session API" +msgstr "ubus セッションAPI経由のJSON-RPC認証を無効にする" + +msgid "Do not follow symlinks outside document root" +msgstr "ドキュメント ルート外へのシンボリックリンクを追随しない" + +msgid "Do not generate directory listings." +msgstr "ディレクトリの待ち受けを生成しない" + +msgid "Document root" +msgstr "ドキュメント ルート" + +msgid "E.g specify with index.html and index.php when using PHP" +msgstr "index.html や、PHPを使用しているときは index.php を設定します。" + +msgid "Embedded Lua interpreter is disabled if not present." +msgstr "指定しない場合、組込みLua インタープリタは無効になります。" + +msgid "Enable JSON-RPC Cross-Origin Resource Support" +msgstr "" + +msgid "For settings primarily geared to serving more than the web UI" +msgstr "主に、Web UI以上のものを提供することを対象とした設定です。" + +msgid "Full Web Server Settings" +msgstr "完全なWebサーバー設定" + +msgid "Full real path to handler for Lua scripts" +msgstr "Lua スクリプトへの絶対パス" + +msgid "General Settings" +msgstr "一般設定" + +msgid "HTTP listeners (address:port)" +msgstr "HTTP 待ち受け(アドレス:ポート)" + +msgid "HTTPS Certificate (DER Encoded)" +msgstr "HTTPS 証明書(DER エンコード)" + +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を無視する" + +msgid "Index page(s)" +msgstr "インデックス ページ" + +msgid "" +"Interpreter to associate with file endings ('suffix=handler', e.g. '.php=/" +"usr/bin/php-cgi')" +msgstr "" +"ファイル拡張子に関連付けるインタープリタです。('suffix=handler'、例: '.php=/" +"usr/bin/php-cgi')" + +msgid "Length of key in bits" +msgstr "鍵のビット数" + +msgid "Location" +msgstr "場所" + +msgid "Maximum number of connections" +msgstr "最大接続数" + +msgid "Maximum number of script requests" +msgstr "スクリプトの最大リクエスト数" + +msgid "Maximum wait time for Lua, CGI, or ubus execution" +msgstr "LuaやCGI、ubus実行の最大待機時間" + +msgid "Maximum wait time for network activity" +msgstr "ネットワークアクティビティの最大待機時間" + +msgid "Override path for ubus socket" +msgstr "ubus ソケットのパスを上書きする" + +msgid "Path prefix for CGI scripts" +msgstr "CGI スクリプトのパスプレフィクス" + +msgid "" +"Prevent access from private (RFC1918) IPs on an interface if it has an " +"public IP address" +msgstr "" +"グローバル IPアドレスを持つインターフェースでは、プライベート IP (RFC1918) か" +"らのアクセスをブロックします。" + +msgid "Realm for Basic Auth" +msgstr "基本認証の領域名" + +msgid "Redirect all HTTP to HTTPS" +msgstr "全てのHTTPをHTTPSにリダイレクトする" + +msgid "Remove configuration for certificate and key" +msgstr "証明書と鍵の設定を削除する" + +msgid "Remove old certificate and key" +msgstr "古い証明書と鍵を削除する" + +msgid "Server Hostname" +msgstr "サーバー ホスト名" + +msgid "" +"Settings which are either rarely needed or which affect serving the WebUI" +msgstr "まれに必要とされる設定、またはWeb UIに影響する設定です。" + +msgid "State" +msgstr "ステータス" + +msgid "TCP Keepalive" +msgstr "TCP キープアライブ" + +msgid "This permanently deletes the cert, key, and configuration to use same." +msgstr "" + +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" + +msgid "uHTTPd Self-signed Certificate Parameters" +msgstr "uHTTPd 自己署名証明書 パラメーター" + +msgid "" +"uHTTPd will generate a new self-signed certificate using the configuration " +"shown below." +msgstr "uHTTPd は、以下に表示した設定で新しい自己署名証明書を生成します。" + +msgid "ubus integration is disabled if not present" +msgstr "" + +#~ msgid "" +#~ "Virtual URL or CGI script to display on status '404 Not Found'. Must " +#~ "begin with '/'" +#~ msgstr "" +#~ "'404 Not Found' ステータスを表示する、仮想URLまたはCGIスクリプトです。'/' " +#~ "から始まる必要があります。" diff --git a/applications/luci-app-uhttpd/po/templates/uhttpd.pot b/applications/luci-app-uhttpd/po/templates/uhttpd.pot new file mode 100644 index 000000000..5503450e0 --- /dev/null +++ b/applications/luci-app-uhttpd/po/templates/uhttpd.pot @@ -0,0 +1,186 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +msgid "" +"(/old/path=/new/path) or (just /old/path which becomes /cgi-prefix/old/path)" +msgstr "" + +msgid "404 Error" +msgstr "" + +msgid "A lightweight single-threaded HTTP(S) server" +msgstr "" + +msgid "Advanced Settings" +msgstr "" + +msgid "Aliases" +msgstr "" + +msgid "Base directory for files to be served" +msgstr "" + +msgid "Bind to specific interface:port (by specifying interface address" +msgstr "" + +msgid "CGI filetype handler" +msgstr "" + +msgid "CGI is disabled if not present." +msgstr "" + +msgid "Config file (e.g. for credentials for Basic Auth)" +msgstr "" + +msgid "Connection reuse" +msgstr "" + +msgid "Country" +msgstr "" + +msgid "Disable JSON-RPC authorization via ubus session API" +msgstr "" + +msgid "Do not follow symlinks outside document root" +msgstr "" + +msgid "Do not generate directory listings." +msgstr "" + +msgid "Document root" +msgstr "" + +msgid "E.g specify with index.html and index.php when using PHP" +msgstr "" + +msgid "Embedded Lua interpreter is disabled if not present." +msgstr "" + +msgid "Enable JSON-RPC Cross-Origin Resource Support" +msgstr "" + +msgid "For settings primarily geared to serving more than the web UI" +msgstr "" + +msgid "Full Web Server Settings" +msgstr "" + +msgid "Full real path to handler for Lua scripts" +msgstr "" + +msgid "General Settings" +msgstr "" + +msgid "HTTP listeners (address:port)" +msgstr "" + +msgid "HTTPS Certificate (DER Encoded)" +msgstr "" + +msgid "HTTPS Private Key (DER Encoded)" +msgstr "" + +msgid "HTTPS listener (address:port)" +msgstr "" + +msgid "Ignore private IPs on public interface" +msgstr "" + +msgid "Index page(s)" +msgstr "" + +msgid "" +"Interpreter to associate with file endings ('suffix=handler', e.g. '.php=/" +"usr/bin/php-cgi')" +msgstr "" + +msgid "Length of key in bits" +msgstr "" + +msgid "Location" +msgstr "" + +msgid "Maximum number of connections" +msgstr "" + +msgid "Maximum number of script requests" +msgstr "" + +msgid "Maximum wait time for Lua, CGI, or ubus execution" +msgstr "" + +msgid "Maximum wait time for network activity" +msgstr "" + +msgid "Override path for ubus socket" +msgstr "" + +msgid "Path prefix for CGI scripts" +msgstr "" + +msgid "" +"Prevent access from private (RFC1918) IPs on an interface if it has an " +"public IP address" +msgstr "" + +msgid "Realm for Basic Auth" +msgstr "" + +msgid "Redirect all HTTP to HTTPS" +msgstr "" + +msgid "Remove configuration for certificate and key" +msgstr "" + +msgid "Remove old certificate and key" +msgstr "" + +msgid "Server Hostname" +msgstr "" + +msgid "" +"Settings which are either rarely needed or which affect serving the WebUI" +msgstr "" + +msgid "State" +msgstr "" + +msgid "TCP Keepalive" +msgstr "" + +msgid "This permanently deletes the cert, key, and configuration to use same." +msgstr "" + +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 "" + +msgid "Virtual path prefix for ubus via JSON-RPC integration" +msgstr "" + +msgid "Will not use HTTP authentication if not present" +msgstr "" + +msgid "a.k.a CommonName" +msgstr "" + +msgid "uHTTPd" +msgstr "" + +msgid "uHTTPd Self-signed Certificate Parameters" +msgstr "" + +msgid "" +"uHTTPd will generate a new self-signed certificate using the configuration " +"shown below." +msgstr "" + +msgid "ubus integration is disabled if not present" +msgstr "" diff --git a/applications/luci-app-upnp/po/ja/upnp.po b/applications/luci-app-upnp/po/ja/upnp.po index 728befa2b..f0aff7336 100644 --- a/applications/luci-app-upnp/po/ja/upnp.po +++ b/applications/luci-app-upnp/po/ja/upnp.po @@ -17,8 +17,8 @@ msgid "" "ACLs specify which external ports may be redirected to which internal " "addresses and ports" msgstr "" -"アクセス制御リスト(ACL) は、どの外部ポートからどの内部アドレス及びポートへ" -"リダイレクトするかを設定します。" +"アクセス制御リスト(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を使用することで、ローカルネットワーク内のクライアントが自動的にルー" -#~ "タを構成することができます。" +#~ "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はあなたの使用するネットワークに対して、セキュリティリスクが生じる可能" +#~ "性があるため、必要な場合のみ有効にしてください。" diff --git a/applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua b/applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua index a33c7aab9..261cf36d0 100644 --- a/applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua +++ b/applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua @@ -12,21 +12,31 @@ -- -- Author: Nils Koenig -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 diff --git a/applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua b/applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua index 2cca476b4..1d301219a 100644 --- a/applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua +++ b/applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua @@ -12,15 +12,11 @@ -- -- Author: Nils Koenig -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,21 +28,21 @@ 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 -- BEGIN Global Section -global_section = m:section(TypedSection, "global", "Global Settings") +global_section = m:section(TypedSection, "global", translate("Global Settings")) global_section.optional = false global_section.rmempty = false global_section.anonymous = true @@ -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,45 +126,44 @@ 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", "Schedule events") -d.addremove = true +d = m:section(TypedSection, "entry", translate("Schedule events")) +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 dow.rmempty = false -dow:value("Monday") -dow:value("Tuesday") -dow:value("Wednesday") -dow:value("Thursday") -dow:value("Friday") -dow:value("Saturday") -dow:value("Sunday") +dow:value("Monday", translate("Monday")) +dow:value("Tuesday", translate("Tuesday")) +dow:value("Wednesday", translate("Wednesday")) +dow:value("Thursday", translate("Thursday")) +dow:value("Friday", translate("Friday")) +dow:value("Saturday", translate("Saturday")) +dow:value("Sunday", translate("Sunday")) -- END Day(s) of Weel -- 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 diff --git a/applications/luci-app-wifischedule/po/ja/wifischedule.po b/applications/luci-app-wifischedule/po/ja/wifischedule.po index 8ece42f1c..2bf2613fb 100644 --- a/applications/luci-app-wifischedule/po/ja/wifischedule.po +++ b/applications/luci-app-wifischedule/po/ja/wifischedule.po @@ -1,26 +1,30 @@ msgid "" msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" "Project-Id-Version: \n" "POT-Creation-Date: \n" "PO-Revision-Date: \n" +"Last-Translator: INAGAKI Hiroshi \n" "Language-Team: \n" +"Language: ja\n" "MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.11\n" -"Last-Translator: INAGAKI Hiroshi \n" "Plural-Forms: nplurals=1; plural=0;\n" -"Language: ja\n" msgid "Activate wifi" msgstr "WiFiのアクティブ化" msgid "Could not find required /usr/bin/wifi_schedule.sh or /sbin/wifi" -msgstr "必須の /usr/bin/wifi_schedule.sh または /sbin/wifi が見つかりませんでした。" +msgstr "" +"必須の /usr/bin/wifi_schedule.sh または /sbin/wifi が見つかりませんでした。" msgid "Could not find required programm /usr/bin/iwinfo" msgstr "必須のプログラム /usr/bin/iwinfo が見つかりませんでした。" +msgid "Cron Jobs" +msgstr "Cronジョブ" + msgid "Day(s) of Week" msgstr "曜日" @@ -39,17 +43,32 @@ 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を強制終了する" -msgid "Unload Modules (experimental; saves more power)" -msgstr "モジュールのアンロード(実験的、より省電力)" +msgid "Friday" +msgstr "金曜日" + +msgid "Global Settings" +msgstr "全体設定" + +msgid "Monday" +msgstr "月曜日" + +msgid "Saturday" +msgstr "土曜日" + +msgid "Schedule" +msgstr "スケジュール" + +msgid "Schedule events" +msgstr "実行スケジュール" msgid "Start Time" msgstr "開始時刻" @@ -63,5 +82,32 @@ msgstr "停止時刻" msgid "Stop WiFi" msgstr "WiFiの停止" +msgid "Sunday" +msgstr "日曜日" + +msgid "The value %s is invalid" +msgstr "" + +msgid "Thursday" +msgstr "木曜日" + +msgid "Tuesday" +msgstr "火曜日" + +msgid "Unload Modules (experimental; saves more power)" +msgstr "モジュールのアンロード(実験的、より省電力)" + +msgid "View Cron Jobs" +msgstr "Cronジョブの確認" + +msgid "View Logfile" +msgstr "ログファイルの確認" + +msgid "Wednesday" +msgstr "水曜日" + msgid "Wifi Schedule" msgstr "WiFi スケジュール" + +msgid "Wifi Schedule Logfile" +msgstr "WiFiスケジュール ログファイル" diff --git a/applications/luci-app-wifischedule/po/templates/wifischedule.pot b/applications/luci-app-wifischedule/po/templates/wifischedule.pot index 7d059e3fe..639c432e5 100644 --- a/applications/luci-app-wifischedule/po/templates/wifischedule.pot +++ b/applications/luci-app-wifischedule/po/templates/wifischedule.pot @@ -10,6 +10,9 @@ msgstr "" msgid "Could not find required programm /usr/bin/iwinfo" msgstr "" +msgid "Cron Jobs" +msgstr "" + msgid "Day(s) of Week" msgstr "" @@ -28,16 +31,31 @@ 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" msgstr "" -msgid "Unload Modules (experimental; saves more power)" +msgid "Friday" +msgstr "" + +msgid "Global Settings" +msgstr "" + +msgid "Monday" +msgstr "" + +msgid "Saturday" +msgstr "" + +msgid "Schedule" +msgstr "" + +msgid "Schedule events" msgstr "" msgid "Start Time" @@ -52,5 +70,32 @@ msgstr "" msgid "Stop WiFi" msgstr "" +msgid "Sunday" +msgstr "" + +msgid "The value %s is invalid" +msgstr "" + +msgid "Thursday" +msgstr "" + +msgid "Tuesday" +msgstr "" + +msgid "Unload Modules (experimental; saves more power)" +msgstr "" + +msgid "View Cron Jobs" +msgstr "" + +msgid "View Logfile" +msgstr "" + +msgid "Wednesday" +msgstr "" + msgid "Wifi Schedule" msgstr "" + +msgid "Wifi Schedule Logfile" +msgstr "" diff --git a/applications/luci-app-wifischedule/po/zh-cn/wifischedule.po b/applications/luci-app-wifischedule/po/zh-cn/wifischedule.po new file mode 100644 index 000000000..ab3a8d0bf --- /dev/null +++ b/applications/luci-app-wifischedule/po/zh-cn/wifischedule.po @@ -0,0 +1,101 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8\n" + +msgid "Activate wifi" +msgstr "激活 WiFi" + +msgid "Could not find required /usr/bin/wifi_schedule.sh or /sbin/wifi" +msgstr "无法找到必需的 /usr/bin/wifi_schedule.sh 或 /sbin/wifi" + +msgid "Could not find required programm /usr/bin/iwinfo" +msgstr "无法找到必需程序:/usr/bin/iwinfo" + +msgid "Cron Jobs" +msgstr "计划任务" + +msgid "Day(s) of Week" +msgstr "星期" + +msgid "Defines a schedule when to turn on and off wifi." +msgstr "定义自动打开和关闭 WiFi 的计划表" + +msgid "Determine Modules Automatically" +msgstr "自动确定模块" + +msgid "Disable wifi gracefully" +msgstr "正常关闭 WiFi" + +msgid "Disabled wifi forced" +msgstr "强制关闭 WiFi" + +msgid "Enable" +msgstr "启用" + +msgid "Enable Wifi Schedule" +msgstr "启用 WiFi 计划" + +msgid "Enable logging" +msgstr "启用日志" + +msgid "Force disabling wifi even if stations associated" +msgstr "即使有设备连接也强制关闭 WiFi" + +msgid "Friday" +msgstr "星期五" + +msgid "Global Settings" +msgstr "全局设置" + +msgid "Monday" +msgstr "星期一" + +msgid "Saturday" +msgstr "星期六" + +msgid "Schedule" +msgstr "计划表" + +msgid "Schedule events" +msgstr "计划事件" + +msgid "Start Time" +msgstr "启动时间" + +msgid "Start WiFi" +msgstr "启动 WiFi" + +msgid "Stop Time" +msgstr "关闭时间" + +msgid "Stop WiFi" +msgstr "关闭 WiFi" + +msgid "Sunday" +msgstr "星期日" + +msgid "The value %s is invalid" +msgstr "%s 的值无效" + +msgid "Thursday" +msgstr "星期四" + +msgid "Tuesday" +msgstr "星期二" + +msgid "Unload Modules (experimental; saves more power)" +msgstr "卸载模块(实验性的,节省更多电量)" + +msgid "View Cron Jobs" +msgstr "查看计划任务" + +msgid "View Logfile" +msgstr "查看日志文件" + +msgid "Wednesday" +msgstr "星期三" + +msgid "Wifi Schedule" +msgstr "WiFi 计划" + +msgid "Wifi Schedule Logfile" +msgstr "WiFi 计划日志文件" diff --git a/collections/luci-ssl-openssl/Makefile b/collections/luci-ssl-openssl/Makefile index 37442a37d..b5f4b091b 100644 --- a/collections/luci-ssl-openssl/Makefile +++ b/collections/luci-ssl-openssl/Makefile @@ -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 diff --git a/contrib/package/community-profiles/files/etc/config/profile_berlin b/contrib/package/community-profiles/files/etc/config/profile_berlin index 7fff870d4..1bfc8ed7d 100644 --- a/contrib/package/community-profiles/files/etc/config/profile_berlin +++ b/contrib/package/community-profiles/files/etc/config/profile_berlin @@ -8,6 +8,7 @@ config 'community' 'profile' option 'splash_prefix' '27' option 'latitude' '52.52075' option 'longitude' '13.40948' + option 'owm_api' 'http://util.berlin.freifunk.net' config 'defaults' 'wifi_device' option 'channel' '13' diff --git a/modules/luci-base/Makefile b/modules/luci-base/Makefile index ce7d40dac..753ff259f 100644 --- a/modules/luci-base/Makefile +++ b/modules/luci-base/Makefile @@ -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 diff --git a/modules/luci-base/po/zh-cn/base.po b/modules/luci-base/po/zh-cn/base.po index 1f0bf97fe..2747da544 100644 --- a/modules/luci-base/po/zh-cn/base.po +++ b/modules/luci-base/po/zh-cn/base.po @@ -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 \n" +"PO-Revision-Date: 2017-01-07 21:46+0800\n" +"Last-Translator: Hsing-Wang Liao \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 "BSSID" -msgstr "BSSID" +msgstr "BSSID" msgid "DNS query port" -msgstr "DNS 查询端口" +msgstr "DNS 查询端口" msgid "DNS server port" -msgstr "DNS 服务器端口" +msgstr "DNS 服务器端口" msgid "" "DNS servers will be queried in the " "order of the resolvfile" -msgstr "将会按照指定的顺序查询DNS" +msgstr "将会按照指定的顺序查询DNS" msgid "ESSID" -msgstr "ESSID" +msgstr "ESSID" msgid "IPv4-Address" -msgstr "IPv4-地址" +msgstr "IPv4-地址" msgid "IPv4-Gateway" -msgstr "IPv4-网关" +msgstr "IPv4-网关" msgid "IPv4-Netmask" -msgstr "IPv4-子网掩码" +msgstr "IPv4-子网掩码" msgid "" "IPv6-Address or Network " "(CIDR)" msgstr "" -"IPv6-地址或超网() (CIDR)" +"IPv6-地址或超网(CIDR)" msgid "IPv6-Gateway" -msgstr "IPv6-网关" +msgstr "IPv6-网关" msgid "IPv6-Suffix (hex)" -msgstr "" -"IPv6-后缀(十六进制)" +msgstr "IPv6-后缀(十六进制)" msgid "LED Configuration" -msgstr "LED配置" +msgstr "LED配置" msgid "LED Name" -msgstr "LED名称" +msgstr "LED名称" msgid "MAC-Address" -msgstr "MAC-地址" +msgstr "MAC-地址" msgid "" "Max. DHCP leases" -msgstr "" -"最大DHCP分配数量" +msgstr "最大DHCP分配数量" msgid "" "Max. EDNS0 packet size" -msgstr "最大EDNS0数据包大小" +msgstr "最大EDNS0数据包大小" msgid "Max. concurrent queries" -msgstr "最大并发查询数" +msgstr "最大并发查询数" msgid "%s - %s" msgstr "%s - %s" 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 IPv4-Routes" -msgstr "活动的IPv4-链路" +msgstr "活动的IPv4-链路" msgid "Active IPv6-Routes" -msgstr "活动的IPv6-链路" +msgstr "活动的IPv6-链路" 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 SSH password authentication" -msgstr "允许SSH密码验证" +msgstr "允许SSH密码验证" 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 root user to login with password" msgstr "允许root用户凭密码登录" @@ -274,68 +272,68 @@ msgid "" msgstr "允许127.0.0.0/8回环范围内的上行响应,例如:RBL服务" msgid "Allowed IPs" -msgstr "" +msgstr "允许的IP" msgid "" "Also see Tunneling Comparison on SIXXS" msgstr "" "也请查看SIXXS上的Tunneling Comparison " +"faq=comparison\">隧道对比" msgid "Always announce default router" msgstr "总是广播默认路由" msgid "An additional network will be created if you leave this checked." -msgstr "" +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 +342,7 @@ msgid "Announced DNS servers" msgstr "广播的DNS服务器" msgid "Anonymous Identity" -msgstr "" +msgstr "匿名身份" msgid "Anonymous Mount" msgstr "自动挂载未配置的磁盘分区" @@ -379,7 +377,7 @@ msgstr "分配接口..." msgid "" "Assign prefix parts using this hexadecimal subprefix ID for this interface." -msgstr "" +msgstr "指定此接口使用的十六进制子ID前缀部分" msgid "Associated Stations" msgstr "已连接站点" @@ -388,7 +386,7 @@ msgid "Atheros 802.11%s Wireless Controller" msgstr "Qualcomm/Atheros 802.11%s 无线网卡" msgid "Auth Group" -msgstr "" +msgstr "认证组" msgid "AuthGroup" msgstr "认证组" @@ -397,7 +395,7 @@ msgid "Authentication" msgstr "认证" msgid "Authentication Type" -msgstr "" +msgstr "认证类型" msgid "Authoritative" msgstr "授权的唯一DHCP服务器" @@ -418,10 +416,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 +437,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 +493,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 +537,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使用率(%)" @@ -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 LEDs if possible." -msgstr "自定义LED的活动状态。" +msgstr "自定义LED的活动状态。" 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 DHCP for " "this interface." -msgstr "" -"禁用本接口的DHCP。" +msgstr "禁用本接口的DHCP。" 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 DNS-Requests without " @@ -911,14 +908,14 @@ msgid "" "Dropbear offers SSH network shell access " "and an integrated SCP server" msgstr "" -"Dropbear提供了集成的SCP服务器和基于SSH的shell访问" +"Dropbear提供了集成的SCP服务器和基于SSH的Shell访问" msgid "Dual-Stack Lite (RFC6333)" -msgstr "" +msgstr "Dual-Stack Lite (RFC6333)" msgid "Dynamic DHCP" -msgstr "动态DHCP" +msgstr "动态DHCP" 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 STP" -msgstr "开启STP" +msgstr "开启STP" 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 (2m)." -msgstr "地址租期,最小2分钟(2m)。" +msgstr "租用地址的到期时间,最短2分钟(2m)。" 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 wireguard.io." msgstr "" +"有关WireGuard接口和Peer的更多信息:wireguard." +"io" 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 ESSID" -msgstr "隐藏ESSID" +msgstr "隐藏ESSID" 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 "本地域名规则。从不转发和处理只源自DHCP或HOSTS文件的本地域名数据" +msgstr "本地域名规则。与此域匹配的名称从不转发,仅从DHCP或HOSTS文件解析" 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 "允许的最大EDNS.0 UDP报文大小" +msgstr "允许的最大EDNS.0 UDP数据包大小" 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 "更新发送到客户端的子网掩码。" 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" -"关闭此网络,可能导致无法再访问路由器!" +"确定要关闭此网络?\\n如果你正在使用此接口连接路由器,关闭此网络可能导致连接断" +"开!" 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 ::" @@ -2996,17 +2996,15 @@ msgstr "由于以下错误,配置文件无法被加载:" msgid "" "The device file of the memory or partition (e.g." " /dev/sda1)" -msgstr "" -"存储器或分区的设备节点,(例如 /dev/" -"sda1)" +msgstr "存储器或分区的设备节点,(例如:/dev/sda1)" msgid "" "The filesystem that was used to format the memory (e.g. ext3)" msgstr "" -"用于格式化存储器的文件系统,(例如 " -"ext4)" +"用于格式化存储器的文件系统,(例如:ext3)" 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 VLAN," -"并支持电脑间的直接通讯。VLAN也常用于分割不同网段。默认通常是一条上行端口连接ISP,其余端口为本地子" -"网。" +"本设备可以划分为多个VLAN,并支持电脑间的直" +"接通讯。VLAN也常用于分割不同网段。默认通常" +"是一条上行端口连接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 DNS servers." msgstr "" +"此文件可能包含类似'server=/domain/1.2.3.4'或'server=1.2.3.4'的行,来解析特定" +"域名或指定上游DNS服务器。" 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 "隧道代理分配的本地终端地址,通常以:2结尾 msgid "" "This is the only DHCP in the local network" -msgstr "" -"这是内网中唯一的DHCP服务器" +msgstr "这是内网中唯一的DHCP服务器" 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 DHCP-leases will be stored" -msgstr "" -"存放DHCP租约的文件" +msgstr "存放DHCP租约的文件" msgid "forward" msgstr "转发" @@ -3615,16 +3610,16 @@ msgid "kbit/s" msgstr "kbit/s" msgid "local DNS file" -msgstr "本地DNS解析文件" +msgstr "本地DNS解析文件" 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 "不关联" @@ -3699,7 +3694,7 @@ msgstr "« 后退" #~ msgstr "取消选中将会另外创建一个新网络,而不会覆盖当前网络设置" #~ msgid "Join Network: Settings" -#~ msgstr "加入网络:设置" +#~ msgstr "加入网络:设置" #~ msgid "CPU" #~ msgstr "CPU" diff --git a/themes/luci-theme-bootstrap/htdocs/luci-static/bootstrap/cascade.css b/themes/luci-theme-bootstrap/htdocs/luci-static/bootstrap/cascade.css index 1d712e453..8d0c434a9 100644 --- a/themes/luci-theme-bootstrap/htdocs/luci-static/bootstrap/cascade.css +++ b/themes/luci-theme-bootstrap/htdocs/luci-static/bootstrap/cascade.css @@ -500,6 +500,8 @@ select, select { padding: initial; + background: #fff; + box-shadow: inset 0 -1px 3px rgba(0, 0, 0, 0.1); } input[type=checkbox], input[type=radio] {