if info.wep == true then
return translate("WEP")
elseif info.wpa > 0 then
- return "%s (%s/%s)" %{label[info.wpa], table.concat(info.auth_suites), table.concat(info.group_ciphers)}
+ return "%s (%s/%s)" %{label[info.wpa] or translate("Unknown"), table.concat(info.auth_suites), table.concat(info.group_ciphers)}
elseif info.enabled then
return translate("Unknown")
else
div.appendChild(E('input', {
type: 'hidden',
name: s.hasAttribute('name') ? s.getAttribute('name') : (sb.getAttribute('name') || ''),
- value: s.hasAttribute('value') ? s.getAttribute('value') : s.innerText
+ value: s.hasAttribute('data-value') ? s.getAttribute('data-value') : s.innerText
}));
});
var new_item = null;
ul.childNodes.forEach(function(li) {
- if (li.getAttribute && li.getAttribute('value') === item)
+ if (li.getAttribute && li.getAttribute('data-value') === item)
new_item = li;
});
if (tpl)
markup = (tpl.textContent || tpl.innerHTML || tpl.firstChild.data).replace(/^<!--|-->$/, '').trim();
else
- markup = '<li value="{{value}}">{{value}}</li>';
+ markup = '<li data-value="{{value}}">{{value}}</li>';
new_item = E(markup.replace(/{{value}}/g, item));
ndisplay--;
- if (this.optional && !ul.querySelector('li[value=""]')) {
+ if (this.optional && !ul.querySelector('li[data-value=""]')) {
var placeholder = E('li', { placeholder: '' }, this.placeholder);
ul.firstChild ? ul.insertBefore(placeholder, ul.firstChild) : ul.appendChild(placeholder);
}
<li<%=
attr("data-index", i) ..
attr("data-depends", self:deplist2json(section, self.deplist[i])) ..
- attr("value", key) ..
+ attr("data-value", key) ..
ifattr(selected[key], "selected", "selected")
%>>
<%=pcdata(self.vallist[i])%>
ifattr(self.rmempty or self.optional, "optional", "optional")
%>>
<script type="item-template"><!--
- <li value="{{value}}">
+ <li data-value="{{value}}">
<span class="zonebadge" style="background:repeating-linear-gradient(45deg,rgba(204,204,204,0.5),rgba(204,204,204,0.5) 5px,rgba(255,255,255,0.5) 5px,rgba(255,255,255,0.5) 10px)">
<strong>{{value}}:</strong><em>(<%:create%>)</em>
</span>
--></script>
<ul>
<% if self.allowlocal then %>
- <li value=""<%=ifattr(checked[""], "selected", "selected")%>>
+ <li data-value=""<%=ifattr(checked[""], "selected", "selected")%>>
<span style="background-color:<%=fwm.zone.get_color()%>" class="zonebadge">
<strong><%:Device%></strong>
<% if self.allowany and self.allowlocal then -%>
</span>
</li>
<% elseif self.widget ~= "checkbox" and (self.rmempty or self.optional) then %>
- <li value=""<%=ifattr(checked[""], "selected", "selected")%>>
+ <li data-value=""<%=ifattr(checked[""], "selected", "selected")%>>
<span class="zonebadge">
<em><%:unspecified%></em>
</span>
</li>
<% end %>
<% if self.allowany then %>
- <li value="*"<%=ifattr(checked["*"], "selected", "selected")%>>
+ <li data-value="*"<%=ifattr(checked["*"], "selected", "selected")%>>
<span style="background-color:<%=fwm.zone.get_color()%>" class="zonebadge">
<strong><%:Any zone%></strong>
<% if self.allowany and self.allowlocal then %>(<%:forward%>)<% end %>
if zone:name() ~= self.exclude then
selected = selected or (value == zone:name())
%>
- <li<%=attr("value", zone:name()) .. ifattr(checked[zone:name()], "selected", "selected")%>>
+ <li<%=attr("data-value", zone:name()) .. ifattr(checked[zone:name()], "selected", "selected")%>>
<span style="background-color:<%=zone:get_color()%>" class="zonebadge">
<strong><%=zone:name()%>:</strong>
<%-
<% end end %>
<% if self.widget ~= "checkbox" and not self.nocreate then %>
- <li value="-">
+ <li data-value="-">
<span class="zonebadge">
<em><%:create%>:</em>
<input type="password" style="display:none" />
ifattr(self.widget == "checkbox", "optional", "optional")
%>>
<script type="item-template"><!--
- <li value="{{value}}">
+ <li data-value="{{value}}">
<img title="<%:Custom Interface%>: "{{value}}"" src="<%=resource%>/icons/ethernet_disabled.png" />
<span class="hide-open">{{value}}</span>
<span class="hide-close"><%:Custom Interface%>: "{{value}}"</span>
iface:name() ~= self.exclude
then %>
<li<%=
- attr("value", iface:name()) ..
+ attr("data-value", iface:name()) ..
ifattr(checked[iface:name()], "selected", "selected")
%>>
<img<%=attr("title", iface:get_i18n())%> src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.png" />
</li>
<% end end %>
<% if not self.nocreate then %>
- <li value="">
+ <li data-value="">
<img title="<%:Custom Interface%>" src="<%=resource%>/icons/ethernet_disabled.png" />
<span><%:Custom Interface%>:</span>
<input type="password" style="display:none" />
ifattr(self.widget == "checkbox", "optional", "optional")
%>>
<script type="item-template"><!--
- <li value="{{value}}">
+ <li data-value="{{value}}">
<span class="ifacebadge" style="background:repeating-linear-gradient(45deg,rgba(204,204,204,0.5),rgba(204,204,204,0.5) 5px,rgba(255,255,255,0.5) 5px,rgba(255,255,255,0.5) 10px)">
{{value}}: <em>(<%:create%>)</em>
</span>
--></script>
<ul>
<% if self.widget ~= "checkbox" then %>
- <li value=""<%= ifattr(not value, "selected", "selected") %>>
+ <li data-value=""<%= ifattr(not value, "selected", "selected") %>>
<em><%:unspecified%></em>
</li>
<% end %>
(net:name() ~= self.exclude) and
(not self.novirtual or not net:is_virtual())
then %>
- <li<%= attr("value", net:name()) .. ifattr(checked[net:name()], "selected", "selected") %>>
+ <li<%= attr("data-value", net:name()) .. ifattr(checked[net:name()], "selected", "selected") %>>
<span class="ifacebadge"><%=net:name()%>:
<%
local empty = true
<% end end %>
<% if not self.nocreate then %>
- <li value="-"<%= ifattr(not value and self.widget ~= "checkbox", "selected", "selected") %>>
+ <li data-value="-"<%= ifattr(not value and self.widget ~= "checkbox", "selected", "selected") %>>
<em>
<%- if self.widget == "checkbox" then -%>
<%:create:%>
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-10 03:40+0200\n"
-"PO-Revision-Date: 2018-09-20 05:12+0900\n"
+"PO-Revision-Date: 2018-10-20 00:48+0900\n"
"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Click \"Generate archive\" to download a tar archive of the current "
"configuration files."
msgstr ""
-"\"ã\83\90ã\83\83ã\82¯ã\82¢ã\83\83ã\83\97 ã\82¢ã\83¼ã\82«ã\82¤ã\83\96ã\81®ä½\9cæ\88\90\"をクリックすると、現在の設定ファイルをtar形"
+"\"ã\83\90ã\83\83ã\82¯ã\82¢ã\83\83ã\83\97 ã\82¢ã\83¼ã\82«ã\82¤ã\83\96ã\82\92ç\94\9fæ\88\90\" をクリックすると、現在の設定ファイルをtar形"
"式のアーカイブファイルとしてダウンロードします。"
msgid ""
msgstr "コマンド"
msgid "Comment"
-msgstr ""
+msgstr "コメント"
msgid "Common Configuration"
msgstr "一般設定"
msgstr "DNSフォワーディング"
msgid "DNS-Label / FQDN"
-msgstr ""
+msgstr "DNS-ラベル / FQDN"
msgid "DNSSEC"
msgstr "DNSSEC"
msgstr "暗号化を無効にする"
msgid "Disable Inactivity Polling"
-msgstr ""
+msgstr "非アクティブ状態ポーリングを無効化"
msgid "Disable this network"
-msgstr "このネットワークを無効化"
+msgstr "このネットワークを無効にします"
msgid "Disabled"
msgstr "無効"
"ページをリロードします。"
msgid "Edit this interface"
-msgstr "インターフェースを編集"
+msgstr "インターフェースを編集します"
msgid "Edit this network"
msgstr "ネットワークを編集"
msgstr "マウント設定を有効にする"
msgid "Enable this network"
-msgstr "このネットワークを有効化"
+msgstr "このネットワークを有効にします"
msgid "Enable this swap"
msgstr "スワップ設定を有効にする"
msgid "Enable/Disable"
-msgstr "有効/無効"
+msgstr "有効 / 無効"
msgid "Enabled"
msgstr "有効"
msgstr ""
msgid "Generate archive"
-msgstr "ã\83\90ã\83\83ã\82¯ã\82¢ã\83\83ã\83\97 ã\82¢ã\83¼ã\82«ã\82¤ã\83\96ã\81®ä½\9c成"
+msgstr "ã\83\90ã\83\83ã\82¯ã\82¢ã\83\83ã\83\97 ã\82¢ã\83¼ã\82«ã\82¤ã\83\96ã\82\92ç\94\9f成"
msgid "Generic 802.11%s Wireless Controller"
msgstr "802.11%s 無線LANコントローラ"
msgstr "<abbr title=\"Extended Service Set Identifier\">ESSID</abbr>の隠匿"
msgid "Hide empty chains"
-msgstr ""
+msgstr "空のチェインを非表示"
msgid "Host"
msgstr "ホスト"
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr ""
-"æ\8c\87å®\9aã\81\97ã\81\9fã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81§ã\81®ã\81¿ã\82¢ã\82¯ã\82»ã\82¹ã\82\92æ\9c\89å\8a¹ã\81«ã\81\97ã\81¾ã\81\99ã\80\82è¨å®\9aã\81\97ã\81ªã\81\84å ´å\90\88ã\81¯ã\81\99ã\81¹ã\81¦"
-"ã\81®ã\82¤ã\83³ã\82¿ã\83\95ã\82§ã\83¼ã\82¹ã\81\8c対象ã\81§ã\81\99"
+"æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81§ã\81®ã\81¿å¾\85ã\81¡å\8f\97ã\81\91ã\82\92è¡\8cã\81\84ã\81¾ã\81\99ã\80\82è¨å®\9aã\81\97ã\81ªã\81\84å ´å\90\88ã\81¯ã\81\99ã\81¹ã\81¦ã\81®"
+"ã\82¤ã\83³ã\82¿ã\83\95ã\82§ã\83¼ã\82¹ã\81\8c対象ã\81§ã\81\99ã\80\82"
msgid "Listening port for inbound DNS queries"
msgstr "DNSクエリを受信するポート"
msgstr ""
msgid "Maximum allowed Listen Interval"
-msgstr ""
+msgstr "許容される最大 Listen 間隔"
msgid "Maximum allowed number of active DHCP leases"
msgstr "DHCPリースの許可される最大数"
msgstr "ユーザー名とパスワードを入力してください。"
msgid "Please update package lists first"
-msgstr ""
+msgstr "最初にパッケージ リストを更新してください"
msgid "Policy"
msgstr "ポリシー"
msgstr "NTPサーバー機能を有効にする"
msgid "Provide new network"
-msgstr "æ\96°ã\81\97ã\81\84ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\82\92è¨å®\9aã\81\99ã\82\8b"
+msgstr "æ\96°ã\81\97ã\81\84ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\82\92è¨å®\9aã\81\97ã\81¾ã\81\99"
msgid "Pseudo Ad-Hoc (ahdemo)"
msgstr "擬似アドホック (ahdemo)"
msgstr "WireGuard インターフェースのIPアドレスです。(推奨)"
msgid "Reconnect this interface"
-msgstr "ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81®å\86\8dæ\8e¥ç¶\9a"
+msgstr "ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\82\92å\86\8dæ\8e¥ç¶\9aã\81\97ã\81¾ã\81\99"
msgid "References"
msgstr "参照カウンタ"
msgstr "リセット"
msgid "Reset Counters"
-msgstr "ã\82«ã\82¦ã\83³ã\82¿ã\81®リセット"
+msgstr "ã\82«ã\82¦ã\83³ã\82¿ã\82\92リセット"
msgid "Reset to defaults"
msgstr "標準設定にリセット"
msgstr "再起動"
msgid "Restart Firewall"
-msgstr "ã\83\95ã\82¡ã\82¤ã\82¢ã\82¦ã\82©ã\83¼ã\83«ã\81®再起動"
+msgstr "ã\83\95ã\82¡ã\82¤ã\82¢ã\82¦ã\82©ã\83¼ã\83«ã\82\92再起動"
msgid "Restart radio interface"
-msgstr "ç\84¡ç·\9aã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81®å\86\8dèµ·å\8b\95"
+msgstr "ç\84¡ç·\9aã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\82\92å\86\8dèµ·å\8b\95ã\81\97ã\81¾ã\81\99"
msgid "Restore"
msgstr "復元"
"通信を行うか、経路情報を設定します。"
msgid "Rule"
-msgstr ""
+msgstr "ルール"
msgid "Run a filesystem check before mounting the device"
msgstr "デバイスのマウントを行う前にファイルシステムチェックを行う"
msgstr "現在のバックアップファイルのリストを表示する"
msgid "Show empty chains"
-msgstr ""
+msgstr "空のチェインを表示"
msgid "Shutdown this interface"
-msgstr "インターフェースを終了"
+msgstr "インターフェースを終了します"
msgid "Signal"
msgstr "信号強度"
msgstr "デバイスが接続するディレクトリを設定します"
msgid "Specifies the listening port of this <em>Dropbear</em> instance"
-msgstr "<em>Dropbear</em>の受信ポートを設定してください"
+msgstr "<em>Dropbear</em> の待ち受けポートを設定してください。"
msgid ""
"Specifies the maximum amount of failed ARP requests until hosts are presumed "
"台のみで、かつ静的なインターフェース設定にする必要があります。"
msgid "Station inactivity limit"
-msgstr ""
+msgstr "非アクティブなステーションの制限"
msgid "Status"
msgstr "ステータス"
msgstr "ログの抑制"
msgid "Suppress logging of the routine operation of these protocols"
-msgstr "これらのプロトコルのルーチン的操作についてのログを抑制します。"
+msgstr "ã\81\93ã\82\8cã\82\89ã\81®ã\83\97ã\83ã\83\88ã\82³ã\83«ã\81®ã\80\81ã\83«ã\83¼ã\83\81ã\83³ç\9a\84æ\93\8dä½\9cã\81«ã\81¤ã\81\84ã\81¦ã\81®ã\83ã\82°ã\82\92æ\8a\91å\88¶ã\81\97ã\81¾ã\81\99ã\80\82"
msgid "Swap"
msgstr "スワップ"
msgstr "時刻同期機能はまだ設定されていません。"
msgid "Time interval for rekeying GTK"
-msgstr ""
+msgstr "Group Temporal Key (GTK) 再生成間隔"
msgid "Timezone"
msgstr "タイムゾーン"
msgstr "上へ"
msgid "Update lists"
-msgstr "ã\83ªã\82¹ã\83\88ã\81®更新"
+msgstr "ã\83ªã\82¹ã\83\88ã\82\92更新"
msgid ""
"Upload a sysupgrade-compatible image here to replace the running firmware. "
"scripts like \"network\", your device might become inaccessible!</strong>"
msgstr ""
"ルーターが起動する際のサービスの有効化/無効化を行うことができます。また、変更"
-"は再起動後に適用されます。<br /><strong>警告: \"network\"のような重要なサービ"
-"ã\82¹ã\82\92ç\84¡å\8a¹ã\81«ã\81\99ã\82\8bã\81¨, ルーターにアクセスできなくなりますので、注意してください。"
+"は再起動後に適用されます。<br /><strong>警告: \"network\" のような重要なサー"
+"ã\83\93ã\82¹ã\82\92ç\84¡å\8a¹ã\81«ã\81\99ã\82\8bã\81¨ルーターにアクセスできなくなりますので、注意してください。"
"</strong>"
msgid ""
msgstr "routed"
msgid "sec"
-msgstr ""
+msgstr "秒"
msgid "server mode"
msgstr "サーバー モード"
msgid "« Back"
msgstr "« 戻る"
-
-#~ msgid "No chains in this table"
-#~ msgstr "チェイン内にルールがありません"
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Cache-Control" content="no-cache" />
-<meta http-equiv="refresh" content="0; URL=/cgi-bin/luci" />
+<meta http-equiv="refresh" content="0; URL=/cgi-bin/luci/" />
</head>
<body style="background-color: white">
-<a style="color: black; font-family: arial, helvetica, sans-serif;" href="/cgi-bin/luci">LuCI - Lua Configuration Interface</a>
+<a style="color: black; font-family: arial, helvetica, sans-serif;" href="/cgi-bin/luci/">LuCI - Lua Configuration Interface</a>
</body>
</html>
margin: 0px;
padding: 0px;
height: 100%;
- font-family: Microsoft Yahei, WenQuanYi Micro Hei, sans-serif, "Helvetica Neue", Helvetica, Hiragino Sans GB;
+ font-family: var(--font-body, "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB");
}
select {
select:not([multiple="multiple"]):focus,
input:focus {
- border-color: #0099CC;
+ border-color: var(--main-color, #0099CC);
}
select[multiple="multiple"] {
}
code {
- color: #0099CC;
+ color: var(--main-color, #0099CC);
}
abbr {
.main > .loading > span > .loading-img {
animation: anim-rotate 2s infinite linear;
- margin-right: 0.2rem;
display: inline-block;
+ margin: 5rem;
}
@keyframes anim-rotate {
}
.main > .main-left > .nav > .slide > .slide-menu > .active:hover {
- background-color: #0099CC;
+ background-color: var(--main-color, #0099CC);
cursor: hand;
}
#conns > div > div,
#memtotal > div > div {
height: 100% !important;
- background-color: #0099CC !important;
+ background-color: var(--main-color, #0099CC) !important;
}
/* fix multiple table */
.tabs > li[class~="active"],
.tabs > li:hover {
cursor: pointer;
- border-bottom: 0.2rem solid #0099CC;
- color: #0099CC;
+ border-bottom: 0.2rem solid var(--main-color, #0099CC);
+ color: var(--main-color, #0099CC);
margin-bottom: -0.18751rem;
}
.tabs > li[class~="active"] > a {
- color: #0099cc;
+ color: var(--main-color, #0099CC);
}
.tabs > li:hover {
}
.node-main-login > .main .cbi-value-title {
- width: 7rem;
+ width: 8rem;
}
.node-main-login > .main #maincontent {
:root {
+ --main-color: #0099CC;
--header-bg: #0099CC;
--header-color: #FFFFFF;
--menu-bg-color: #FFFFFF;
--menu-color: #404040;
--submenu-bg-hover: #D4D4D4;
--submenu-bg-hover-active: #0099CC;
+ --font-body: "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB";
}