summaryrefslogtreecommitdiffhomepage
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/luci-base/Makefile15
-rw-r--r--modules/luci-base/htdocs/luci-static/resources/cbi.js789
-rw-r--r--modules/luci-base/htdocs/luci-static/resources/xhr.js3
-rw-r--r--modules/luci-base/luasrc/cbi.lua46
-rw-r--r--modules/luci-base/luasrc/dispatcher.lua11
-rw-r--r--modules/luci-base/luasrc/model/uci.lua10
-rw-r--r--modules/luci-base/luasrc/tools/status.lua86
-rw-r--r--modules/luci-base/luasrc/util.lua106
-rw-r--r--modules/luci-base/luasrc/view/cbi/apply_widget.htm146
-rw-r--r--modules/luci-base/luasrc/view/cbi/button.htm2
-rw-r--r--modules/luci-base/luasrc/view/cbi/cell_valuefooter.htm2
-rw-r--r--modules/luci-base/luasrc/view/cbi/cell_valueheader.htm10
-rw-r--r--modules/luci-base/luasrc/view/cbi/dropdown.htm54
-rw-r--r--modules/luci-base/luasrc/view/cbi/firewall_zoneforwards.htm79
-rw-r--r--modules/luci-base/luasrc/view/cbi/firewall_zonelist.htm79
-rw-r--r--modules/luci-base/luasrc/view/cbi/footer.htm2
-rw-r--r--modules/luci-base/luasrc/view/cbi/full_valuefooter.htm1
-rw-r--r--modules/luci-base/luasrc/view/cbi/map.htm5
-rw-r--r--modules/luci-base/luasrc/view/cbi/network_ifacelist.htm102
-rw-r--r--modules/luci-base/luasrc/view/cbi/network_netlist.htm90
-rw-r--r--modules/luci-base/luasrc/view/cbi/nsection.htm9
-rw-r--r--modules/luci-base/luasrc/view/cbi/nullsection.htm5
-rw-r--r--modules/luci-base/luasrc/view/cbi/simpleform.htm15
-rw-r--r--modules/luci-base/luasrc/view/cbi/tblsection.htm212
-rw-r--r--modules/luci-base/luasrc/view/cbi/tsection.htm18
-rw-r--r--modules/luci-base/luasrc/view/cbi/upload.htm2
-rw-r--r--modules/luci-base/luasrc/view/sysauth.htm14
-rw-r--r--modules/luci-base/po/ca/base.po233
-rw-r--r--modules/luci-base/po/cs/base.po233
-rw-r--r--modules/luci-base/po/de/base.po329
-rw-r--r--modules/luci-base/po/el/base.po223
-rw-r--r--modules/luci-base/po/en/base.po212
-rw-r--r--modules/luci-base/po/es/base.po233
-rw-r--r--modules/luci-base/po/fr/base.po233
-rw-r--r--modules/luci-base/po/he/base.po212
-rw-r--r--modules/luci-base/po/hu/base.po233
-rw-r--r--modules/luci-base/po/it/base.po306
-rw-r--r--modules/luci-base/po/ja/base.po224
-rw-r--r--modules/luci-base/po/ko/base.po215
-rw-r--r--modules/luci-base/po/ms/base.po205
-rw-r--r--modules/luci-base/po/no/base.po233
-rw-r--r--modules/luci-base/po/pl/base.po451
-rw-r--r--modules/luci-base/po/pt-br/base.po340
-rw-r--r--modules/luci-base/po/pt/base.po233
-rw-r--r--modules/luci-base/po/ro/base.po230
-rw-r--r--modules/luci-base/po/ru/base.po236
-rw-r--r--modules/luci-base/po/sk/base.po195
-rw-r--r--modules/luci-base/po/sv/base.po211
-rw-r--r--modules/luci-base/po/templates/base.pot193
-rw-r--r--modules/luci-base/po/tr/base.po379
-rw-r--r--modules/luci-base/po/uk/base.po1209
-rw-r--r--modules/luci-base/po/vi/base.po205
-rw-r--r--modules/luci-base/po/zh-cn/base.po351
-rw-r--r--modules/luci-base/po/zh-tw/base.po233
-rw-r--r--modules/luci-mod-admin-full/luasrc/controller/admin/network.lua10
-rw-r--r--modules/luci-mod-admin-full/luasrc/controller/admin/system.lua2
-rw-r--r--modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua17
-rw-r--r--modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/vlan.lua4
-rw-r--r--modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua35
-rw-r--r--modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi_add.lua11
-rw-r--r--modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/admin.lua9
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_network/diagnostics.htm85
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_network/iface_overview.htm79
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_network/iface_status.htm55
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_network/lease_status.htm142
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_network/switch_status.htm32
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_assoclist.htm82
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_join.htm58
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_overview.htm248
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_status.htm18
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_status/bandwidth.htm53
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_status/connections.htm114
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm707
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_status/iptables.htm118
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_status/load.htm66
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_status/routes.htm137
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_status/wireless.htm60
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_system/flashops.htm136
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_system/packages.htm160
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_system/reboot.htm3
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_uci/changelog.htm10
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_uci/changes.htm22
-rw-r--r--modules/luci-mod-freifunk/luasrc/view/freifunk/contact.htm30
-rw-r--r--modules/luci-mod-freifunk/luasrc/view/freifunk/public_status.htm90
84 files changed, 5781 insertions, 6515 deletions
diff --git a/modules/luci-base/Makefile b/modules/luci-base/Makefile
index 7f7d7e772f..5c38d99c58 100644
--- a/modules/luci-base/Makefile
+++ b/modules/luci-base/Makefile
@@ -14,12 +14,13 @@ LUCI_BASENAME:=base
LUCI_TITLE:=LuCI core libraries
LUCI_DEPENDS:=+lua +luci-lib-nixio +luci-lib-ip +rpcd +libubus-lua +luci-lib-jsonc +liblucihttp-lua
-PKG_SOURCE:=LuaSrcDiet-0.12.1.tar.bz2
-PKG_SOURCE_URL:=https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/luasrcdiet
-PKG_HASH:=ed7680f2896269ae8633756e7edcf09050812f78c8f49e280e63c30d14f35aea
-PKG_LICENSE:=Apache-2.0
-HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/LuaSrcDiet-0.12.1
+PKG_SOURCE:=v1.0.0.tar.gz
+PKG_SOURCE_URL:=https://github.com/jirutka/luasrcdiet/archive/
+PKG_HASH:=48162e63e77d009f5848f18a5cabffbdfc867d0e5e73c6d407f6af5d6880151b
+PKG_LICENSE:=MIT
+
+HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/luasrcdiet-1.0.0
include $(INCLUDE_DIR)/host-build.mk
@@ -36,13 +37,13 @@ endef
define Host/Compile
$(MAKE) -C src/ clean po2lmo
- $(MAKE) -C $(HOST_BUILD_DIR) bin/LuaSrcDiet.lua
+ $(MAKE) -C $(HOST_BUILD_DIR) bin/luasrcdiet
endef
define Host/Install
$(INSTALL_DIR) $(1)/bin
$(INSTALL_BIN) src/po2lmo $(1)/bin/po2lmo
- $(INSTALL_BIN) $(HOST_BUILD_DIR)/bin/LuaSrcDiet.lua $(1)/bin/LuaSrcDiet
+ $(INSTALL_BIN) $(HOST_BUILD_DIR)/bin/luasrcdiet $(1)/bin/luasrcdiet
endef
$(eval $(call HostBuild))
diff --git a/modules/luci-base/htdocs/luci-static/resources/cbi.js b/modules/luci-base/htdocs/luci-static/resources/cbi.js
index 6c35372cdd..6a487366f8 100644
--- a/modules/luci-base/htdocs/luci-static/resources/cbi.js
+++ b/modules/luci-base/htdocs/luci-static/resources/cbi.js
@@ -465,31 +465,16 @@ function cbi_d_add(field, dep, index) {
}
function cbi_d_checkvalue(target, ref) {
- var t = document.getElementById(target);
- var value;
+ var value = null,
+ query = 'input[id="'+target+'"], input[name="'+target+'"], ' +
+ 'select[id="'+target+'"], select[name="'+target+'"]';
- if (!t) {
- var tl = document.getElementsByName(target);
-
- if( tl.length > 0 && (tl[0].type == 'radio' || tl[0].type == 'checkbox'))
- for( var i = 0; i < tl.length; i++ )
- if( tl[i].checked ) {
- value = tl[i].value;
- break;
- }
-
- value = value ? value : "";
- } else if (!t.value) {
- value = "";
- } else {
- value = t.value;
-
- if (t.type == "checkbox") {
- value = t.checked ? value : "";
- }
- }
+ document.querySelectorAll(query).forEach(function(i) {
+ if (value === null && ((i.type !== 'radio' && i.type !== 'checkbox') || i.checked === true))
+ value = i.value;
+ });
- return (value == ref)
+ return (((value !== null) ? value : "") == ref);
}
function cbi_d_check(deps) {
@@ -634,6 +619,14 @@ function cbi_init() {
node.getAttribute('data-type'));
}
+ document.querySelectorAll('.cbi-dropdown').forEach(function(s) {
+ cbi_dropdown_init(s);
+ });
+
+ document.querySelectorAll('.cbi-tooltip:not(:empty)').forEach(function(s) {
+ s.parentNode.classList.add('cbi-tooltip-container');
+ });
+
cbi_d_update();
}
@@ -1243,51 +1236,53 @@ function cbi_validate_field(cbid, optional, type)
function cbi_row_swap(elem, up, store)
{
- var tr = elem.parentNode;
- while (tr && tr.nodeName.toLowerCase() != 'tr')
- tr = tr.parentNode;
+ var tr = findParent(elem.parentNode, '.cbi-section-table-row');
if (!tr)
return false;
- var table = tr.parentNode;
- while (table && table.nodeName.toLowerCase() != 'table')
- table = table.parentNode;
+ tr.classList.remove('flash');
- if (!table)
- return false;
+ if (up) {
+ var prev = tr.previousElementSibling;
- var s = up ? 3 : 2;
- var e = up ? table.rows.length : table.rows.length - 1;
-
- for (var idx = s; idx < e; idx++)
- {
- if (table.rows[idx] == tr)
- {
- if (up)
- tr.parentNode.insertBefore(table.rows[idx], table.rows[idx-1]);
- else
- tr.parentNode.insertBefore(table.rows[idx+1], table.rows[idx]);
+ if (prev && prev.classList.contains('cbi-section-table-row'))
+ tr.parentNode.insertBefore(tr, prev);
+ else
+ return;
+ }
+ else {
+ var next = tr.nextElementSibling ? tr.nextElementSibling.nextElementSibling : null;
- break;
- }
+ if (next && next.classList.contains('cbi-section-table-row'))
+ tr.parentNode.insertBefore(tr, next);
+ else if (!next)
+ tr.parentNode.appendChild(tr);
+ else
+ return;
}
var ids = [ ];
- for (idx = 2; idx < table.rows.length; idx++)
- {
- table.rows[idx].className = table.rows[idx].className.replace(
- /cbi-rowstyle-[12]/, 'cbi-rowstyle-' + (1 + (idx % 2))
- );
- if (table.rows[idx].id && table.rows[idx].id.match(/-([^\-]+)$/) )
- ids.push(RegExp.$1);
+ for (var i = 0, n = 0; i < tr.parentNode.childNodes.length; i++) {
+ var node = tr.parentNode.childNodes[i];
+ if (node.classList && node.classList.contains('cbi-section-table-row')) {
+ node.classList.remove('cbi-rowstyle-1');
+ node.classList.remove('cbi-rowstyle-2');
+ node.classList.add((n++ % 2) ? 'cbi-rowstyle-2' : 'cbi-rowstyle-1');
+
+ if (/-([^\-]+)$/.test(node.id))
+ ids.push(RegExp.$1);
+ }
}
var input = document.getElementById(store);
if (input)
input.value = ids.join(' ');
+ window.scrollTo(0, tr.offsetTop);
+ window.setTimeout(function() { tr.classList.add('flash'); }, 1);
+
return false;
}
@@ -1311,58 +1306,6 @@ function cbi_tag_last(container)
}
}
-String.prototype.serialize = function()
-{
- var o = this;
- switch(typeof(o))
- {
- case 'object':
- // null
- if( o == null )
- {
- return 'null';
- }
-
- // array
- else if( o.length )
- {
- var i, s = '';
-
- for( var i = 0; i < o.length; i++ )
- s += (s ? ', ' : '') + String.serialize(o[i]);
-
- return '[ ' + s + ' ]';
- }
-
- // object
- else
- {
- var k, s = '';
-
- for( k in o )
- s += (s ? ', ' : '') + k + ': ' + String.serialize(o[k]);
-
- return '{ ' + s + ' }';
- }
-
- break;
-
- case 'string':
- // complex string
- if( o.match(/[^a-zA-Z0-9_,.: -]/) )
- return 'decodeURIComponent("' + encodeURIComponent(o) + '")';
-
- // simple string
- else
- return '"' + o + '"';
-
- break;
-
- default:
- return o.toString();
- }
-}
-
String.prototype.format = function()
{
if (!RegExp)
@@ -1473,10 +1416,6 @@ String.prototype.format = function()
subst = esc(param, quot_esc);
break;
- case 'j':
- subst = String.serialize(param);
- break;
-
case 't':
var td = 0;
var th = 0;
@@ -1543,14 +1482,6 @@ String.prototype.nobr = function()
return this.replace(/[\s\n]+/g, '&#160;');
}
-String.serialize = function()
-{
- var a = [ ];
- for (var i = 1; i < arguments.length; i++)
- a.push(arguments[i]);
- return ''.serialize.apply(arguments[0], a);
-}
-
String.format = function()
{
var a = [ ];
@@ -1566,3 +1497,631 @@ String.nobr = function()
a.push(arguments[i]);
return ''.nobr.apply(arguments[0], a);
}
+
+
+var dummyElem, domParser;
+
+function isElem(e)
+{
+ return (typeof(e) === 'object' && e !== null && 'nodeType' in e);
+}
+
+function toElem(s)
+{
+ var elem;
+
+ try {
+ domParser = domParser || new DOMParser();
+ elem = domParser.parseFromString(s, 'text/html').body.firstChild;
+ }
+ catch(e) {}
+
+ if (!elem) {
+ try {
+ dummyElem = dummyElem || document.createElement('div');
+ dummyElem.innerHTML = s;
+ elem = dummyElem.firstChild;
+ }
+ catch (e) {}
+ }
+
+ return elem || null;
+}
+
+function findParent(node, selector)
+{
+ while (node)
+ if (node.msMatchesSelector && node.msMatchesSelector(selector))
+ return node;
+ else if (node.matches && node.matches(selector))
+ return node;
+ else
+ node = node.parentNode;
+
+ return null;
+}
+
+function E()
+{
+ var html = arguments[0],
+ attr = (arguments[1] instanceof Object && !Array.isArray(arguments[1])) ? arguments[1] : null,
+ data = attr ? arguments[2] : arguments[1],
+ elem;
+
+ if (isElem(html))
+ elem = html;
+ else if (html.charCodeAt(0) === 60)
+ elem = toElem(html);
+ else
+ elem = document.createElement(html);
+
+ if (!elem)
+ return null;
+
+ if (attr)
+ for (var key in attr)
+ if (attr.hasOwnProperty(key) && attr[key] !== null && attr[key] !== undefined)
+ elem.setAttribute(key, attr[key]);
+
+ if (typeof(data) === 'function')
+ data = data(elem);
+
+ if (isElem(data)) {
+ elem.appendChild(data);
+ }
+ else if (Array.isArray(data)) {
+ for (var i = 0; i < data.length; i++)
+ if (isElem(data[i]))
+ elem.appendChild(data[i]);
+ else
+ elem.appendChild(document.createTextNode('' + data[i]));
+ }
+ else if (data !== null && data !== undefined) {
+ elem.innerHTML = '' + data;
+ }
+
+ return elem;
+}
+
+if (typeof(window.CustomEvent) !== 'function') {
+ function CustomEvent(event, params) {
+ params = params || { bubbles: false, cancelable: false, detail: undefined };
+ var evt = document.createEvent('CustomEvent');
+ evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
+ return evt;
+ }
+
+ CustomEvent.prototype = window.Event.prototype;
+ window.CustomEvent = CustomEvent;
+}
+
+CBIDropdown = {
+ openDropdown: function(sb) {
+ var st = window.getComputedStyle(sb, null),
+ ul = sb.querySelector('ul'),
+ li = ul.querySelectorAll('li'),
+ sel = ul.querySelector('[selected]'),
+ rect = sb.getBoundingClientRect(),
+ h = sb.clientHeight - parseFloat(st.paddingTop) - parseFloat(st.paddingBottom),
+ mh = this.dropdown_items * h,
+ eh = Math.min(mh, li.length * h);
+
+ document.querySelectorAll('.cbi-dropdown[open]').forEach(function(s) {
+ s.dispatchEvent(new CustomEvent('cbi-dropdown-close', {}));
+ });
+
+ ul.style.maxHeight = mh + 'px';
+ sb.setAttribute('open', '');
+
+ ul.scrollTop = sel ? Math.max(sel.offsetTop - sel.offsetHeight, 0) : 0;
+ ul.querySelectorAll('[selected] input[type="checkbox"]').forEach(function(c) {
+ c.checked = true;
+ });
+
+ ul.style.top = ul.style.bottom = '';
+ ul.style[((sb.getBoundingClientRect().top + eh) > window.innerHeight) ? 'bottom' : 'top'] = rect.height + 'px';
+ ul.classList.add('dropdown');
+
+ var pv = ul.cloneNode(true);
+ pv.classList.remove('dropdown');
+ pv.classList.add('preview');
+
+ sb.insertBefore(pv, ul.nextElementSibling);
+
+ li.forEach(function(l) {
+ l.setAttribute('tabindex', 0);
+ });
+
+ sb.lastElementChild.setAttribute('tabindex', 0);
+
+ this.setFocus(sb, sel || li[0], true);
+ },
+
+ closeDropdown: function(sb, no_focus) {
+ if (!sb.hasAttribute('open'))
+ return;
+
+ var pv = sb.querySelector('ul.preview'),
+ ul = sb.querySelector('ul.dropdown'),
+ li = ul.querySelectorAll('li');
+
+ li.forEach(function(l) { l.removeAttribute('tabindex'); });
+ sb.lastElementChild.removeAttribute('tabindex');
+
+ sb.removeChild(pv);
+ sb.removeAttribute('open');
+ sb.style.width = sb.style.height = '';
+
+ ul.classList.remove('dropdown');
+
+ if (!no_focus)
+ this.setFocus(sb, sb);
+
+ this.saveValues(sb, ul);
+ },
+
+ toggleItem: function(sb, li, force_state) {
+ if (li.hasAttribute('unselectable'))
+ return;
+
+ if (this.multi) {
+ var cbox = li.querySelector('input[type="checkbox"]'),
+ items = li.parentNode.querySelectorAll('li'),
+ label = sb.querySelector('ul.preview'),
+ sel = li.parentNode.querySelectorAll('[selected]').length,
+ more = sb.querySelector('.more'),
+ ndisplay = this.display_items,
+ n = 0;
+
+ if (li.hasAttribute('selected')) {
+ if (force_state !== true) {
+ if (sel > 1 || this.optional) {
+ li.removeAttribute('selected');
+ cbox.checked = cbox.disabled = false;
+ sel--;
+ }
+ else {
+ cbox.disabled = true;
+ }
+ }
+ }
+ else {
+ if (force_state !== false) {
+ li.setAttribute('selected', '');
+ cbox.checked = true;
+ cbox.disabled = false;
+ sel++;
+ }
+ }
+
+ while (label.firstElementChild)
+ label.removeChild(label.firstElementChild);
+
+ for (var i = 0; i < items.length; i++) {
+ items[i].removeAttribute('display');
+ if (items[i].hasAttribute('selected')) {
+ if (ndisplay-- > 0) {
+ items[i].setAttribute('display', n++);
+ label.appendChild(items[i].cloneNode(true));
+ }
+ var c = items[i].querySelector('input[type="checkbox"]');
+ if (c)
+ c.disabled = (sel == 1 && !this.optional);
+ }
+ }
+
+ if (ndisplay < 0)
+ sb.setAttribute('more', '');
+ else
+ sb.removeAttribute('more');
+
+ if (ndisplay === this.display_items)
+ sb.setAttribute('empty', '');
+ else
+ sb.removeAttribute('empty');
+
+ more.innerHTML = (ndisplay === this.display_items) ? this.placeholder : '···';
+ }
+ else {
+ var sel = li.parentNode.querySelector('[selected]');
+ if (sel) {
+ sel.removeAttribute('display');
+ sel.removeAttribute('selected');
+ }
+
+ li.setAttribute('display', 0);
+ li.setAttribute('selected', '');
+
+ this.closeDropdown(sb, true);
+ }
+
+ this.saveValues(sb, li.parentNode);
+ },
+
+ transformItem: function(sb, li) {
+ var cbox = E('form', {}, E('input', { type: 'checkbox', tabindex: -1, onclick: 'event.preventDefault()' })),
+ label = E('label');
+
+ while (li.firstChild)
+ label.appendChild(li.firstChild);
+
+ li.appendChild(cbox);
+ li.appendChild(label);
+ },
+
+ saveValues: function(sb, ul) {
+ var sel = ul.querySelectorAll('[selected]'),
+ div = sb.lastElementChild;
+
+ while (div.lastElementChild)
+ div.removeChild(div.lastElementChild);
+
+ sel.forEach(function (s) {
+ 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
+ }));
+ });
+
+ cbi_d_update();
+ },
+
+ setFocus: function(sb, elem, scroll) {
+ if (sb && sb.hasAttribute && sb.hasAttribute('locked-in'))
+ return;
+
+ document.querySelectorAll('.focus').forEach(function(e) {
+ if (e.nodeName.toLowerCase() !== 'input') {
+ e.classList.remove('focus');
+ e.blur();
+ }
+ });
+
+ if (elem) {
+ elem.focus();
+ elem.classList.add('focus');
+
+ if (scroll)
+ elem.parentNode.scrollTop = elem.offsetTop - elem.parentNode.offsetTop;
+ }
+ },
+
+ createItems: function(sb, value) {
+ var sbox = this,
+ val = (value || '').trim().split(/\s+/),
+ ul = sb.querySelector('ul');
+
+ if (!sbox.multi)
+ val.length = Math.min(val.length, 1);
+
+ val.forEach(function(item) {
+ var new_item = null;
+
+ ul.childNodes.forEach(function(li) {
+ if (li.getAttribute && li.getAttribute('value') === item)
+ new_item = li;
+ });
+
+ if (!new_item) {
+ var markup,
+ tpl = sb.querySelector(sbox.template);
+
+ if (tpl)
+ markup = (tpl.textContent || tpl.innerHTML || tpl.firstChild.data).replace(/^<!--|-->$/, '').trim();
+ else
+ markup = '<li value="{{value}}">{{value}}</li>';
+
+ new_item = E(markup.replace(/{{value}}/g, item));
+
+ if (sbox.multi) {
+ sbox.transformItem(sb, new_item);
+ }
+ else {
+ var old = ul.querySelector('li[created]');
+ if (old)
+ ul.removeChild(old);
+
+ new_item.setAttribute('created', '');
+ }
+
+ new_item = ul.insertBefore(new_item, ul.lastElementChild);
+ }
+
+ sbox.toggleItem(sb, new_item, true);
+ sbox.setFocus(sb, new_item, true);
+ });
+ },
+
+ closeAllDropdowns: function() {
+ document.querySelectorAll('.cbi-dropdown[open]').forEach(function(s) {
+ s.dispatchEvent(new CustomEvent('cbi-dropdown-close', {}));
+ });
+ }
+};
+
+function cbi_dropdown_init(sb) {
+ if (!(this instanceof cbi_dropdown_init))
+ return new cbi_dropdown_init(sb);
+
+ this.multi = sb.hasAttribute('multiple');
+ this.optional = sb.hasAttribute('optional');
+ this.placeholder = sb.getAttribute('placeholder') || '---';
+ this.display_items = parseInt(sb.getAttribute('display-items') || 3);
+ this.dropdown_items = parseInt(sb.getAttribute('dropdown-items') || 5);
+ this.create = sb.getAttribute('item-create') || '.create-item-input';
+ this.template = sb.getAttribute('item-template') || 'script[type="item-template"]';
+
+ var sbox = this,
+ ul = sb.querySelector('ul'),
+ items = ul.querySelectorAll('li'),
+ more = sb.appendChild(E('span', { class: 'more', tabindex: -1 }, '···')),
+ open = sb.appendChild(E('span', { class: 'open', tabindex: -1 }, 'â–¾')),
+ canary = sb.appendChild(E('div')),
+ create = sb.querySelector(this.create),
+ ndisplay = this.display_items,
+ n = 0;
+
+ if (this.multi) {
+ for (var i = 0; i < items.length; i++) {
+ sbox.transformItem(sb, items[i]);
+
+ if (items[i].hasAttribute('selected') && ndisplay-- > 0)
+ items[i].setAttribute('display', n++);
+ }
+ }
+ else {
+ var sel = sb.querySelectorAll('[selected]');
+
+ sel.forEach(function(s) {
+ s.removeAttribute('selected');
+ });
+
+ var s = sel[0] || items[0];
+ if (s) {
+ s.setAttribute('selected', '');
+ s.setAttribute('display', n++);
+ }
+
+ ndisplay--;
+
+ if (this.optional && !ul.querySelector('li[value=""]')) {
+ var placeholder = E('li', { placeholder: '' }, this.placeholder);
+ ul.firstChild ? ul.insertBefore(placeholder, ul.firstChild) : ul.appendChild(placeholder);
+ }
+ }
+
+ sbox.saveValues(sb, ul);
+
+ ul.setAttribute('tabindex', -1);
+ sb.setAttribute('tabindex', 0);
+
+ if (ndisplay < 0)
+ sb.setAttribute('more', '')
+ else
+ sb.removeAttribute('more');
+
+ if (ndisplay === this.display_items)
+ sb.setAttribute('empty', '')
+ else
+ sb.removeAttribute('empty');
+
+ more.innerHTML = (ndisplay === this.display_items) ? this.placeholder : '···';
+
+
+ sb.addEventListener('click', function(ev) {
+ if (!this.hasAttribute('open')) {
+ if (ev.target.nodeName.toLowerCase() !== 'input')
+ sbox.openDropdown(this);
+ }
+ else {
+ var li = findParent(ev.target, 'li');
+ if (li && li.parentNode.classList.contains('dropdown'))
+ sbox.toggleItem(this, li);
+ }
+
+ ev.preventDefault();
+ ev.stopPropagation();
+ });
+
+ sb.addEventListener('keydown', function(ev) {
+ if (ev.target.nodeName.toLowerCase() === 'input')
+ return;
+
+ if (!this.hasAttribute('open')) {
+ switch (ev.keyCode) {
+ case 37:
+ case 38:
+ case 39:
+ case 40:
+ sbox.openDropdown(this);
+ ev.preventDefault();
+ }
+ }
+ else
+ {
+ var active = findParent(document.activeElement, 'li');
+
+ switch (ev.keyCode) {
+ case 27:
+ sbox.closeDropdown(this);
+ break;
+
+ case 13:
+ if (active) {
+ if (!active.hasAttribute('selected'))
+ sbox.toggleItem(this, active);
+ sbox.closeDropdown(this);
+ ev.preventDefault();
+ }
+ break;
+
+ case 32:
+ if (active) {
+ sbox.toggleItem(this, active);
+ ev.preventDefault();
+ }
+ break;
+
+ case 38:
+ if (active && active.previousElementSibling) {
+ sbox.setFocus(this, active.previousElementSibling);
+ ev.preventDefault();
+ }
+ break;
+
+ case 40:
+ if (active && active.nextElementSibling) {
+ sbox.setFocus(this, active.nextElementSibling);
+ ev.preventDefault();
+ }
+ break;
+ }
+ }
+ });
+
+ sb.addEventListener('cbi-dropdown-close', function(ev) {
+ sbox.closeDropdown(this, true);
+ });
+
+ if ('ontouchstart' in window) {
+ sb.addEventListener('touchstart', function(ev) { ev.stopPropagation(); });
+ window.addEventListener('touchstart', sbox.closeAllDropdowns);
+ }
+ else {
+ sb.addEventListener('mouseover', function(ev) {
+ if (!this.hasAttribute('open'))
+ return;
+
+ var li = findParent(ev.target, 'li');
+ if (li) {
+ if (li.parentNode.classList.contains('dropdown'))
+ sbox.setFocus(this, li);
+
+ ev.stopPropagation();
+ }
+ });
+
+ sb.addEventListener('focus', function(ev) {
+ document.querySelectorAll('.cbi-dropdown[open]').forEach(function(s) {
+ if (s !== this || this.hasAttribute('open'))
+ s.dispatchEvent(new CustomEvent('cbi-dropdown-close', {}));
+ });
+ });
+
+ canary.addEventListener('focus', function(ev) {
+ sbox.closeDropdown(this.parentNode);
+ });
+
+ window.addEventListener('mouseover', sbox.setFocus);
+ window.addEventListener('click', sbox.closeAllDropdowns);
+ }
+
+ if (create) {
+ create.addEventListener('keydown', function(ev) {
+ switch (ev.keyCode) {
+ case 13:
+ sbox.createItems(sb, this.value);
+ ev.preventDefault();
+ this.value = '';
+ this.blur();
+ break;
+ }
+ });
+
+ create.addEventListener('focus', function(ev) {
+ var cbox = findParent(this, 'li').querySelector('input[type="checkbox"]');
+ if (cbox) cbox.checked = true;
+ sb.setAttribute('locked-in', '');
+ });
+
+ create.addEventListener('blur', function(ev) {
+ var cbox = findParent(this, 'li').querySelector('input[type="checkbox"]');
+ if (cbox) cbox.checked = false;
+ sb.removeAttribute('locked-in');
+ });
+
+ var li = findParent(create, 'li');
+
+ li.setAttribute('unselectable', '');
+ li.addEventListener('click', function(ev) {
+ this.querySelector(sbox.create).focus();
+ });
+ }
+}
+
+cbi_dropdown_init.prototype = CBIDropdown;
+
+function cbi_update_table(table, data, placeholder) {
+ target = isElem(table) ? table : document.querySelector(table);
+
+ if (!isElem(target))
+ return;
+
+ target.querySelectorAll('.tr.table-titles, .cbi-section-table-titles').forEach(function(thead) {
+ var titles = [];
+
+ thead.querySelectorAll('.th').forEach(function(th) {
+ titles.push(th);
+ });
+
+ if (Array.isArray(data)) {
+ var n = 0, rows = target.querySelectorAll('.tr');
+
+ data.forEach(function(row) {
+ var trow = E('div', { 'class': 'tr' });
+
+ for (var i = 0; i < titles.length; i++) {
+ var text = titles[i].innerText;
+ var td = trow.appendChild(E('div', {
+ 'class': titles[i].className,
+ 'data-title': text ? text.trim() : null
+ }, row[i] || ''));
+
+ td.classList.remove('th');
+ td.classList.add('td');
+ }
+
+ trow.classList.add('cbi-rowstyle-%d'.format((n++ % 2) ? 2 : 1));
+
+ if (rows[n])
+ target.replaceChild(trow, rows[n]);
+ else
+ target.appendChild(trow);
+ });
+
+ while (rows[++n])
+ target.removeChild(rows[n]);
+
+ if (placeholder && target.firstElementChild === target.lastElementChild) {
+ var trow = target.appendChild(E('div', { 'class': 'tr placeholder' }));
+ var td = trow.appendChild(E('div', { 'class': titles[0].className }, placeholder));
+
+ td.classList.remove('th');
+ td.classList.add('td');
+ }
+ }
+ else {
+ thead.parentNode.style.display = 'none';
+
+ thead.parentNode.querySelectorAll('.tr, .cbi-section-table-row').forEach(function(trow) {
+ if (trow !== thead) {
+ var n = 0;
+ trow.querySelectorAll('.th, .td').forEach(function(td) {
+ if (n < titles.length) {
+ var text = (titles[n++].innerText || '').trim();
+ if (text !== '')
+ td.setAttribute('data-title', text);
+ }
+ });
+ }
+ });
+
+ thead.parentNode.style.display = '';
+ }
+ });
+}
+
+document.addEventListener('DOMContentLoaded', function() {
+ document.querySelectorAll('.table').forEach(cbi_update_table);
+});
diff --git a/modules/luci-base/htdocs/luci-static/resources/xhr.js b/modules/luci-base/htdocs/luci-static/resources/xhr.js
index de4476cdd3..f1537a4481 100644
--- a/modules/luci-base/htdocs/luci-static/resources/xhr.js
+++ b/modules/luci-base/htdocs/luci-static/resources/xhr.js
@@ -204,7 +204,6 @@ XHR.poll = function(interval, url, data, callback, post)
};
XHR._q.push(e);
- XHR.run();
return e;
}
@@ -260,3 +259,5 @@ XHR.running = function()
{
return !!(XHR._r && XHR._i);
}
+
+document.addEventListener('DOMContentLoaded', XHR.run);
diff --git a/modules/luci-base/luasrc/cbi.lua b/modules/luci-base/luasrc/cbi.lua
index 4728642118..d275c5b275 100644
--- a/modules/luci-base/luasrc/cbi.lua
+++ b/modules/luci-base/luasrc/cbi.lua
@@ -1226,13 +1226,14 @@ function TypedSection.parse(self, novld)
local stval = RESORT_PREFIX .. self.config .. "." .. self.sectiontype
local order = self.map:formvalue(stval)
if order and #order > 0 then
- local sid
- local num = 0
+ local sids, sid = { }, nil
for sid in util.imatch(order) do
- self.map.uci:reorder(self.config, sid, num)
- num = num + 1
+ sids[#sids+1] = sid
+ end
+ if #sids > 0 then
+ self.map.uci:reorder(self.config, sids)
+ self.changed = true
end
- self.changed = (num > 0)
end
end
@@ -1416,6 +1417,12 @@ function AbstractValue.parse(self, section, novld)
self:add_error(section, "invalid", val_err)
end
+ if self.alias then
+ self.section.aliased = self.section.aliased or {}
+ self.section.aliased[section] = self.section.aliased[section] or {}
+ self.section.aliased[section][self.alias] = true
+ end
+
if fvalue and (self.forcewrite or not (fvalue == cvalue)) then
if self:write(section, fvalue) then
-- Push events
@@ -1425,10 +1432,16 @@ function AbstractValue.parse(self, section, novld)
end
else -- Unset the UCI or error
if self.rmempty or self.optional then
- if self:remove(section) then
- -- Push events
- self.section.changed = true
- --luci.util.append(self.map.events, self.events)
+ if not self.alias or
+ not self.section.aliased or
+ not self.section.aliased[section] or
+ not self.section.aliased[section][self.alias]
+ then
+ if self:remove(section) then
+ -- Push events
+ self.section.changed = true
+ --luci.util.append(self.map.events, self.events)
+ end
end
elseif cvalue ~= fvalue and not novld then
-- trigger validator with nil value to get custom user error msg.
@@ -1454,7 +1467,7 @@ function AbstractValue.cfgvalue(self, section)
if self.tag_error[section] then
value = self:formvalue(section)
else
- value = self.map:get(section, self.option)
+ value = self.map:get(section, self.alias or self.option)
end
if not value then
@@ -1495,12 +1508,12 @@ AbstractValue.transform = AbstractValue.validate
-- Write to UCI
function AbstractValue.write(self, section, value)
- return self.map:set(section, self.option, value)
+ return self.map:set(section, self.alias or self.option, value)
end
-- Remove from UCI
function AbstractValue.remove(self, section)
- return self.map:del(section, self.option)
+ return self.map:del(section, self.alias or self.option)
end
@@ -1833,6 +1846,15 @@ function DynamicList.formvalue(self, section)
end
+DropDown = class(MultiValue)
+
+function DropDown.__init__(self, ...)
+ ListValue.__init__(self, ...)
+ self.template = "cbi/dropdown"
+ self.delimiter = " "
+end
+
+
--[[
TextValue - A multi-line value
rows: Rows
diff --git a/modules/luci-base/luasrc/dispatcher.lua b/modules/luci-base/luasrc/dispatcher.lua
index 45e1e308f8..6850d7e3a9 100644
--- a/modules/luci-base/luasrc/dispatcher.lua
+++ b/modules/luci-base/luasrc/dispatcher.lua
@@ -358,7 +358,7 @@ function dispatch(request)
elseif key == "REQUEST_URI" then
return build_url(unpack(ctx.requestpath))
elseif key == "FULL_REQUEST_URI" then
- local url = { http.getenv("SCRIPT_NAME"), http.getenv("PATH_INFO") }
+ local url = { http.getenv("SCRIPT_NAME") or "", http.getenv("PATH_INFO") }
local query = http.getenv("QUERY_STRING")
if query and #query > 0 then
url[#url+1] = "?"
@@ -507,10 +507,11 @@ function dispatch(request)
else
ok, err = util.copcall(target, unpack(args))
end
- assert(ok,
- "Failed to execute " .. (type(c.target) == "function" and "function" or c.target.type or "unknown") ..
- " dispatcher target for entry '/" .. table.concat(request, "/") .. "'.\n" ..
- "The called action terminated with an exception:\n" .. tostring(err or "(unknown)"))
+ if not ok then
+ error500("Failed to execute " .. (type(c.target) == "function" and "function" or c.target.type or "unknown") ..
+ " dispatcher target for entry '/" .. table.concat(request, "/") .. "'.\n" ..
+ "The called action terminated with an exception:\n" .. tostring(err or "(unknown)"))
+ end
else
local root = node()
if not root or not root.target then
diff --git a/modules/luci-base/luasrc/model/uci.lua b/modules/luci-base/luasrc/model/uci.lua
index 461ba9d5a3..92c0d8f699 100644
--- a/modules/luci-base/luasrc/model/uci.lua
+++ b/modules/luci-base/luasrc/model/uci.lua
@@ -8,7 +8,7 @@ local table = require "table"
local setmetatable, rawget, rawset = setmetatable, rawget, rawset
local require, getmetatable, assert = require, getmetatable, assert
-local error, pairs, ipairs = error, pairs, ipairs
+local error, pairs, ipairs, select = error, pairs, ipairs, select
local type, tostring, tonumber, unpack = type, tostring, tonumber, unpack
-- The typical workflow for UCI is: Get a cursor instance from the
@@ -106,7 +106,7 @@ function changes(self, config)
local _, change
for _, change in ipairs(changes) do
local operation, section, option, value = unpack(change)
- if option and value and operation ~= "add" then
+ if option and operation ~= "add" then
res[package][section] = res[package][section] or { }
if operation == "list-add" then
@@ -373,15 +373,15 @@ function add(self, config, stype)
return self:section(config, stype)
end
-function set(self, config, section, option, value)
- if value == nil then
+function set(self, config, section, option, ...)
+ if select('#', ...) == 0 then
local sname, err = self:section(config, option, section)
return (not not sname), err
else
local _, err = call("set", {
config = config,
section = section,
- values = { [option] = value }
+ values = { [option] = select(1, ...) }
})
return (err == nil), ERRSTR[err]
end
diff --git a/modules/luci-base/luasrc/tools/status.lua b/modules/luci-base/luasrc/tools/status.lua
index 06a9ad4154..635995310f 100644
--- a/modules/luci-base/luasrc/tools/status.lua
+++ b/modules/luci-base/luasrc/tools/status.lua
@@ -6,9 +6,25 @@ module("luci.tools.status", package.seeall)
local uci = require "luci.model.uci".cursor()
local ipc = require "luci.ip"
+local function duid_to_mac(duid)
+ local b1, b2, b3, b4, b5, b6
+
+ -- DUID-LLT / Ethernet
+ if type(duid) == "string" and #duid == 28 then
+ b1, b2, b3, b4, b5, b6 = duid:match("^00010001(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)%x%x%x%x%x%x%x%x$")
+
+ -- DUID-LL / Ethernet
+ elseif type(duid) == "string" and #duid == 20 then
+ b1, b2, b3, b4, b5, b6 = duid:match("^00030001(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)$")
+ end
+
+ return b1 and ipc.checkmac(table.concat({ b1, b2, b3, b4, b5, b6 }, ":"))
+end
+
local function dhcp_leases_common(family)
local rv = { }
local nfs = require "nixio.fs"
+ local sys = require "luci.sys"
local leasefile = "/tmp/dhcp.leases"
uci:foreach("dhcp", "dnsmasq",
@@ -87,6 +103,22 @@ local function dhcp_leases_common(family)
fd:close()
end
+ if family == 6 then
+ local _, lease
+ local hosts = sys.net.host_hints()
+ for _, lease in ipairs(rv) do
+ local mac = duid_to_mac(lease.duid)
+ local host = mac and hosts[mac]
+ if host then
+ if not lease.name then
+ lease.host_hint = host.name or host.ipv4 or host.ipv6
+ elseif host.name and lease.hostname ~= host.name then
+ lease.host_hint = host.name
+ end
+ end
+ end
+ end
+
return rv
end
@@ -113,6 +145,11 @@ function wifi_networks()
local net
for _, net in ipairs(dev:get_wifinets()) do
+ local a, an = nil, 0
+ for _, a in pairs(net:assoclist() or {}) do
+ an = an + 1
+ end
+
rd.networks[#rd.networks+1] = {
name = net:shortname(),
link = net:adminlink(),
@@ -128,10 +165,10 @@ function wifi_networks()
noise = net:noise(),
bitrate = net:bitrate(),
ifname = net:ifname(),
- assoclist = net:assoclist(),
country = net:country(),
txpower = net:txpower(),
txpoweroff = net:txpower_offset(),
+ num_assoc = an,
disabled = (dev:get("disabled") == "1" or
net:get("disabled") == "1")
}
@@ -165,7 +202,6 @@ function wifi_network(id)
noise = net:noise(),
bitrate = net:bitrate(),
ifname = net:ifname(),
- assoclist = net:assoclist(),
country = net:country(),
txpower = net:txpower(),
txpoweroff = net:txpower_offset(),
@@ -182,6 +218,52 @@ function wifi_network(id)
return { }
end
+function wifi_assoclist()
+ local sys = require "luci.sys"
+ local ntm = require "luci.model.network".init()
+ local hosts = sys.net.host_hints()
+
+ local assoc = {}
+ local _, dev, net, bss
+
+ for _, dev in ipairs(ntm:get_wifidevs()) do
+ local radioname = dev:get_i18n()
+
+ for _, net in ipairs(dev:get_wifinets()) do
+ local netname = net:shortname()
+ local netlink = net:adminlink()
+ local ifname = net:ifname()
+
+ for _, bss in pairs(net:assoclist() or {}) do
+ local host = hosts[_]
+
+ bss.bssid = _
+ bss.ifname = ifname
+ bss.radio = radioname
+ bss.name = netname
+ bss.link = netlink
+
+ bss.host_name = (host) and (host.name or host.ipv4 or host.ipv6)
+ bss.host_hint = (host and host.name and (host.ipv4 or host.ipv6)) and (host.ipv4 or host.ipv6)
+
+ assoc[#assoc+1] = bss
+ end
+ end
+ end
+
+ table.sort(assoc, function(a, b)
+ if a.radio ~= b.radio then
+ return a.radio < b.radio
+ elseif a.ifname ~= b.ifname then
+ return a.ifname < b.ifname
+ else
+ return a.bssid < b.bssid
+ end
+ end)
+
+ return assoc
+end
+
function switch_status(devs)
local dev
local switches = { }
diff --git a/modules/luci-base/luasrc/util.lua b/modules/luci-base/luasrc/util.lua
index ce42af2fb0..10428b0b35 100644
--- a/modules/luci-base/luasrc/util.lua
+++ b/modules/luci-base/luasrc/util.lua
@@ -100,6 +100,8 @@ end
-- Scope manipulation routines
--
+coxpt = setmetatable({}, { __mode = "kv" })
+
local tl_meta = {
__mode = "k",
@@ -697,73 +699,69 @@ function checklib(fullpathexe, wantedlib)
return false
end
+-------------------------------------------------------------------------------
+-- Coroutine safe xpcall and pcall versions
--
--- Coroutine safe xpcall and pcall versions modified for Luci
--- original version:
--- coxpcall 1.13 - Copyright 2005 - Kepler Project (www.keplerproject.org)
+-- Encapsulates the protected calls with a coroutine based loop, so errors can
+-- be dealed without the usual Lua 5.x pcall/xpcall issues with coroutines
+-- yielding inside the call to pcall or xpcall.
--
--- Copyright © 2005 Kepler Project.
--- Permission is hereby granted, free of charge, to any person obtaining a
--- copy of this software and associated documentation files (the "Software"),
--- to deal in the Software without restriction, including without limitation
--- the rights to use, copy, modify, merge, publish, distribute, sublicense,
--- and/or sell copies of the Software, and to permit persons to whom the
--- Software is furnished to do so, subject to the following conditions:
+-- Authors: Roberto Ierusalimschy and Andre Carregal
+-- Contributors: Thomas Harning Jr., Ignacio Burgueño, Fabio Mascarenhas
--
--- The above copyright notice and this permission notice shall be
--- included in all copies or substantial portions of the Software.
+-- Copyright 2005 - Kepler Project
--
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
--- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
--- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
--- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
--- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
--- OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-local performResume, handleReturnValue
-local oldpcall, oldxpcall = pcall, xpcall
-coxpt = {}
-setmetatable(coxpt, {__mode = "kv"})
-
--- Identity function for copcall
-local function copcall_id(trace, ...)
- return ...
-end
-
--- values of either the function or the error handler
-function coxpcall(f, err, ...)
- local res, co = oldpcall(coroutine.create, f)
- if not res then
- local params = {...}
- local newf = function() return f(unpack(params)) end
- co = coroutine.create(newf)
- end
- local c = coroutine.running()
- coxpt[co] = coxpt[c] or c or 0
+-- $Id: coxpcall.lua,v 1.13 2008/05/19 19:20:02 mascarenhas Exp $
+-------------------------------------------------------------------------------
- return performResume(err, co, ...)
-end
-
--- values of the function or the error object
-function copcall(f, ...)
- return coxpcall(f, copcall_id, ...)
-end
+-------------------------------------------------------------------------------
+-- Implements xpcall with coroutines
+-------------------------------------------------------------------------------
+local coromap = setmetatable({}, { __mode = "k" })
--- Handle return value of protected call
-function handleReturnValue(err, co, status, ...)
+local function handleReturnValue(err, co, status, ...)
if not status then
return false, err(debug.traceback(co, (...)), ...)
end
-
- if coroutine.status(co) ~= 'suspended' then
+ if coroutine.status(co) == 'suspended' then
+ return performResume(err, co, coroutine.yield(...))
+ else
return true, ...
end
-
- return performResume(err, co, coroutine.yield(...))
end
--- Resume execution of protected function call
function performResume(err, co, ...)
return handleReturnValue(err, co, coroutine.resume(co, ...))
end
+
+local function id(trace, ...)
+ return trace
+end
+
+function coxpcall(f, err, ...)
+ local current = coroutine.running()
+ if not current then
+ if err == id then
+ return pcall(f, ...)
+ else
+ if select("#", ...) > 0 then
+ local oldf, params = f, { ... }
+ f = function() return oldf(unpack(params)) end
+ end
+ return xpcall(f, err)
+ end
+ else
+ local res, co = pcall(coroutine.create, f)
+ if not res then
+ local newf = function(...) return f(...) end
+ co = coroutine.create(newf)
+ end
+ coromap[co] = current
+ coxpt[co] = coxpt[current] or current or 0
+ return performResume(err, co, ...)
+ end
+end
+
+function copcall(f, ...)
+ return coxpcall(f, id, ...)
+end
diff --git a/modules/luci-base/luasrc/view/cbi/apply_widget.htm b/modules/luci-base/luasrc/view/cbi/apply_widget.htm
index 543ef0b80b..e3090da656 100644
--- a/modules/luci-base/luasrc/view/cbi/apply_widget.htm
+++ b/modules/luci-base/luasrc/view/cbi/apply_widget.htm
@@ -1,59 +1,98 @@
<% export("cbi_apply_widget", function(redirect_ok) -%>
<style type="text/css">
- #cbi_apply_status {
+ .alert-message.notice {
+ background: linear-gradient(#fff 0%, #eee 100%);
+ }
+
+ #cbi_apply_overlay {
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ background: rgba(0, 0, 0, 0.7);
+ display: none;
+ z-index: 20000;
+ }
+
+ #cbi_apply_overlay .alert-message {
+ position: relative;
+ top: 10%;
+ width: 60%;
+ margin: auto;
display: flex;
flex-wrap: wrap;
min-height: 32px;
align-items: center;
- margin: 1.5em 0 1.5em 0;
}
- #cbi_apply_status > h4,
- #cbi_apply_status > p,
- #cbi_apply_status > div {
+ #cbi_apply_overlay .alert-message > h4,
+ #cbi_apply_overlay .alert-message > p,
+ #cbi_apply_overlay .alert-message > div {
flex-basis: 100%;
}
- #cbi_apply_status > img {
+ #cbi_apply_overlay .alert-message > img {
margin-right: 1em;
flex-basis: 32px;
}
- #cbi_apply_status + script + .cbi-section {
- margin-top: -1em;
+ body.apply-overlay-active {
+ overflow: hidden;
+ height: 100vh;
}
- .alert-message.notice {
- background: linear-gradient(#fff 0%, #eee 100%);
+ body.apply-overlay-active #cbi_apply_overlay {
+ display: block;
}
</style>
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
<script type="text/javascript">//<![CDATA[
var xhr = new XHR(),
- stat, indicator,
uci_apply_auth = { sid: '<%=luci.dispatcher.context.authsession%>', token: '<%=token%>' },
uci_apply_rollback = <%=math.max(luci.config and luci.config.apply and luci.config.apply.rollback or 30, 30)%>,
uci_apply_holdoff = <%=math.max(luci.config and luci.config.apply and luci.config.apply.holdoff or 4, 1)%>,
uci_apply_timeout = <%=math.max(luci.config and luci.config.apply and luci.config.apply.timeout or 5, 1)%>,
uci_apply_display = <%=math.max(luci.config and luci.config.apply and luci.config.apply.display or 1.5, 1)%>;
+ function uci_status_message(type, content) {
+ var overlay = document.getElementById('cbi_apply_overlay') || document.body.appendChild(E('<div id="cbi_apply_overlay"><div class="alert-message"></div></div>')),
+ message = overlay.querySelector('.alert-message');
+
+ if (message && type) {
+ if (!message.classList.contains(type)) {
+ message.classList.remove('notice');
+ message.classList.remove('warning');
+ message.classList.add(type);
+ }
+
+ if (content)
+ message.innerHTML = content;
+
+ document.body.classList.add('apply-overlay-active');
+ }
+ else {
+ document.body.classList.remove('apply-overlay-active');
+ }
+ }
+
function uci_rollback(checked) {
if (checked) {
- stat.classList.remove('notice');
- stat.classList.add('warning');
- stat.innerHTML = '<img src="<%=resource%>/icons/loading.gif" alt="" style="vertical-align:middle" /> ' +
- '<%:Failed to confirm apply within %ds, waiting for rollback…%>'.format(uci_apply_rollback);
+ uci_status_message('warning',
+ '<img src="<%=resource%>/icons/loading.gif" alt="" style="vertical-align:middle" /> ' +
+ '<%:Failed to confirm apply within %ds, waiting for rollback…%>'.format(uci_apply_rollback));
var call = function(r) {
if (r.status === 204) {
- stat.innerHTML = '<h4><%:Configuration has been rolled back!%></h4>' +
+ uci_status_message('warning',
+ '<h4><%:Configuration has been rolled back!%></h4>' +
'<p><%:The device could not be reached within %d seconds after applying the pending changes, which caused the configuration to be rolled back for safety reasons. If you believe that the configuration changes are correct nonetheless, perform an unchecked configuration apply. Alternatively, you can dismiss this warning and edit changes before attempting to apply again, or revert all pending changes to keep the currently working configuration state.%></p>'.format(uci_apply_rollback) +
'<div class="right">' +
- '<input type="button" class="btn" onclick="this.parentNode.parentNode.style.display=\'none\'" value="<%:Dismiss%>" /> ' +
+ '<input type="button" class="btn" onclick="uci_status_message(false)" value="<%:Dismiss%>" /> ' +
'<input type="button" class="btn" onclick="uci_revert()" value="<%:Revert changes%>" /> ' +
'<input type="button" class="btn danger" onclick="uci_apply(false)" value="<%:Apply unchecked%>" />' +
- '</div>';
+ '</div>');
return;
}
@@ -64,10 +103,9 @@
call({ status: 0 });
}
else {
- stat.classList.remove('notice');
- stat.classList.add('warning');
- stat.innerHTML = '<h4><%:Device unreachable!%></h4>' +
- '<p><%:Could not regain access to the device after applying the configuration changes. You might need to reconnect if you modified network related settings such as the IP address or wireless security credentials.%></p>';
+ uci_status_message('warning',
+ '<h4><%:Device unreachable!%></h4>' +
+ '<p><%:Could not regain access to the device after applying the configuration changes. You might need to reconnect if you modified network related settings such as the IP address or wireless security credentials.%></p>');
}
}
@@ -75,12 +113,7 @@
var tt;
var ts = Date.now();
- stat = document.getElementById('cbi_apply_status');
- stat.style.display = '';
- stat.classList.remove('warning');
- stat.classList.add('notice');
-
- indicator = document.querySelector('.uci_change_indicator');
+ uci_status_message('notice');
var call = function(r) {
if (Date.now() >= deadline) {
@@ -88,15 +121,18 @@
return;
}
else if (r && (r.status === 200 || r.status === 204)) {
- if (indicator)
- indicator.style.display = 'none';
+ var indicator = document.querySelector('.uci_change_indicator');
+ if (indicator) indicator.style.display = 'none';
- stat.innerHTML = '<%:Configuration has been applied.%>';
+ uci_status_message('notice', '<%:Configuration has been applied.%>');
window.clearTimeout(tt);
window.setTimeout(function() {
- stat.style.display = 'none';
- <% if redirect_ok then %>location.href = decodeURIComponent('<%=luci.util.urlencode(redirect_ok)%>');<% end %>
+ <% if redirect_ok then -%>
+ location.href = decodeURIComponent('<%=luci.util.urlencode(redirect_ok)%>');
+ <%- else -%>
+ window.location = window.location.href.split('#')[0];
+ <% end %>
}, uci_apply_display * 1000);
return;
@@ -108,8 +144,9 @@
var tick = function() {
var now = Date.now();
- stat.innerHTML = '<img src="<%=resource%>/icons/loading.gif" alt="" style="vertical-align:middle" /> ' +
- '<%:Waiting for configuration to get applied… %ds%>'.format(Math.max(Math.floor((deadline - Date.now()) / 1000), 0));
+ uci_status_message('notice',
+ '<img src="<%=resource%>/icons/loading.gif" alt="" style="vertical-align:middle" /> ' +
+ '<%:Waiting for configuration to get applied… %ds%>'.format(Math.max(Math.floor((deadline - Date.now()) / 1000), 0)));
if (now >= deadline)
return;
@@ -125,43 +162,39 @@
}
function uci_apply(checked) {
- stat = document.getElementById('cbi_apply_status');
- stat.style.display = '';
- stat.classList.remove('warning');
- stat.classList.add('notice');
- stat.innerHTML = '<img src="<%=resource%>/icons/loading.gif" alt="" style="vertical-align:middle" /> ' +
- '<%:Starting configuration apply…%>';
+ uci_status_message('notice',
+ '<img src="<%=resource%>/icons/loading.gif" alt="" style="vertical-align:middle" /> ' +
+ '<%:Starting configuration apply…%>');
xhr.post('<%=url("admin/uci")%>/' + (checked ? 'apply_rollback' : 'apply_unchecked'), uci_apply_auth, function(r) {
if (r.status === (checked ? 200 : 204)) {
uci_confirm(checked, Date.now() + uci_apply_rollback * 1000);
}
else if (checked && r.status === 204) {
- stat.innerHTML = '<%:There are no changes to apply.%>';
+ uci_status_message('notice', '<%:There are no changes to apply.%>');
window.setTimeout(function() {
- stat.style.display = 'none';
- <% if redirect_ok then %>location.href = decodeURIComponent('<%=luci.util.urlencode(redirect_ok)%>');<% end %>
+ <% if redirect_ok then -%>
+ location.href = decodeURIComponent('<%=luci.util.urlencode(redirect_ok)%>');
+ <%- else -%>
+ uci_status_message(false);
+ <%- end %>
}, uci_apply_display * 1000);
}
else {
- stat.classList.add('warning');
- stat.classList.remove('notice');
- stat.innerHTML = '<%_Apply request failed with status <code>%h</code>%>'.format(r.responseText || r.statusText || r.status);
+ uci_status_message('warning', '<%_Apply request failed with status <code>%h</code>%>'.format(r.responseText || r.statusText || r.status));
+ window.setTimeout(function() { uci_status_message(false); }, uci_apply_display * 1000);
}
});
}
function uci_revert() {
- stat = document.getElementById('cbi_apply_status');
- stat.style.display = '';
- stat.classList.remove('warning');
- stat.classList.add('notice');
- stat.innerHTML = '<img src="<%=resource%>/icons/loading.gif" alt="" style="vertical-align:middle" /> ' +
- '<%:Reverting configuration…%>';
+ uci_status_message('notice',
+ '<img src="<%=resource%>/icons/loading.gif" alt="" style="vertical-align:middle" /> ' +
+ '<%:Reverting configuration…%>');
xhr.post('<%=url("admin/uci/revert")%>', uci_apply_auth, function(r) {
if (r.status === 200) {
- stat.innerHTML = '<%:Changes have been reverted.%>';
+ uci_status_message('notice', '<%:Changes have been reverted.%>');
window.setTimeout(function() {
<% if redirect_ok then -%>
location.href = decodeURIComponent('<%=luci.util.urlencode(redirect_ok)%>');
@@ -171,9 +204,8 @@
}, uci_apply_display * 1000);
}
else {
- stat.classList.add('warning');
- stat.classList.remove('notice');
- stat.innerHTML = '<%_Revert request failed with status <code>%h</code>%>'.format(r.statusText || r.status);
+ uci_status_message('warning', '<%_Revert request failed with status <code>%h</code>%>'.format(r.statusText || r.status));
+ window.setTimeout(function() { uci_status_message(false); }, uci_apply_display * 1000);
}
});
}
diff --git a/modules/luci-base/luasrc/view/cbi/button.htm b/modules/luci-base/luasrc/view/cbi/button.htm
index 30f8ddfda5..6ccba58f23 100644
--- a/modules/luci-base/luasrc/view/cbi/button.htm
+++ b/modules/luci-base/luasrc/view/cbi/button.htm
@@ -1,6 +1,6 @@
<%+cbi/valueheader%>
<% if self:cfgvalue(section) ~= false then %>
- <input class="cbi-button cbi-input-<%=self.inputstyle or "button" %>" type="submit"<%= attr("name", cbid) .. attr("id", cbid) .. attr("value", self.inputtitle or self.title)%> />
+ <input class="cbi-button cbi-button-<%=self.inputstyle or "button" %>" type="submit"<%= attr("name", cbid) .. attr("id", cbid) .. attr("value", self.inputtitle or self.title)%> />
<% else %>
-
<% end %>
diff --git a/modules/luci-base/luasrc/view/cbi/cell_valuefooter.htm b/modules/luci-base/luasrc/view/cbi/cell_valuefooter.htm
index 786ee43d10..bdd6bc9687 100644
--- a/modules/luci-base/luasrc/view/cbi/cell_valuefooter.htm
+++ b/modules/luci-base/luasrc/view/cbi/cell_valuefooter.htm
@@ -1,2 +1,2 @@
</div>
-</td>
+</div>
diff --git a/modules/luci-base/luasrc/view/cbi/cell_valueheader.htm b/modules/luci-base/luasrc/view/cbi/cell_valueheader.htm
index 9c9c21814b..dbb0e1120b 100644
--- a/modules/luci-base/luasrc/view/cbi/cell_valueheader.htm
+++ b/modules/luci-base/luasrc/view/cbi/cell_valueheader.htm
@@ -1,2 +1,10 @@
-<td class="cbi-value-field<% if self.error and self.error[section] then %> cbi-value-error<% end %>">
+<%-
+ local title = luci.util.trim(striptags(self.title))
+ local ftype = self.template and self.template:gsub("^.+/", "")
+-%>
+<div class="td cbi-value-field<% if self.error and self.error[section] then %> cbi-value-error<% end %>"<%=
+ attr("data-name", self.option) ..
+ ifattr(ftype and #ftype > 0, "data-type", ftype) ..
+ ifattr(title and #title > 0, "data-title", title)
+%>>
<div id="cbi-<%=self.config.."-"..section.."-"..self.option%>" data-index="<%=self.index%>" data-depends="<%=pcdata(self:deplist2json(section))%>">
diff --git a/modules/luci-base/luasrc/view/cbi/dropdown.htm b/modules/luci-base/luasrc/view/cbi/dropdown.htm
new file mode 100644
index 0000000000..cf8c03d22c
--- /dev/null
+++ b/modules/luci-base/luasrc/view/cbi/dropdown.htm
@@ -0,0 +1,54 @@
+<%+cbi/valueheader%>
+
+<%-
+ local selected = { }
+
+ if self.multiple then
+ local val
+ for val in luci.util.imatch(self:cfgvalue(section)) do
+ selected[val] = true
+ end
+ else
+ selected[self:cfgvalue(section)] = true
+ end
+
+ if not next(selected) and self.default then
+ selected[self.default] = true
+ end
+-%>
+
+<div class="cbi-dropdown"<%=
+ attr("name", cbid) ..
+ attr("display-items", self.display or self.size or 3) ..
+ attr("dropdown-items", self.dropdown or self.display or self.size or 5) ..
+ attr("placeholder", self.placeholder or translate("-- please select --")) ..
+ ifattr(self.multiple, "multiple", "multiple") ..
+ ifattr(self.optional or self.rmempty, "optional", "optional")
+%>>
+ <ul>
+ <% local i, key; for i, key in pairs(self.keylist) do %>
+ <li<%=
+ attr("data-index", i) ..
+ attr("data-depends", self:deplist2json(section, self.deplist[i])) ..
+ attr("value", key) ..
+ ifattr(selected[key], "selected", "selected")
+ %>>
+ <%=pcdata(self.vallist[i])%>
+ </li>
+ <% end %>
+ <% if self.custom then %>
+ <li>
+ <input type="password" style="display:none" />
+ <input class="create-item-input" type="text"<%=
+ attr("placeholder", self.custom ~= true and
+ self.custom or
+ (self.multiple and
+ translate("Enter custom values") or
+ translate("Enter custom value")))
+ %> />
+ </li>
+ <% end %>
+ </ul>
+</div>
+
+<%+cbi/valuefooter%>
diff --git a/modules/luci-base/luasrc/view/cbi/firewall_zoneforwards.htm b/modules/luci-base/luasrc/view/cbi/firewall_zoneforwards.htm
index 546fd8e85a..b38e4b13db 100644
--- a/modules/luci-base/luasrc/view/cbi/firewall_zoneforwards.htm
+++ b/modules/luci-base/luasrc/view/cbi/firewall_zoneforwards.htm
@@ -14,46 +14,59 @@
local def = fwm:get_defaults()
local zone = fwm:get_zone(value)
local empty = true
+
+ local function render_zone(zone)
+-%>
+ <label class="zonebadge" style="background-color:<%=zone:get_color()%>">
+ <strong><%=zone:name()%></strong>
+ <div class="cbi-tooltip">
+ <%-
+ local zempty = true
+ for _, net in ipairs(zone:get_networks()) do
+ net = nwm:get_network(net)
+ if net then
+ zempty = false
+ -%>
+ <span class="ifacebadge<% if net:name() == self.network then %> ifacebadge-active<% end %>"><%=net:name()%>:&#160;
+ <%
+ local nempty = true
+ for _, iface in ipairs(net:is_bridge() and net:get_interfaces() or { net:get_interface() }) do
+ nempty = false
+ %>
+ <img<%=attr("title", iface:get_i18n())%> src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.png" />
+ <% end %>
+ <% if nempty then %><em><%:(empty)%></em><% end %>
+ </span>
+ <%- end end -%>
+ <% if zempty then %><span class="ifacebadge"><em><%:(empty)%></em></span><% end %>
+ </div>
+ </label>
+<%-
+ end
-%>
<% if zone then %>
-<div style="white-space:nowrap">
- <label class="zonebadge" style="background-color:<%=zone:get_color()%>">
- <strong><%=zone:name()%>:</strong>
- <%-
- local zempty = true
- for _, net in ipairs(zone:get_networks()) do
- net = nwm:get_network(net)
- if net then
- zempty = false
- -%>
- <span class="ifacebadge<% if net:name() == self.network then %> ifacebadge-active<% end %>"><%=net:name()%>:
- <%
- local nempty = true
- for _, iface in ipairs(net:is_bridge() and net:get_interfaces() or { net:get_interface() }) do
- nempty = false
- %>
- <img<%=attr("title", iface:get_i18n())%> style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.png" />
- <% end %>
- <% if nempty then %><em><%:(empty)%></em><% end %>
- </span>
- <%- end end -%>
- <%- if zempty then %><em><%:(empty)%></em><% end -%>
- </label>
- &#160;&#8658;&#160;
- <% for _, fwd in ipairs(zone:get_forwardings_by("src")) do
- fz = fwd:dest_zone()
- if fz then
- empty = false %>
- <label class="zonebadge" style="background-color:<%=fz:get_color()%>">
- <strong><%=fz:name()%></strong>
- </label>&#160;
- <% end end %>
- <% if empty then %>
+<div class="zone-forwards">
+ <div class="zone-src">
+ <%=render_zone(zone)%>
+ </div>
+ <span>&#8658;</span>
+ <div class="zone-dest">
+ <%
+ for _, fwd in ipairs(zone:get_forwardings_by("src")) do
+ fz = fwd:dest_zone()
+ if fz then
+ empty = false
+ render_zone(fz)
+ end
+ end
+ if empty then
+ %>
<label class="zonebadge zonebadge-empty">
<strong><%=zone:forward():upper()%></strong>
</label>
<% end %>
+ </div>
</div>
<% end %>
diff --git a/modules/luci-base/luasrc/view/cbi/firewall_zonelist.htm b/modules/luci-base/luasrc/view/cbi/firewall_zonelist.htm
index b4260707ef..3a108020b6 100644
--- a/modules/luci-base/luasrc/view/cbi/firewall_zonelist.htm
+++ b/modules/luci-base/luasrc/view/cbi/firewall_zonelist.htm
@@ -24,26 +24,42 @@
end
-%>
-<span>
- <ul style="margin:0; list-style-type:none; text-align:left">
+<div class="cbi-dropdown" dropdown-items="5" placeholder="<%:-- please select -- %>"<%=
+ attr("name", cbid) ..
+ ifattr(self.widget == "checkbox", "multiple", "multiple") ..
+ ifattr(self.rmempty or self.optional, "optional", "optional")
+%>>
+ <script type="item-template"><!--
+ <li 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>
+ </li>
+ --></script>
+ <ul>
<% if self.allowlocal then %>
- <li style="padding:0.5em">
- <input class="cbi-input-radio" data-update="click change"<%=attr("type", self.widget or "radio") .. attr("id", cbid .. "_empty") .. attr("name", cbid) .. attr("value", "") .. ifattr(checked[""], "checked", "checked")%> /> &#160;
- <label<%=attr("for", cbid .. "_empty")%>></label>
- <label<%=attr("for", cbid .. "_empty")%> style="background-color:<%=fwm.zone.get_color()%>" class="zonebadge">
+ <li 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 %>(<%:input%>)<% end %>
- </label>
+ <% if self.allowany and self.allowlocal then -%>
+ (<%= self.alias ~= "dest"
+ and translate("output") or translate("input") %>)
+ <%- end %>
+ </span>
+ </li>
+ <% elseif self.widget ~= "checkbox" and (self.rmempty or self.optional) then %>
+ <li value=""<%=ifattr(checked[""], "selected", "selected")%>>
+ <span class="zonebadge">
+ <em><%:unspecified%></em>
+ </span>
</li>
<% end %>
<% if self.allowany then %>
- <li style="padding:0.5em">
- <input class="cbi-input-radio" data-update="click change"<%=attr("type", self.widget or "radio") .. attr("id", cbid .. "_any") .. attr("name", cbid) .. attr("value", "*") .. ifattr(checked["*"], "checked", "checked")%> /> &#160;
- <label<%=attr("for", cbid .. "_any")%>></label>
- <label<%=attr("for", cbid .. "_any")%> style="background-color:<%=fwm.zone.get_color()%>" class="zonebadge">
+ <li 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 %>
- </label>
+ </span>
</li>
<% end %>
<%
@@ -51,45 +67,42 @@
if zone:name() ~= self.exclude then
selected = selected or (value == zone:name())
%>
- <li style="padding:0.5em">
- <input class="cbi-input-radio" data-update="click change"<%=attr("type", self.widget or "radio") .. attr("id", cbid .. "." .. zone:name()) .. attr("name", cbid) .. attr("value", zone:name()) .. ifattr(checked[zone:name()], "checked", "checked")%> /> &#160;
- <label<%=attr("for", cbid .. "." .. zone:name())%>></label>
- <label<%=attr("for", cbid .. "." .. zone:name())%> style="background-color:<%=zone:get_color()%>" class="zonebadge">
+ <li<%=attr("value", zone:name()) .. ifattr(checked[zone:name()], "selected", "selected")%>>
+ <span style="background-color:<%=zone:get_color()%>" class="zonebadge">
<strong><%=zone:name()%>:</strong>
- <%
+ <%-
local zempty = true
for _, net in ipairs(zone:get_networks()) do
net = nwm:get_network(net)
if net then
zempty = false
- %>
+ -%>
<span class="ifacebadge<% if net:name() == self.network then %> ifacebadge-active<% end %>"><%=net:name()%>:
- <%
+ <%-
local nempty = true
for _, iface in ipairs(net:is_bridge() and net:get_interfaces() or { net:get_interface() }) do
nempty = false
%>
- <img<%=attr("title", iface:get_i18n())%> style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.png" />
+ <img<%=attr("title", iface:get_i18n())%> src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.png" />
<% end %>
- <% if nempty then %><em><%:(empty)%></em><% end %>
+ <% if nempty then %><em><%:(empty)%></em><% end -%>
</span>
- <% end end %>
- <% if zempty then %><em><%:(empty)%></em><% end %>
- </label>
+ <%- end end -%>
+ <%- if zempty then %><em><%:(empty)%></em><% end -%>
+ </span>
</li>
<% end end %>
<% if self.widget ~= "checkbox" and not self.nocreate then %>
- <li style="padding:0.5em">
- <input class="cbi-input-radio" data-update="click change" type="radio"<%=attr("id", cbid .. "_new") .. attr("name", cbid) .. attr("value", "-") .. ifattr(not selected, "checked", "checked")%> /> &#160;
- <label<%=attr("for", cbid .. "_new")%>></label>
- <div onclick="document.getElementById('<%=cbid%>_new').checked=true" class="zonebadge" style="background-color:<%=fwm.zone.get_color()%>">
- <em><%:unspecified -or- create:%>&#160;</em>
- <input type="text"<%=attr("name", cbid .. ".newzone") .. ifattr(not selected, "value", luci.http.formvalue(cbid .. ".newzone") or self.default)%> onfocus="document.getElementById('<%=cbid%>_new').checked=true" />
- </div>
+ <li value="-">
+ <span class="zonebadge">
+ <em><%:create%>:</em>
+ <input type="password" style="display:none" />
+ <input class="create-item-input" type="text" />
+ </span>
</li>
<% end %>
</ul>
-</span>
+</div>
<%+cbi/valuefooter%>
diff --git a/modules/luci-base/luasrc/view/cbi/footer.htm b/modules/luci-base/luasrc/view/cbi/footer.htm
index e6acfb0697..5f939b6469 100644
--- a/modules/luci-base/luasrc/view/cbi/footer.htm
+++ b/modules/luci-base/luasrc/view/cbi/footer.htm
@@ -1,9 +1,7 @@
<%- if pageaction then -%>
<div class="cbi-page-actions">
<% if redirect and not flow.hidebackbtn then %>
- <div style="float:left">
<input class="cbi-button cbi-button-link" type="button" value="<%:Back to Overview%>" onclick="location.href='<%=pcdata(redirect)%>'" />
- </div>
<% end %>
<% if flow.skip then %>
diff --git a/modules/luci-base/luasrc/view/cbi/full_valuefooter.htm b/modules/luci-base/luasrc/view/cbi/full_valuefooter.htm
index f780936766..d4ad093efa 100644
--- a/modules/luci-base/luasrc/view/cbi/full_valuefooter.htm
+++ b/modules/luci-base/luasrc/view/cbi/full_valuefooter.htm
@@ -3,7 +3,6 @@
<br />
<%- end %>
<div class="cbi-value-description">
- <span class="cbi-value-helpicon"><img src="<%=resource%>/cbi/help.gif" alt="<%:help%>" /></span>
<%=self.description%>
</div>
<%- end %>
diff --git a/modules/luci-base/luasrc/view/cbi/map.htm b/modules/luci-base/luasrc/view/cbi/map.htm
index 69ef3615a2..83c3cb2170 100644
--- a/modules/luci-base/luasrc/view/cbi/map.htm
+++ b/modules/luci-base/luasrc/view/cbi/map.htm
@@ -1,5 +1,5 @@
<%- if firstmap and messages then local msg; for _, msg in ipairs(messages) do -%>
- <div class="errorbox"><%=pcdata(msg)%></div>
+ <div class="alert-message warning"><%=pcdata(msg)%></div>
<%- end end -%>
<div class="cbi-map" id="cbi-<%=self.config%>">
@@ -31,7 +31,6 @@
</li>
<% end %>
</ul>
- <br />
<% for i, section in ipairs(self.children) do %>
<div class="cbi-tabcontainer" id="container.m-<%=self.config%>.<%=section.section or section.sectiontype%>"<% if section.sectiontype ~= self.selected_tab then %> style="display:none"<% end %>>
<% section:render() %>
@@ -53,6 +52,4 @@
<% else %>
<%- self:render_children() %>
<% end %>
-
- <br />
</div>
diff --git a/modules/luci-base/luasrc/view/cbi/network_ifacelist.htm b/modules/luci-base/luasrc/view/cbi/network_ifacelist.htm
index 62dbde7dd4..abfa33e1ed 100644
--- a/modules/luci-base/luasrc/view/cbi/network_ifacelist.htm
+++ b/modules/luci-base/luasrc/view/cbi/network_ifacelist.htm
@@ -19,7 +19,9 @@
if value then
for value in utl.imatch(value) do
- checked[value] = true
+ for value in utl.imatch(value) do
+ checked[value] = true
+ end
end
else
local n = self.network and net:get_network(self.network)
@@ -33,57 +35,51 @@
-%>
<input type="hidden" name="<%=cbeid%>" value="1" />
-<ul style="margin:0; list-style-type:none">
- <% for _, iface in ipairs(ifaces) do
- local link = iface:adminlink()
- if (not self.nobridges or not iface:is_bridge()) and
- (not self.noinactive or iface:is_up()) and
- iface:name() ~= self.exclude
- then %>
- <li>
- <input class="cbi-input-<%=self.widget or "radio"%>" data-update="click change"<%=
- attr("type", self.widget or "radio") ..
- attr("id", cbid .. "." .. iface:name()) ..
- attr("name", cbid) .. attr("value", iface:name()) ..
- ifattr(checked[iface:name()], "checked", "checked")
- %> />
- <%- if not self.widget or self.widget == "checkbox" or self.widget == "radio" then -%>
- <label<%=attr("for", cbid .. "." .. iface:name())%>></label>
- <%- end -%>
- &#160;
- <label<%=attr("for", cbid .. "." .. iface:name())%>>
- <% if link then -%><a href="<%=link%>"><% end -%>
- <img<%=attr("title", iface:get_i18n())%> style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.png" />
- <% if link then -%></a><% end -%>
- <%=pcdata(iface:get_i18n())%>
- <% local ns = iface:get_networks(); if #ns > 0 then %>(
- <%- local i, n; for i, n in ipairs(ns) do -%>
- <%-= (i>1) and ', ' -%>
- <a href="<%=n:adminlink()%>"><%=n:name()%></a>
- <%- end -%>
- )<% end %>
- </label>
- </li>
- <% end end %>
- <% if not self.nocreate then %>
- <li>
- <input class="cbi-input-<%=self.widget or "radio"%>" data-update="click change"<%=
- attr("type", self.widget or "radio") ..
- attr("id", cbid .. "_custom") ..
- attr("name", cbid) ..
- attr("value", " ")
- %> />
- <%- if not self.widget or self.widget == "checkbox" or self.widget == "radio" then -%>
- <label<%=attr("for", cbid .. "_custom")%>></label>
- <%- end -%>
- &#160;
- <label<%=attr("for", cbid .. "_custom")%>>
- <img title="<%:Custom Interface%>" style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/ethernet_disabled.png" />
- <%:Custom Interface%>:
- </label>
- <input type="text" style="width:50px" onfocus="document.getElementById('<%=cbid%>_custom').checked=true" onblur="var x=document.getElementById('<%=cbid%>_custom'); x.value=this.value; x.checked=true" />
- </li>
- <% end %>
-</ul>
+
+<div class="cbi-dropdown" display-items="5" placeholder="<%:-- please select -- %>"<%=
+ attr("name", cbid) ..
+ ifattr(self.widget == "checkbox", "multiple", "multiple") ..
+ ifattr(self.widget == "checkbox", "optional", "optional")
+%>>
+ <script type="item-template"><!--
+ <li value="{{value}}">
+ <img title="<%:Custom Interface%>: &quot;{{value}}&quot;" src="<%=resource%>/icons/ethernet_disabled.png" />
+ <span class="hide-open">{{value}}</span>
+ <span class="hide-close"><%:Custom Interface%>: "{{value}}"</span>
+ </li>
+ --></script>
+ <ul>
+ <% for _, iface in ipairs(ifaces) do
+ if (not self.nobridges or not iface:is_bridge()) and
+ (not self.noinactive or iface:is_up()) and
+ iface:name() ~= self.exclude
+ then %>
+ <li<%=
+ attr("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" />
+ <span class="hide-open"><%=pcdata(iface:name())%></span>
+ <span class="hide-close">
+ <%=pcdata(iface:get_i18n())%>
+ <% local ns = iface:get_networks(); if #ns > 0 then %>(
+ <%- local i, n; for i, n in ipairs(ns) do -%>
+ <%-= (i>1) and ', ' -%>
+ <a href="<%=n:adminlink()%>"><%=n:name()%></a>
+ <%- end -%>
+ )<% end %>
+ </span>
+ </li>
+ <% end end %>
+ <% if not self.nocreate then %>
+ <li value="">
+ <img title="<%:Custom Interface%>" src="<%=resource%>/icons/ethernet_disabled.png" />
+ <span><%:Custom Interface%>:</span>
+ <input type="password" style="display:none" />
+ <input class="create-item-input" type="text" />
+ </li>
+ <% end %>
+ </ul>
+</div>
<%+cbi/valuefooter%>
diff --git a/modules/luci-base/luasrc/view/cbi/network_netlist.htm b/modules/luci-base/luasrc/view/cbi/network_netlist.htm
index 8bf1a70a20..ba6ebb8434 100644
--- a/modules/luci-base/luasrc/view/cbi/network_netlist.htm
+++ b/modules/luci-base/luasrc/view/cbi/network_netlist.htm
@@ -20,66 +20,62 @@
end
-%>
-<ul style="margin:0; list-style-type:none; text-align:left">
- <% for _, net in ipairs(networks) do
- if (net:name() ~= "loopback") and
- (net:name() ~= self.exclude) and
- (not self.novirtual or not net:is_virtual())
- then %>
- <li style="padding:0.25em 0">
- <input class="cbi-input-<%=self.widget or "radio"%>" data-update="click change"<%=
- attr("type", self.widget or "radio") ..
- attr("id", cbid .. "." .. net:name()) ..
- attr("name", cbid) .. attr("value", net:name()) ..
- ifattr(checked[net:name()], "checked", "checked")
- %> /> &#160;
- <label<%=attr("for", cbid .. "." .. net:name())%>>
+<div class="cbi-dropdown" display-items="5" placeholder="<%:-- please select -- %>"<%=
+ attr("name", cbid) ..
+ ifattr(self.widget == "checkbox", "multiple", "multiple") ..
+ ifattr(self.widget == "checkbox", "optional", "optional")
+%>>
+ <script type="item-template"><!--
+ <li 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>
+ </li>
+ --></script>
+ <ul>
+ <% if self.widget ~= "checkbox" then %>
+ <li value=""<%= ifattr(not value, "selected", "selected") %>>
+ <em><%:unspecified%></em>
+ </li>
+ <% end %>
+
+ <% for _, net in ipairs(networks) do
+ if (net:name() ~= "loopback") and
+ (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") %>>
<span class="ifacebadge"><%=net:name()%>:
<%
local empty = true
for _, iface in ipairs(net:is_bridge() and net:get_interfaces() or { net:get_interface() }) do
if not iface:is_bridge() then
empty = false
- %>
+ -%>
<img<%=attr("title", iface:get_i18n())%> style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.png" />
- <% end end %>
- <% if empty then %><em><%:(no interfaces attached)%></em><% end %>
+ <%- end end %>
+ <% if empty then %>
+ <em class="hide-close"><%:(no interfaces attached)%></em>
+ <em class="hide-open">-</em>
+ <% end %>
</span>
- </label>
- </li>
- <% end end %>
+ </li>
+ <% end end %>
- <% if not self.nocreate then %>
- <li style="padding:0.25em 0">
- <input class="cbi-input-<%=self.widget or "radio"%>" data-update="click change"<%=attr("type", self.widget or "radio") .. attr("id", cbid .. "_new") .. attr("name", cbid) .. attr("value", "-") .. ifattr(not value and self.widget ~= "checkbox", "checked", "checked")%> /> &#160;
- <%- if not self.widget or self.widget == "checkbox" or self.widget == "radio" then -%>
- <label<%=attr("for", cbid .. "_new")%>></label>
- <%- end -%>
- <div style="padding:0.5em; display:inline">
- <label<%=attr("for", cbid .. "_new")%>><em>
+ <% if not self.nocreate then %>
+ <li value="-"<%= ifattr(not value and self.widget ~= "checkbox", "selected", "selected") %>>
+ <em>
<%- if self.widget == "checkbox" then -%>
<%:create:%>
<%- else -%>
<%:unspecified -or- create:%>
- <%- end -%>&#160;</em></label>
+ <%- end -%>
+ </em>
<input style="display:none" type="password" />
- <input style="width:6em" type="text"<%=attr("name", cbid .. ".newnet")%> onfocus="document.getElementById('<%=cbid%>_new').checked=true" />
- </div>
- </li>
- <% elseif self.widget ~= "checkbox" and self.unspecified then %>
- <li style="padding:0.25em 0">
- <input class="cbi-input-<%=self.widget or "radio"%>" data-update="click change"<%=
- attr("type", self.widget or "radio") ..
- attr("id", cbid .. "_uns") ..
- attr("name", cbid) ..
- attr("value", "") ..
- ifattr(not value or #value == 0, "checked", "checked")
- %> /> &#160;
- <div style="padding:0.5em; display:inline">
- <label<%=attr("for", cbid .. "_uns")%>><em><%:unspecified%></em></label>
- </div>
- </li>
- <% end %>
-</ul>
+ <input class="create-item-input" type="text" />
+ </li>
+ <% end %>
+ </ul>
+</div>
<%+cbi/valuefooter%>
diff --git a/modules/luci-base/luasrc/view/cbi/nsection.htm b/modules/luci-base/luasrc/view/cbi/nsection.htm
index abf67596f0..63abc57734 100644
--- a/modules/luci-base/luasrc/view/cbi/nsection.htm
+++ b/modules/luci-base/luasrc/view/cbi/nsection.htm
@@ -1,5 +1,5 @@
<% if self:cfgvalue(self.section) then section = self.section %>
- <fieldset class="cbi-section">
+ <div class="cbi-section">
<% if self.title and #self.title > 0 then -%>
<legend><%=self.title%></legend>
<%- end %>
@@ -15,17 +15,16 @@
<div class="cbi-section-node<% if self.tabs then %> cbi-section-node-tabbed<% end %>" id="cbi-<%=self.config%>-<%=section%>">
<%+cbi/ucisection%>
</div>
- <br />
- </fieldset>
+ </div>
<% elseif self.addremove then %>
<% if self.template_addremove then include(self.template_addremove) else -%>
- <fieldset class="cbi-section" id="cbi-<%=self.config%>-<%=self.section%>">
+ <div class="cbi-section" id="cbi-<%=self.config%>-<%=self.section%>">
<% if self.title and #self.title > 0 then -%>
<legend><%=self.title%></legend>
<%- end %>
<div class="cbi-section-descr"><%=self.description%></div>
<input type="submit" class="cbi-button cbi-button-add" name="cbi.cns.<%=self.config%>.<%=self.section%>" value="<%:Add%>" />
- </fieldset>
+ </div>
<%- end %>
<% end %>
<!-- /nsection -->
diff --git a/modules/luci-base/luasrc/view/cbi/nullsection.htm b/modules/luci-base/luasrc/view/cbi/nullsection.htm
index ef169593af..7230719d19 100644
--- a/modules/luci-base/luasrc/view/cbi/nullsection.htm
+++ b/modules/luci-base/luasrc/view/cbi/nullsection.htm
@@ -1,4 +1,4 @@
-<fieldset class="cbi-section">
+<div class="cbi-section">
<% if self.title and #self.title > 0 then -%>
<legend><%=self.title%></legend>
<%- end %>
@@ -25,8 +25,7 @@
</div>
<%- end %>
</div>
- <br />
-</fieldset>
+</div>
<%-
if type(self.hidden) == "table" then
for k, v in pairs(self.hidden) do
diff --git a/modules/luci-base/luasrc/view/cbi/simpleform.htm b/modules/luci-base/luasrc/view/cbi/simpleform.htm
index 3b758d70ee..c6000d22b3 100644
--- a/modules/luci-base/luasrc/view/cbi/simpleform.htm
+++ b/modules/luci-base/luasrc/view/cbi/simpleform.htm
@@ -10,7 +10,6 @@
<% if self.title and #self.title > 0 then %><h2 name="content"><%=self.title%></h2><% end %>
<% if self.description and #self.description > 0 then %><div class="cbi-map-descr"><%=self.description%></div><% end %>
<% self:render_children() %>
- <br />
</div>
<%- if self.message then %>
<div><%=self.message%></div>
@@ -30,9 +29,12 @@
end
%>
<% if redirect then %>
- <div style="float:left">
- <input class="cbi-button cbi-button-link" type="button" value="<%:Back to Overview%>" onclick="location.href='<%=pcdata(redirect)%>'" />
- </div>
+ <input class="cbi-button cbi-button-link" type="button" value="<%:Back to Overview%>" onclick="location.href='<%=pcdata(redirect)%>'" />
+<% end %>
+<%- if self.cancel ~= false and self.on_cancel then %>
+ <input class="cbi-button cbi-button-link" type="submit" name="cbi.cancel" value="
+ <%- if not self.cancel then -%><%-:Cancel-%><%-else-%><%=self.cancel%><%end-%>
+ " />
<% end %>
<%- if self.flow and self.flow.skip then %>
<input class="cbi-button cbi-button-skip" type="submit" name="cbi.skip" value="<%:Skip%>" />
@@ -47,11 +49,6 @@
<%- if not self.reset then -%><%-:Reset-%><%-else-%><%=self.reset%><%end-%>
" />
<% end %>
-<%- if self.cancel ~= false and self.on_cancel then %>
- <input class="cbi-button cbi-button-reset" type="submit" name="cbi.cancel" value="
- <%- if not self.cancel then -%><%-:Cancel-%><%-else-%><%=self.cancel%><%end-%>
- " />
-<% end %>
</div>
</form>
<% end %>
diff --git a/modules/luci-base/luasrc/view/cbi/tblsection.htm b/modules/luci-base/luasrc/view/cbi/tblsection.htm
index 3cb87563f1..ab13922040 100644
--- a/modules/luci-base/luasrc/view/cbi/tblsection.htm
+++ b/modules/luci-base/luasrc/view/cbi/tblsection.htm
@@ -14,10 +14,14 @@ function width(o)
end
return ''
end
+
+local anonclass = (not self.anonymous or self.sectiontitle) and "named" or "anonymous"
+local titlename = ifattr(not self.anonymous or self.sectiontitle, "data-title", translate("Name"))
+
-%>
<!-- tblsection -->
-<fieldset class="cbi-section" id="cbi-<%=self.config%>-<%=self.sectiontype%>">
+<div class="cbi-section cbi-tblsection" id="cbi-<%=self.config%>-<%=self.sectiontype%>">
<% if self.title and #self.title > 0 then -%>
<legend><%=self.title%></legend>
<%- end %>
@@ -25,121 +29,107 @@ end
<input type="hidden" id="cbi.sts.<%=self.config%>.<%=self.sectiontype%>" name="cbi.sts.<%=self.config%>.<%=self.sectiontype%>" value="" />
<%- end -%>
<div class="cbi-section-descr"><%=self.description%></div>
- <div class="cbi-section-node">
- <%- local count = 0 -%>
- <table class="cbi-section-table">
- <tr class="cbi-section-table-titles">
- <%- if not self.anonymous then -%>
- <%- if self.sectionhead then -%>
- <th class="cbi-section-table-cell"><%=self.sectionhead%></th>
- <%- else -%>
- <th>&#160;</th>
- <%- end -%>
- <%- count = count +1; end -%>
- <%- for i, k in pairs(self.children) do if not k.optional then -%>
- <th class="cbi-section-table-cell"<%=width(k)%>>
- <%- if k.titleref then -%><a title="<%=self.titledesc or translate('Go to relevant configuration page')%>" class="cbi-title-ref" href="<%=k.titleref%>"><%- end -%>
- <%-=k.title-%>
- <%- if k.titleref then -%></a><%- end -%>
- </th>
- <%- count = count + 1; end; end; if self.sortable then -%>
- <th class="cbi-section-table-cell"><%:Sort%></th>
- <%- count = count + 1; end; if self.extedit or self.addremove then -%>
- <th class="cbi-section-table-cell">&#160;</th>
- <%- count = count + 1; end -%>
- </tr>
- <tr class="cbi-section-table-descr">
- <%- if not self.anonymous then -%>
- <%- if self.sectiondesc then -%>
- <th class="cbi-section-table-cell"><%=self.sectiondesc%></th>
- <%- else -%>
- <th></th>
- <%- end -%>
- <%- end -%>
- <%- for i, k in pairs(self.children) do if not k.optional then -%>
- <th class="cbi-section-table-cell"<%=width(k)%>><%=k.description%></th>
- <%- end; end; if self.sortable then -%>
- <th class="cbi-section-table-cell"></th>
- <%- end; if self.extedit or self.addremove then -%>
- <th class="cbi-section-table-cell"></th>
- <%- end -%>
- </tr>
- <%- local isempty = true
- for i, k in ipairs(self:cfgsections()) do
- section = k
- isempty = false
- scope = { valueheader = "cbi/cell_valueheader", valuefooter = "cbi/cell_valuefooter" }
- -%>
- <tr class="cbi-section-table-row<% if self.extedit or self.rowcolors then %> cbi-rowstyle-<%=rowstyle()%><% end %>" id="cbi-<%=self.config%>-<%=section%>">
- <% if not self.anonymous then -%>
- <th><h3><%=(type(self.sectiontitle) == "function") and self:sectiontitle(section) or k%></h3></th>
- <%- end %>
-
+ <%- local count = 0 -%>
+ <div class="table cbi-section-table">
+ <div class="tr cbi-section-table-titles <%=anonclass%>"<%=titlename%>>
+ <%- for i, k in pairs(self.children) do if not k.optional then -%>
+ <div class="th cbi-section-table-cell"<%=
+ width(k) ..
+ attr("data-type", k.template and k.template:gsub("^.+/", "") or "")
+ %>>
+ <%- if k.titleref then -%><a title="<%=self.titledesc or translate('Go to relevant configuration page')%>" class="cbi-title-ref" href="<%=k.titleref%>"><%- end -%>
+ <%-=k.title-%>
+ <%- if k.titleref then -%></a><%- end -%>
+ </div>
+ <%- count = count + 1; end; end; if self.sortable or self.extedit or self.addremove then -%>
+ <div class="th cbi-section-table-cell cbi-section-actions"></div>
+ <%- count = count + 1; end -%>
+ </div>
+ <div class="tr cbi-section-table-descr <%=anonclass%>">
+ <%- for i, k in pairs(self.children) do if not k.optional then -%>
+ <div class="th cbi-section-table-cell"<%=
+ width(k) ..
+ attr("data-type", k.template and k.template:gsub("^.+/", "") or "")
+ %>><%=k.description%></div>
+ <%- end; end; if self.sortable or self.extedit or self.addremove then -%>
+ <div class="th cbi-section-table-cell cbi-section-actions"></div>
+ <%- end -%>
+ </div>
+ <%- local isempty, i, k = true, nil, nil
+ for i, k in ipairs(self:cfgsections()) do
+ isempty = false
- <%-
- for k, node in ipairs(self.children) do
- if not node.optional then
- node:render(section, scope or {})
- end
+ local section = k
+ local sectionname = striptags((type(self.sectiontitle) == "function") and self:sectiontitle(section) or k)
+ local sectiontitle = ifattr(sectionname and (not self.anonymous or self.sectiontitle), "data-title", sectionname)
+ local colorclass = (self.extedit or self.rowcolors) and " cbi-rowstyle-%d" % rowstyle() or ""
+ local scope = {
+ valueheader = "cbi/cell_valueheader",
+ valuefooter = "cbi/cell_valuefooter"
+ }
+ -%>
+ <div class="tr cbi-section-table-row<%=colorclass%>" id="cbi-<%=self.config%>-<%=section%>"<%=sectiontitle%>>
+ <%-
+ local node
+ for k, node in ipairs(self.children) do
+ if not node.optional then
+ node:render(section, scope or {})
end
- -%>
-
- <%- if self.sortable then -%>
- <td class="cbi-section-table-cell">
- <input class="cbi-button cbi-button-up" type="button" value="" onclick="return cbi_row_swap(this, true, 'cbi.sts.<%=self.config%>.<%=self.sectiontype%>')" alt="<%:Move up%>" title="<%:Move up%>" />
- <input class="cbi-button cbi-button-down" type="button" value="" onclick="return cbi_row_swap(this, false, 'cbi.sts.<%=self.config%>.<%=self.sectiontype%>')" alt="<%:Move down%>" title="<%:Move down%>" />
- </td>
- <%- end -%>
-
- <%- if self.extedit or self.addremove then -%>
- <td class="cbi-section-table-cell">
- <%- if self.extedit then -%>
- <input class="cbi-button cbi-button-edit" type="button" value="<%:Edit%>"
- <%- if type(self.extedit) == "string" then
- %> onclick="location.href='<%=self.extedit:format(section)%>'"
- <%- elseif type(self.extedit) == "function" then
- %> onclick="location.href='<%=self:extedit(section)%>'"
- <%- end
- %> alt="<%:Edit%>" title="<%:Edit%>" />
- <%- end; if self.addremove then %>
- <input class="cbi-button cbi-button-remove" type="submit" value="<%:Delete%>" onclick="this.form.cbi_state='del-section'; return true" name="cbi.rts.<%=self.config%>.<%=k%>" alt="<%:Delete%>" title="<%:Delete%>" />
- <%- end -%>
- </td>
- <%- end -%>
- </tr>
- <%- end -%>
+ end
+ -%>
- <%- if isempty then -%>
- <tr class="cbi-section-table-row">
- <td colspan="<%=count%>"><em><br /><%:This section contains no values yet%></em></td>
- </tr>
+ <%- if self.sortable or self.extedit or self.addremove then -%>
+ <div class="td cbi-section-table-cell nowrap cbi-section-actions">
+ <%- if self.sortable then -%>
+ <input class="cbi-button cbi-button-up" type="button" value="<%:Up%>" onclick="return cbi_row_swap(this, true, 'cbi.sts.<%=self.config%>.<%=self.sectiontype%>')" title="<%:Move up%>" />
+ <input class="cbi-button cbi-button-down" type="button" value="<%:Down%>" onclick="return cbi_row_swap(this, false, 'cbi.sts.<%=self.config%>.<%=self.sectiontype%>')" title="<%:Move down%>" />
+ <% end; if self.extedit then -%>
+ <input class="cbi-button cbi-button-edit" type="button" value="<%:Edit%>"
+ <%- if type(self.extedit) == "string" then
+ %> onclick="location.href='<%=self.extedit:format(section)%>'"
+ <%- elseif type(self.extedit) == "function" then
+ %> onclick="location.href='<%=self:extedit(section)%>'"
+ <%- end
+ %> alt="<%:Edit%>" title="<%:Edit%>" />
+ <% end; if self.addremove then %>
+ <input class="cbi-button cbi-button-remove" type="submit" value="<%:Delete%>" onclick="this.form.cbi_state='del-section'; return true" name="cbi.rts.<%=self.config%>.<%=k%>" alt="<%:Delete%>" title="<%:Delete%>" />
+ <%- end -%>
+ </div>
<%- end -%>
- </table>
-
- <% if self.error then %>
- <div class="cbi-section-error">
- <ul><% for _, c in pairs(self.error) do for _, e in ipairs(c) do -%>
- <li><%=pcdata(e):gsub("\n","<br />")%></li>
- <%- end end %></ul>
- </div>
- <% end %>
+ </div>
+ <%- end -%>
- <%- if self.addremove then -%>
- <% if self.template_addremove then include(self.template_addremove) else -%>
- <div class="cbi-section-create cbi-tblsection-create">
- <% if self.anonymous then %>
- <input class="cbi-button cbi-button-add" type="submit" value="<%:Add%>" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>.<%=section%>" title="<%:Add%>" />
- <% else %>
- <% if self.invalid_cts then -%><div class="cbi-section-error"><% end %>
- <input type="text" class="cbi-section-create-name" id="cbi.cts.<%=self.config%>.<%=self.sectiontype%>.<%=section%>" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>.<%=section%>" data-type="uciname" data-optional="true" />
- <input class="cbi-button cbi-button-add" type="submit" onclick="this.form.cbi_state='add-section'; return true" value="<%:Add%>" title="<%:Add%>" />
- <% if self.invalid_cts then -%>
- <br /><%:Invalid%></div>
- <%- end %>
- <% end %>
- </div>
- <%- end %>
+ <%- if isempty then -%>
+ <div class="tr cbi-section-table-row placeholder">
+ <div class="td"><em><%:This section contains no values yet%></em></div>
+ </div>
<%- end -%>
</div>
-</fieldset>
+
+ <% if self.error then %>
+ <div class="cbi-section-error">
+ <ul><% for _, c in pairs(self.error) do for _, e in ipairs(c) do -%>
+ <li><%=pcdata(e):gsub("\n","<br />")%></li>
+ <%- end end %></ul>
+ </div>
+ <% end %>
+
+ <%- if self.addremove then -%>
+ <% if self.template_addremove then include(self.template_addremove) else -%>
+ <div class="cbi-section-create cbi-tblsection-create">
+ <% if self.anonymous then %>
+ <input class="cbi-button cbi-button-add" type="submit" value="<%:Add%>" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>.<%=section%>" title="<%:Add%>" />
+ <% else %>
+ <% if self.invalid_cts then -%>
+ <div class="cbi-section-error"><%:Invalid%></div>
+ <%- end %>
+ <div>
+ <input type="text" class="cbi-section-create-name" id="cbi.cts.<%=self.config%>.<%=self.sectiontype%>." name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>." data-type="uciname" data-optional="true" />
+ </div>
+ <input class="cbi-button cbi-button-add" type="submit" onclick="this.form.cbi_state='add-section'; return true" value="<%:Add%>" title="<%:Add%>" />
+ <% end %>
+ </div>
+ <%- end %>
+ <%- end -%>
+</div>
<!-- /tblsection -->
diff --git a/modules/luci-base/luasrc/view/cbi/tsection.htm b/modules/luci-base/luasrc/view/cbi/tsection.htm
index 726521ae3f..1a13df0c04 100644
--- a/modules/luci-base/luasrc/view/cbi/tsection.htm
+++ b/modules/luci-base/luasrc/view/cbi/tsection.htm
@@ -1,4 +1,4 @@
-<fieldset class="cbi-section" id="cbi-<%=self.config%>-<%=self.sectiontype%>">
+<div class="cbi-section" id="cbi-<%=self.config%>-<%=self.sectiontype%>">
<% if self.title and #self.title > 0 then -%>
<legend><%=self.title%></legend>
<%- end %>
@@ -20,10 +20,9 @@
<%+cbi/tabmenu%>
- <fieldset class="cbi-section-node<% if self.tabs then %> cbi-section-node-tabbed<% end %>" id="cbi-<%=self.config%>-<%=section%>">
+ <div class="cbi-section-node<% if self.tabs then %> cbi-section-node-tabbed<% end %>" id="cbi-<%=self.config%>-<%=section%>">
<%+cbi/ucisection%>
- </fieldset>
- <br />
+ </div>
<%- end %>
<% if isempty then -%>
@@ -36,14 +35,15 @@
<% if self.anonymous then -%>
<input type="submit" class="cbi-button cbi-button-add" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>.<%=section%>" value="<%:Add%>" />
<%- else -%>
- <% if self.invalid_cts then -%><div class="cbi-section-error"><% end %>
- <input type="text" class="cbi-section-create-name" id="cbi.cts.<%=self.config%>.<%=self.sectiontype%>.<%=section%>" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>.<%=section%>" data-type="uciname" data-optional="true" />
- <input type="submit" class="cbi-button cbi-button-add" onclick="this.form.cbi_state='add-section'; return true" value="<%:Add%>" />
<% if self.invalid_cts then -%>
- <br /><%:Invalid%></div>
+ <div class="cbi-section-error"><%:Invalid%></div>
<%- end %>
+ <div>
+ <input type="text" class="cbi-section-create-name" id="cbi.cts.<%=self.config%>.<%=self.sectiontype%>." name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>." data-type="uciname" data-optional="true" />
+ </div>
+ <input class="cbi-button cbi-button-add" type="submit" onclick="this.form.cbi_state='add-section'; return true" value="<%:Add%>" title="<%:Add%>" />
<%- end %>
</div>
<%- end %>
<%- end %>
-</fieldset>
+</div>
diff --git a/modules/luci-base/luasrc/view/cbi/upload.htm b/modules/luci-base/luasrc/view/cbi/upload.htm
index 4fb5201aac..3c3d82b653 100644
--- a/modules/luci-base/luasrc/view/cbi/upload.htm
+++ b/modules/luci-base/luasrc/view/cbi/upload.htm
@@ -8,7 +8,7 @@
<%:Uploaded File%> (<%=t.byte_format(s.size)%>)
<% if self.unsafeupload then %>
<input type="hidden"<%= attr("value", v) .. attr("name", cbid) .. attr("id", cbid) %> />
- <input class="cbi-button cbi-input-image" type="image" value="<%:Replace entry%>" name="cbi.rlf.<%=section .. "." .. self.option%>" alt="<%:Replace entry%>" title="<%:Replace entry%>" src="<%=resource%>/cbi/reload.gif" />
+ <input class="cbi-button cbi-button-image" type="image" value="<%:Replace entry%>" name="cbi.rlf.<%=section .. "." .. self.option%>" alt="<%:Replace entry%>" title="<%:Replace entry%>" src="<%=resource%>/cbi/reload.gif" />
<% end %>
<% end %>
diff --git a/modules/luci-base/luasrc/view/sysauth.htm b/modules/luci-base/luasrc/view/sysauth.htm
index b3ec9b7617..9b0e2de780 100644
--- a/modules/luci-base/luasrc/view/sysauth.htm
+++ b/modules/luci-base/luasrc/view/sysauth.htm
@@ -8,7 +8,9 @@
<form method="post" action="<%=pcdata(FULL_REQUEST_URI)%>">
<%- if fuser then %>
- <div class="errorbox"><%:Invalid username and/or password! Please try again.%></div>
+ <div class="alert-message warning">
+ <p><%:Invalid username and/or password! Please try again.%></p>
+ </div>
<% end -%>
<div class="cbi-map">
@@ -16,23 +18,23 @@
<div class="cbi-map-descr">
<%:Please enter your username and password.%>
</div>
- <fieldset class="cbi-section"><fieldset class="cbi-section-node">
+ <div class="cbi-section"><div class="cbi-section-node">
<div class="cbi-value">
<label class="cbi-value-title"><%:Username%></label>
<div class="cbi-value-field">
- <input class="cbi-input-user" type="text" name="luci_username" value="<%=duser%>" />
+ <input class="cbi-input-text" type="text" name="luci_username" value="<%=duser%>" />
</div>
</div>
<div class="cbi-value cbi-value-last">
<label class="cbi-value-title"><%:Password%></label>
<div class="cbi-value-field">
- <input class="cbi-input-password" type="password" name="luci_password" />
+ <input class="cbi-input-text" type="password" name="luci_password" />
</div>
</div>
- </fieldset></fieldset>
+ </div></div>
</div>
- <div>
+ <div class="cbi-page-actions">
<input type="submit" value="<%:Login%>" class="cbi-button cbi-button-apply" />
<input type="reset" value="<%:Reset%>" class="cbi-button cbi-button-reset" />
</div>
diff --git a/modules/luci-base/po/ca/base.po b/modules/luci-base/po/ca/base.po
index b08344b404..32cee9f50c 100644
--- a/modules/luci-base/po/ca/base.po
+++ b/modules/luci-base/po/ca/base.po
@@ -49,6 +49,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "Càrrega d'1 minut:"
@@ -174,9 +177,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -213,9 +213,6 @@ msgstr "Número de dispositiu ATM"
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr "Concentrador d'accés"
@@ -323,11 +320,6 @@ msgstr "Permet respostes del rang 127.0.0.0/8, p.e. per serveis RBL"
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -406,11 +398,14 @@ msgstr "Configuració d'antena"
msgid "Any zone"
msgstr "Qualsevol zona"
-msgid "Apply"
-msgstr "Aplica"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Apply unchecked"
+msgstr ""
-msgid "Applying changes"
-msgstr "Aplicant els canvis"
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -426,6 +421,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "Estacions associades"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -517,9 +515,6 @@ msgstr "Adreça mal especificada!"
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -593,12 +588,20 @@ msgstr "Canvis"
msgid "Changes applied."
msgstr "Canvis aplicats."
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "Canvia la paraula clau de l'administrador per accedir al dispositiu"
msgid "Channel"
msgstr "Canal"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "Comprovació"
@@ -678,12 +681,15 @@ msgstr ""
msgid "Configuration"
msgstr "Configuració"
-msgid "Configuration applied."
-msgstr "S'ha aplicat la configuració."
-
msgid "Configuration files will be kept."
msgstr "Es mantindran els fitxers de configuració."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
+msgstr ""
+
msgid "Confirmation"
msgstr "Confirmació"
@@ -696,12 +702,15 @@ msgstr "Connectat"
msgid "Connection Limit"
msgstr "Límit de connexió"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr ""
-
msgid "Connections"
msgstr "Connexions"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "País"
@@ -830,9 +839,6 @@ msgstr "Passarel·la per defecte"
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr "Estat per defecte"
@@ -872,6 +878,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "Diagnòstics"
@@ -906,6 +915,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr "Descarta les respostes RFC1918 des de dalt"
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr "Mostrant només els paquets que contenen"
@@ -1160,6 +1172,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr "Fitxer"
@@ -1281,7 +1296,7 @@ msgstr "Espai lliure"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1355,9 +1370,6 @@ msgstr "Penja"
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1418,8 +1430,8 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "Tallafocs IPv4"
-msgid "IPv4 WAN Status"
-msgstr "Estat WAN IPv4"
+msgid "IPv4 Upstream"
+msgstr ""
msgid "IPv4 address"
msgstr "Adreça IPv4"
@@ -1469,15 +1481,12 @@ msgstr ""
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
-msgstr "Estat WAN IPv6"
+msgid "IPv6 Upstream"
+msgstr ""
msgid "IPv6 address"
msgstr "Adreça IPv6"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -2056,9 +2065,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr "Candidats de servidor NTP"
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr "Nom"
@@ -2182,6 +2188,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr ""
@@ -2233,12 +2242,6 @@ msgstr "Opció treta"
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2590,12 +2593,12 @@ msgstr ""
"\"Dynamic Host Configuration Protocol\">DHCP</abbr>"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
@@ -2603,12 +2606,12 @@ msgid "Really reset all changes?"
msgstr ""
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
@@ -2699,9 +2702,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2760,6 +2760,15 @@ msgstr "Mostra/amaga la contrasenya"
msgid "Revert"
msgstr "Reverteix"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr "Arrel"
@@ -2775,9 +2784,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2803,14 +2809,6 @@ msgstr ""
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2838,9 +2836,6 @@ msgstr "Desa"
msgid "Save & Apply"
msgstr "Desa i aplica"
-msgid "Save &#38; Apply"
-msgstr "Desa i aplica"
-
msgid "Scan"
msgstr "Escaneja"
@@ -2867,17 +2862,6 @@ msgstr "Clients separats"
msgid "Server Settings"
msgstr "Ajusts de servidor"
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr "Nom de servei"
@@ -2971,9 +2955,6 @@ msgstr "Ordena"
msgid "Source"
msgstr "Origen"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr "Especifica el directori a que el dispositiu està adjuntat"
@@ -3012,6 +2993,9 @@ msgstr "Inici"
msgid "Start priority"
msgstr "Prioritat d'inici"
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr "Arrencada"
@@ -3166,6 +3150,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3191,9 +3185,6 @@ msgstr ""
"<br />Fes clic a \"Procedeix\" a continuació per començar el procés "
"d'escriptura a la memòria flaix."
-msgid "The following changes have been committed"
-msgstr "S'han comès els següents canvis"
-
msgid "The following changes have been reverted"
msgstr "S&#39;han desfet els següents canvis"
@@ -3259,11 +3250,6 @@ msgstr ""
"tinguis."
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3273,8 +3259,8 @@ msgstr ""
msgid "There are no active leases."
msgstr "No hi ha arrendaments actius."
-msgid "There are no pending changes to apply!"
-msgstr "No hi ha canvis pendents per aplicar!"
+msgid "There are no changes to apply."
+msgstr ""
msgid "There are no pending changes to revert!"
msgstr "No hi ha canvis pendents per revertir!"
@@ -3423,15 +3409,6 @@ msgstr "Interfície del túnel"
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr "Potència Tx"
@@ -3607,12 +3584,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr "Classe de venidor per enviar al sol·licitar DHCP"
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr "Verifica"
@@ -3644,16 +3615,15 @@ msgstr ""
"La xifratge WPA requereix que sigui instal·lat el wpa_supplicant (pel mode "
"client) o el hostapd (pels modes AP i ad hoc)."
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr "Esperant que s'apliquin els canvis..."
msgid "Waiting for command to complete..."
msgstr "Esperant que s'acabi l'ordre..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr "Esperant el dispositiu..."
@@ -3668,12 +3638,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3753,6 +3717,9 @@ msgstr ""
msgid "bridged"
msgstr "pontejat"
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr "crea:"
@@ -3817,9 +3784,6 @@ msgstr "kbit/s"
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "fitxer <abbr title=\"Domain Name System\">DNS</abbr> local"
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3844,6 +3808,9 @@ msgstr "engegat"
msgid "open"
msgstr "obert"
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3895,6 +3862,30 @@ msgstr "sí"
msgid "« Back"
msgstr "« Enrere"
+#~ msgid "IPv4 WAN Status"
+#~ msgstr "Estat WAN IPv4"
+
+#~ msgid "IPv6 WAN Status"
+#~ msgstr "Estat WAN IPv6"
+
+#~ msgid "Apply"
+#~ msgstr "Aplica"
+
+#~ msgid "Applying changes"
+#~ msgstr "Aplicant els canvis"
+
+#~ msgid "Configuration applied."
+#~ msgstr "S'ha aplicat la configuració."
+
+#~ msgid "Save &#38; Apply"
+#~ msgstr "Desa i aplica"
+
+#~ msgid "The following changes have been committed"
+#~ msgstr "S'han comès els següents canvis"
+
+#~ msgid "There are no pending changes to apply!"
+#~ msgstr "No hi ha canvis pendents per aplicar!"
+
#~ msgid "Action"
#~ msgstr "Acció"
diff --git a/modules/luci-base/po/cs/base.po b/modules/luci-base/po/cs/base.po
index aa4144758b..673ca6fd44 100644
--- a/modules/luci-base/po/cs/base.po
+++ b/modules/luci-base/po/cs/base.po
@@ -47,6 +47,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "Zatížení za 1 minutu:"
@@ -169,9 +172,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -208,9 +208,6 @@ msgstr "Äíslo ATM zařízení"
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr "Přístupový koncentrátor"
@@ -319,11 +316,6 @@ msgstr "Povolit upstream odpovědi na 127.0.0.0/8 rozsah, např. pro RBL služby
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -402,11 +394,14 @@ msgstr "Konfigurace antén"
msgid "Any zone"
msgstr "Libovolná zóna"
-msgid "Apply"
-msgstr "Použít"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Apply unchecked"
+msgstr ""
-msgid "Applying changes"
-msgstr "Probíhá uplatňování nastavení"
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -422,6 +417,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "Připojení klienti"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -512,9 +510,6 @@ msgstr "Zadána neplatná adresa!"
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -586,12 +581,20 @@ msgstr "Změny"
msgid "Changes applied."
msgstr "Změny aplikovány."
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "Změní administrátorské heslo pro přístup k zařízení"
msgid "Channel"
msgstr "Kanál"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "Kontrola"
@@ -672,12 +675,15 @@ msgstr ""
msgid "Configuration"
msgstr "Nastavení"
-msgid "Configuration applied."
-msgstr "Nastavení uplatněno."
-
msgid "Configuration files will be kept."
msgstr "KonfiguraÄní soubory budou zachovány."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
+msgstr ""
+
msgid "Confirmation"
msgstr "Ověření"
@@ -690,12 +696,15 @@ msgstr "Připojeno"
msgid "Connection Limit"
msgstr "Omezení poÄtu pÅ™ipojení"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr ""
-
msgid "Connections"
msgstr "Připojení"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "ZemÄ›"
@@ -824,9 +833,6 @@ msgstr "Výchozí brána"
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr "Výchozí stav"
@@ -868,6 +874,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "Diagnostika"
@@ -902,6 +911,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr "Vyřadit upstream RFC1918 odpovědi"
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr "Zobrazeny pouze balíÄky obsahující"
@@ -1162,6 +1174,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr "Soubor"
@@ -1283,7 +1298,7 @@ msgstr "Volné místo"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1355,9 +1370,6 @@ msgstr "Zavěsit"
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1417,8 +1429,8 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "IPv4 firewall"
-msgid "IPv4 WAN Status"
-msgstr "Stav IPv4 WAN"
+msgid "IPv4 Upstream"
+msgstr ""
msgid "IPv4 address"
msgstr "IPv4 adresa"
@@ -1468,15 +1480,12 @@ msgstr ""
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
-msgstr "Stav IPv6 WAN"
+msgid "IPv6 Upstream"
+msgstr ""
msgid "IPv6 address"
msgstr "IPv6 adresa"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -2064,9 +2073,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr "Kandidáti NTP serveru"
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr "Název"
@@ -2190,6 +2196,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr "Vypnutí prodlevy"
@@ -2240,12 +2249,6 @@ msgstr "Volba odstraněna"
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2601,15 +2604,15 @@ msgstr ""
"Host Configuration Protocol\">DHCP</abbr> Serveru"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
"Opravdu odstranit toto rozhraní? Odstranění nelze vrátit zpět!\n"
"Můžete ztratit přístup k zařízení, pokud jste připojeni prostřednictvím "
"tohoto rozhraní."
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
"Opravdu odstranit bezdrátovou síť? Odstranění nelze vrátit zpět!\n"
@@ -2621,7 +2624,7 @@ msgstr "Opravdu resetovat všechny změny?"
#, fuzzy
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
"Opravdu vypnout síť ?\n"
@@ -2629,7 +2632,7 @@ msgstr ""
"tohoto rozhraní."
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
"Opravdu vypnout rozhraní \"%s\" ?\n"
@@ -2723,9 +2726,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2785,6 +2785,15 @@ msgstr "Odhalit/skrýt heslo"
msgid "Revert"
msgstr "Vrátit zpět"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr "Root"
@@ -2800,9 +2809,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2827,14 +2833,6 @@ msgstr "Spustit kontrolu souborového systému"
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2862,9 +2860,6 @@ msgstr "Uložit"
msgid "Save & Apply"
msgstr "Uložit & použít"
-msgid "Save &#38; Apply"
-msgstr "Uložit &#38; použít"
-
msgid "Scan"
msgstr "Skenovat"
@@ -2893,17 +2888,6 @@ msgstr "Oddělovat klienty"
msgid "Server Settings"
msgstr "Nastavení serveru"
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr "Název služby"
@@ -3000,9 +2984,6 @@ msgstr "Seřadit"
msgid "Source"
msgstr "Zdroj"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr ""
@@ -3043,6 +3024,9 @@ msgstr "Start"
msgid "Start priority"
msgstr "Priorita spouštění"
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr "Po spuštění"
@@ -3206,6 +3190,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3230,9 +3224,6 @@ msgstr ""
"souboru s originálním souborem pro zajištění integrity dat.<br /> Kliknutím "
"na \"PokraÄovat\" spustíte proceduru flashování."
-msgid "The following changes have been committed"
-msgstr "Následující změny byly provedeny"
-
msgid "The following changes have been reverted"
msgstr "Následující změny byly vráceny"
@@ -3302,11 +3293,6 @@ msgstr ""
"mohli znovu připojit."
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3314,8 +3300,8 @@ msgstr ""
msgid "There are no active leases."
msgstr "Nejsou žádné aktivní zápůjÄky."
-msgid "There are no pending changes to apply!"
-msgstr "Nejsou zde žádné nevyřízené změny k aplikaci!"
+msgid "There are no changes to apply."
+msgstr ""
msgid "There are no pending changes to revert!"
msgstr "Nejsou zde žádné nevyřízené změny k navrácení!"
@@ -3463,15 +3449,6 @@ msgstr "Rozhraní tunelu"
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr "Tx-Power"
@@ -3650,12 +3627,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr "Ověřit"
@@ -3687,16 +3658,15 @@ msgstr ""
"Šifrování WPA vyžaduje nainstalovaný wpa_supplicant (pro klientský režim) "
"nebo hostapd (pro AP a ad-hoc režim)."
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr "Čekání na realizaci změn..."
msgid "Waiting for command to complete..."
msgstr "ÄŒekání na dokonÄení příkazu..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
@@ -3711,12 +3681,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3794,6 +3758,9 @@ msgstr "baseT"
msgid "bridged"
msgstr "přemostěný"
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr ""
@@ -3858,9 +3825,6 @@ msgstr "kbit/s"
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "místní <abbr title=\"Domain Name System\">DNS</abbr> soubor"
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3885,6 +3849,9 @@ msgstr "on"
msgid "open"
msgstr ""
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3936,6 +3903,30 @@ msgstr "ano"
msgid "« Back"
msgstr "« Zpět"
+#~ msgid "IPv4 WAN Status"
+#~ msgstr "Stav IPv4 WAN"
+
+#~ msgid "IPv6 WAN Status"
+#~ msgstr "Stav IPv6 WAN"
+
+#~ msgid "Apply"
+#~ msgstr "Použít"
+
+#~ msgid "Applying changes"
+#~ msgstr "Probíhá uplatňování nastavení"
+
+#~ msgid "Configuration applied."
+#~ msgstr "Nastavení uplatněno."
+
+#~ msgid "Save &#38; Apply"
+#~ msgstr "Uložit &#38; použít"
+
+#~ msgid "The following changes have been committed"
+#~ msgstr "Následující změny byly provedeny"
+
+#~ msgid "There are no pending changes to apply!"
+#~ msgstr "Nejsou zde žádné nevyřízené změny k aplikaci!"
+
#~ msgid "Action"
#~ msgstr "Akce"
diff --git a/modules/luci-base/po/de/base.po b/modules/luci-base/po/de/base.po
index 574ddf184a..c0e0f914d1 100644
--- a/modules/luci-base/po/de/base.po
+++ b/modules/luci-base/po/de/base.po
@@ -49,6 +49,9 @@ msgstr "-- anhand Label selektieren --"
msgid "-- match by uuid --"
msgstr "-- UUID vergleichen --"
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "Systemlast (1 Minute):"
@@ -172,9 +175,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -211,9 +211,6 @@ msgstr "ATM Geräteindex"
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr "Access Concentrator"
@@ -322,13 +319,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr "Erlaubte IP-Adressen"
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-"Siehe auch <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> bei SIXXS."
-
msgid "Always announce default router"
msgstr "Immer Defaultrouter ankündigen"
@@ -409,11 +399,14 @@ msgstr "Antennenkonfiguration"
msgid "Any zone"
msgstr "Beliebige Zone"
-msgid "Apply"
-msgstr "Anwenden"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Apply unchecked"
+msgstr ""
-msgid "Applying changes"
-msgstr "Änderungen werden angewandt"
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -433,6 +426,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "Assoziierte Clients"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr "Berechtigungsgruppe"
@@ -523,9 +519,6 @@ msgstr "Ungültige Adresse angegeben!"
msgid "Band"
msgstr "Frequenztyp"
-msgid "Behind NAT"
-msgstr "NAT"
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -604,12 +597,20 @@ msgstr "Änderungen"
msgid "Changes applied."
msgstr "Änderungen angewendet."
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "Ändert das Administratorpasswort für den Zugriff auf dieses Gerät"
msgid "Channel"
msgstr "Kanal"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "Prüfen"
@@ -696,12 +697,15 @@ msgstr ""
msgid "Configuration"
msgstr "Konfiguration"
-msgid "Configuration applied."
-msgstr "Konfiguration angewendet."
-
msgid "Configuration files will be kept."
msgstr "Konfigurationsdateien sichern"
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
+msgstr ""
+
msgid "Confirmation"
msgstr "Bestätigung"
@@ -714,12 +718,15 @@ msgstr "Verbunden"
msgid "Connection Limit"
msgstr "Verbindungslimit"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr "TLS zwingend vorraussetzen und abbrechen wenn TLS fehlschlägt."
-
msgid "Connections"
msgstr "Verbindungen"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "Land"
@@ -848,9 +855,6 @@ msgstr "Default Gateway"
msgid "Default is stateless + stateful"
msgstr "Der Standardwert ist zustandslos und zustandsorientiert"
-msgid "Default route"
-msgstr "Default Route"
-
msgid "Default state"
msgstr "Ausgangszustand"
@@ -892,6 +896,9 @@ msgstr "Das Gerät startet neu..."
msgid "Device unreachable"
msgstr "Das Gerät ist nicht erreichbar"
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "Diagnosen"
@@ -926,6 +933,9 @@ msgstr "Deaktiviert (Standard)"
msgid "Discard upstream RFC1918 responses"
msgstr "Eingehende RFC1918-Antworten verwerfen"
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr "Nur Pakete mit folgendem Inhalt anzeigen"
@@ -1192,6 +1202,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr "Datei"
@@ -1318,10 +1331,10 @@ msgstr "Freier Platz"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
"Weitere Informationen zu WireGuard-Schnittstellen und Peers unter <a href="
-"\"http://wireguard.io\">wireguard.io</a>."
+"\"http://wireguard.com\">wireguard.com</a>."
msgid "GHz"
msgstr "GHz"
@@ -1394,9 +1407,6 @@ msgstr "Auflegen"
msgid "Header Error Code Errors (HEC)"
msgstr "Anzahl Header-Error-Code-Fehler (HEC)"
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1455,8 +1465,8 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "IPv4 Firewall"
-msgid "IPv4 WAN Status"
-msgstr "IPv4 WAN Status"
+msgid "IPv4 Upstream"
+msgstr ""
msgid "IPv4 address"
msgstr "IPv4 Adresse"
@@ -1506,15 +1516,12 @@ msgstr "IPv6 Einstellungen"
msgid "IPv6 ULA-Prefix"
msgstr "IPv6 ULA-Präfix"
-msgid "IPv6 WAN Status"
-msgstr "IPv6 WAN Status"
+msgid "IPv6 Upstream"
+msgstr ""
msgid "IPv6 address"
msgstr "IPv6 Adresse"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr "Zum lokalen Tunnelendpunkt delegierte IPv6-Adresse (optional)"
-
msgid "IPv6 assignment hint"
msgstr "IPv6 Zuweisungshinweis"
@@ -2129,9 +2136,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr "NTP Server Kandidaten"
-msgid "NTP sync time-out"
-msgstr "NTP Synchronisierungstimeout"
-
msgid "Name"
msgstr "Name"
@@ -2256,6 +2260,9 @@ msgstr "Chiffriertes Gruppenpasswort"
msgid "Obfuscated Password"
msgstr "Chiffriertes Passwort"
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr "Verzögerung für Ausschalt-Zustand"
@@ -2307,14 +2314,6 @@ msgstr "Option entfernt"
msgid "Optional"
msgstr "Optional"
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-"Optional, angeben um den Standardserver (tic.sixxs.net) zu überschreiben"
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-"Optional, angeben wenn das SIXSS Konto mehr als einen Tunnel beinhaltet"
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2685,8 +2684,8 @@ msgid ""
msgstr "Lese Informationen aus /etc/ethers um den DHCP-Server zu konfigurieren"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
"Diese Schnittstelle wirklich löschen? Der Schritt kann nicht rückgängig "
"gemacht werden!\n"
@@ -2694,7 +2693,7 @@ msgstr ""
"Schnittstelle verbunden sind."
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
"Dieses Drahtlosnetzwerk wirklich löschen? Der Schritt kann nicht rückgängig "
@@ -2707,7 +2706,7 @@ msgstr "Sollen wirklich alle Änderungen verworfen werden?"
#, fuzzy
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
"Das Netzwerk wirklich herunterfahren?\n"
@@ -2715,7 +2714,7 @@ msgstr ""
"Schnittstelle verbunden sind."
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
"Die Schnitstelle \"%s\" wirklich herunterfahren?\n"
@@ -2809,9 +2808,6 @@ msgstr "IPv6-Adresse anfordern"
msgid "Request IPv6-prefix of length"
msgstr "IPv6-Präfix dieser Länge anfordern"
-msgid "Require TLS"
-msgstr "TLS erfordern"
-
msgid "Required"
msgstr "Benötigt"
@@ -2879,6 +2875,15 @@ msgstr "Passwort zeigen/verstecken"
msgid "Revert"
msgstr "Verwerfen"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr "Root"
@@ -2894,9 +2899,6 @@ msgstr "Erlaubte IP-Addressen routen"
msgid "Route type"
msgstr "Routen-Typ"
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr "Geroutetes IPv6-Präfix für nachgelagerte Schnittstellen"
-
msgid "Router Advertisement-Service"
msgstr "Router-Advertisement-Dienst"
@@ -2922,14 +2924,6 @@ msgstr "Dateisystemprüfung durchführen"
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2957,9 +2951,6 @@ msgstr "Speichern"
msgid "Save & Apply"
msgstr "Speichern & Anwenden"
-msgid "Save &#38; Apply"
-msgstr "Speichern &#38; Anwenden"
-
msgid "Scan"
msgstr "Scan"
@@ -2988,19 +2979,6 @@ msgstr "Clients isolieren"
msgid "Server Settings"
msgstr "Servereinstellungen"
-msgid "Server password"
-msgstr "Server Passwort"
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-"Server Passwort bzw. das tunnelspezifische Passwort wenn der Benutzername "
-"eine Tunnel-ID beinhaltet."
-
-msgid "Server username"
-msgstr "Server Benutzername"
-
msgid "Service Name"
msgstr "Service-Name"
@@ -3101,9 +3079,6 @@ msgstr "Sortieren"
msgid "Source"
msgstr "Quelle"
-msgid "Source routing"
-msgstr "Quell-Routing"
-
msgid "Specifies the directory the device is attached to"
msgstr "Nennt das Verzeichnis, an welches das Gerät angebunden ist"
@@ -3150,6 +3125,9 @@ msgstr "Start"
msgid "Start priority"
msgstr "Startpriorität"
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr "Systemstart"
@@ -3325,6 +3303,16 @@ msgstr ""
"werden:"
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr "Die Gerätedatei des Speichers oder der Partition (z.B.: /dev/sda)"
@@ -3345,9 +3333,6 @@ msgstr ""
"Integrität sicherzustellen.<br /> Klicken Sie \"Fortfahren\" um die Flash-"
"Prozedur zu starten."
-msgid "The following changes have been committed"
-msgstr "Die folgenden Änderungen wurden angewendet"
-
msgid "The following changes have been reverted"
msgstr "Die folgenden Änderungen wurden verworfen"
@@ -3422,13 +3407,6 @@ msgstr ""
"Adresse beziehen müssen um auf das Gerät zugreifen zu können."
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-"Der lokale Tunnel-Endpunkt ist hinter einem NAT. Standard ist deaktiviert, "
-"nur auf AYIYA anwendbar."
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3438,8 +3416,8 @@ msgstr ""
msgid "There are no active leases."
msgstr "Es gibt z.Z. keine aktiven Leases."
-msgid "There are no pending changes to apply!"
-msgstr "Es gibt keine ausstehenen Änderungen anzuwenden!"
+msgid "There are no changes to apply."
+msgstr ""
msgid "There are no pending changes to revert!"
msgstr "Es gibt keine ausstehenen Änderungen zurückzusetzen!"
@@ -3600,15 +3578,6 @@ msgstr "Tunnelschnittstelle"
msgid "Tunnel Link"
msgstr "Basisschnittstelle"
-msgid "Tunnel broker protocol"
-msgstr "Tunnel-Boker-Protokoll"
-
-msgid "Tunnel setup server"
-msgstr "Tunnel-Setup-Server"
-
-msgid "Tunnel type"
-msgstr "Tunneltyp"
-
msgid "Tx-Power"
msgstr "Sendestärke"
@@ -3790,12 +3759,6 @@ msgstr "Hersteller"
msgid "Vendor Class to send when requesting DHCP"
msgstr "Bei DHCP-Anfragen gesendete Vendor-Klasse"
-msgid "Verbose"
-msgstr "Umfangreiche Ausgaben"
-
-msgid "Verbose logging by aiccu daemon"
-msgstr "Aktiviert erweiterte Protokollierung durch den AICCU-Prozess"
-
msgid "Verify"
msgstr "Verifizieren"
@@ -3827,18 +3790,15 @@ msgstr ""
"WPA-Verschlüsselung benötigt wpa_supplicant (für Client-Modus) oder hostapd "
"(für AP oder Ad-Hoc Modus)."
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-"Warte die angegebene Anzahl an Sekunden auf NTP-Synchronisierung, der Wert 0 "
-"deaktiviert das Warten (optional)"
-
msgid "Waiting for changes to be applied..."
msgstr "Änderungen werden angewandt..."
msgid "Waiting for command to complete..."
msgstr "Der Befehl wird ausgeführt..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr "Warte auf Gerät..."
@@ -3857,13 +3817,6 @@ msgstr ""
"Wenn PSK in Verwendung ist, können PMK-Schlüssel lokal ohne Inter-Access-"
"Point-Kommunikation erzeugt werden."
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-"Gibt an, ob eine IPv6-Default-Route durch den Tunnel etabliert werden soll"
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr "Gibt an, ob nur Pakete von delegierten Präfixen geroutet werden sollen"
-
msgid "Width"
msgstr "Breite"
@@ -3943,6 +3896,9 @@ msgstr "baseT"
msgid "bridged"
msgstr "bridged"
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr "erstelle:"
@@ -4005,9 +3961,6 @@ msgstr "kbit/s"
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "Lokale DNS-Datei"
-msgid "minimum 1280, maximum 1480"
-msgstr "Minimum 1280, Maximum 1480"
-
msgid "minutes"
msgstr "Minuten"
@@ -4032,6 +3985,9 @@ msgstr "ein"
msgid "open"
msgstr "offen"
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr "Overlay"
@@ -4083,107 +4039,8 @@ msgstr "ja"
msgid "« Back"
msgstr "« Zurück"
-#~ msgid "Action"
-#~ msgstr "Aktion"
-
-#~ msgid "Buttons"
-#~ msgstr "Knöpfe"
-
-#~ msgid "Handler"
-#~ msgstr "Handler"
-
-#~ msgid "Maximum hold time"
-#~ msgstr "Maximalzeit zum Halten der Verbindung"
-
-#~ msgid "Minimum hold time"
-#~ msgstr "Minimalzeit zum Halten der Verbindung"
-
-#~ msgid "Path to executable which handles the button event"
-#~ msgstr "Ausführbare Datei welche das Schalter-Ereignis verarbeitet"
-
-#~ msgid "Specifies the button state to handle"
-#~ msgstr "Gibt den zu behandelnden Tastenstatus an"
-
-#~ msgid "This page allows the configuration of custom button actions"
-#~ msgstr ""
-#~ "Diese Seite ermöglicht die Konfiguration benutzerdefinierter "
-#~ "Tastenaktionen"
-
-#~ msgid "Leasetime"
-#~ msgstr "Laufzeit"
-
-#~ msgid "Optional."
-#~ msgstr "Optional"
-
-#~ msgid "AuthGroup"
-#~ msgstr "Berechtigungsgruppe"
-
-#~ msgid "automatic"
-#~ msgstr "automatisch"
-
-#~ msgid "AR Support"
-#~ msgstr "AR-Unterstützung"
-
-#~ msgid "Atheros 802.11%s Wireless Controller"
-#~ msgstr "Atheros 802.11%s W-LAN Adapter"
-
-#~ msgid "Background Scan"
-#~ msgstr "Hintergrundscan"
-
-#~ msgid "Compression"
-#~ msgstr "Kompression"
-
-#~ msgid "Disable HW-Beacon timer"
-#~ msgstr "Deaktiviere Hardware-Beacon Zeitgeber"
-
-#~ msgid "Do not send probe responses"
-#~ msgstr "Scan-Anforderungen nicht beantworten"
-
-#~ msgid "Fast Frames"
-#~ msgstr "Schnelle Frames"
-
-#~ msgid "Maximum Rate"
-#~ msgstr "Höchstübertragungsrate"
-
-#~ msgid "Minimum Rate"
-#~ msgstr "Mindestübertragungsrate"
-
-#~ msgid "Multicast Rate"
-#~ msgstr "Multicastrate"
-
-#~ msgid "Outdoor Channels"
-#~ msgstr "Funkkanal für den Ausseneinsatz"
-
-#~ msgid "Regulatory Domain"
-#~ msgstr "Geltungsbereich (Regulatory Domain)"
-
-#~ msgid "Separate WDS"
-#~ msgstr "Separates WDS"
-
-#~ msgid "Static WDS"
-#~ msgstr "Statisches WDS"
-
-#~ msgid "Turbo Mode"
-#~ msgstr "Turbo Modus"
-
-#~ msgid "XR Support"
-#~ msgstr "XR-Unterstützung"
-
-#~ msgid "An additional network will be created if you leave this unchecked."
-#~ msgstr ""
-#~ "Erzeugt ein zusätzliches Netzwerk wenn diese Option nicht ausgewählt ist"
-
-#~ msgid "Join Network: Settings"
-#~ msgstr "Netzwerk beitreten: Einstellungen"
-
-#~ msgid "CPU"
-#~ msgstr "Prozessor"
-
-#~ msgid "Port %d"
-#~ msgstr "Port %d"
-
-#~ msgid "Port %d is untagged in multiple VLANs!"
-#~ msgstr "Port %d ist untagged in mehreren VLANs!"
+#~ msgid "IPv4 WAN Status"
+#~ msgstr "IPv4 WAN Status"
-#~ msgid "VLAN Interface"
-#~ msgstr "VLAN Schnittstelle"
+#~ msgid "IPv6 WAN Status"
+#~ msgstr "IPv6 WAN Status"
diff --git a/modules/luci-base/po/el/base.po b/modules/luci-base/po/el/base.po
index f746db32a4..3d3c765409 100644
--- a/modules/luci-base/po/el/base.po
+++ b/modules/luci-base/po/el/base.po
@@ -49,6 +49,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "ΦοÏτίο 1 λεπτοÏ:"
@@ -172,9 +175,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -211,9 +211,6 @@ msgstr "ΑÏιθμός συσκευής ATM"
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr "ΣυγκεντÏωτής ΠÏόσβασης "
@@ -326,11 +323,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -409,11 +401,14 @@ msgstr ""
msgid "Any zone"
msgstr "Οιαδήποτε ζώνη"
-msgid "Apply"
-msgstr "ΕφαÏμογή"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
-msgid "Applying changes"
-msgstr "ΕφαÏμογή αλλαγών"
+msgid "Apply unchecked"
+msgstr ""
+
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -429,6 +424,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "Συνδεδεμένοι Σταθμοί"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -520,9 +518,6 @@ msgstr "Μη έγκυÏη διεÏθυνση!"
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -595,12 +590,20 @@ msgstr "Αλλαγές"
msgid "Changes applied."
msgstr "Αλλαγές εφαÏμόστηκαν."
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "Αλλάζει τον κωδικό διαχειÏιστή για Ï€Ïόσβαση στη συσκευή"
msgid "Channel"
msgstr "Κανάλι"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "Έλεγχος"
@@ -681,12 +684,15 @@ msgstr ""
msgid "Configuration"
msgstr "ΠαÏαμετÏοποίηση"
-msgid "Configuration applied."
-msgstr "Η ΠαÏαμετÏοποίηση εφαÏμόστηκε."
-
msgid "Configuration files will be kept."
msgstr "Τα αÏχεία παÏαμετÏοποίησης θα διατηÏηθοÏν."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
+msgstr ""
+
msgid "Confirmation"
msgstr "Επιβεβαίωση"
@@ -699,12 +705,15 @@ msgstr "Συνδεδεμένος"
msgid "Connection Limit"
msgstr "ÎŒÏιο Συνδέσεων"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr ""
-
msgid "Connections"
msgstr "Συνδέσεις"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "ΧώÏα"
@@ -833,9 +842,6 @@ msgstr "ΠÏοεπιλεγμένη Ï€Ïλη"
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr "ΠÏοεπιλεγμένη κατάσταση"
@@ -877,6 +883,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "Διαγνωστικά"
@@ -911,6 +920,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr "Αγνόησε τις απαντήσεις ανοδικής Ïοής RFC1918"
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr "Εμφάνιση μόνο πακέτων που πεÏιέχουν"
@@ -1175,6 +1187,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr "ΑÏχείο"
@@ -1297,7 +1312,7 @@ msgstr "ΕλεÏθεÏος χώÏος"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1369,9 +1384,6 @@ msgstr "ΚÏέμασμα"
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1430,7 +1442,7 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "IPv4 Τείχος ΠÏοστασίας"
-msgid "IPv4 WAN Status"
+msgid "IPv4 Upstream"
msgstr ""
msgid "IPv4 address"
@@ -1481,15 +1493,12 @@ msgstr ""
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
-msgstr "Κατάσταση IPv6 WAN"
+msgid "IPv6 Upstream"
+msgstr ""
msgid "IPv6 address"
msgstr "ΔιεÏθυνση IPv6"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -2072,9 +2081,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr ""
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr "Όνομα"
@@ -2198,6 +2204,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr ""
@@ -2249,12 +2258,6 @@ msgstr "Η επιλογή αφαιÏέθηκε"
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2607,12 +2610,12 @@ msgstr ""
"εξυπηÏετητή <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
@@ -2620,12 +2623,12 @@ msgid "Really reset all changes?"
msgstr "ΑÏχικοποίηση όλων των αλλαγών;"
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
@@ -2716,9 +2719,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2777,6 +2777,15 @@ msgstr ""
msgid "Revert"
msgstr "ΑναίÏεση"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr "Root"
@@ -2792,9 +2801,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2821,14 +2827,6 @@ msgstr "Εκτέλεση ελέγχου συστήματος αÏχείων"
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2856,9 +2854,6 @@ msgstr "Αποθήκευση"
msgid "Save & Apply"
msgstr "Αποθήκευση & ΕφαÏμογή"
-msgid "Save &#38; Apply"
-msgstr "Αποθήκευση &#38; ΕφαÏμογή"
-
msgid "Scan"
msgstr "ΣάÏωση"
@@ -2886,17 +2881,6 @@ msgstr "Απομόνωση Πελατών"
msgid "Server Settings"
msgstr "Ρυθμίσεις ΕξυπηÏετητή"
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr "Όνομα ΥπηÏεσίας"
@@ -2989,9 +2973,6 @@ msgstr "Ταξινόμηση"
msgid "Source"
msgstr "Πηγή"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr ""
@@ -3032,6 +3013,9 @@ msgstr "ΑÏχή"
msgid "Start priority"
msgstr "ΠÏοτεÏαιότητα εκκίνησης"
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr "Εκκίνηση"
@@ -3184,6 +3168,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3205,9 +3199,6 @@ msgid ""
"\"Proceed\" below to start the flash procedure."
msgstr ""
-msgid "The following changes have been committed"
-msgstr "Οι παÏακάτω αλλαγές έχουν υποβληθεί"
-
msgid "The following changes have been reverted"
msgstr "Οι παÏακάτω αλλαγές έχουν αναιÏεθεί"
@@ -3266,11 +3257,6 @@ msgstr ""
"να αποκτήσετε ξανά Ï€Ïόσβαση στη συσκευή."
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3280,7 +3266,7 @@ msgstr ""
msgid "There are no active leases."
msgstr "Δεν υπάÏχουν ενεÏγά leases."
-msgid "There are no pending changes to apply!"
+msgid "There are no changes to apply."
msgstr ""
msgid "There are no pending changes to revert!"
@@ -3422,15 +3408,6 @@ msgstr "Διεπαφή ΤοÏνελ"
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr "ΙσχÏÏ‚ Εκπομπής"
@@ -3603,12 +3580,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr ""
@@ -3638,16 +3609,15 @@ msgid ""
"and ad-hoc mode) to be installed."
msgstr ""
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
@@ -3662,12 +3632,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3745,6 +3709,9 @@ msgstr ""
msgid "bridged"
msgstr ""
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr ""
@@ -3810,9 +3777,6 @@ msgstr ""
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "τοπικό αÏχείο <abbr title=\"Domain Name System\">DNS</abbr>"
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3837,6 +3801,9 @@ msgstr "ανοιχτό"
msgid "open"
msgstr ""
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3888,6 +3855,24 @@ msgstr "ναι"
msgid "« Back"
msgstr "« Πίσω"
+#~ msgid "IPv6 WAN Status"
+#~ msgstr "Κατάσταση IPv6 WAN"
+
+#~ msgid "Apply"
+#~ msgstr "ΕφαÏμογή"
+
+#~ msgid "Applying changes"
+#~ msgstr "ΕφαÏμογή αλλαγών"
+
+#~ msgid "Configuration applied."
+#~ msgstr "Η ΠαÏαμετÏοποίηση εφαÏμόστηκε."
+
+#~ msgid "Save &#38; Apply"
+#~ msgstr "Αποθήκευση &#38; ΕφαÏμογή"
+
+#~ msgid "The following changes have been committed"
+#~ msgstr "Οι παÏακάτω αλλαγές έχουν υποβληθεί"
+
#~ msgid "Action"
#~ msgstr "ΕνέÏγεια"
diff --git a/modules/luci-base/po/en/base.po b/modules/luci-base/po/en/base.po
index 50a7c92815..49cf819cd9 100644
--- a/modules/luci-base/po/en/base.po
+++ b/modules/luci-base/po/en/base.po
@@ -49,6 +49,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "1 Minute Load:"
@@ -172,9 +175,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -211,9 +211,6 @@ msgstr "ATM device number"
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr "Access Concentrator"
@@ -317,11 +314,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -400,11 +392,14 @@ msgstr ""
msgid "Any zone"
msgstr "Any zone"
-msgid "Apply"
-msgstr "Apply"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
-msgid "Applying changes"
-msgstr "Applying changes"
+msgid "Apply unchecked"
+msgstr ""
+
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -420,6 +415,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "Associated Stations"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -510,9 +508,6 @@ msgstr "Bad address specified!"
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -584,12 +579,20 @@ msgstr "Changes"
msgid "Changes applied."
msgstr "Changes applied."
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "Changes the administrator password for accessing the device"
msgid "Channel"
msgstr "Channel"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "Check"
@@ -668,12 +671,15 @@ msgstr ""
msgid "Configuration"
msgstr "Configuration"
-msgid "Configuration applied."
-msgstr "Configuration applied."
-
msgid "Configuration files will be kept."
msgstr "Configuration files will be kept."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
+msgstr ""
+
msgid "Confirmation"
msgstr "Confirmation"
@@ -686,12 +692,15 @@ msgstr "Connected"
msgid "Connection Limit"
msgstr "Connection Limit"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr ""
-
msgid "Connections"
msgstr "Connections"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "Country"
@@ -820,9 +829,6 @@ msgstr "Default gateway"
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr "Default state"
@@ -865,6 +871,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "Diagnostics"
@@ -897,6 +906,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr ""
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr ""
@@ -1151,6 +1163,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr ""
@@ -1272,7 +1287,7 @@ msgstr ""
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1344,9 +1359,6 @@ msgstr "Hang Up"
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1404,7 +1416,7 @@ msgstr ""
msgid "IPv4 Firewall"
msgstr ""
-msgid "IPv4 WAN Status"
+msgid "IPv4 Upstream"
msgstr ""
msgid "IPv4 address"
@@ -1455,15 +1467,12 @@ msgstr ""
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
+msgid "IPv6 Upstream"
msgstr ""
msgid "IPv6 address"
msgstr ""
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -2039,9 +2048,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr ""
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr "Name"
@@ -2165,6 +2171,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr ""
@@ -2216,12 +2225,6 @@ msgstr ""
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2573,12 +2576,12 @@ msgstr ""
"Configuration Protocol\">DHCP</abbr>-Server"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
@@ -2586,12 +2589,12 @@ msgid "Really reset all changes?"
msgstr ""
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
@@ -2682,9 +2685,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2743,6 +2743,15 @@ msgstr ""
msgid "Revert"
msgstr "Revert"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr ""
@@ -2758,9 +2767,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2786,14 +2792,6 @@ msgstr ""
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2821,9 +2819,6 @@ msgstr "Save"
msgid "Save & Apply"
msgstr "Save & Apply"
-msgid "Save &#38; Apply"
-msgstr ""
-
msgid "Scan"
msgstr "Scan"
@@ -2850,17 +2845,6 @@ msgstr "Separate Clients"
msgid "Server Settings"
msgstr ""
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr ""
@@ -2953,9 +2937,6 @@ msgstr ""
msgid "Source"
msgstr "Source"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr ""
@@ -2994,6 +2975,9 @@ msgstr "Start"
msgid "Start priority"
msgstr "Start priority"
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr ""
@@ -3144,6 +3128,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3165,9 +3159,6 @@ msgid ""
"\"Proceed\" below to start the flash procedure."
msgstr ""
-msgid "The following changes have been committed"
-msgstr ""
-
msgid "The following changes have been reverted"
msgstr "The following changes have been reverted"
@@ -3226,11 +3217,6 @@ msgstr ""
"settings."
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3240,7 +3226,7 @@ msgstr ""
msgid "There are no active leases."
msgstr ""
-msgid "There are no pending changes to apply!"
+msgid "There are no changes to apply."
msgstr ""
msgid "There are no pending changes to revert!"
@@ -3379,15 +3365,6 @@ msgstr ""
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr ""
@@ -3560,12 +3537,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr ""
@@ -3597,16 +3568,15 @@ msgstr ""
"WPA-Encryption requires wpa_supplicant (for client mode) or hostapd (for AP "
"and ad-hoc mode) to be installed."
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
@@ -3621,12 +3591,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3703,6 +3667,9 @@ msgstr ""
msgid "bridged"
msgstr ""
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr ""
@@ -3767,9 +3734,6 @@ msgstr ""
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "local <abbr title=\"Domain Name System\">DNS</abbr> file"
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3794,6 +3758,9 @@ msgstr ""
msgid "open"
msgstr ""
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3845,6 +3812,15 @@ msgstr ""
msgid "« Back"
msgstr "« Back"
+#~ msgid "Apply"
+#~ msgstr "Apply"
+
+#~ msgid "Applying changes"
+#~ msgstr "Applying changes"
+
+#~ msgid "Configuration applied."
+#~ msgstr "Configuration applied."
+
#~ msgid "Action"
#~ msgstr "Action"
diff --git a/modules/luci-base/po/es/base.po b/modules/luci-base/po/es/base.po
index 8aed2e9ee3..4c4713609b 100644
--- a/modules/luci-base/po/es/base.po
+++ b/modules/luci-base/po/es/base.po
@@ -49,6 +49,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "Carga a 1 minuto:"
@@ -174,9 +177,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -213,9 +213,6 @@ msgstr "Número de dispositivo ATM"
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr "Concentrador de acceso"
@@ -323,11 +320,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -406,11 +398,14 @@ msgstr "Configuración de la antena"
msgid "Any zone"
msgstr "Cualquier zona"
-msgid "Apply"
-msgstr "Aplicar"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Apply unchecked"
+msgstr ""
-msgid "Applying changes"
-msgstr "Aplicando cambios"
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -426,6 +421,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "Estaciones asociadas"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -516,9 +514,6 @@ msgstr "¡Dirección no válida!"
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -591,12 +586,20 @@ msgstr "Cambios"
msgid "Changes applied."
msgstr "Cambios aplicados."
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "Cambie la contraseña del administrador para acceder al dispositivo"
msgid "Channel"
msgstr "Canal"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "Comprobar"
@@ -677,12 +680,15 @@ msgstr ""
msgid "Configuration"
msgstr "Configuración"
-msgid "Configuration applied."
-msgstr "Configuración establecida."
-
msgid "Configuration files will be kept."
msgstr "Se mantendrán los ficheros de configuración."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
+msgstr ""
+
msgid "Confirmation"
msgstr "Confirmación"
@@ -695,12 +701,15 @@ msgstr "Conectado"
msgid "Connection Limit"
msgstr "Límite de conexión"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr ""
-
msgid "Connections"
msgstr "Conexiones"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "País"
@@ -829,9 +838,6 @@ msgstr "Gateway por defecto"
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr "Estado por defecto"
@@ -874,6 +880,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "Diagnósticos"
@@ -908,6 +917,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr "Descartar respuestas RFC1918 salientes"
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr "Mostrar sólo paquete que contienen"
@@ -1169,6 +1181,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr "Fichero"
@@ -1291,7 +1306,7 @@ msgstr "Espacio libre"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1365,9 +1380,6 @@ msgstr "Suspender"
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1426,8 +1438,8 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "Cortafuegos IPv4"
-msgid "IPv4 WAN Status"
-msgstr "Estado de la WAN IPv4"
+msgid "IPv4 Upstream"
+msgstr ""
msgid "IPv4 address"
msgstr "Dirección IPv4"
@@ -1477,15 +1489,12 @@ msgstr ""
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
-msgstr "Estado de la WAN IPv6"
+msgid "IPv6 Upstream"
+msgstr ""
msgid "IPv6 address"
msgstr "Dirección IPv6"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -2078,9 +2087,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr "Servidores NTP a consultar"
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr "Nombre"
@@ -2204,6 +2210,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr "Retraso de desconexión"
@@ -2254,12 +2263,6 @@ msgstr "Opción eliminada"
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2615,8 +2618,8 @@ msgstr ""
"\"Dynamic Host Configuration Protocol\">DHCP</abbr>"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
"¿Está seguro de borrar esta interfaz?. ¡No será posible deshacer el "
"borrado!\n"
@@ -2624,7 +2627,7 @@ msgstr ""
"interfaz."
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
"¿Está seguro de borrar esta red inalámbrica?. ¡No será posible deshacer el "
@@ -2636,14 +2639,14 @@ msgstr "¿Está seguro de querer reiniciar todos los cambios?"
#, fuzzy
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
"¿Está seguro de querer apagar esta red?.\n"
"Puede perder el acceso a este dispositivo si está conectado por esta red."
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
"¿Está seguro de apagar la interfaz \"%s\"?.\n"
@@ -2736,9 +2739,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2797,6 +2797,15 @@ msgstr "Mostrar/ocultar contraseña"
msgid "Revert"
msgstr "Anular"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr "Raíz"
@@ -2812,9 +2821,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2840,14 +2846,6 @@ msgstr "Comprobar el sistema de ficheros"
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2875,9 +2873,6 @@ msgstr "Guardar"
msgid "Save & Apply"
msgstr "Guardar y aplicar"
-msgid "Save &#38; Apply"
-msgstr "Guardar y aplicar"
-
msgid "Scan"
msgstr "Explorar"
@@ -2906,17 +2901,6 @@ msgstr "Aislar clientes"
msgid "Server Settings"
msgstr "Configuración del servidor"
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr "Nombre de servicio"
@@ -3013,9 +2997,6 @@ msgstr "Ordenar"
msgid "Source"
msgstr "Origen"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr "Especifica el directorio al que está enlazado el dispositivo"
@@ -3059,6 +3040,9 @@ msgstr "Arrancar"
msgid "Start priority"
msgstr "Prioridad de arranque"
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr "Arranque"
@@ -3226,6 +3210,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3250,9 +3244,6 @@ msgstr ""
"coinciden con los del original.<br />Pulse \"Proceder\" para empezar el "
"grabado."
-msgid "The following changes have been committed"
-msgstr "Se han hecho los siguientes cambios"
-
msgid "The following changes have been reverted"
msgstr "Se han anulado los siguientes cambios"
@@ -3322,11 +3313,6 @@ msgstr ""
"conexión de su ordenador para poder acceder de nuevo al dispositivo."
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3336,8 +3322,8 @@ msgstr ""
msgid "There are no active leases."
msgstr "Sin cesiones activas."
-msgid "There are no pending changes to apply!"
-msgstr "¡No hay cambios pendientes!"
+msgid "There are no changes to apply."
+msgstr ""
msgid "There are no pending changes to revert!"
msgstr "¡No hay cambios a anular!"
@@ -3488,15 +3474,6 @@ msgstr "Interfaz de túnel"
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr "Potencia-TX"
@@ -3676,12 +3653,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr "Clase de vendedor a enviar cuando solicite DHCP"
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr "Verificar"
@@ -3713,16 +3684,15 @@ msgstr ""
"WPA-Encryption necesita que estén instalados wpa_supplicant (para el modo "
"cliente o hostapd (para los modos AP y ad-hoc)."
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr "Esperando a que se realicen los cambios..."
msgid "Waiting for command to complete..."
msgstr "Esperando a que termine el comando..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
@@ -3737,12 +3707,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3821,6 +3785,9 @@ msgstr "baseT"
msgid "bridged"
msgstr "puenteado"
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr "crear:"
@@ -3885,9 +3852,6 @@ msgstr "Kbit/s"
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "Archvo <abbr title=\"Domain Name System\">DNS</abbr> local"
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3912,6 +3876,9 @@ msgstr "activo"
msgid "open"
msgstr "abierto"
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3963,6 +3930,30 @@ msgstr "sí"
msgid "« Back"
msgstr "« Volver"
+#~ msgid "IPv4 WAN Status"
+#~ msgstr "Estado de la WAN IPv4"
+
+#~ msgid "IPv6 WAN Status"
+#~ msgstr "Estado de la WAN IPv6"
+
+#~ msgid "Apply"
+#~ msgstr "Aplicar"
+
+#~ msgid "Applying changes"
+#~ msgstr "Aplicando cambios"
+
+#~ msgid "Configuration applied."
+#~ msgstr "Configuración establecida."
+
+#~ msgid "Save &#38; Apply"
+#~ msgstr "Guardar y aplicar"
+
+#~ msgid "The following changes have been committed"
+#~ msgstr "Se han hecho los siguientes cambios"
+
+#~ msgid "There are no pending changes to apply!"
+#~ msgstr "¡No hay cambios pendientes!"
+
#~ msgid "Action"
#~ msgstr "Acción"
diff --git a/modules/luci-base/po/fr/base.po b/modules/luci-base/po/fr/base.po
index e09343815d..d6e7ccf6bc 100644
--- a/modules/luci-base/po/fr/base.po
+++ b/modules/luci-base/po/fr/base.po
@@ -49,6 +49,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "Charge sur 1 minute :"
@@ -173,9 +176,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -216,9 +216,6 @@ msgstr "Numéro de périphérique ATM"
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr "Concentrateur d'accès"
@@ -329,11 +326,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -412,11 +404,14 @@ msgstr "Configuration de l'antenne"
msgid "Any zone"
msgstr "N'importe quelle zone"
-msgid "Apply"
-msgstr "Appliquer"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Apply unchecked"
+msgstr ""
-msgid "Applying changes"
-msgstr "Changements en cours"
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -432,6 +427,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "Équipements associés"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -522,9 +520,6 @@ msgstr "Adresse spécifiée incorrecte!"
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -596,12 +591,20 @@ msgstr "Changements"
msgid "Changes applied."
msgstr "Changements appliqués."
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "Change le mot de passe administrateur pour accéder à l'équipement"
msgid "Channel"
msgstr "Canal"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "Vérification"
@@ -684,12 +687,15 @@ msgstr ""
msgid "Configuration"
msgstr "Configuration"
-msgid "Configuration applied."
-msgstr "Configuration appliquée."
-
msgid "Configuration files will be kept."
msgstr "Les fichiers de configuration seront préservés."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
+msgstr ""
+
msgid "Confirmation"
msgstr "Confirmation"
@@ -702,12 +708,15 @@ msgstr "Connecté"
msgid "Connection Limit"
msgstr "Limite de connexion"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr ""
-
msgid "Connections"
msgstr "Connexions"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "Pays"
@@ -836,9 +845,6 @@ msgstr "Passerelle par défaut"
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr "État par défaut"
@@ -881,6 +887,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "Diagnostics"
@@ -915,6 +924,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr "Jeter les réponses en RFC1918 amont"
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr "N'afficher que les paquets contenant"
@@ -1181,6 +1193,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr "Fichier"
@@ -1302,7 +1317,7 @@ msgstr "Espace libre"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1376,9 +1391,6 @@ msgstr "Signal (HUP)"
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1438,8 +1450,8 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "Pare-feu IPv4"
-msgid "IPv4 WAN Status"
-msgstr "État IPv4 du WAN"
+msgid "IPv4 Upstream"
+msgstr ""
msgid "IPv4 address"
msgstr "Adresse IPv4"
@@ -1489,15 +1501,12 @@ msgstr ""
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
-msgstr "État IPv6 du WAN"
+msgid "IPv6 Upstream"
+msgstr ""
msgid "IPv6 address"
msgstr "Adresse IPv6"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -2092,9 +2101,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr "Serveurs NTP candidats"
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr "Nom"
@@ -2218,6 +2224,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr "Durée éteinte"
@@ -2267,12 +2276,6 @@ msgstr "Option retirée"
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2626,8 +2629,8 @@ msgid ""
msgstr "Lire /etc/ethers pour configurer le serveur DHCP"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
"Voulez-vous vraiment supprimer cette interface? L'effacement ne peut être "
"annulé!\n"
@@ -2635,7 +2638,7 @@ msgstr ""
"cette interface."
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
"Voulez-vous vraiment supprimer ce réseau sans-fil? L'effacement ne peut être "
@@ -2647,7 +2650,7 @@ msgid "Really reset all changes?"
msgstr "Voulez-vous vraiment ré-initialiser toutes les modifications ?"
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
"Voulez-vous vraiment arrêter l'interface %s ?\n"
@@ -2655,7 +2658,7 @@ msgstr ""
"cette interface."
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
"Voulez-vous vraiment arrêter l'interface %s ?\n"
@@ -2749,9 +2752,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2810,6 +2810,15 @@ msgstr "Montrer/cacher le mot de passe"
msgid "Revert"
msgstr "Revenir"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr "Racine"
@@ -2825,9 +2834,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2854,14 +2860,6 @@ msgstr "Faire une vérification du système de fichiers"
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2889,9 +2887,6 @@ msgstr "Sauvegarder"
msgid "Save & Apply"
msgstr "Sauvegarder et Appliquer"
-msgid "Save &#38; Apply"
-msgstr "Sauvegarder et appliquer"
-
msgid "Scan"
msgstr "Scan"
@@ -2920,17 +2915,6 @@ msgstr "Isoler les clients"
msgid "Server Settings"
msgstr "Paramètres du serveur"
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr "Nom du service"
@@ -3028,9 +3012,6 @@ msgstr "Trier"
msgid "Source"
msgstr "Source"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr "Indique le répertoire auquel le périphérique est rattaché"
@@ -3071,6 +3052,9 @@ msgstr "Démarrer"
msgid "Start priority"
msgstr "Priorité de démarrage"
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr "Démarrage"
@@ -3238,6 +3222,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr "Le périphérique de bloc contenant la partition (ex : /dev/sda1)"
@@ -3260,9 +3254,6 @@ msgstr ""
"assurer de son intégrité.<br /> Cliquez sur \"Continuer\" pour lancer la "
"procédure d'écriture."
-msgid "The following changes have been committed"
-msgstr "Les changements suivants ont été appliqués"
-
msgid "The following changes have been reverted"
msgstr "Les changements suivants ont été annulés"
@@ -3335,11 +3326,6 @@ msgstr ""
"settings."
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3349,8 +3335,8 @@ msgstr ""
msgid "There are no active leases."
msgstr "Il n'y a aucun bail actif."
-msgid "There are no pending changes to apply!"
-msgstr "Il n'y a aucun changement en attente d'être appliqués !"
+msgid "There are no changes to apply."
+msgstr ""
msgid "There are no pending changes to revert!"
msgstr "Il n'y a aucun changement à annuler !"
@@ -3506,15 +3492,6 @@ msgstr "Interface du tunnel"
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr "Puissance d'émission"
@@ -3695,12 +3672,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr "Classe de fournisseur à envoyer dans les requêtes DHCP"
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr "Vérifier"
@@ -3732,16 +3703,15 @@ msgstr ""
"Le chiffrage WPA nécessite l'installation du paquet wpa_supplicant (en mode "
"client) ou hostapd (en mode Point d'accès ou Ad-hoc)."
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr "En attente de l'application des changements..."
msgid "Waiting for command to complete..."
msgstr "En attente de la fin de la commande..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
@@ -3756,12 +3726,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3841,6 +3805,9 @@ msgstr "baseT"
msgid "bridged"
msgstr "ponté"
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr "créer:"
@@ -3903,9 +3870,6 @@ msgstr "kbit/s"
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "fichier de résolution local"
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3930,6 +3894,9 @@ msgstr "Actif"
msgid "open"
msgstr "ouvrir"
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3981,6 +3948,30 @@ msgstr "oui"
msgid "« Back"
msgstr "« Retour"
+#~ msgid "IPv4 WAN Status"
+#~ msgstr "État IPv4 du WAN"
+
+#~ msgid "IPv6 WAN Status"
+#~ msgstr "État IPv6 du WAN"
+
+#~ msgid "Apply"
+#~ msgstr "Appliquer"
+
+#~ msgid "Applying changes"
+#~ msgstr "Changements en cours"
+
+#~ msgid "Configuration applied."
+#~ msgstr "Configuration appliquée."
+
+#~ msgid "Save &#38; Apply"
+#~ msgstr "Sauvegarder et appliquer"
+
+#~ msgid "The following changes have been committed"
+#~ msgstr "Les changements suivants ont été appliqués"
+
+#~ msgid "There are no pending changes to apply!"
+#~ msgstr "Il n'y a aucun changement en attente d'être appliqués !"
+
#~ msgid "Action"
#~ msgstr "Action"
diff --git a/modules/luci-base/po/he/base.po b/modules/luci-base/po/he/base.po
index cb4c74a3f6..a8adc1038a 100644
--- a/modules/luci-base/po/he/base.po
+++ b/modules/luci-base/po/he/base.po
@@ -47,6 +47,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "עומס במשך דקה:"
@@ -163,9 +166,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -203,9 +203,6 @@ msgstr "מס' התקן של ATM"
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
#, fuzzy
msgid "Access Concentrator"
msgstr "מרכז גישות"
@@ -316,11 +313,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -401,11 +393,14 @@ msgstr "הגדרות ×נטנה"
msgid "Any zone"
msgstr "כל תחו×"
-msgid "Apply"
-msgstr "החל"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
-msgid "Applying changes"
-msgstr "מחיל הגדרות"
+msgid "Apply unchecked"
+msgstr ""
+
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -421,6 +416,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "תחנות קשורות"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -511,9 +509,6 @@ msgstr "פורטה כתובת ×œ× ×ª×§×™× ×”"
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -586,12 +581,20 @@ msgstr "שינויי×"
msgid "Changes applied."
msgstr "×”×©×™× ×•×™×™× ×”×•×—×œ×•"
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "משנה ×ת סיסמת המנהל לגישה למכשיר"
msgid "Channel"
msgstr "ערוץ"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "לבדוק"
@@ -661,12 +664,15 @@ msgstr ""
msgid "Configuration"
msgstr "הגדרות"
-msgid "Configuration applied."
-msgstr "הגדרות הוחלו"
-
msgid "Configuration files will be kept."
msgstr "קבצי ההגדרות ישמרו."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
+msgstr ""
+
msgid "Confirmation"
msgstr "×ישור"
@@ -679,12 +685,15 @@ msgstr "מחובר"
msgid "Connection Limit"
msgstr "מגבלת חיבורי×"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr ""
-
msgid "Connections"
msgstr "חיבורי×"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "מדינה"
@@ -813,9 +822,6 @@ msgstr ""
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr ""
@@ -857,6 +863,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "×בחון"
@@ -889,6 +898,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr ""
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr "מציג רק חבילות המכילות"
@@ -1136,6 +1148,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr ""
@@ -1257,7 +1272,7 @@ msgstr ""
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1329,9 +1344,6 @@ msgstr ""
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1387,7 +1399,7 @@ msgstr ""
msgid "IPv4 Firewall"
msgstr ""
-msgid "IPv4 WAN Status"
+msgid "IPv4 Upstream"
msgstr ""
msgid "IPv4 address"
@@ -1438,15 +1450,12 @@ msgstr ""
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
+msgid "IPv6 Upstream"
msgstr ""
msgid "IPv6 address"
msgstr ""
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -2012,9 +2021,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr ""
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr "ש×"
@@ -2138,6 +2144,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr ""
@@ -2183,12 +2192,6 @@ msgstr ""
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2538,12 +2541,12 @@ msgid ""
msgstr ""
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
@@ -2552,14 +2555,14 @@ msgstr ""
#, fuzzy
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
"×”×× ×œ×ž×—×•×§ ×ת הרשת ×”×לחוטית הזו? המחיקה ××™× ×” ניתנת לביטול!\n"
"ייתכן ות×בד גישה לנתב ×”×–×” ×× ×תה מחובר דרך השרת הזו."
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
@@ -2650,9 +2653,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2711,6 +2711,15 @@ msgstr ""
msgid "Revert"
msgstr ""
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr ""
@@ -2726,9 +2735,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2752,14 +2758,6 @@ msgstr "הרץ בדיקת מערכת קבצי×"
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2787,9 +2785,6 @@ msgstr ""
msgid "Save & Apply"
msgstr ""
-msgid "Save &#38; Apply"
-msgstr ""
-
msgid "Scan"
msgstr ""
@@ -2816,17 +2811,6 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr ""
@@ -2922,9 +2906,6 @@ msgstr "מיין"
msgid "Source"
msgstr "מקור"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr ""
@@ -2963,6 +2944,9 @@ msgstr ""
msgid "Start priority"
msgstr ""
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr "×תחול"
@@ -3116,6 +3100,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3132,9 +3126,6 @@ msgid ""
"\"Proceed\" below to start the flash procedure."
msgstr ""
-msgid "The following changes have been committed"
-msgstr ""
-
msgid "The following changes have been reverted"
msgstr ""
@@ -3189,11 +3180,6 @@ msgid ""
msgstr ""
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3201,7 +3187,7 @@ msgstr ""
msgid "There are no active leases."
msgstr ""
-msgid "There are no pending changes to apply!"
+msgid "There are no changes to apply."
msgstr ""
msgid "There are no pending changes to revert!"
@@ -3337,15 +3323,6 @@ msgstr ""
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr "עוצמת שידור"
@@ -3518,12 +3495,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr ""
@@ -3553,16 +3524,15 @@ msgid ""
"and ad-hoc mode) to be installed."
msgstr ""
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
@@ -3577,12 +3547,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3656,6 +3620,9 @@ msgstr ""
msgid "bridged"
msgstr ""
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr ""
@@ -3718,9 +3685,6 @@ msgstr ""
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr ""
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3745,6 +3709,9 @@ msgstr "פועל"
msgid "open"
msgstr ""
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3796,6 +3763,15 @@ msgstr "כן"
msgid "« Back"
msgstr "<< ×חורה"
+#~ msgid "Apply"
+#~ msgstr "החל"
+
+#~ msgid "Applying changes"
+#~ msgstr "מחיל הגדרות"
+
+#~ msgid "Configuration applied."
+#~ msgstr "הגדרות הוחלו"
+
#~ msgid "Action"
#~ msgstr "פעולה"
diff --git a/modules/luci-base/po/hu/base.po b/modules/luci-base/po/hu/base.po
index e49b5303f0..57f9c45abe 100644
--- a/modules/luci-base/po/hu/base.po
+++ b/modules/luci-base/po/hu/base.po
@@ -47,6 +47,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "Terhelés (utolsó 1 perc):"
@@ -170,9 +173,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -209,9 +209,6 @@ msgstr "ATM eszközszám"
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr "Elérési központ"
@@ -322,11 +319,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -405,11 +397,14 @@ msgstr "Antenna beállítások"
msgid "Any zone"
msgstr "Bármelyik zóna"
-msgid "Apply"
-msgstr "Alkalmaz"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Apply unchecked"
+msgstr ""
-msgid "Applying changes"
-msgstr "Módosítások alkalmazása"
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -425,6 +420,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "Kapcsolódó kliensek"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -515,9 +513,6 @@ msgstr "Hibás címet adott meg!"
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -590,6 +585,9 @@ msgstr "Módosítások"
msgid "Changes applied."
msgstr "A módosítások alkalmazva."
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr ""
"Itt módosíthatja az eszköz eléréséhez szükséges adminisztrátori jelszót"
@@ -597,6 +595,11 @@ msgstr ""
msgid "Channel"
msgstr "Csatorna"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "Ellenőrzés"
@@ -679,12 +682,15 @@ msgstr ""
msgid "Configuration"
msgstr "Beállítás"
-msgid "Configuration applied."
-msgstr "Beállítások alkalmazva."
-
msgid "Configuration files will be kept."
msgstr "A konfigurációs fájlok megmaradnak."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
+msgstr ""
+
msgid "Confirmation"
msgstr "Megerősítés"
@@ -697,12 +703,15 @@ msgstr "Kapcsolódva"
msgid "Connection Limit"
msgstr "Kapcsolati korlát"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr ""
-
msgid "Connections"
msgstr "Kapcsolatok"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "Ország"
@@ -831,9 +840,6 @@ msgstr "Alapértelmezett átjáró"
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr "Alapértelmezett állapot"
@@ -875,6 +881,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "Diagnosztika"
@@ -909,6 +918,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr "Beérkező RFC1918 DHCP válaszok elvetése. "
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr "Csak azon csomagok megjelenítése, amelyek tartalmazzák"
@@ -1170,6 +1182,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr "Fájl"
@@ -1293,7 +1308,7 @@ msgstr "Szabad hely"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1365,9 +1380,6 @@ msgstr "Befejezés"
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1427,8 +1439,8 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "IPv4 tűzfal"
-msgid "IPv4 WAN Status"
-msgstr "IPv4 WAN állapot"
+msgid "IPv4 Upstream"
+msgstr ""
msgid "IPv4 address"
msgstr "IPv4 cím"
@@ -1478,15 +1490,12 @@ msgstr ""
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
-msgstr "IPv6 WAN állapot"
+msgid "IPv6 Upstream"
+msgstr ""
msgid "IPv6 address"
msgstr "IPv6 cím"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -2081,9 +2090,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr "Kijelölt NTP kiszolgálók"
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr "Név"
@@ -2207,6 +2213,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr "Kikapcsolt állapot késleltetés"
@@ -2257,12 +2266,6 @@ msgstr "Beállítás eltávolítva"
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2618,15 +2621,15 @@ msgstr ""
"Configuration Protocol\">DHCP</abbr> kiszolgáló beállításához"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
"Biztosan törli az interfészt? A törlés nem visszavonható!\n"
" Lehet, hogy elveszti a hozzáférést az eszközhöz, amennyiben ezen az "
"interfészen keresztül kapcsolódik."
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
"Biztosan törli ezt a vezetéknélküli hálózatot? A törlés nem visszavonható!\n"
@@ -2638,7 +2641,7 @@ msgstr "Biztos, hogy visszavonja az összes módosítást?"
#, fuzzy
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
"Biztos, hogy leállítja a hálózatot?!\n"
@@ -2646,7 +2649,7 @@ msgstr ""
"hálózaton keresztül kapcsolódik."
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
"Biztos, hogy leállítja a \"%s\" interfészt?\n"
@@ -2740,9 +2743,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2802,6 +2802,15 @@ msgstr "Jelszó mutatása/elrejtése"
msgid "Revert"
msgstr "Visszavonás"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr "Gyökérkönyvtár"
@@ -2817,9 +2826,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2845,14 +2851,6 @@ msgstr "Fájlrendszer ellenőrzés futtatása"
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2880,9 +2878,6 @@ msgstr "Mentés"
msgid "Save & Apply"
msgstr "Mentés & Alkalmazás"
-msgid "Save &#38; Apply"
-msgstr "Mentés &#38; Alkalmazás"
-
msgid "Scan"
msgstr "Felderítés"
@@ -2911,17 +2906,6 @@ msgstr "Kliensek szétválasztása"
msgid "Server Settings"
msgstr "Kiszolgáló beállításai"
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr "Szolgáltatás neve"
@@ -3018,9 +3002,6 @@ msgstr "Sorbarendezés"
msgid "Source"
msgstr "Forrás"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr "Megadja az eszköz csatlakozási könyvtárát."
@@ -3062,6 +3043,9 @@ msgstr "Indítás"
msgid "Start priority"
msgstr "Indítás prioritása"
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr "Rendszerindítás"
@@ -3227,6 +3211,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3252,9 +3246,6 @@ msgstr ""
"ellenőrzéséhez.<br />Kattintson az alábbi \"Folytatás\" gombra a flash-elési "
"eljárás elindításához."
-msgid "The following changes have been committed"
-msgstr "A következő módosítások lettek alkalmazva"
-
msgid "The following changes have been reverted"
msgstr "A következő módosítások lettek visszavonva"
@@ -3324,11 +3315,6 @@ msgstr ""
"megújítása."
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3338,8 +3324,8 @@ msgstr ""
msgid "There are no active leases."
msgstr "Nincsenek aktív bérletek."
-msgid "There are no pending changes to apply!"
-msgstr "Nincsenek alkalmazásra váró módosítások!"
+msgid "There are no changes to apply."
+msgstr ""
msgid "There are no pending changes to revert!"
msgstr "Nincsenek visszavonásra váró változtatások!"
@@ -3494,15 +3480,6 @@ msgstr "Tunnel interfész"
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr "Adóteljesítmény"
@@ -3682,12 +3659,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr "DHCP kérés során küldendő 'Vendor Class'"
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr "Ellenőrzés"
@@ -3719,16 +3690,15 @@ msgstr ""
"WPA titkosításhoz kliens módnál 'wpa_supplicant', hozzáférési pont illetve "
"ad-hoc módnál 'hostapd' telepítése szükséges."
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr "Várakozás a változtatások alkalmazására..."
msgid "Waiting for command to complete..."
msgstr "Várakozás a parancs befejezésére..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
@@ -3743,12 +3713,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3828,6 +3792,9 @@ msgstr "baseT"
msgid "bridged"
msgstr "áthidalt"
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr "új:"
@@ -3892,9 +3859,6 @@ msgstr "kbit/s"
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "helyi <abbr title=\"Domain Name System\">DNS</abbr> fájl"
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3919,6 +3883,9 @@ msgstr "be"
msgid "open"
msgstr "nyitás"
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3970,6 +3937,30 @@ msgstr "igen"
msgid "« Back"
msgstr "« Vissza"
+#~ msgid "IPv4 WAN Status"
+#~ msgstr "IPv4 WAN állapot"
+
+#~ msgid "IPv6 WAN Status"
+#~ msgstr "IPv6 WAN állapot"
+
+#~ msgid "Apply"
+#~ msgstr "Alkalmaz"
+
+#~ msgid "Applying changes"
+#~ msgstr "Módosítások alkalmazása"
+
+#~ msgid "Configuration applied."
+#~ msgstr "Beállítások alkalmazva."
+
+#~ msgid "Save &#38; Apply"
+#~ msgstr "Mentés &#38; Alkalmazás"
+
+#~ msgid "The following changes have been committed"
+#~ msgstr "A következő módosítások lettek alkalmazva"
+
+#~ msgid "There are no pending changes to apply!"
+#~ msgstr "Nincsenek alkalmazásra váró módosítások!"
+
#~ msgid "Action"
#~ msgstr "Művelet"
diff --git a/modules/luci-base/po/it/base.po b/modules/luci-base/po/it/base.po
index ce866d9e7b..214a73f568 100644
--- a/modules/luci-base/po/it/base.po
+++ b/modules/luci-base/po/it/base.po
@@ -49,6 +49,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "Carico in 1 minuto:"
@@ -177,9 +180,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -216,9 +216,6 @@ msgstr "Numero dispositivo ATM "
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr "Accesso Concentratore"
@@ -331,11 +328,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -414,11 +406,14 @@ msgstr "Configurazione dell'Antenna"
msgid "Any zone"
msgstr "Qualsiasi Zona"
-msgid "Apply"
-msgstr "Applica"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
-msgid "Applying changes"
-msgstr "Applica modifiche"
+msgid "Apply unchecked"
+msgstr ""
+
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -434,6 +429,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "Dispositivi Wi-Fi connessi"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -524,9 +522,6 @@ msgstr "E' stato specificato un indirizzo errato!"
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -598,12 +593,20 @@ msgstr "Modifiche"
msgid "Changes applied."
msgstr "Modifiche applicate."
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "Cambia la password di amministratore per accedere al dispositivo"
msgid "Channel"
msgstr "Canale"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "Verifica"
@@ -684,12 +687,15 @@ msgstr ""
msgid "Configuration"
msgstr "Configurazione"
-msgid "Configuration applied."
-msgstr "Configurazione salvata."
-
msgid "Configuration files will be kept."
msgstr "I file di configurazione verranno mantenuti."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
+msgstr ""
+
msgid "Confirmation"
msgstr "Conferma"
@@ -702,12 +708,15 @@ msgstr "Connesso"
msgid "Connection Limit"
msgstr "Limite connessioni"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr ""
-
msgid "Connections"
msgstr "Connessioni"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "Nazione"
@@ -836,9 +845,6 @@ msgstr "Gateway predefinito"
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr "Stato Predefinito"
@@ -881,6 +887,9 @@ msgstr "Dispositivo in riavvio..."
msgid "Device unreachable"
msgstr "Dispositivo irraggiungibile"
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "Diagnostica"
@@ -915,6 +924,9 @@ msgstr "Disabilitato (default)"
msgid "Discard upstream RFC1918 responses"
msgstr "Ignora risposte RFC1918 upstream"
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr "Visualizza solo i pacchetti contenenti"
@@ -1174,6 +1186,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr "File"
@@ -1295,7 +1310,7 @@ msgstr "Spazio libero"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1369,9 +1384,6 @@ msgstr "Hangup"
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1432,8 +1444,8 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "IPv4 Firewall"
-msgid "IPv4 WAN Status"
-msgstr "Stato WAN IPv4"
+msgid "IPv4 Upstream"
+msgstr ""
msgid "IPv4 address"
msgstr "Indirizzi IPv4"
@@ -1483,15 +1495,12 @@ msgstr "Impostazioni IPv6"
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
-msgstr "Stato WAN IPv6"
+msgid "IPv6 Upstream"
+msgstr ""
msgid "IPv6 address"
msgstr "Indirizzi IPv6"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -2081,9 +2090,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr "Candidati server NTP"
-msgid "NTP sync time-out"
-msgstr "Sincronizzazione NTP scaduta"
-
msgid "Name"
msgstr "Nome"
@@ -2207,6 +2213,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr ""
@@ -2257,12 +2266,6 @@ msgstr "Opzione cancellata"
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2616,30 +2619,35 @@ msgstr ""
"\"Dynamic Host Configuration Protocol\">DHCP</abbr>"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
+"Vuoi davvero rimuovere questa interfaccia? La rimozione non può essere ripristinata! "
+"Potresti perdere l'accesso a questo dispositivo se sei connesso con questa rete."
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
+"Vuoi davvero rimuovere questa interfaccia wireless? La rimozione non può essere ripristinata! "
+"Potresti perdere l'accesso a questo dispositivo se sei connesso con questa rete."
msgid "Really reset all changes?"
msgstr "Azzerare veramente tutte le modifiche?"
-#, fuzzy
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
-"Vuoi davvero spegnere questa interfaccia \"%s\" ?\\nPotresti perdere "
-"l'accesso a questo router se stai usando questa interfaccia."
+"Vuoi davvero spegnere questa interfaccia? Potresti perdere l'accesso a "
+"questo router se sei connesso usando questa interfaccia."
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
+"Vuoi davvero spegnere questa interfaccia \"%s\"? Potresti perdere l'accesso "
+"a questo router se stai usando questa interfaccia."
msgid "Really switch protocol?"
msgstr "Cambiare veramente il protocollo?"
@@ -2728,9 +2736,6 @@ msgstr "Richiede indirizzo-IPv6"
msgid "Request IPv6-prefix of length"
msgstr "Richiede prefisso-IPv6 di lunghezza"
-msgid "Require TLS"
-msgstr "Richiede TLS"
-
msgid "Required"
msgstr "Richiesto"
@@ -2789,6 +2794,15 @@ msgstr "Rivela/nascondi password"
msgid "Revert"
msgstr "Ripristina"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr ""
@@ -2804,9 +2818,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2832,14 +2843,6 @@ msgstr "Esegui controllo del filesystem"
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2867,9 +2870,6 @@ msgstr "Salva"
msgid "Save & Apply"
msgstr "Salva & applica"
-msgid "Save &#38; Apply"
-msgstr "Salva &#38; Applica"
-
msgid "Scan"
msgstr "Scan"
@@ -2896,17 +2896,6 @@ msgstr "Isola utenti"
msgid "Server Settings"
msgstr "Impostazioni Server"
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr ""
@@ -3003,9 +2992,6 @@ msgstr "Ordina"
msgid "Source"
msgstr "Origine"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr "Specifica la cartella a cui è collegato il dispositivo in"
@@ -3048,6 +3034,9 @@ msgstr "Inizio"
msgid "Start priority"
msgstr "Priorità di avvio"
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr "Avvio"
@@ -3213,6 +3202,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3233,9 +3232,6 @@ msgid ""
"\"Proceed\" below to start the flash procedure."
msgstr ""
-msgid "The following changes have been committed"
-msgstr ""
-
msgid "The following changes have been reverted"
msgstr "Le seguenti modifiche sono state annullate"
@@ -3294,11 +3290,6 @@ msgstr ""
"settings."
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3308,8 +3299,8 @@ msgstr ""
msgid "There are no active leases."
msgstr "Non ci sono contratti attivi."
-msgid "There are no pending changes to apply!"
-msgstr "Non ci sono cambiamenti pendenti da applicare!"
+msgid "There are no changes to apply."
+msgstr ""
msgid "There are no pending changes to revert!"
msgstr "Non ci sono cambiamenti pendenti da regredire"
@@ -3451,15 +3442,6 @@ msgstr ""
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr ""
@@ -3641,12 +3623,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr "Classe del Produttore da 'inviare al momento della richiesta DHCP"
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr "Verifica"
@@ -3678,18 +3654,15 @@ msgstr ""
"La crittografia WPA richiede wpa_supplicant (per la modalità client) o "
"hostapd (per AP e modalità ad hoc) per essere installato."
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-"Attendi sincro NTP quei dati secondi, immetti 0 per disabilitare l'attesa "
-"(opzionale)"
-
msgid "Waiting for changes to be applied..."
msgstr "In attesa delle modifiche da applicare ..."
msgid "Waiting for command to complete..."
msgstr "In attesa del comando da completare..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
@@ -3704,12 +3677,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3790,6 +3757,9 @@ msgstr "baseT"
msgid "bridged"
msgstr "ponte"
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr "crea:"
@@ -3854,9 +3824,6 @@ msgstr "kbit/s"
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "File <abbr title=\"Sistema Nome Dominio\">DNS</abbr> locale"
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3881,6 +3848,9 @@ msgstr "acceso"
msgid "open"
msgstr "apri"
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3932,84 +3902,8 @@ msgstr "Sì"
msgid "« Back"
msgstr "« Indietro"
-#~ msgid "Action"
-#~ msgstr "Azione"
-
-#~ msgid "Buttons"
-#~ msgstr "Pulsanti"
-
-#~ msgid "Handler"
-#~ msgstr "Gestore"
-
-#~ msgid "Maximum hold time"
-#~ msgstr "Tempo massimo di attesa"
-
-#~ msgid "Minimum hold time"
-#~ msgstr "Velocità minima"
-
-#~ msgid "Specifies the button state to handle"
-#~ msgstr "Specifica lo stato del pulsante da gestire"
-
-#~ msgid "Leasetime"
-#~ msgstr "Tempo di contratto"
-
-#, fuzzy
-#~ msgid "automatic"
-#~ msgstr "statico"
-
-#~ msgid "AR Support"
-#~ msgstr "Supporto AR"
-
-#~ msgid "Atheros 802.11%s Wireless Controller"
-#~ msgstr "Dispositivo Wireless Atheros 802.11%s"
-
-#~ msgid "Background Scan"
-#~ msgstr "Scansione in background"
-
-#~ msgid "Compression"
-#~ msgstr "Compressione"
-
-#~ msgid "Disable HW-Beacon timer"
-#~ msgstr "Disabilita Timer Beacon HW"
-
-#~ msgid "Do not send probe responses"
-#~ msgstr "Disabilita Probe-Responses"
-
-#~ msgid "Fast Frames"
-#~ msgstr "Frame veloci"
-
-#~ msgid "Maximum Rate"
-#~ msgstr "Velocità massima"
-
-#~ msgid "Minimum Rate"
-#~ msgstr "Velocità minima"
-
-#~ msgid "Multicast Rate"
-#~ msgstr "Velocità multicast"
-
-#~ msgid "Separate WDS"
-#~ msgstr "WDS separati"
-
-#~ msgid "Static WDS"
-#~ msgstr "WDS statico"
-
-#~ msgid "Turbo Mode"
-#~ msgstr "Modalità turbo"
-
-#~ msgid "XR Support"
-#~ msgstr "Supporto XR"
-
-#~ msgid "An additional network will be created if you leave this unchecked."
-#~ msgstr "Sarà creata una rete aggiuntiva se lasci questo senza spunta."
-
-#~ msgid "Join Network: Settings"
-#~ msgstr "Aggiunta Rete: Impostazioni"
-
-#~ msgid "CPU"
-#~ msgstr "CPU"
-
-#~ msgid "Port %d"
-#~ msgstr "Porta %d"
+#~ msgid "IPv4 WAN Status"
+#~ msgstr "Stato WAN IPv4"
-#~ msgid "VLAN Interface"
-#~ msgstr "Interfaccia VLAN"
+#~ msgid "IPv6 WAN Status"
+#~ msgstr "Stato WAN IPv6"
diff --git a/modules/luci-base/po/ja/base.po b/modules/luci-base/po/ja/base.po
index 07eeec5ee3..75a18b746a 100644
--- a/modules/luci-base/po/ja/base.po
+++ b/modules/luci-base/po/ja/base.po
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-10 03:40+0200\n"
-"PO-Revision-Date: 2018-05-03 00:23+0900\n"
+"PO-Revision-Date: 2018-06-01 02:42+0900\n"
"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
@@ -49,6 +49,9 @@ msgstr "-- ラベルを指定 --"
msgid "-- match by uuid --"
msgstr "-- UUID を指定 --"
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "éŽåŽ»1分ã®è² è·:"
@@ -175,9 +178,6 @@ msgstr "A43C + J43 + A43 + V43"
msgid "ADSL"
msgstr "ADSL"
-msgid "AICCU (SIXXS)"
-msgstr "AICCU (SIXXS)"
-
msgid "ANSI T1.413"
msgstr "ANSI T1.413"
@@ -211,9 +211,6 @@ msgstr "ATMデãƒã‚¤ã‚¹ç•ªå·"
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr "Access Concentrator"
@@ -321,11 +318,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr "許å¯ã•ã‚Œã‚‹IP"
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr "常ã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆ ルーターã¨ã—ã¦é€šçŸ¥ã™ã‚‹"
@@ -406,11 +398,14 @@ msgstr "アンテナ設定"
msgid "Any zone"
msgstr "å…¨ã¦ã®ã‚¾ãƒ¼ãƒ³"
-msgid "Apply"
-msgstr "é©ç”¨"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr "é©ç”¨ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ <code>%h</code> ã«ã‚ˆã‚Šå¤±æ•—ã—ã¾ã—ãŸ"
+
+msgid "Apply unchecked"
+msgstr "ãƒã‚§ãƒƒã‚¯ãªã—ã®é©ç”¨"
-msgid "Applying changes"
-msgstr "変更をé©ç”¨"
+msgid "Architecture"
+msgstr "アーキテクãƒãƒ£"
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -426,6 +421,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "èªè¨¼æ¸ˆã¿ç«¯æœ«"
+msgid "Associations"
+msgstr "アソシエーション数"
+
msgid "Auth Group"
msgstr "èªè¨¼ã‚°ãƒ«ãƒ¼ãƒ—"
@@ -516,9 +514,6 @@ msgstr "無効ãªã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã™!"
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -593,12 +588,22 @@ msgstr "変更"
msgid "Changes applied."
msgstr "変更ãŒé©ç”¨ã•ã‚Œã¾ã—ãŸã€‚"
+msgid "Changes have been reverted."
+msgstr "変更ã¯å–り消ã•ã‚Œã¾ã—ãŸã€‚"
+
msgid "Changes the administrator password for accessing the device"
msgstr "デãƒã‚¤ã‚¹ã®ç®¡ç†è€…パスワードを変更ã—ã¾ã™"
msgid "Channel"
msgstr "ãƒãƒ£ãƒãƒ«"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+"ãƒãƒ£ãƒ³ãƒãƒ« %d ã¯ã€ %s 領域内ã§ã¯è¦åˆ¶ã«ã‚ˆã‚Šåˆ©ç”¨ã§ãã¾ã›ã‚“。%d ã¸è‡ªå‹•èª¿æ•´ã•ã‚Œã¾"
+"ã—ãŸã€‚"
+
msgid "Check"
msgstr "ãƒã‚§ãƒƒã‚¯"
@@ -685,12 +690,15 @@ msgstr ""
msgid "Configuration"
msgstr "設定"
-msgid "Configuration applied."
-msgstr "設定をé©ç”¨ã—ã¾ã—ãŸã€‚"
-
msgid "Configuration files will be kept."
msgstr "設定ファイルã¯ä¿æŒã•ã‚Œã¾ã™ã€‚"
+msgid "Configuration has been applied."
+msgstr "設定ãŒé©ç”¨ã•ã‚Œã¾ã—ãŸã€‚"
+
+msgid "Configuration has been rolled back!"
+msgstr "設定ã¯ãƒ­ãƒ¼ãƒ«ãƒãƒƒã‚¯ã•ã‚Œã¾ã—ãŸï¼"
+
msgid "Confirmation"
msgstr "確èª"
@@ -703,12 +711,18 @@ msgstr "接続中"
msgid "Connection Limit"
msgstr "接続制é™"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr "TLSãŒä½¿ç”¨ã§ããªã„ã¨ãã€ã‚µãƒ¼ãƒãƒ¼ã¸ã®æŽ¥ç¶šã¯å¤±æ•—ã—ã¾ã™ã€‚"
-
msgid "Connections"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯æŽ¥ç¶š"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+"設定ã®å¤‰æ›´ã‚’é©ç”¨å¾Œã€ãƒ‡ãƒã‚¤ã‚¹ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’回復ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ã‚‚ã— IP アド"
+"レスや無線ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£èªè¨¼æƒ…å ±ãªã©ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯é–¢é€£ã®è¨­å®šã‚’変更ã—ãŸå ´åˆã€"
+"å†æŽ¥ç¶šãŒå¿…è¦ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。"
+
msgid "Country"
msgstr "国"
@@ -841,9 +855,6 @@ msgstr "デフォルト ゲートウェイ"
msgid "Default is stateless + stateful"
msgstr "デフォルト㯠ステートレス + ステートフル ã§ã™ã€‚"
-msgid "Default route"
-msgstr "デフォルト ルート"
-
msgid "Default state"
msgstr "標準状態"
@@ -885,6 +896,9 @@ msgstr "デãƒã‚¤ã‚¹ã‚’å†èµ·å‹•ä¸­ã§ã™..."
msgid "Device unreachable"
msgstr "デãƒã‚¤ã‚¹ã«åˆ°é”ã§ãã¾ã›ã‚“"
+msgid "Device unreachable!"
+msgstr "デãƒã‚¤ã‚¹ã«åˆ°é”ã§ãã¾ã›ã‚“ï¼"
+
msgid "Diagnostics"
msgstr "診断機能"
@@ -919,6 +933,9 @@ msgstr "無効(デフォルト)"
msgid "Discard upstream RFC1918 responses"
msgstr "RFC1918ã®å¿œç­”を破棄ã—ã¾ã™"
+msgid "Dismiss"
+msgstr "警告ã®é™¤åŽ»"
+
msgid "Displaying only packages containing"
msgstr "å³è¨˜ã®æ–‡å­—列をå«ã‚“ã ãƒ‘ッケージã®ã¿ã‚’表示中"
@@ -1180,6 +1197,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr "%d 秒以内ã®é©ç”¨ã‚’確èªã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ロールãƒãƒƒã‚¯ä¸­ã§ã™..."
+
msgid "File"
msgstr "ファイル"
@@ -1304,10 +1324,10 @@ msgstr "ディスクã®ç©ºã容é‡"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
"WireGuard インターフェースã¨ãƒ”ã‚¢ã«ã¤ã„ã¦ã®è©³ç´°æƒ…å ±: <a href=\"http://"
-"wireguard.io\">wireguard.io</a>"
+"wireguard.com\">wireguard.com</a>"
msgid "GHz"
msgstr "GHz"
@@ -1378,9 +1398,6 @@ msgstr "å†èµ·å‹•"
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr "ãƒãƒ¼ãƒˆãƒ“ート"
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1438,8 +1455,8 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "IPv4 ファイアウォール"
-msgid "IPv4 WAN Status"
-msgstr "IPv4 WAN ステータス"
+msgid "IPv4 Upstream"
+msgstr "IPv4 アップストリーム"
msgid "IPv4 address"
msgstr "IPv4 アドレス"
@@ -1489,15 +1506,12 @@ msgstr "IPv6 設定"
msgid "IPv6 ULA-Prefix"
msgstr "IPv6 ULA-プレフィクス"
-msgid "IPv6 WAN Status"
-msgstr "IPv6 WAN ステータス"
+msgid "IPv6 Upstream"
+msgstr "IPv6 アップストリーム"
msgid "IPv6 address"
msgstr "IPv6 アドレス"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -2092,9 +2106,6 @@ msgstr "NT ドメイン"
msgid "NTP server candidates"
msgstr "NTPサーãƒãƒ¼å€™è£œ"
-msgid "NTP sync time-out"
-msgstr "NTP åŒæœŸã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆ"
-
msgid "Name"
msgstr "åå‰"
@@ -2220,6 +2231,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr "消ç¯æ™‚é–“"
@@ -2271,12 +2285,6 @@ msgstr "削除ã•ã‚Œã‚‹ã‚ªãƒ—ション"
msgid "Optional"
msgstr "オプション"
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2636,8 +2644,8 @@ msgstr ""
"ã¨ã—ã¦<code>/etc/ethers</code> をロードã—ã¾ã™"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
"本当ã«ã“ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã‚’削除ã—ã¾ã™ã‹?一度削除ã™ã‚‹ã¨ã€å…ƒã«æˆ»ã™ã“ã¨ã¯ã§ãã¾"
"ã›ã‚“!\n"
@@ -2645,7 +2653,7 @@ msgstr ""
"ã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚"
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
"本当ã«ã“ã®ç„¡ç·šãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’削除ã—ã¾ã™ã‹?一度削除ã™ã‚‹ã¨ã€å…ƒã«æˆ»ã™ã“ã¨ã¯ã§ãã¾"
@@ -2657,7 +2665,7 @@ msgid "Really reset all changes?"
msgstr "本当ã«å…¨ã¦ã®å¤‰æ›´ã‚’リセットã—ã¾ã™ã‹?"
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
"本当ã«ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’åœæ­¢ã—ã¾ã™ã‹?\n"
@@ -2665,7 +2673,7 @@ msgstr ""
"åˆãŒã‚ã‚Šã¾ã™ã€‚"
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
"本当ã«ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ \"%s\" ã‚’åœæ­¢ã—ã¾ã™ã‹?\n"
@@ -2759,9 +2767,6 @@ msgstr "IPv6-アドレスã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆ"
msgid "Request IPv6-prefix of length"
msgstr "リクエストã™ã‚‹IPv6-プレフィクス長"
-msgid "Require TLS"
-msgstr "TLSãŒå¿…è¦"
-
msgid "Required"
msgstr "å¿…é ˆ"
@@ -2822,6 +2827,15 @@ msgstr "パスワードを表示ã™ã‚‹/éš ã™"
msgid "Revert"
msgstr "å…ƒã«æˆ»ã™"
+msgid "Revert changes"
+msgstr "変更ã®å–り消ã—"
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr "å–り消ã—ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ <code>%h</code> ã«ã‚ˆã‚Šå¤±æ•—ã—ã¾ã—ãŸ"
+
+msgid "Reverting configuration…"
+msgstr "設定を元ã«æˆ»ã—ã¦ã„ã¾ã™..."
+
msgid "Root"
msgstr "ルート"
@@ -2837,9 +2851,6 @@ msgstr ""
msgid "Route type"
msgstr "ルート タイプ"
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr "ルーター アドãƒã‚¿ã‚¤ã‚ºãƒ¡ãƒ³ãƒˆ-サービス"
@@ -2865,14 +2876,6 @@ msgstr "ファイルシステムãƒã‚§ãƒƒã‚¯ã‚’è¡Œã†"
msgid "SHA256"
msgstr "SHA256"
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr "SNR"
@@ -2900,9 +2903,6 @@ msgstr "ä¿å­˜"
msgid "Save & Apply"
msgstr "ä¿å­˜ & é©ç”¨"
-msgid "Save &#38; Apply"
-msgstr "ä¿å­˜ &#38; é©ç”¨"
-
msgid "Scan"
msgstr "スキャン"
@@ -2931,17 +2931,6 @@ msgstr "クライアントã®åˆ†é›¢"
msgid "Server Settings"
msgstr "サーãƒãƒ¼è¨­å®š"
-msgid "Server password"
-msgstr "サーãƒãƒ¼ パスワード"
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr "サーãƒãƒ¼ ユーザーå"
-
msgid "Service Name"
msgstr "サービスå"
@@ -3037,9 +3026,6 @@ msgstr "ソート"
msgid "Source"
msgstr "é€ä¿¡å…ƒ"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr "デãƒã‚¤ã‚¹ãŒæŽ¥ç¶šã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’設定ã—ã¾ã™"
@@ -3078,6 +3064,9 @@ msgstr "開始"
msgid "Start priority"
msgstr "優先順ä½"
+msgid "Starting configuration apply…"
+msgstr "設定ã®é©ç”¨ã‚’開始ã—ã¦ã„ã¾ã™..."
+
msgid "Startup"
msgstr "スタートアップ"
@@ -3240,6 +3229,22 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr "設定ファイルã¯ä»¥ä¸‹ã®ã‚¨ãƒ©ãƒ¼ã«ã‚ˆã‚Šèª­ã¿è¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ:"
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+"未é©ç”¨ã®å¤‰æ›´ã‚’é©ç”¨å¾Œã€ãƒ‡ãƒã‚¤ã‚¹ã¯ %d 秒以内ã«å®Œäº†ã§ããªã‹ã£ãŸå¯èƒ½æ€§ãŒã‚ã‚Šã¾"
+"ã™ã€‚ã“ã‚Œã¯ã€å®‰å…¨ä¸Šã®ç†ç”±ã«ã‚ˆã‚Šãƒ­ãƒ¼ãƒ«ãƒãƒƒã‚¯ã•ã‚Œã‚‹è¨­å®šã«èµ·å› ã™ã‚‹ã‚‚ã®ã§ã™ã€‚ãã‚Œ"
+"ã§ã‚‚設定ã®å¤‰æ›´ãŒæ­£ã—ã„ã¨æ€ã†å ´åˆã¯ã€ãƒã‚§ãƒƒã‚¯ãªã—ã®å¤‰æ›´ã®é©ç”¨ã‚’è¡Œã£ã¦ãã ã•"
+"ã„。もã—ãã¯ã€å†åº¦é©ç”¨ã‚’試行ã™ã‚‹å‰ã«ã“ã®è­¦å‘Šã‚’除去ã—ã¦è¨­å®šå†…容ã®ç·¨é›†ã‚’è¡Œã†"
+"ã‹ã€ç¾åœ¨å‹•ä½œã—ã¦ã„る設定状æ³ã‚’維æŒã™ã‚‹ãŸã‚ã«æœªé©ç”¨ã®å¤‰æ›´ã‚’å–り消ã—ã¦ãã ã•"
+"ã„。"
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3264,9 +3269,6 @@ msgstr ""
"イズã§ã™ã€‚オリジナルファイルã¨æ¯”較ã—ã€æ•´åˆæ€§ã‚’確èªã—ã¦ãã ã•ã„。<br />\"続行"
"\"ボタンをクリックã™ã‚‹ã¨ã€æ›´æ–°å‡¦ç†ã‚’開始ã—ã¾ã™ã€‚"
-msgid "The following changes have been committed"
-msgstr "以下ã®å¤‰æ›´ãŒé©ç”¨ã•ã‚Œã¾ã—ãŸ"
-
msgid "The following changes have been reverted"
msgstr "以下ã®å¤‰æ›´ãŒå–り消ã•ã‚Œã¾ã—ãŸ"
@@ -3332,11 +3334,6 @@ msgstr ""
"ã‚Œã°ãªã‚‰ãªã„å ´åˆãŒã‚ã‚Šã¾ã™ã€‚"
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3347,8 +3344,8 @@ msgstr ""
msgid "There are no active leases."
msgstr "リース中ã®IPアドレスã¯ã‚ã‚Šã¾ã›ã‚“。"
-msgid "There are no pending changes to apply!"
-msgstr "é©ç”¨ãŒæœªå®Œäº†ã®å¤‰æ›´ã¯ã‚ã‚Šã¾ã›ã‚“ï¼"
+msgid "There are no changes to apply."
+msgstr "é©ç”¨ã™ã‚‹å¤‰æ›´ã¯ã‚ã‚Šã¾ã›ã‚“。"
msgid "There are no pending changes to revert!"
msgstr "復元ãŒæœªå®Œäº†ã®å¤‰æ›´ã¯ã‚ã‚Šã¾ã›ã‚“ï¼"
@@ -3504,15 +3501,6 @@ msgstr "トンãƒãƒ«ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹"
msgid "Tunnel Link"
msgstr "トンãƒãƒ«ãƒªãƒ³ã‚¯"
-msgid "Tunnel broker protocol"
-msgstr "トンãƒãƒ«ãƒ–ローカー プロトコル"
-
-msgid "Tunnel setup server"
-msgstr "トンãƒãƒ«ã‚»ãƒƒãƒˆã‚¢ãƒƒãƒ— サーãƒãƒ¼"
-
-msgid "Tunnel type"
-msgstr "トンãƒãƒ«ã‚¿ã‚¤ãƒ—"
-
msgid "Tx-Power"
msgstr "é€ä¿¡é›»åŠ›"
@@ -3693,12 +3681,6 @@ msgstr "ベンダー"
msgid "Vendor Class to send when requesting DHCP"
msgstr "DHCPリクエストé€ä¿¡æ™‚ã®ãƒ™ãƒ³ãƒ€ãƒ¼ã‚¯ãƒ©ã‚¹ã‚’設定"
-msgid "Verbose"
-msgstr "詳細"
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr "確èª"
@@ -3731,16 +3713,15 @@ msgstr ""
"hostapd (アクセスãƒã‚¤ãƒ³ãƒˆåŠã³ã‚¢ãƒ‰ãƒ›ãƒƒã‚¯) ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾"
"ã™ã€‚"
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr "変更をé©ç”¨ä¸­ã§ã™..."
msgid "Waiting for command to complete..."
msgstr "コマンド実行中ã§ã™..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr "設定をé©ç”¨ä¸­ã§ã™... %d 秒"
+
msgid "Waiting for device..."
msgstr "デãƒã‚¤ã‚¹ã‚’起動中ã§ã™..."
@@ -3755,12 +3736,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr "帯域幅"
@@ -3841,6 +3816,9 @@ msgstr "baseT"
msgid "bridged"
msgstr "ブリッジ"
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr "作æˆ:"
@@ -3905,9 +3883,6 @@ msgstr "kbit/s"
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "ローカル <abbr title=\"Domain Name System\">DNS</abbr>ファイル"
-msgid "minimum 1280, maximum 1480"
-msgstr "最å°å€¤ 1280ã€æœ€å¤§å€¤ 1480"
-
msgid "minutes"
msgstr "分"
@@ -3932,6 +3907,9 @@ msgstr "オン"
msgid "open"
msgstr "オープン"
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr "オーãƒãƒ¼ãƒ¬ã‚¤"
diff --git a/modules/luci-base/po/ko/base.po b/modules/luci-base/po/ko/base.po
index e4f77c78f5..2206a87ceb 100644
--- a/modules/luci-base/po/ko/base.po
+++ b/modules/luci-base/po/ko/base.po
@@ -49,6 +49,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "1 분 부하:"
@@ -168,9 +171,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -204,9 +204,6 @@ msgstr ""
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr ""
@@ -311,11 +308,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -394,10 +386,13 @@ msgstr ""
msgid "Any zone"
msgstr ""
-msgid "Apply"
-msgstr "ì ìš©"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Apply unchecked"
+msgstr ""
-msgid "Applying changes"
+msgid "Architecture"
msgstr ""
msgid ""
@@ -414,6 +409,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "ì—°ê²°ëœ station 들"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -504,9 +502,6 @@ msgstr ""
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -580,12 +575,20 @@ msgstr "변경 사항"
msgid "Changes applied."
msgstr ""
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "장비 ì ‘ê·¼ì„ ìœ„í•œ ê´€ë¦¬ìž ì•”í˜¸ë¥¼ 변경합니다"
msgid "Channel"
msgstr ""
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr ""
@@ -664,10 +667,13 @@ msgstr ""
msgid "Configuration"
msgstr "설정"
-msgid "Configuration applied."
+msgid "Configuration files will be kept."
+msgstr ""
+
+msgid "Configuration has been applied."
msgstr ""
-msgid "Configuration files will be kept."
+msgid "Configuration has been rolled back!"
msgstr ""
msgid "Confirmation"
@@ -682,12 +688,15 @@ msgstr "연결 시간"
msgid "Connection Limit"
msgstr ""
-msgid "Connection to server fails when TLS cannot be used"
-msgstr ""
-
msgid "Connections"
msgstr "ì—°ê²°"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr ""
@@ -818,9 +827,6 @@ msgstr ""
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr "기본 ìƒíƒœ"
@@ -863,6 +869,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "진단"
@@ -897,6 +906,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr ""
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr ""
@@ -1149,6 +1161,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr ""
@@ -1270,7 +1285,7 @@ msgstr "여유 공간"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1342,9 +1357,6 @@ msgstr ""
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1403,8 +1415,8 @@ msgstr ""
msgid "IPv4 Firewall"
msgstr "IPv4 방화벽"
-msgid "IPv4 WAN Status"
-msgstr "IPv4 WAN ìƒíƒœ"
+msgid "IPv4 Upstream"
+msgstr ""
msgid "IPv4 address"
msgstr "IPv4 주소"
@@ -1454,13 +1466,10 @@ msgstr "IPv6 설정"
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
-msgstr "IPv6 WAN ìƒíƒœ"
-
-msgid "IPv6 address"
+msgid "IPv6 Upstream"
msgstr ""
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
+msgid "IPv6 address"
msgstr ""
msgid "IPv6 assignment hint"
@@ -2030,9 +2039,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr "NTP 서버 목ë¡"
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr "ì´ë¦„"
@@ -2156,6 +2162,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr ""
@@ -2207,12 +2216,6 @@ msgstr "ì‚­ì œëœ option"
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2566,12 +2569,12 @@ msgstr ""
"Configuration Protocol\">DHCP</abbr>-서버를 설정합니다"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
@@ -2579,14 +2582,14 @@ msgid "Really reset all changes?"
msgstr ""
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
"ì •ë§ë¡œ 네트워í¬ë¥¼ shutdown 하시겠습니까?\\nì´ ì¸í„°íŽ˜ì´ìŠ¤ë¥¼ 통해 연결하였다면 "
"ì ‘ì†ì´ ëŠì–´ì§ˆ 수 있습니다."
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
@@ -2677,9 +2680,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2738,6 +2738,15 @@ msgstr "암호 ë³´ì´ê¸°/숨기기"
msgid "Revert"
msgstr "변경 취소"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr ""
@@ -2753,9 +2762,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2781,14 +2787,6 @@ msgstr ""
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2816,9 +2814,6 @@ msgstr "저장"
msgid "Save & Apply"
msgstr "저장 & ì ìš©"
-msgid "Save &#38; Apply"
-msgstr "저장 &#38; ì ìš©"
-
msgid "Scan"
msgstr "Scan 하기"
@@ -2845,17 +2840,6 @@ msgstr ""
msgid "Server Settings"
msgstr "서버 설정"
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr ""
@@ -2948,9 +2932,6 @@ msgstr "순서"
msgid "Source"
msgstr ""
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr ""
@@ -2989,6 +2970,9 @@ msgstr "시작"
msgid "Start priority"
msgstr "시작 우선순위"
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr "시작 프로그램"
@@ -3147,6 +3131,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3163,9 +3157,6 @@ msgid ""
"\"Proceed\" below to start the flash procedure."
msgstr ""
-msgid "The following changes have been committed"
-msgstr ""
-
msgid "The following changes have been reverted"
msgstr "다ìŒì˜ 변경 ì‚¬í•­ë“¤ì´ ì·¨ì†Œë˜ì—ˆìŠµë‹ˆë‹¤"
@@ -3224,11 +3215,6 @@ msgid ""
msgstr ""
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3236,7 +3222,7 @@ msgstr ""
msgid "There are no active leases."
msgstr ""
-msgid "There are no pending changes to apply!"
+msgid "There are no changes to apply."
msgstr ""
msgid "There are no pending changes to revert!"
@@ -3381,15 +3367,6 @@ msgstr ""
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr ""
@@ -3570,12 +3547,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr "DHCP 요청시 전송할 Vendor Class"
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr ""
@@ -3605,16 +3576,15 @@ msgid ""
"and ad-hoc mode) to be installed."
msgstr ""
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr "변경 ì‚¬í•­ì´ ì ìš©ë˜ê¸°ë¥¼ 기다리는 중입니다..."
msgid "Waiting for command to complete..."
msgstr "실행한 ëª…ë ¹ì´ ë나기를 기다리는 중입니다..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
@@ -3629,12 +3599,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3712,6 +3676,9 @@ msgstr ""
msgid "bridged"
msgstr ""
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr ""
@@ -3776,9 +3743,6 @@ msgstr ""
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "local <abbr title=\"Domain Name System\">DNS</abbr> 파ì¼"
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3803,6 +3767,9 @@ msgstr ""
msgid "open"
msgstr ""
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3854,5 +3821,17 @@ msgstr ""
msgid "« Back"
msgstr ""
+#~ msgid "IPv4 WAN Status"
+#~ msgstr "IPv4 WAN ìƒíƒœ"
+
+#~ msgid "IPv6 WAN Status"
+#~ msgstr "IPv6 WAN ìƒíƒœ"
+
+#~ msgid "Apply"
+#~ msgstr "ì ìš©"
+
+#~ msgid "Save &#38; Apply"
+#~ msgstr "저장 &#38; ì ìš©"
+
#~ msgid "Leasetime"
#~ msgstr "임대 시간"
diff --git a/modules/luci-base/po/ms/base.po b/modules/luci-base/po/ms/base.po
index d5c889580b..79c66e1306 100644
--- a/modules/luci-base/po/ms/base.po
+++ b/modules/luci-base/po/ms/base.po
@@ -49,6 +49,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr ""
@@ -165,9 +168,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -201,9 +201,6 @@ msgstr ""
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr ""
@@ -306,11 +303,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -389,11 +381,14 @@ msgstr ""
msgid "Any zone"
msgstr ""
-msgid "Apply"
-msgstr "Melaksanakan"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
-msgid "Applying changes"
-msgstr "Melaksanakan perubahan"
+msgid "Apply unchecked"
+msgstr ""
+
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -409,6 +404,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "Associated Stesen"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -499,9 +497,6 @@ msgstr ""
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -570,12 +565,20 @@ msgstr "Laman"
msgid "Changes applied."
msgstr "Laman diterapkan."
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr ""
msgid "Channel"
msgstr "Saluran"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr ""
@@ -646,10 +649,13 @@ msgstr ""
msgid "Configuration"
msgstr "Konfigurasi"
-msgid "Configuration applied."
+msgid "Configuration files will be kept."
msgstr ""
-msgid "Configuration files will be kept."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
msgstr ""
msgid "Confirmation"
@@ -664,10 +670,13 @@ msgstr ""
msgid "Connection Limit"
msgstr "Sambungan Batas"
-msgid "Connection to server fails when TLS cannot be used"
+msgid "Connections"
msgstr ""
-msgid "Connections"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
msgstr ""
msgid "Country"
@@ -796,9 +805,6 @@ msgstr ""
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr ""
@@ -838,6 +844,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr ""
@@ -870,6 +879,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr ""
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr ""
@@ -1121,6 +1133,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr ""
@@ -1242,7 +1257,7 @@ msgstr ""
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1314,9 +1329,6 @@ msgstr "Menutup"
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1374,7 +1386,7 @@ msgstr ""
msgid "IPv4 Firewall"
msgstr ""
-msgid "IPv4 WAN Status"
+msgid "IPv4 Upstream"
msgstr ""
msgid "IPv4 address"
@@ -1425,15 +1437,12 @@ msgstr ""
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
+msgid "IPv6 Upstream"
msgstr ""
msgid "IPv6 address"
msgstr ""
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -2010,9 +2019,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr ""
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr "Nama"
@@ -2136,6 +2142,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr ""
@@ -2186,12 +2195,6 @@ msgstr ""
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2542,12 +2545,12 @@ msgid ""
msgstr "Baca /etc/ethers untuk mengkonfigurasikan DHCP-Server"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
@@ -2555,12 +2558,12 @@ msgid "Really reset all changes?"
msgstr ""
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
@@ -2651,9 +2654,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2712,6 +2712,15 @@ msgstr ""
msgid "Revert"
msgstr "Kembali"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr ""
@@ -2727,9 +2736,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2755,14 +2761,6 @@ msgstr ""
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2790,9 +2788,6 @@ msgstr "Simpan"
msgid "Save & Apply"
msgstr "Simpan & Melaksanakan"
-msgid "Save &#38; Apply"
-msgstr ""
-
msgid "Scan"
msgstr "Scan"
@@ -2819,17 +2814,6 @@ msgstr "Pisahkan Pelanggan"
msgid "Server Settings"
msgstr ""
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr ""
@@ -2922,9 +2906,6 @@ msgstr ""
msgid "Source"
msgstr "Sumber"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr ""
@@ -2963,6 +2944,9 @@ msgstr "Mula"
msgid "Start priority"
msgstr ""
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr ""
@@ -3116,6 +3100,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr "Fail peranti memori atau partisyen, (contohnya: /dev/sda)"
@@ -3136,9 +3130,6 @@ msgstr ""
"integriti data.<br /> Klik butang terus di bawah untuk memulakan prosedur "
"flash."
-msgid "The following changes have been committed"
-msgstr ""
-
msgid "The following changes have been reverted"
msgstr "Laman berikut telah kembali"
@@ -3197,11 +3188,6 @@ msgstr ""
"bergantung pada tetapan anda."
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3211,7 +3197,7 @@ msgstr ""
msgid "There are no active leases."
msgstr ""
-msgid "There are no pending changes to apply!"
+msgid "There are no changes to apply."
msgstr ""
msgid "There are no pending changes to revert!"
@@ -3352,15 +3338,6 @@ msgstr ""
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr ""
@@ -3533,12 +3510,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr ""
@@ -3570,16 +3541,15 @@ msgstr ""
"WPA-Enkripsi memerlukan pemohan wpa (untuk mod pelanggan) atau hostapd "
"(untuk AP dan mod ad-hoc) yang akan dipasangkan."
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
@@ -3594,12 +3564,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3673,6 +3637,9 @@ msgstr ""
msgid "bridged"
msgstr ""
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr ""
@@ -3735,9 +3702,6 @@ msgstr ""
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "Fail DNS tempatan"
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3762,6 +3726,9 @@ msgstr ""
msgid "open"
msgstr ""
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3813,6 +3780,12 @@ msgstr ""
msgid "« Back"
msgstr "« Kembali"
+#~ msgid "Apply"
+#~ msgstr "Melaksanakan"
+
+#~ msgid "Applying changes"
+#~ msgstr "Melaksanakan perubahan"
+
#~ msgid "Action"
#~ msgstr "Aksi"
diff --git a/modules/luci-base/po/no/base.po b/modules/luci-base/po/no/base.po
index 1805d8e990..5fd40001ec 100644
--- a/modules/luci-base/po/no/base.po
+++ b/modules/luci-base/po/no/base.po
@@ -44,6 +44,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "1 minutts belastning:"
@@ -167,9 +170,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -210,9 +210,6 @@ msgstr "<abbr title=\"Asynchronous Transfer Mode\">ATM</abbr> enhetsnummer"
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr "Tilgangskonsentrator"
@@ -315,11 +312,6 @@ msgstr "Tillat oppstrøms svar i 127.0.0.0/8 nettet, f.eks for RBL tjenester"
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -398,11 +390,14 @@ msgstr "Antennekonfigurasjon"
msgid "Any zone"
msgstr "Alle soner"
-msgid "Apply"
-msgstr "Bruk"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Apply unchecked"
+msgstr ""
-msgid "Applying changes"
-msgstr "Utfører endringer"
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -418,6 +413,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "Tilkoblede Klienter"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -508,9 +506,6 @@ msgstr "Ugyldig adresse oppgitt!"
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -582,12 +577,20 @@ msgstr "Endringer"
msgid "Changes applied."
msgstr "Endringer utført."
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "Endrer administrator passordet for tilgang til enheten"
msgid "Channel"
msgstr "Kanal"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "Kontroller"
@@ -668,12 +671,15 @@ msgstr ""
msgid "Configuration"
msgstr "Konfigurasjon"
-msgid "Configuration applied."
-msgstr "Konfigurasjons endring utført."
-
msgid "Configuration files will be kept."
msgstr "Konfigurasjonsfiler vil bli bevart."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
+msgstr ""
+
msgid "Confirmation"
msgstr "Bekreftelse"
@@ -686,12 +692,15 @@ msgstr "Tilkoblet"
msgid "Connection Limit"
msgstr "Tilkoblingsgrense (antall)"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr ""
-
msgid "Connections"
msgstr "Tilkoblinger"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "Land"
@@ -820,9 +829,6 @@ msgstr "Standard gateway"
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr "Standard tilstand"
@@ -864,6 +870,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "Nettverksdiagnostikk"
@@ -898,6 +907,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr "Forkast oppstrøms RFC1918 svar"
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr "Viser bare pakker som inneholder"
@@ -1157,6 +1169,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr "Fil"
@@ -1279,7 +1294,7 @@ msgstr "Ledig plass"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1351,9 +1366,6 @@ msgstr "Slå av"
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1413,8 +1425,8 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "IPv4 Brannmur"
-msgid "IPv4 WAN Status"
-msgstr "IPv4 WAN Status"
+msgid "IPv4 Upstream"
+msgstr ""
msgid "IPv4 address"
msgstr "IPv4 adresse"
@@ -1464,15 +1476,12 @@ msgstr ""
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
-msgstr "IPv6 WAN Status"
+msgid "IPv6 Upstream"
+msgstr ""
msgid "IPv6 address"
msgstr "IPv6 adresse"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -2055,9 +2064,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr "NTP server kandidater"
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr "Navn"
@@ -2181,6 +2187,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr "Forsinkelse ved tilstand Av"
@@ -2232,12 +2241,6 @@ msgstr "Innstilling fjernet"
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2593,15 +2596,15 @@ msgstr ""
"Configuration Protocol\">DHCP</abbr>-Server"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
"Fjerne dette grensesnittet? Slettingen kan ikke omgjøres!\n"
"Du kan miste kontakten med ruteren om du er tilkoblet via dette "
"grensesnittet."
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
"Fjerne dette trådløse nettverket? Slettingen kan ikke omgjøres!\n"
@@ -2612,7 +2615,7 @@ msgstr "Vil du nullstille alle endringer?"
#, fuzzy
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
"Slå av dette nettverket ?\n"
@@ -2620,7 +2623,7 @@ msgstr ""
"grensesnittet."
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
"Slå av dette grensesnittet \"%s\" ?\n"
@@ -2714,9 +2717,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2775,6 +2775,15 @@ msgstr "Vis/Skjul passord"
msgid "Revert"
msgstr "Tilbakestill"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr "Rot"
@@ -2790,9 +2799,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2818,14 +2824,6 @@ msgstr "Kjør filsystem sjekk"
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2853,9 +2851,6 @@ msgstr "Lagre"
msgid "Save & Apply"
msgstr "Lagre & Aktiver"
-msgid "Save &#38; Apply"
-msgstr "Lagre &#38; Aktiver"
-
msgid "Scan"
msgstr "Skann"
@@ -2884,17 +2879,6 @@ msgstr "Separerte Klienter"
msgid "Server Settings"
msgstr "Server Innstillinger"
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr "Tjeneste navn"
@@ -2991,9 +2975,6 @@ msgstr "Sortering"
msgid "Source"
msgstr "Kilde"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr "Hvor lagrings enheten blir tilsluttet filsystemet (f.eks. /mnt/sda1)"
@@ -3033,6 +3014,9 @@ msgstr "Start"
msgid "Start priority"
msgstr "Start prioritet"
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr "Oppstart"
@@ -3198,6 +3182,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3222,9 +3216,6 @@ msgstr ""
"sammenlign dem med den opprinnelige filen for å sikre dataintegriteten.<br /"
"> Klikk \"Fortsett\" nedenfor for å starte flash prosedyren."
-msgid "The following changes have been committed"
-msgstr "Følgende endringer er foretatt"
-
msgid "The following changes have been reverted"
msgstr "Følgende endringer er forkastet"
@@ -3293,11 +3284,6 @@ msgstr ""
"datamaskinen din for å nå enheten på nytt. (avhengig av innstillingene dine)"
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3307,8 +3293,8 @@ msgstr ""
msgid "There are no active leases."
msgstr "Det er ingen aktive leieavtaler."
-msgid "There are no pending changes to apply!"
-msgstr "Det finnes ingen endringer som kan utføres!"
+msgid "There are no changes to apply."
+msgstr ""
msgid "There are no pending changes to revert!"
msgstr "Det finnes ingen endriger å reversere!"
@@ -3459,15 +3445,6 @@ msgstr "Tunnel grensesnitt"
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr "Tx-Styrke"
@@ -3647,12 +3624,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr "Leverandør klasse som sendes ved DHCP spørring"
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr "Bekreft"
@@ -3684,16 +3655,15 @@ msgstr ""
"WPA-Kryptering krever at wpa_supplicant (for klient-modus) eller hostapd "
"(for AP og ad-hoc-modus) er installert."
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr "Venter på at endringer utføres..."
msgid "Waiting for command to complete..."
msgstr "Venter på at kommando fullføres..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
@@ -3708,12 +3678,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3793,6 +3757,9 @@ msgstr "baseT"
msgid "bridged"
msgstr "brokoblet"
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr "opprett:"
@@ -3857,9 +3824,6 @@ msgstr "kbit/s"
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "lokal <abbr title=\"Domain Navn System\">DNS</abbr>-fil"
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3884,6 +3848,9 @@ msgstr "på"
msgid "open"
msgstr "Ã¥pen"
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3935,6 +3902,30 @@ msgstr "ja"
msgid "« Back"
msgstr "« Tilbake"
+#~ msgid "IPv4 WAN Status"
+#~ msgstr "IPv4 WAN Status"
+
+#~ msgid "IPv6 WAN Status"
+#~ msgstr "IPv6 WAN Status"
+
+#~ msgid "Apply"
+#~ msgstr "Bruk"
+
+#~ msgid "Applying changes"
+#~ msgstr "Utfører endringer"
+
+#~ msgid "Configuration applied."
+#~ msgstr "Konfigurasjons endring utført."
+
+#~ msgid "Save &#38; Apply"
+#~ msgstr "Lagre &#38; Aktiver"
+
+#~ msgid "The following changes have been committed"
+#~ msgstr "Følgende endringer er foretatt"
+
+#~ msgid "There are no pending changes to apply!"
+#~ msgstr "Det finnes ingen endringer som kan utføres!"
+
#~ msgid "Action"
#~ msgstr "Handling"
diff --git a/modules/luci-base/po/pl/base.po b/modules/luci-base/po/pl/base.po
index 390e489e29..9d685c58c0 100644
--- a/modules/luci-base/po/pl/base.po
+++ b/modules/luci-base/po/pl/base.po
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: LuCI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-20 09:40+0200\n"
-"PO-Revision-Date: 2018-05-14 20:05+0200\n"
+"PO-Revision-Date: 2018-06-10 10:05+0200\n"
"Last-Translator: Rixerx <krystian.kozak20@gmail.com>\n"
"Language-Team: Polish\n"
"Language: pl\n"
@@ -50,6 +50,9 @@ msgstr "-- dopasuj po etykiecie --"
msgid "-- match by uuid --"
msgstr "-- dopasuj po uuid --"
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "Obciążenie 1 min.:"
@@ -162,8 +165,8 @@ msgid ""
"<br/>Note: you need to manually restart the cron service if the crontab file "
"was empty before editing."
msgstr ""
-"<br/>Uwaga: musisz ręcznie zrestartować usługę cron, jeśli plik crontab "
-"był pusty przed edycją."
+"<br/>Uwaga: musisz ręcznie zrestartować usługę cron, jeśli plik crontab był "
+"pusty przed edycjÄ…."
msgid "A43C + J43 + A43"
msgstr ""
@@ -174,9 +177,6 @@ msgstr ""
msgid "ADSL"
msgstr "ADSL"
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -205,9 +205,9 @@ msgid ""
"Linux network interfaces which can be used in conjunction with DHCP or PPP "
"to dial into the provider network."
msgstr ""
-"Mosty ATM eksponują enkapsulowaną sieć Ethernet w połączeniach AAL5 jako wirtualne "
-"interfejsy sieciowe systemu Linux, które mogą być używane w połączeniu z protokołem "
-"DHCP lub PPP w celu polÄ…czenia siÄ™ z sieciÄ… dostawcy."
+"Mosty ATM eksponują enkapsulowaną sieć Ethernet w połączeniach AAL5 jako "
+"wirtualne interfejsy sieciowe systemu Linux, które mogą być używane w "
+"połączeniu z protokołem DHCP lub PPP w celu polączenia się z siecią dostawcy."
msgid "ATM device number"
msgstr "Numer urzÄ…dzenia ATM"
@@ -215,9 +215,6 @@ msgstr "Numer urzÄ…dzenia ATM"
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
# co to takiego?
msgid "Access Concentrator"
msgstr "Koncentrator dostępowy ATM"
@@ -290,7 +287,8 @@ msgstr "Alarm"
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address"
-msgstr "Przydziel sekwencyjnie adresy IP, zaczynając od najmniejszego dostępnego"
+msgstr ""
+"Przydziel sekwencyjnie adresy IP, zaczynając od najmniejszego dostępnego"
msgid "Allocate IP sequentially"
msgstr "Przydzielaj adresy IP po kolei"
@@ -311,7 +309,8 @@ msgid "Allow localhost"
msgstr "Pozwól tylko sobie (localhost)"
msgid "Allow remote hosts to connect to local SSH forwarded ports"
-msgstr "Zezwalaj zdalnym hostom na Å‚Ä…czenie siÄ™ z lokalnie przekazywanymi portami SSH"
+msgstr ""
+"Zezwalaj zdalnym hostom na Å‚Ä…czenie siÄ™ z lokalnie przekazywanymi portami SSH"
msgid "Allow root logins with password"
msgstr "Zezwól na logowanie roota przy pomocy hasła"
@@ -327,11 +326,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr "Dozwolone adresy IP"
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr "Zawsze rozgłaszaj domyślny router"
@@ -381,13 +375,13 @@ msgid "Annex M G.992.5"
msgstr ""
msgid "Announce as default router even if no public prefix is available."
-msgstr ""
+msgstr "Rozgłaszaj jako domyślny router nawet jeśli publiczny prefiks nie jest dostępny."
msgid "Announced DNS domains"
-msgstr ""
+msgstr "Rozgłaszaj domeny DNS"
msgid "Announced DNS servers"
-msgstr ""
+msgstr "Rozgłaszaj serwery DNS"
msgid "Anonymous Identity"
msgstr ""
@@ -410,15 +404,19 @@ msgstr "Ustawienia anteny"
msgid "Any zone"
msgstr "Dowolna strefa"
-msgid "Apply"
-msgstr "Zatwierdź"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Apply unchecked"
+msgstr ""
-msgid "Applying changes"
-msgstr "Wprowadzam zmiany"
+msgid "Architecture"
+msgstr "Architektura"
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
msgstr ""
+"Przypisz część danej długości każdego publicznego prefiksu IPv6 do tego interfejsu"
msgid "Assign interfaces..."
msgstr "Przypisz interfejsy..."
@@ -426,10 +424,14 @@ msgstr "Przypisz interfejsy..."
msgid ""
"Assign prefix parts using this hexadecimal subprefix ID for this interface."
msgstr ""
+"Przypisz cześć prefiksu za pomocą szesnastkowego ID subprefiksu dla tego interfejsu"
msgid "Associated Stations"
msgstr "Połączone stacje"
+msgid "Associations"
+msgstr "Połączeni"
+
msgid "Auth Group"
msgstr ""
@@ -521,9 +523,6 @@ msgstr "Wprowadzono zły adres"
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -537,7 +536,7 @@ msgid "Bind interface"
msgstr ""
msgid "Bind only to specific interfaces rather than wildcard address."
-msgstr ""
+msgstr "Powiąż tylko ze specyficznymi interfejsami, a nie z adresami wieloznacznymi."
msgid "Bind the tunnel to this interface (optional)."
msgstr ""
@@ -596,12 +595,20 @@ msgstr "Zmiany"
msgid "Changes applied."
msgstr "Zmiany zostały zastosowane."
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "Zmienia hasło administratora"
msgid "Channel"
msgstr "Kanał"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "Sprawdź"
@@ -678,17 +685,24 @@ msgid ""
"workaround might cause interoperability issues and reduced robustness of key "
"negotiation especially in environments with heavy traffic load."
msgstr ""
-"Komplikuje atak ponownej instalacji klucza po stronie klienta, wyłączając retransmisję ramek klucza EAPOL, które są używane do instalowania kluczy. To obejście może powodować problemy z interoperacyjnością i zmniejszoną odporność kluczowych negocjacji, szczególnie w środowiskach o dużym natężeniu ruchu."
+"Komplikuje atak ponownej instalacji klucza po stronie klienta, wyłączając "
+"retransmisję ramek klucza EAPOL, które są używane do instalowania kluczy. To "
+"obejście może powodować problemy z interoperacyjnością i zmniejszoną "
+"odporność kluczowych negocjacji, szczególnie w środowiskach o dużym "
+"natężeniu ruchu."
msgid "Configuration"
msgstr "Konfiguracja"
-msgid "Configuration applied."
-msgstr "Konfiguracja została zastosowana."
-
msgid "Configuration files will be kept."
msgstr "Pliki konfiguracyjne zostanÄ… zachowane."
+msgid "Configuration has been applied."
+msgstr "Konfiguracja została zastosowana."
+
+msgid "Configuration has been rolled back!"
+msgstr "Konfiguracja została wycofana!"
+
msgid "Confirmation"
msgstr "Potwierdzenie"
@@ -701,12 +715,15 @@ msgstr "Połączony"
msgid "Connection Limit"
msgstr "Limit połączeń"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr ""
-
msgid "Connections"
msgstr "Połączenia"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "Kraj"
@@ -753,6 +770,8 @@ msgid ""
"Custom files (certificates, scripts) may remain on the system. To prevent "
"this, perform a factory-reset first."
msgstr ""
+"Własne pliki (certyfikaty, skrypty) mogą pozostać w systemie. Aby zapobiec "
+"temu, wykonaj najpierw reset do ustawień fabrycznych"
msgid ""
"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
@@ -783,10 +802,10 @@ msgid "DHCPv6 client"
msgstr "Klient DHCPv6"
msgid "DHCPv6-Mode"
-msgstr ""
+msgstr "Tryb DHCPv6"
msgid "DHCPv6-Service"
-msgstr ""
+msgstr "Serwis DHCPv6"
msgid "DNS"
msgstr "DNS"
@@ -801,7 +820,7 @@ msgid "DNSSEC"
msgstr ""
msgid "DNSSEC check unsigned"
-msgstr ""
+msgstr "Sprawdzanie DNSSEC bez podpisu"
msgid "DPD Idle Timeout"
msgstr ""
@@ -834,10 +853,7 @@ msgid "Default gateway"
msgstr "Brama domyślna"
msgid "Default is stateless + stateful"
-msgstr ""
-
-msgid "Default route"
-msgstr ""
+msgstr "Domyślnie jest to stateless + stateful"
msgid "Default state"
msgstr "Stan domyślny"
@@ -881,6 +897,9 @@ msgstr "UrzÄ…dzenie jest uruchamiane ponownie ..."
msgid "Device unreachable"
msgstr "UrzÄ…dzenie nieosiÄ…galne"
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "Diagnostyka"
@@ -915,6 +934,9 @@ msgstr "Wyłączone (domyślnie)"
msgid "Discard upstream RFC1918 responses"
msgstr "Odrzuć wychodzące odpowiedzi RFC1918"
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr "PokazujÄ™ tylko paczki zawierajÄ…ce"
@@ -1037,7 +1059,9 @@ msgstr "WÅ‚Ä…cz"
msgid ""
"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
"snooping"
-msgstr "Włącz nasłuchiwanie <abbr title=\"Internet Group Management Protocol\">IGMP</abbr>"
+msgstr ""
+"Włącz nasłuchiwanie <abbr title=\"Internet Group Management Protocol\">IGMP</"
+"abbr>"
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "WÅ‚Ä…cz <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
@@ -1102,8 +1126,9 @@ msgstr "Włącz nasłuchiwanie IGMP na tym moście"
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
-msgstr "Aktywuje szybki roaming pomiędzy punktami dostępowymi, które należą "
-"do tej samej domeny"
+msgstr ""
+"Aktywuje szybki roaming pomiędzy punktami dostępowymi, które należą do tej "
+"samej domeny"
msgid "Enables the Spanning Tree Protocol on this bridge"
msgstr ""
@@ -1162,13 +1187,13 @@ msgid "External R1 Key Holder List"
msgstr ""
msgid "External system log server"
-msgstr "Zewnętrzny serwer dla logów systemowych"
+msgstr "Serwer zewnętrzny dla logów systemowych"
msgid "External system log server port"
-msgstr "Port zewnętrznego serwera dla logów systemowych"
+msgstr "Port zewnętrznego serwera logów systemowych"
msgid "External system log server protocol"
-msgstr "Protokół zewnętrznego serwera dla logów systemowych"
+msgstr "Protokół zewnętrznego serwera logów systemowych"
msgid "Extra SSH command options"
msgstr ""
@@ -1182,6 +1207,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr "Plik"
@@ -1304,7 +1332,7 @@ msgstr "Wolna przestrzeń"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1349,7 +1377,7 @@ msgid "Global Settings"
msgstr ""
msgid "Global network options"
-msgstr ""
+msgstr "Globalne opcje sieciowe"
msgid "Go to password configuration..."
msgstr "Przejdź do konfiguracji hasła..."
@@ -1378,9 +1406,6 @@ msgstr "Rozłącz"
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1443,8 +1468,8 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "Firewall IPv4"
-msgid "IPv4 WAN Status"
-msgstr "Status IPv4 WAN"
+msgid "IPv4 Upstream"
+msgstr "Protokół IPv4"
msgid "IPv4 address"
msgstr "Adres IPv4"
@@ -1489,25 +1514,22 @@ msgid "IPv6 Neighbours"
msgstr ""
msgid "IPv6 Settings"
-msgstr ""
+msgstr "Ustawienia IPv6"
msgid "IPv6 ULA-Prefix"
-msgstr ""
+msgstr "IPv6 Prefiks-ULA"
-msgid "IPv6 WAN Status"
-msgstr "Status WAN IPv6"
+msgid "IPv6 Upstream"
+msgstr "Protokół IPv6"
msgid "IPv6 address"
msgstr "Adres IPv6"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
-msgstr ""
+msgstr "Wskazówka przypisania IPv6"
msgid "IPv6 assignment length"
-msgstr ""
+msgstr "Długość przydziału IPv6"
msgid "IPv6 gateway"
msgstr "Brama IPv6"
@@ -1525,7 +1547,7 @@ msgid "IPv6 routed prefix"
msgstr ""
msgid "IPv6 suffix"
-msgstr ""
+msgstr "Sufiks IPv6"
msgid "IPv6-Address"
msgstr "Adres IPv6"
@@ -1623,7 +1645,8 @@ msgid "Install"
msgstr "Instaluj"
msgid "Install iputils-traceroute6 for IPv6 traceroute"
-msgstr "Zainstaluj iputils-traceroute6 w celu skorzystania z traceroute dla iPv6"
+msgstr ""
+"Zainstaluj iputils-traceroute6 w celu skorzystania z traceroute dla iPv6"
msgid "Install package %q"
msgstr "Instaluj pakiet %q"
@@ -1783,7 +1806,7 @@ msgid "Limit"
msgstr "Limit"
msgid "Limit DNS service to subnets interfaces on which we are serving DNS."
-msgstr ""
+msgstr "Ogranicz usługi DNS do podsieci interfejsów, na których obsługujemy DNS."
msgid "Limit listening to these interfaces, and loopback."
msgstr "Ogranicz nasłuchiwanie do tych interfesjów, oraz loopbacku."
@@ -1867,7 +1890,7 @@ msgid "Local IPv6 address"
msgstr "Lokalny adres IPv6"
msgid "Local Service Only"
-msgstr ""
+msgstr "Tylko serwis lokalny"
msgid "Local Startup"
msgstr "Lokalny autostart"
@@ -1888,7 +1911,7 @@ msgstr ""
msgid "Local domain suffix appended to DHCP names and hosts file entries"
msgstr ""
-"Przyrostek (suffiks) domeny przyłączany do nazw DHCP i wpisów w pliku hosts"
+"Przyrostek (sufiks) domeny przyłączany do nazw DHCP i wpisów w pliku hosts"
msgid "Local server"
msgstr "Serwer lokalny"
@@ -1958,8 +1981,8 @@ msgid ""
"Make sure to clone the root filesystem using something like the commands "
"below:"
msgstr ""
-"Upewnij się, że klonujesz główny system plików, używając czegoś podobnego "
-"do poleceń poniżej:"
+"Upewnij się, że klonujesz główny system plików, używając czegoś podobnego do "
+"poleceń poniżej:"
msgid "Manual"
msgstr ""
@@ -2088,7 +2111,7 @@ msgid "NCM"
msgstr "NCM"
msgid "NDP-Proxy"
-msgstr ""
+msgstr "Proxy NDP"
msgid "NT Domain"
msgstr ""
@@ -2096,9 +2119,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr "Lista serwerów NTP"
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr "Nazwa"
@@ -2178,7 +2198,7 @@ msgid "Non Pre-emtive CRC errors (CRC_P)"
msgstr ""
msgid "Non-wildcard"
-msgstr ""
+msgstr "Bez symboli wieloznacznych"
msgid "None"
msgstr "Brak"
@@ -2208,7 +2228,8 @@ msgid "Nslookup"
msgstr "Nslookup"
msgid "Number of cached DNS entries (max is 10000, 0 is no caching)"
-msgstr ""
+msgstr "Liczba buforowanych wpisów DNS (max wynosi 10000, 0 oznacza "
+"brak pamięci podręcznej)"
msgid "OK"
msgstr "OK"
@@ -2222,6 +2243,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr "Zwłoka wyłączenia"
@@ -2272,12 +2296,6 @@ msgstr "Usunięto wartość"
msgid "Optional"
msgstr "Opcjonalny"
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2289,6 +2307,10 @@ msgid ""
"server, use the suffix (like '::1') to form the IPv6 address ('a:b:c:d::1') "
"for the interface."
msgstr ""
+"Opcjonalne. Dopuszczalne wartości: 'eui64', 'random', stałe wartości takie jak "
+"'::1' lub '::1:2'. Kiedy prefiks IPv6 (taki jak 'a:b:c:d::') jest odbierany z serwera "
+"delegującego, użyj sufiksa (takiego jak '::1') aby utworzyć adres IPv6 ('a:b:c:d::1') "
+"dla tego interfejsu."
msgid ""
"Optional. Base64-encoded preshared key. Adds in an additional layer of "
@@ -2581,7 +2603,7 @@ msgid "Public prefix routed to this device for distribution to clients."
msgstr ""
msgid "QMI Cellular"
-msgstr ""
+msgstr "Komórkowy QMI"
msgid "Quality"
msgstr "Jakość"
@@ -2633,15 +2655,15 @@ msgstr ""
"\"Dynamic Host Configuration Protocol\">DHCP</abbr>"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
"Naprawdę usunąć ten interfejs? Usunięcie nie może zostać cofnięte!\n"
"Możesz stracić dostęp do tego urządzenia, jeśli jesteś połączony przez ten "
"interfejs!"
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
"Naprawdę usunąć tę sieć bezprzewodową? Usunięcie nie może zostać cofnięte!\n"
@@ -2653,7 +2675,7 @@ msgstr "Naprawdę usunąć wszelkie zmiany?"
#, fuzzy
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
"Naprawdę wyłączyć tę sieć?\n"
@@ -2661,7 +2683,7 @@ msgstr ""
"interfejs!"
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
"Naprawdę wyłączyć interfejs \"%s\"?\n"
@@ -2755,9 +2777,6 @@ msgstr "Zażądaj adresu IPv6"
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr "Wymagaj TLS"
-
msgid "Required"
msgstr "Wymagany"
@@ -2784,7 +2803,8 @@ msgstr ""
msgid ""
"Requires upstream supports DNSSEC; verify unsigned domain responses really "
"come from unsigned domains"
-msgstr ""
+msgstr "Wymagane jest wsparcie dla DNSSEC; sprawdzanie, czy niepodpisane "
+"odpowiedzi w domenie rzeczywiście pochodzą z domen bez znaku"
msgid "Reset"
msgstr "Resetuj"
@@ -2816,6 +2836,15 @@ msgstr "Odsłoń/Ukryj hasło"
msgid "Revert"
msgstr "Przywróć"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr "Root"
@@ -2829,13 +2858,10 @@ msgid "Route Allowed IPs"
msgstr ""
msgid "Route type"
-msgstr ""
-
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
+msgstr "Typ trasy"
msgid "Router Advertisement-Service"
-msgstr ""
+msgstr "Serwis rozgłoszeniowy routera"
msgid "Router Password"
msgstr "Hasło routera"
@@ -2860,14 +2886,6 @@ msgstr "Sprawdź czy system plików nie zawiera błędów"
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr "SNR"
@@ -2895,9 +2913,6 @@ msgstr "Zapisz"
msgid "Save & Apply"
msgstr "Zapisz i zastosuj"
-msgid "Save &#38; Apply"
-msgstr "Zapisz i zastosuj"
-
msgid "Scan"
msgstr "Skanuj"
@@ -2927,17 +2942,6 @@ msgstr "Rozdziel klientów"
msgid "Server Settings"
msgstr "Ustawienia serwera"
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr "Nazwa serwisu"
@@ -2951,8 +2955,8 @@ msgid ""
"Set interface properties regardless of the link carrier (If set, carrier "
"sense events do not invoke hotplug handlers)."
msgstr ""
-"Ustaw właściwości interfejsu, niezależnie od operatora łącza (nie wpływa"
-" na programy operatora które ustanawiają połączenie)."
+"Ustaw właściwości interfejsu, niezależnie od operatora łącza (nie wpływa na "
+"programy operatora które ustanawiają połączenie)."
#, fuzzy
msgid "Set up Time Synchronization"
@@ -2992,7 +2996,7 @@ msgid "Size (.ipk)"
msgstr ""
msgid "Size of DNS query cache"
-msgstr ""
+msgstr "Rozmiar pamięci podręcznej zapytań DNS"
msgid "Skip"
msgstr "Pomiń"
@@ -3010,7 +3014,7 @@ msgid "Software"
msgstr "Oprogramowanie"
msgid "Software VLAN"
-msgstr "VLAN programowy"
+msgstr "Programowy VLAN"
msgid "Some fields are invalid, cannot save values!"
msgstr "Wartości pewnych pól są niewłaściwe, nie mogę ich zachować!"
@@ -3036,9 +3040,6 @@ msgstr "Posortuj"
msgid "Source"
msgstr "Źródło"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr "Podaje katalog do którego jest podłączone urządzenie"
@@ -3080,6 +3081,9 @@ msgstr "Uruchomienie"
msgid "Start priority"
msgstr "Priorytet uruchomienia"
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr "Autostart"
@@ -3121,10 +3125,10 @@ msgid "Submit"
msgstr "Wyślij"
msgid "Suppress logging"
-msgstr ""
+msgstr "Pomiń rejestrowanie"
msgid "Suppress logging of the routine operation of these protocols"
-msgstr ""
+msgstr "Pomiń rejestrowanie rutynowych operacji dla tych protokołów"
msgid "Swap"
msgstr ""
@@ -3247,6 +3251,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3273,9 +3287,6 @@ msgstr ""
"upewnić się, że został przesłany poprawnie.<br /> Wciśnij \"Wykonaj\" aby "
"kontynuować aktualizację."
-msgid "The following changes have been committed"
-msgstr "Następujące zmiany zostały zatwierdzone"
-
msgid "The following changes have been reverted"
msgstr "Następujące zmiany zostały odrzucone"
@@ -3346,11 +3357,6 @@ msgstr ""
"siÄ™ do urzÄ…dzenia."
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3360,8 +3366,8 @@ msgstr ""
msgid "There are no active leases."
msgstr "Brak aktywnych dzierżaw."
-msgid "There are no pending changes to apply!"
-msgstr "Brak oczekujÄ…cych zmian do zastosowania!"
+msgid "There are no changes to apply."
+msgstr "Nie ma żadnych zmian do zastosowania."
msgid "There are no pending changes to revert!"
msgstr "Brak oczekujących zmian do przywrócenia!"
@@ -3391,6 +3397,9 @@ msgid ""
"'server=1.2.3.4' fordomain-specific or full upstream <abbr title=\"Domain "
"Name System\">DNS</abbr> servers."
msgstr ""
+"Ten plik może zawierać linie takie jak 'server=/domain/1.2.3.4' lub "
+"'server=1.2.3.4' dla specyficznych dla domeny lub pełnych serwerów "
+"<abbr title=\"Domain Name System\">DNS</abbr>"
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
@@ -3471,8 +3480,8 @@ msgid ""
"To restore configuration files, you can upload a previously generated backup "
"archive here."
msgstr ""
-"Aby przywrócić pliki konfiguracyjne, możesz tutaj przesłać wcześniej utworzoną "
-"kopiÄ™ zapasowÄ…."
+"Aby przywrócić pliki konfiguracyjne, możesz przesłać tutaj wcześniej "
+"utworzonÄ… kopiÄ™ zapasowÄ…."
msgid "Tone"
msgstr ""
@@ -3516,15 +3525,6 @@ msgstr "Interfejs tunelu"
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr "Typ tunelu"
-
msgid "Tx-Power"
msgstr "Moc nadawania"
@@ -3582,8 +3582,9 @@ msgid ""
"compatible firmware image)."
msgstr ""
"Prześlij tutaj obraz zgodny z funkcją sysupgrade, aby zastąpić aktualnie "
-"działające opragramowanie. Zaznacz opcję \"Zachowaj ustawienia\", aby zachować "
-"bieżącą konfigurację (wymagany obraz zgodny z bieżącym opragramowaniem)."
+"działające opragramowanie. Zaznacz opcję \"Zachowaj ustawienia\", aby "
+"zachować bieżącą konfigurację (wymagany obraz zgodny z bieżącym "
+"opragramowaniem)."
msgid "Upload archive..."
msgstr "Załaduj archiwum..."
@@ -3705,12 +3706,6 @@ msgstr "Producent"
msgid "Vendor Class to send when requesting DHCP"
msgstr "Klasa producenta do wysłania podczas żądania DHCP"
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr "Zweryfikuj"
@@ -3739,12 +3734,8 @@ msgid ""
"WPA-Encryption requires wpa_supplicant (for client mode) or hostapd (for AP "
"and ad-hoc mode) to be installed."
msgstr ""
-"Kodowanie WPA wymaga zainstalowanych modułów wpa_supplicant (tryb "
-"klienta) lub hostapd (tryb AP lub ad-hoc)"
-
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
+"Kodowanie WPA wymaga zainstalowanych modułów wpa_supplicant (tryb klienta) "
+"lub hostapd (tryb AP lub ad-hoc)"
msgid "Waiting for changes to be applied..."
msgstr "Trwa wprowadzenie zmian..."
@@ -3752,6 +3743,9 @@ msgstr "Trwa wprowadzenie zmian..."
msgid "Waiting for command to complete..."
msgstr "Trwa wykonanie polecenia..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr "Oczekiwanie na zastosowanie konfiguracji… %ds"
+
msgid "Waiting for device..."
msgstr "Oczekiwanie na urzÄ…dzenie..."
@@ -3759,20 +3753,15 @@ msgid "Warning"
msgstr "Ostrzeżenie"
msgid "Warning: There are unsaved changes that will get lost on reboot!"
-msgstr "Ostrzeżenie: Istnieją niezapisane zmiany, które zostaną utracone "
-"po ponownym uruchomieniu urzÄ…dzenia!"
+msgstr ""
+"Ostrzeżenie: Istnieją niezapisane zmiany, które zostaną utracone po ponownym "
+"uruchomieniu urzÄ…dzenia!"
msgid ""
"When using a PSK, the PMK can be generated locally without inter AP "
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr "Szerokość"
@@ -3839,9 +3828,9 @@ msgid ""
"upgrade it to at least version 7 or use another browser like Firefox, Opera "
"or Safari."
msgstr ""
-"Twój Internet Explorer jest za stary, aby poprawnie wyświetlić tę stronę"
+"Twój Internet Explorer jest za stary, aby poprawnie wyświetlić tę stronę "
"zaktualizuj go do wersji co najmniej 7 lub użyj innej przeglądarki, takiej "
-"jak Firefox, Opera czy Safari".
+"jak Firefox, Opera czy Safari."
msgid "any"
msgstr "dowolny"
@@ -3855,6 +3844,9 @@ msgstr "baseT"
msgid "bridged"
msgstr "zmostkowany"
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr "utwórz:"
@@ -3919,9 +3911,6 @@ msgstr "kbit/s"
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "lokalny plik <abbr title=\"Domain Name System\">DNS</abbr>"
-msgid "minimum 1280, maximum 1480"
-msgstr "minimum 1280, maksimum 1480"
-
msgid "minutes"
msgstr "minuty"
@@ -3947,6 +3936,9 @@ msgstr "włączone"
msgid "open"
msgstr "otwarte"
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3998,101 +3990,8 @@ msgstr "tak"
msgid "« Back"
msgstr "« Wróć"
-#~ msgid "Action"
-#~ msgstr "Akcja"
-
-#~ msgid "Buttons"
-#~ msgstr "Przyciski"
-
-#~ msgid "Handler"
-#~ msgstr "Uchwyt"
-
-#~ msgid "Maximum hold time"
-#~ msgstr "Maksymalny czas podtrzymania"
-
-#~ msgid "Minimum hold time"
-#~ msgstr "Minimalny czas podtrzymania"
-
-#~ msgid "Path to executable which handles the button event"
-#~ msgstr ""
-#~ "Ścieżka do pliku wykonywalnego, który obsługuje zdarzenie dla danego "
-#~ "przycisku"
-
-#~ msgid "Specifies the button state to handle"
-#~ msgstr "Określa zachowanie w zależności od stanu przycisku"
-
-#~ msgid "This page allows the configuration of custom button actions"
-#~ msgstr ""
-#~ "Poniższa strona umożliwia konfigurację działania niestandardowych "
-#~ "przycisków"
-
-#~ msgid "Leasetime"
-#~ msgstr "Czas dzierżawy"
-
-# Wydaje mi się że brakuje litery R...
-#~ msgid "AR Support"
-#~ msgstr "Wsparcie dla ARP"
-
-#~ msgid "Atheros 802.11%s Wireless Controller"
-#~ msgstr "Bezprzewodowy kontroler Atheros 802.11%s"
-
-#~ msgid "Background Scan"
-#~ msgstr "Skanowanie w tle"
-
-#~ msgid "Compression"
-#~ msgstr "Kompresja"
-
-#~ msgid "Disable HW-Beacon timer"
-#~ msgstr "Wyłącz zegar HW-Beacon"
-
-#~ msgid "Do not send probe responses"
-#~ msgstr "Nie wysyłaj ramek probe response"
-
-#~ msgid "Fast Frames"
-#~ msgstr "Szybkie ramki (Fast Frames)"
-
-#~ msgid "Maximum Rate"
-#~ msgstr "Maksymalna Szybkość"
-
-#~ msgid "Minimum Rate"
-#~ msgstr "Minimalna Szybkość"
-
-#~ msgid "Multicast Rate"
-#~ msgstr "Szybkość Multicast`u"
-
-#~ msgid "Outdoor Channels"
-#~ msgstr "Kanały zewnętrzne"
-
-#~ msgid "Regulatory Domain"
-#~ msgstr "Domena regulacji"
-
-#~ msgid "Separate WDS"
-#~ msgstr "Rozdziel WDS"
-
-#~ msgid "Static WDS"
-#~ msgstr "Statyczny WDS"
-
-#~ msgid "Turbo Mode"
-#~ msgstr "Tryb Turbo"
-
-#~ msgid "XR Support"
-#~ msgstr "Wsparcie XR"
-
-#~ msgid "An additional network will be created if you leave this unchecked."
-#~ msgstr ""
-#~ "Zostanie utworzona dodatkowa sieć jeśli zostawisz tą opcję niezaznaczoną."
-
-#~ msgid "Join Network: Settings"
-#~ msgstr "Przyłącz do sieci: Ustawienia"
-
-#~ msgid "CPU"
-#~ msgstr "CPU"
-
-#~ msgid "Port %d"
-#~ msgstr "Port %d"
-
-#~ msgid "Port %d is untagged in multiple VLANs!"
-#~ msgstr "Port %d jest nietagowany w wielu VLAN`ach!"
+#~ msgid "IPv4 WAN Status"
+#~ msgstr "Status IPv4 WAN"
-#~ msgid "VLAN Interface"
-#~ msgstr "Interfejs VLAN"
+#~ msgid "IPv6 WAN Status"
+#~ msgstr "Status WAN IPv6"
diff --git a/modules/luci-base/po/pt-br/base.po b/modules/luci-base/po/pt-br/base.po
index a51d11d2a5..fde8be16a7 100644
--- a/modules/luci-base/po/pt-br/base.po
+++ b/modules/luci-base/po/pt-br/base.po
@@ -51,6 +51,9 @@ msgstr ""
"-- casar por <abbr title=\"Universal Unique IDentifier/Identificador Único "
"Universal\">UUID</abbr> --"
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "Carga 1 Minuto:"
@@ -185,11 +188,6 @@ msgstr ""
"<abbr title=\"Assymetrical Digital Subscriber Line/Linha Digital Assimétrica "
"para Assinante\">ADSL</abbr>"
-msgid "AICCU (SIXXS)"
-msgstr ""
-"<abbr title=\"Automatic IPv6 Connectivity Client Utility/Utilitário Cliente "
-"de Conectividade IPv6 Automática\">AICCU (SIXXS)</abbr>"
-
msgid "ANSI T1.413"
msgstr "ANSI T1.413"
@@ -232,9 +230,6 @@ msgstr "Número do dispositivo ATM"
msgid "ATU-C System Vendor ID"
msgstr "Identificador de"
-msgid "AYIYA"
-msgstr "AYIYA"
-
msgid "Access Concentrator"
msgstr "Concentrador de Acesso"
@@ -348,13 +343,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr "Endereços IP autorizados"
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-"Veja também a <a href=\"https://www.sixxs.net/faq/connectivity/?"
-"faq=comparison\">Comparação de Tunelamentos</a> em SIXXS"
-
msgid "Always announce default router"
msgstr "Sempre anuncie o roteador padrão"
@@ -434,11 +422,14 @@ msgstr "configuração de antena"
msgid "Any zone"
msgstr "Qualquer zona"
-msgid "Apply"
-msgstr "Aplicar"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Apply unchecked"
+msgstr ""
-msgid "Applying changes"
-msgstr "Aplicar as alterações"
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -458,6 +449,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "Estações associadas"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr "Grupo de Autenticação"
@@ -552,9 +546,6 @@ msgstr "Endereço especificado está incorreto!"
msgid "Band"
msgstr "Banda"
-msgid "Behind NAT"
-msgstr "Atrás da NAT"
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -631,12 +622,20 @@ msgstr "Alterações"
msgid "Changes applied."
msgstr "Alterações aplicadas."
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "Muda a senha do administrador para acessar este dispositivo"
msgid "Channel"
msgstr "Canal"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "Verificar"
@@ -719,12 +718,15 @@ msgstr ""
msgid "Configuration"
msgstr "Configuração"
-msgid "Configuration applied."
-msgstr "Configuração aplicada."
-
msgid "Configuration files will be kept."
msgstr "Os arquivos de configuração serão mantidos."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
+msgstr ""
+
msgid "Confirmation"
msgstr "Confirmação"
@@ -737,12 +739,15 @@ msgstr "Conectado"
msgid "Connection Limit"
msgstr "Limite de conexão"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr "A conexão para este servidor falhará quando o TLS não puder ser usado"
-
msgid "Connections"
msgstr "Conexões"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "País"
@@ -873,9 +878,6 @@ msgstr "Roteador Padrão"
msgid "Default is stateless + stateful"
msgstr "O padrão é sem estado + com estado"
-msgid "Default route"
-msgstr "Rota padrão"
-
msgid "Default state"
msgstr "Estado padrão"
@@ -918,6 +920,9 @@ msgstr "O dispositivo está reiniciando..."
msgid "Device unreachable"
msgstr "Dispositivo não alcançável"
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "Diagnóstico"
@@ -953,6 +958,9 @@ msgid "Discard upstream RFC1918 responses"
msgstr ""
"Descartar respostas de servidores externos para redes privadas (RFC1918)"
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr "Mostre somente os pacotes contendo"
@@ -1222,6 +1230,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr "Arquivo"
@@ -1348,10 +1359,10 @@ msgstr "Espaço livre"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
"Mais informações sobre interfaces e parceiros WireGuard em <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgid "GHz"
msgstr "GHz"
@@ -1426,9 +1437,6 @@ msgstr ""
"Erros de Código de Erro de Cabeçalho (<abbr title=\"Header Error Code\">HEC</"
"abbr>)"
-msgid "Heartbeat"
-msgstr "Pulso de vida"
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1494,8 +1502,8 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "Firewall para IPv4"
-msgid "IPv4 WAN Status"
-msgstr "Estado IPv4 da WAN"
+msgid "IPv4 Upstream"
+msgstr ""
msgid "IPv4 address"
msgstr "Endereço IPv4"
@@ -1547,15 +1555,12 @@ msgstr ""
"Prefixo <abbr title=\"Unique Local Address/Endereço Local Único\">ULA</abbr> "
"IPv6"
-msgid "IPv6 WAN Status"
-msgstr "Estado IPv6 da WAN"
+msgid "IPv6 Upstream"
+msgstr ""
msgid "IPv6 address"
msgstr "Endereço IPv6"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr "Endereços IPv6 delegados para o ponta local do túnel (opcional)"
-
msgid "IPv6 assignment hint"
msgstr "Sugestão de atribuição IPv6"
@@ -2179,9 +2184,6 @@ msgstr "Domínio NT"
msgid "NTP server candidates"
msgstr "Candidatos a servidor NTP"
-msgid "NTP sync time-out"
-msgstr "Tempo limite da sincronia do NTP"
-
msgid "Name"
msgstr "Nome"
@@ -2307,6 +2309,9 @@ msgstr "Senha Ofuscada do Grupo"
msgid "Obfuscated Password"
msgstr "Senha Ofuscada"
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr "Atraso no estado de desligado"
@@ -2359,13 +2364,6 @@ msgstr "Opção removida"
msgid "Optional"
msgstr "Opcional"
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-"Opcional, especifique para sobrescrever o servidor padrão (tic.sixxs.net)"
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr "Opcional, para usar quando a conta SIXXS tem mais de um túnel"
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2734,15 +2732,15 @@ msgstr ""
"\"Protocolo de Configuração Dinâmica de Hosts\">DHCP</abbr>"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
"Realmente excluir esta interface? A exclusão não pode ser desfeita!\n"
" Você poderá perder o acesso a este dispositivo se você estiver conectado "
"através desta interface."
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
"Realmente excluir esta interface Wireless? A exclusão não pode ser "
@@ -2754,7 +2752,7 @@ msgid "Really reset all changes?"
msgstr "Realmente limpar todas as mudanças?"
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
"Realmente desligar esta rede\"%s\" ?\n"
@@ -2762,7 +2760,7 @@ msgstr ""
"através desta interface."
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
"Realmente desligar esta interface\"%s\" ?\n"
@@ -2856,9 +2854,6 @@ msgstr "Solicita endereço IPv6"
msgid "Request IPv6-prefix of length"
msgstr "Solicita prefixo IPv6 de tamanho"
-msgid "Require TLS"
-msgstr "Requer TLS"
-
msgid "Required"
msgstr "Necessário"
@@ -2923,6 +2918,15 @@ msgstr "Relevar/esconder senha"
msgid "Revert"
msgstr "Reverter"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr "Raiz"
@@ -2938,9 +2942,6 @@ msgstr "Roteie Andereços IP Autorizados"
msgid "Route type"
msgstr "Tipo de rota"
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr "Prefixo roteável IPv6 para interfaces internas"
-
msgid "Router Advertisement-Service"
msgstr "Serviço de Anúncio de Roteador"
@@ -2967,16 +2968,6 @@ msgstr "Execute a verificação do sistema de arquivos "
msgid "SHA256"
msgstr "SHA256"
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-"O SIXXS suporta somente TIC. Use o 6in4 para túneis estáticos usando o "
-"protocolo IP 41 (RFC4213)"
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr "Identificador do SIXXS[/Identificador do Túnel]"
-
msgid "SNR"
msgstr "SNR"
@@ -3004,9 +2995,6 @@ msgstr "Salvar"
msgid "Save & Apply"
msgstr "Salvar & Aplicar"
-msgid "Save &#38; Apply"
-msgstr "Save &#38; Aplicar"
-
msgid "Scan"
msgstr "Procurar"
@@ -3035,19 +3023,6 @@ msgstr "Isolar Clientes"
msgid "Server Settings"
msgstr "Configurações do Servidor"
-msgid "Server password"
-msgstr "Senha do servidor"
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-"Senha do servidor. Informe a senha para este túnel quando o nome do usuário "
-"contiver o identificador do túnel"
-
-msgid "Server username"
-msgstr "Usuário do servidor"
-
msgid "Service Name"
msgstr "Nome do Serviço"
@@ -3145,9 +3120,6 @@ msgstr "Ordenar"
msgid "Source"
msgstr "Origem"
-msgid "Source routing"
-msgstr "Roteamento pela origem"
-
msgid "Specifies the directory the device is attached to"
msgstr "Especifica o diretório que o dispositivo está conectado"
@@ -3194,6 +3166,9 @@ msgstr "Iniciar"
msgid "Start priority"
msgstr "Prioridade de iniciação"
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr "Iniciação"
@@ -3364,6 +3339,16 @@ msgstr ""
"O arquivo de configuração não pode ser carregado devido ao seguinte erro:"
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3389,9 +3374,6 @@ msgstr ""
"garantir a integridade dos dados. <br /> Clique em \"Proceder\" para iniciar "
"o procedimetno de gravação."
-msgid "The following changes have been committed"
-msgstr "As seguintes mudanças foram aplicadas"
-
msgid "The following changes have been reverted"
msgstr "As seguintes alterações foram revertidas"
@@ -3461,13 +3443,6 @@ msgstr ""
"computador para poder conectar novamente ao roteador."
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-"O final do túnel está atrás de um NAT. Por padrão será desabilitado e "
-"somente se aplica a AYIYA"
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3477,8 +3452,8 @@ msgstr ""
msgid "There are no active leases."
msgstr "Não existem alocações ativas."
-msgid "There are no pending changes to apply!"
-msgstr "Não existem modificações pendentes para aplicar!"
+msgid "There are no changes to apply."
+msgstr ""
msgid "There are no pending changes to revert!"
msgstr "Não existem modificações pendentes para reverter!"
@@ -3638,15 +3613,6 @@ msgstr "Interface de Tunelamento"
msgid "Tunnel Link"
msgstr "Enlace do túnel"
-msgid "Tunnel broker protocol"
-msgstr "Protocolo do agente do túnel"
-
-msgid "Tunnel setup server"
-msgstr "Servidor de configuração do túnel"
-
-msgid "Tunnel type"
-msgstr "Tipo de túnel"
-
msgid "Tx-Power"
msgstr "Potência de transmissão"
@@ -3833,12 +3799,6 @@ msgstr "Fabricante"
msgid "Vendor Class to send when requesting DHCP"
msgstr "Classe do fabricante para enviar quando requisitar o DHCP"
-msgid "Verbose"
-msgstr "Detalhado"
-
-msgid "Verbose logging by aiccu daemon"
-msgstr "Habilite registros detalhados do serviço AICCU"
-
msgid "Verify"
msgstr "Verificar"
@@ -3870,18 +3830,15 @@ msgstr ""
"A cifragem WPA requer a instalação do wpa_supplicant (para modo cliente) ou "
"do hostapd (para modo AP ou ad-hoc)."
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-"Espere esta quantidade de segundos pela sincronia do NTP. Definindo como 0 "
-"desabilita a espera (opcional)"
-
msgid "Waiting for changes to be applied..."
msgstr "Esperando a aplicação das mudanças..."
msgid "Waiting for command to complete..."
msgstr "Esperando o término do comando..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr "Esperando pelo dispositivo..."
@@ -3896,12 +3853,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr "Se deve criar uma rota padrão IPv6 sobre o túnel"
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr "Se deve rotear somente pacotes de prefixos delegados"
-
msgid "Width"
msgstr "Largura"
@@ -3985,6 +3936,9 @@ msgstr "baseT"
msgid "bridged"
msgstr "em ponte"
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr "criar"
@@ -4050,9 +4004,6 @@ msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr ""
"Arquivo local de <abbr title=\"Sistema de Nomes de Domínios\">DNS</abbr>"
-msgid "minimum 1280, maximum 1480"
-msgstr "mínimo 1280, máximo 1480"
-
msgid "minutes"
msgstr "minutos"
@@ -4078,6 +4029,9 @@ msgstr "ligado"
msgid "open"
msgstr "aberto"
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr "sobreposição"
@@ -4129,116 +4083,8 @@ msgstr "sim"
msgid "« Back"
msgstr "« Voltar"
-#~ msgid "Action"
-#~ msgstr "Ação"
-
-#~ msgid "Buttons"
-#~ msgstr "Botões"
-
-# Não sei que contexto isto está sendo usado
-#~ msgid "Handler"
-#~ msgstr "Responsável"
-
-# Desconheço o uso
-#~ msgid "Maximum hold time"
-#~ msgstr "Tempo máximo de espera"
-
-#~ msgid "Minimum hold time"
-#~ msgstr "Tempo mínimo de espera"
-
-#~ msgid "Path to executable which handles the button event"
-#~ msgstr "Caminho para o executável que trata o evento do botão"
-
-#~ msgid "Specifies the button state to handle"
-#~ msgstr "Especifica o estado do botão para ser tratado"
-
-#~ msgid "This page allows the configuration of custom button actions"
-#~ msgstr ""
-#~ "Esta página permite a configuração de ações personalizadas para os botões"
-
-#~ msgid "Leasetime"
-#~ msgstr "Tempo de atribuição do DHCP"
-
-#~ msgid "Optional."
-#~ msgstr "Opcional."
-
-#~ msgid "navigation Navigation"
-#~ msgstr "navegação Navegação"
-
-#~ msgid "skiplink1 Skip to navigation"
-#~ msgstr "skiplink1 Pular para a navegação"
-
-#~ msgid "skiplink2 Skip to content"
-#~ msgstr "skiplink2 Pular para o conteúdo"
-
-#~ msgid "AuthGroup"
-#~ msgstr "Grupo de Autenticação"
-
-#~ msgid "automatic"
-#~ msgstr "automático"
-
-#~ msgid "AR Support"
-#~ msgstr "Suporte AR"
-
-#~ msgid "Atheros 802.11%s Wireless Controller"
-#~ msgstr "Controlador Wireless Atheros 802.11%s"
-
-#~ msgid "Background Scan"
-#~ msgstr "Busca em Segundo Plano"
-
-#~ msgid "Compression"
-#~ msgstr "Compressão"
-
-#~ msgid "Disable HW-Beacon timer"
-#~ msgstr "Desativar temporizador de Beacon de Hardware"
-
-#~ msgid "Do not send probe responses"
-#~ msgstr "Não enviar respostas de exames"
-
-#~ msgid "Fast Frames"
-#~ msgstr "Quadros Rápidos"
-
-#~ msgid "Maximum Rate"
-#~ msgstr "Taxa Máxima"
-
-#~ msgid "Minimum Rate"
-#~ msgstr "Taxa Mínima"
-
-#~ msgid "Multicast Rate"
-#~ msgstr "Taxa de Multicast"
-
-#~ msgid "Outdoor Channels"
-#~ msgstr "Canais para externo"
-
-#~ msgid "Regulatory Domain"
-#~ msgstr "Domínio Regulatório"
-
-#~ msgid "Separate WDS"
-#~ msgstr "Separar WDS"
-
-#~ msgid "Static WDS"
-#~ msgstr "WDS Estático"
-
-#~ msgid "Turbo Mode"
-#~ msgstr "Modo Turbo"
-
-#~ msgid "XR Support"
-#~ msgstr "Suporte a XR"
-
-#~ msgid "An additional network will be created if you leave this unchecked."
-#~ msgstr "Uma rede adicional será criada se você deixar isto desmarcado."
-
-#~ msgid "Join Network: Settings"
-#~ msgstr "Conectar à Rede: Configurações"
-
-#~ msgid "CPU"
-#~ msgstr "CPU"
-
-#~ msgid "Port %d"
-#~ msgstr "Porta %d"
-
-#~ msgid "Port %d is untagged in multiple VLANs!"
-#~ msgstr "Porta %d está sem etiqueta para mútliplas VLANs!"
+#~ msgid "IPv4 WAN Status"
+#~ msgstr "Estado IPv4 da WAN"
-#~ msgid "VLAN Interface"
-#~ msgstr "Interface VLAN"
+#~ msgid "IPv6 WAN Status"
+#~ msgstr "Estado IPv6 da WAN"
diff --git a/modules/luci-base/po/pt/base.po b/modules/luci-base/po/pt/base.po
index 843a4cac86..28c13c8194 100644
--- a/modules/luci-base/po/pt/base.po
+++ b/modules/luci-base/po/pt/base.po
@@ -49,6 +49,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "Carga de 1 Minuto:"
@@ -177,9 +180,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -216,9 +216,6 @@ msgstr "Número de Dispositivo ATM"
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr "Concentrador de Acesso"
@@ -328,11 +325,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -411,11 +403,14 @@ msgstr "Configuração das Antenas"
msgid "Any zone"
msgstr "Qualquer zona"
-msgid "Apply"
-msgstr "Aplicar"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Apply unchecked"
+msgstr ""
-msgid "Applying changes"
-msgstr "A aplicar as alterações"
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -431,6 +426,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "Estações Associadas"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -521,9 +519,6 @@ msgstr "Endereço mal especificado!"
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -595,12 +590,20 @@ msgstr "Alterações"
msgid "Changes applied."
msgstr "Alterações aplicadas."
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "Altera a password de administrador para acesso ao dispositivo"
msgid "Channel"
msgstr "Canal"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "Verificar"
@@ -681,12 +684,15 @@ msgstr ""
msgid "Configuration"
msgstr "Configuração"
-msgid "Configuration applied."
-msgstr "Configuração aplicada."
-
msgid "Configuration files will be kept."
msgstr "Os ficheiros de configuração serão mantidos."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
+msgstr ""
+
msgid "Confirmation"
msgstr "Confirmação"
@@ -699,12 +705,15 @@ msgstr "Ligado"
msgid "Connection Limit"
msgstr "Limite de Ligações"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr ""
-
msgid "Connections"
msgstr "Ligações"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "País"
@@ -833,9 +842,6 @@ msgstr "Gateway predefinido"
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr "Estado predefinido"
@@ -878,6 +884,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "Diagnósticos"
@@ -912,6 +921,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr "Descartar respostas RFC1918 a montante"
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr "Mostrar somente pacotes contendo"
@@ -1175,6 +1187,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr "Ficheiro"
@@ -1296,7 +1311,7 @@ msgstr "Espaço livre"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1369,9 +1384,6 @@ msgstr "Suspender"
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1434,8 +1446,8 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "Firewall IPv4"
-msgid "IPv4 WAN Status"
-msgstr "Estado WAN IPv4"
+msgid "IPv4 Upstream"
+msgstr ""
msgid "IPv4 address"
msgstr "Endereço IPv4"
@@ -1485,15 +1497,12 @@ msgstr ""
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
-msgstr "Estado WAN IPv6"
+msgid "IPv6 Upstream"
+msgstr ""
msgid "IPv6 address"
msgstr "Endereço IPv6"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -2079,9 +2088,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr "Candidatos a servidor NTP"
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr "Nome"
@@ -2205,6 +2211,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr "Atraso do Off-State"
@@ -2256,12 +2265,6 @@ msgstr "Opção removida"
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2613,15 +2616,15 @@ msgstr ""
"\"Protocolo de Configuração Dinâmica de Hosts\">DHCP</abbr>"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
"Deseja mesmo apagar esta interface? A eliminação não poder desfeita!\n"
"Pode perde a ligação ao dispositivo, caso esta ligado através desta "
"interface."
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
"Deseja mesmo apagar esta rede? A eliminação não poder desfeita!\n"
@@ -2632,14 +2635,14 @@ msgstr "Deseja mesmo limpar todas as alterações?"
#, fuzzy
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
"Deseja mesmo desligar esta rede?\n"
"Pode perder o acesso ao dispositivo se estiver ligado através desta rede."
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
"Deseja mesmo desligar a interface \"%s\" ?\n"
@@ -2733,9 +2736,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2794,6 +2794,15 @@ msgstr "Revelar/esconder password"
msgid "Revert"
msgstr "Reverter"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr ""
@@ -2809,9 +2818,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2838,14 +2844,6 @@ msgstr "Correr uma verificação do sistema de ficheiros"
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2873,9 +2871,6 @@ msgstr "Salvar"
msgid "Save & Apply"
msgstr "Salvar & Aplicar"
-msgid "Save &#38; Apply"
-msgstr "Salvar &#38; Aplicar"
-
msgid "Scan"
msgstr "Procurar"
@@ -2902,17 +2897,6 @@ msgstr "Isolar Clientes"
msgid "Server Settings"
msgstr ""
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr "Nome do Serviço"
@@ -3006,9 +2990,6 @@ msgstr "Ordenar"
msgid "Source"
msgstr "Origem"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr ""
@@ -3047,6 +3028,9 @@ msgstr "Iniciar"
msgid "Start priority"
msgstr "Prioridade de inicialização"
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr ""
@@ -3203,6 +3187,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3227,9 +3221,6 @@ msgstr ""
"compare com o ficheiro original para assegurar a integração de dados.<br /> "
"Click em \"Proceder\" para iniciar o procedimento."
-msgid "The following changes have been committed"
-msgstr "As seguintes alterações foram escritas"
-
msgid "The following changes have been reverted"
msgstr "Foram recuperadas as seguintes alterações "
@@ -3300,11 +3291,6 @@ msgstr ""
"para poder ligar novamente ao router."
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3314,8 +3300,8 @@ msgstr ""
msgid "There are no active leases."
msgstr "Não há concessões ativas."
-msgid "There are no pending changes to apply!"
-msgstr "Não há alterações pendentes para aplicar!"
+msgid "There are no changes to apply."
+msgstr ""
msgid "There are no pending changes to revert!"
msgstr "Não há alterações pendentes para reverter!"
@@ -3460,15 +3446,6 @@ msgstr "Interface de Túnel"
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr "Potência de Tx"
@@ -3641,12 +3618,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr "Verificar"
@@ -3678,16 +3649,15 @@ msgstr ""
"A encriptação-WPA necessita do wpa_supplicant (para modo cliente) ou do "
"hostapd (para modo AP ou ah-hoc) esteja instalado."
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr "A aguardar que as mudanças sejam aplicadas..."
msgid "Waiting for command to complete..."
msgstr "A aguardar que o comando termine..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
@@ -3702,12 +3672,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3788,6 +3752,9 @@ msgstr "baseT"
msgid "bridged"
msgstr ""
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr "criar:"
@@ -3853,9 +3820,6 @@ msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr ""
"Ficheiro local de <abbr title=\"Sistema de Nomes de Domínios\">DNS</abbr>"
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3880,6 +3844,9 @@ msgstr "ligado"
msgid "open"
msgstr "abrir"
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3931,6 +3898,30 @@ msgstr "sim"
msgid "« Back"
msgstr "« Voltar"
+#~ msgid "IPv4 WAN Status"
+#~ msgstr "Estado WAN IPv4"
+
+#~ msgid "IPv6 WAN Status"
+#~ msgstr "Estado WAN IPv6"
+
+#~ msgid "Apply"
+#~ msgstr "Aplicar"
+
+#~ msgid "Applying changes"
+#~ msgstr "A aplicar as alterações"
+
+#~ msgid "Configuration applied."
+#~ msgstr "Configuração aplicada."
+
+#~ msgid "Save &#38; Apply"
+#~ msgstr "Salvar &#38; Aplicar"
+
+#~ msgid "The following changes have been committed"
+#~ msgstr "As seguintes alterações foram escritas"
+
+#~ msgid "There are no pending changes to apply!"
+#~ msgstr "Não há alterações pendentes para aplicar!"
+
#~ msgid "Action"
#~ msgstr "Acção"
diff --git a/modules/luci-base/po/ro/base.po b/modules/luci-base/po/ro/base.po
index 748bfdbc53..1e596adc7e 100644
--- a/modules/luci-base/po/ro/base.po
+++ b/modules/luci-base/po/ro/base.po
@@ -48,6 +48,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "Incarcarea in ultimul minut"
@@ -168,9 +171,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -207,9 +207,6 @@ msgstr "ATM numar echipament"
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr "Concentrator de Access "
@@ -314,11 +311,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -397,11 +389,14 @@ msgstr "Configurarea Antenei"
msgid "Any zone"
msgstr "Orice Zona"
-msgid "Apply"
-msgstr "Aplica"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Apply unchecked"
+msgstr ""
-msgid "Applying changes"
-msgstr "Se aplica modificarile"
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -417,6 +412,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "Statiile asociate"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -507,9 +505,6 @@ msgstr "Adresa specificata gresit !"
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -578,12 +573,20 @@ msgstr "Modificari"
msgid "Changes applied."
msgstr "Modificari aplicate."
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "Schimba parola administratorului pentru accesarea dispozitivului"
msgid "Channel"
msgstr "Canal"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "Verificare"
@@ -656,12 +659,15 @@ msgstr ""
msgid "Configuration"
msgstr "Configurare"
-msgid "Configuration applied."
-msgstr "Configurarea aplicata."
-
msgid "Configuration files will be kept."
msgstr "Fisierele de configurare vor fi pastrate."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
+msgstr ""
+
msgid "Confirmation"
msgstr "Confirmare"
@@ -674,12 +680,15 @@ msgstr "Conectat"
msgid "Connection Limit"
msgstr "Limita de conexiune"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr ""
-
msgid "Connections"
msgstr "Conexiuni"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "Tara"
@@ -806,9 +815,6 @@ msgstr ""
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr "Stare implicita"
@@ -848,6 +854,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "Diagnosticuri"
@@ -882,6 +891,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr ""
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr ""
@@ -1127,6 +1139,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr "Fisier"
@@ -1249,7 +1264,7 @@ msgstr "Spatiu liber"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1321,9 +1336,6 @@ msgstr ""
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1381,8 +1393,8 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "Firewall IPv4"
-msgid "IPv4 WAN Status"
-msgstr "Statusul IPv4 pe WAN"
+msgid "IPv4 Upstream"
+msgstr ""
msgid "IPv4 address"
msgstr "Adresa IPv4"
@@ -1432,15 +1444,12 @@ msgstr ""
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
-msgstr "Statusul IPv6 pe WAN"
+msgid "IPv6 Upstream"
+msgstr ""
msgid "IPv6 address"
msgstr "Adresa IPv6"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -2009,9 +2018,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr ""
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr "Nume"
@@ -2135,6 +2141,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr ""
@@ -2180,12 +2189,6 @@ msgstr "Optiunea eliminata"
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2537,12 +2540,12 @@ msgstr ""
"<abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>-"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
@@ -2550,12 +2553,12 @@ msgid "Really reset all changes?"
msgstr ""
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
@@ -2646,9 +2649,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2707,6 +2707,15 @@ msgstr "Arata / ascunde parola"
msgid "Revert"
msgstr ""
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr ""
@@ -2722,9 +2731,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2748,14 +2754,6 @@ msgstr ""
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2783,9 +2781,6 @@ msgstr "Salveaza"
msgid "Save & Apply"
msgstr "Salveaza si aplica"
-msgid "Save &#38; Apply"
-msgstr "Salveaza &#38; Aplica"
-
msgid "Scan"
msgstr "Scan"
@@ -2812,17 +2807,6 @@ msgstr ""
msgid "Server Settings"
msgstr "Setarile serverului"
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr "Nume serviciu"
@@ -2916,9 +2900,6 @@ msgstr ""
msgid "Source"
msgstr "Sursa"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr ""
@@ -2957,6 +2938,9 @@ msgstr "Start"
msgid "Start priority"
msgstr ""
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr "Pornire"
@@ -3107,6 +3091,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3123,9 +3117,6 @@ msgid ""
"\"Proceed\" below to start the flash procedure."
msgstr ""
-msgid "The following changes have been committed"
-msgstr ""
-
msgid "The following changes have been reverted"
msgstr ""
@@ -3179,11 +3170,6 @@ msgid ""
msgstr ""
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3191,8 +3177,8 @@ msgstr ""
msgid "There are no active leases."
msgstr ""
-msgid "There are no pending changes to apply!"
-msgstr "Nu exista modificari in asteptare de aplicat !"
+msgid "There are no changes to apply."
+msgstr ""
msgid "There are no pending changes to revert!"
msgstr "Nu exista modificari in asteptare de anulat !"
@@ -3328,15 +3314,6 @@ msgstr "Interfata de tunel"
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr "Puterea TX"
@@ -3509,12 +3486,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr ""
@@ -3546,16 +3517,15 @@ msgstr ""
"Criptarea WPA necesita wpa_supplicant (pentru modul client) sau hostapd "
"(pentru modul AP sau ad-hoc) instalate."
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
@@ -3570,12 +3540,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3649,6 +3613,9 @@ msgstr ""
msgid "bridged"
msgstr ""
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr ""
@@ -3711,9 +3678,6 @@ msgstr ""
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr ""
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3738,6 +3702,9 @@ msgstr ""
msgid "open"
msgstr ""
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3789,6 +3756,27 @@ msgstr "da"
msgid "« Back"
msgstr "« Inapoi"
+#~ msgid "IPv4 WAN Status"
+#~ msgstr "Statusul IPv4 pe WAN"
+
+#~ msgid "IPv6 WAN Status"
+#~ msgstr "Statusul IPv6 pe WAN"
+
+#~ msgid "Apply"
+#~ msgstr "Aplica"
+
+#~ msgid "Applying changes"
+#~ msgstr "Se aplica modificarile"
+
+#~ msgid "Configuration applied."
+#~ msgstr "Configurarea aplicata."
+
+#~ msgid "Save &#38; Apply"
+#~ msgstr "Salveaza &#38; Aplica"
+
+#~ msgid "There are no pending changes to apply!"
+#~ msgstr "Nu exista modificari in asteptare de aplicat !"
+
#~ msgid "Action"
#~ msgstr "Actiune"
diff --git a/modules/luci-base/po/ru/base.po b/modules/luci-base/po/ru/base.po
index 35a697620e..7848822586 100644
--- a/modules/luci-base/po/ru/base.po
+++ b/modules/luci-base/po/ru/base.po
@@ -51,6 +51,9 @@ msgstr "-- проверка по метке --"
msgid "-- match by uuid --"
msgstr "-- проверка по uuid --"
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "Загрузка за 1 минуту:"
@@ -177,9 +180,6 @@ msgstr "A43C + J43 + A43 + V43"
msgid "ADSL"
msgstr "ADSL"
-msgid "AICCU (SIXXS)"
-msgstr "AICCU (SIXXS)"
-
msgid "ANSI T1.413"
msgstr "ANSI T1.413"
@@ -216,9 +216,6 @@ msgstr "ATM номер уÑтройÑтва"
msgid "ATU-C System Vendor ID"
msgstr "ATU-C System Vendor ID"
-msgid "AYIYA"
-msgstr "AYIYA"
-
msgid "Access Concentrator"
msgstr "Концентратор доÑтупа"
@@ -330,13 +327,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr "Разрешенные IP-адреÑа"
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-"Также Ñмотрите <a href=\"https://www.sixxs.net/faq/connectivity/?"
-"faq=comparison\">Tunneling Comparison</a> on SIXXS"
-
msgid "Always announce default router"
msgstr "ОбъÑвлÑÑ‚ÑŒ вÑегда, как дефолтный маршрутизатор"
@@ -417,11 +407,14 @@ msgstr "ÐаÑтройка антенн"
msgid "Any zone"
msgstr "Ð›ÑŽÐ±Ð°Ñ Ð·Ð¾Ð½Ð°"
-msgid "Apply"
-msgstr "ПринÑÑ‚ÑŒ"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Apply unchecked"
+msgstr ""
-msgid "Applying changes"
-msgstr "Применение изменений"
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -441,6 +434,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "Подключенные клиенты"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr "Группа аутентификации"
@@ -537,9 +533,6 @@ msgstr "Указан неправильный адреÑ!"
msgid "Band"
msgstr "Диапазон"
-msgid "Behind NAT"
-msgstr "За NAT-ом"
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -616,12 +609,20 @@ msgstr "ИзменениÑ"
msgid "Changes applied."
msgstr "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð½ÑÑ‚Ñ‹."
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "Изменить пароль админиÑтратора Ð´Ð»Ñ Ð´Ð¾Ñтупа к уÑтройÑтву."
msgid "Channel"
msgstr "Канал"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "Проверить"
@@ -710,12 +711,15 @@ msgstr ""
msgid "Configuration"
msgstr "ÐаÑтройка config файла"
-msgid "Configuration applied."
-msgstr "Изменение наÑтроек config файлов."
-
msgid "Configuration files will be kept."
msgstr "Config файлы будут Ñохранены."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
+msgstr ""
+
msgid "Confirmation"
msgstr "Подтверждение паролÑ"
@@ -728,12 +732,15 @@ msgstr "Подключен"
msgid "Connection Limit"
msgstr "Ограничение Ñоединений"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr "СвÑзь Ñ Ñервером прерываетÑÑ, когда TLS не может быть иÑпользован"
-
msgid "Connections"
msgstr "СоединениÑ"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "Страна"
@@ -864,9 +871,6 @@ msgstr "Шлюз по умолчанию"
msgid "Default is stateless + stateful"
msgstr "Значение по умолчанию - 'stateless + stateful'."
-msgid "Default route"
-msgstr "Маршрут по умолчанию"
-
msgid "Default state"
msgstr "Ðачальное ÑоÑтоÑние"
@@ -909,6 +913,9 @@ msgstr "Перезагрузка..."
msgid "Device unreachable"
msgstr "УÑтройÑтво недоÑтупно"
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "ДиагноÑтика"
@@ -943,6 +950,9 @@ msgstr "Отключено (по умолчанию)"
msgid "Discard upstream RFC1918 responses"
msgstr "ОтбраÑывать ответы внешней Ñети RFC1918."
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr "ПоказываютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ пакеты, Ñодержащие"
@@ -1207,6 +1217,9 @@ msgstr "FT над the Air"
msgid "FT protocol"
msgstr "FT протокол"
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr "Файл"
@@ -1331,10 +1344,10 @@ msgstr "Свободное меÑто"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
"Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ интерфейÑах и партнерах WireGuard приведена в <a "
-"href=\"http://wireguard.io\">wireguard.io</a>."
+"href=\"http://wireguard.com\">wireguard.com</a>."
msgid "GHz"
msgstr "ГГц"
@@ -1405,9 +1418,6 @@ msgstr "ПерезапуÑтить"
msgid "Header Error Code Errors (HEC)"
msgstr "Ошибки кода ошибки заголовка (HEC)"
-msgid "Heartbeat"
-msgstr "Heartbeat"
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1467,8 +1477,8 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "МежÑетевой Ñкран IPv4"
-msgid "IPv4 WAN Status"
-msgstr "СоÑтоÑние IPv4 WAN"
+msgid "IPv4 Upstream"
+msgstr ""
msgid "IPv4 address"
msgstr "IPv4-адреÑ"
@@ -1518,16 +1528,12 @@ msgstr "IPv6 ÐаÑтройки"
msgid "IPv6 ULA-Prefix"
msgstr "IPv6 ULA-Prefix"
-msgid "IPv6 WAN Status"
-msgstr "СоÑтоÑние IPv6 WAN"
+msgid "IPv6 Upstream"
+msgstr ""
msgid "IPv6 address"
msgstr "IPv6-адреÑ"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-"IPv6-адреÑ, делегированный локальной конечной точке Ñ‚ÑƒÐ½Ð½ÐµÐ»Ñ (необÑзательно)."
-
msgid "IPv6 assignment hint"
msgstr "IPv6 подÑказка приÑвоениÑ"
@@ -2137,9 +2143,6 @@ msgstr "NT домен"
msgid "NTP server candidates"
msgstr "СпиÑок NTP-Ñерверов"
-msgid "NTP sync time-out"
-msgstr "NTP ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ ожиданиÑ"
-
msgid "Name"
msgstr "ИмÑ"
@@ -2263,6 +2266,9 @@ msgstr "Obfuscated Group Password"
msgid "Obfuscated Password"
msgstr "Obfuscated Password"
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr "Задержка выключенного ÑоÑтоÑниÑ"
@@ -2314,16 +2320,6 @@ msgstr "ÐžÐ¿Ñ†Ð¸Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð°"
msgid "Optional"
msgstr "ÐеобÑзательно"
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-"ÐеобÑзательно. Укажите, чтобы переопределить дефолтный Ñервер (tic.sixxs."
-"net)."
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-"ÐеобÑзательно. ИÑпользуетÑÑ, когда ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ SIXXS имеет более одного "
-"туннелÑ."
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2695,15 +2691,15 @@ msgstr ""
"динамичеÑкой наÑтройки узла\">DHCP</abbr>-Ñервера."
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
"ДейÑтвительно удалить Ñтот интерфейÑ? Удаление не может быть отменено!\\nÐ’Ñ‹ "
"можете потерÑÑ‚ÑŒ доÑтуп к Ñтому уÑтройÑтву, еÑли вы подключены через Ñтот "
"интерфейÑ."
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
"ДейÑтвительно удалить Ñту беÑпроводную Ñеть? Удаление не может быть отменено!"
@@ -2714,18 +2710,18 @@ msgid "Really reset all changes?"
msgstr "ДейÑтвительно ÑброÑить вÑе изменениÑ?"
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
"ДейÑтвительно отключить Ñеть? Ð’Ñ‹ можете потерÑÑ‚ÑŒ доÑтуп к Ñтому уÑтройÑтву, "
"еÑли вы подключены через Ñтот интерфейÑ."
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
-"ДейÑтвительно отключить Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ \"%s\" ?\\nÐ’Ñ‹ можете потерÑÑ‚ÑŒ доÑтуп к "
-"Ñтому уÑтройÑтву, еÑли вы подключены через Ñтот интерфейÑ."
+"ДейÑтвительно отключить Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ \"%s\"? Ð’Ñ‹ можете потерÑÑ‚ÑŒ доÑтуп к Ñтому "
+"уÑтройÑтву, еÑли вы подключены через Ñтот интерфейÑ."
msgid "Really switch protocol?"
msgstr "Ð’Ñ‹ дейÑтвительно хотите изменить протокол?"
@@ -2815,9 +2811,6 @@ msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ IPv6 адреÑа"
msgid "Request IPv6-prefix of length"
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ IPv6 Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð´Ð»Ð¸Ð½Ñ‹"
-msgid "Require TLS"
-msgstr "Требовать TLS"
-
msgid "Required"
msgstr "Требовать"
@@ -2884,6 +2877,15 @@ msgstr "Показать/Ñкрыть пароль"
msgid "Revert"
msgstr "Вернуть"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr "Корень"
@@ -2899,9 +2901,6 @@ msgstr "Маршрут разрешенный Ð´Ð»Ñ IP адреÑов"
msgid "Route type"
msgstr "Тип маршрута"
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr "ÐŸÑ€ÐµÑ„Ð¸ÐºÑ Ð¼Ð°Ñ€ÑˆÑ€ÑƒÑ‚Ð¸Ð·Ð°Ñ†Ð¸Ð¸ IPv6 Ð´Ð»Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñов внутренней Ñети"
-
msgid "Router Advertisement-Service"
msgstr "ДоÑтупные<br />режимы работы"
@@ -2927,16 +2926,6 @@ msgstr "Проверить"
msgid "SHA256"
msgstr "SHA256"
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-"SIXXS поддерживает только TIC, Ð´Ð»Ñ ÑтатичеÑких туннелей Ñ Ð¸Ñпользованием IP-"
-"протокола 41 (RFC4213) иÑпользуетÑÑ Ð²Ð¼ÐµÑто 6in4."
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr "SIXXS-управление[/Туннель-ID]"
-
msgid "SNR"
msgstr "SNR"
@@ -2964,9 +2953,6 @@ msgstr "Сохранить"
msgid "Save & Apply"
msgstr "Сохранить и применить"
-msgid "Save &#38; Apply"
-msgstr "Сохранить и применить"
-
msgid "Scan"
msgstr "ПоиÑк"
@@ -2995,19 +2981,6 @@ msgstr "РазделÑÑ‚ÑŒ клиентов"
msgid "Server Settings"
msgstr "ÐаÑтройки Ñервера"
-msgid "Server password"
-msgstr "Пароль доÑтупа к Ñерверу"
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-"Пароль Ñервера. Введите пароль из тоннелÑ, когда Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñодержит "
-"ID туннелÑ."
-
-msgid "Server username"
-msgstr "Логин доÑтупа к Ñерверу"
-
msgid "Service Name"
msgstr "Ð˜Ð¼Ñ Ñлужбы"
@@ -3104,9 +3077,6 @@ msgstr "Сортировка"
msgid "Source"
msgstr "ИÑточник"
-msgid "Source routing"
-msgstr "Ð¼Ð°Ñ€ÑˆÑ€ÑƒÑ‚Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ иÑточника"
-
msgid "Specifies the directory the device is attached to"
msgstr "Папка, к которой монтируетÑÑ Ñ€Ð°Ð·Ð´ÐµÐ» уÑтройÑтва."
@@ -3152,6 +3122,9 @@ msgstr "Старт"
msgid "Start priority"
msgstr "Приоритет"
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr "Загрузка"
@@ -3320,6 +3293,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr "Ðе удалоÑÑŒ загрузить config файл из-за Ñледующей ошибки:"
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3343,9 +3326,6 @@ msgstr ""
"удоÑтоверитьÑÑ Ð² целоÑтноÑти данных.<br /> Ðажмите 'Продолжить', чтобы "
"начать процедуру Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÑˆÐ¸Ð²ÐºÐ¸."
-msgid "The following changes have been committed"
-msgstr "Ваши наÑтройки были применены."
-
msgid "The following changes have been reverted"
msgstr "Ваши наÑтройки были отвергнуты."
@@ -3413,13 +3393,6 @@ msgstr ""
"в завиÑимоÑти от наÑтроек."
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-"ÐšÐ¾Ð½ÐµÑ‡Ð½Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ° Ñ‚ÑƒÐ½Ð½ÐµÐ»Ñ Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚ÑÑ Ð·Ð° NAT, по умолчанию отключена и "
-"применÑетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к AYIYA."
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3429,8 +3402,8 @@ msgstr ""
msgid "There are no active leases."
msgstr "Ðет активных арендованных адреÑов."
-msgid "There are no pending changes to apply!"
-msgstr "Ðет изменений, которые можно применить!"
+msgid "There are no changes to apply."
+msgstr ""
msgid "There are no pending changes to revert!"
msgstr "Ðет изменений, которые можно отменить!"
@@ -3589,15 +3562,6 @@ msgstr "Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ñ‚ÑƒÐ½Ð½ÐµÐ»Ñ"
msgid "Tunnel Link"
msgstr "СÑылка на туннель"
-msgid "Tunnel broker protocol"
-msgstr "Протокол поÑредника туннелÑ"
-
-msgid "Tunnel setup server"
-msgstr "Сервер наÑтройки туннелÑ"
-
-msgid "Tunnel type"
-msgstr "Тип туннелÑ"
-
msgid "Tx-Power"
msgstr "МощноÑÑ‚ÑŒ передатчика"
@@ -3783,12 +3747,6 @@ msgid "Vendor Class to send when requesting DHCP"
msgstr ""
"КлаÑÑ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñ (Vendor class), который отправлÑÑ‚ÑŒ при DHCP-запроÑах"
-msgid "Verbose"
-msgstr "Verbose"
-
-msgid "Verbose logging by aiccu daemon"
-msgstr "Verbose ведение журнала демоном aiccu"
-
msgid "Verify"
msgstr "Проверить"
@@ -3820,18 +3778,15 @@ msgstr ""
"Ðеобходимо уÑтановить wpa_supplicant (режим клиента) или hostapd (режим "
"точки доÑтупа или ad-hoc) Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¸ ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ WPA."
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-"Задать Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ñинхронизации NTP, уÑтановка Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ - '0', отключает "
-"ожидание (необÑзательно)."
-
msgid "Waiting for changes to be applied..."
msgstr "Ожидание Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹..."
msgid "Waiting for command to complete..."
msgstr "Ожидание Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr "Ожидание Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ ÑƒÑтройÑтва..."
@@ -3848,12 +3803,6 @@ msgid ""
"communications"
msgstr "При иÑпользовании PSK, PMK может быть Ñоздан локально, без AP в ÑвÑзи."
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr "Создание маршрута по умолчанию IPv6 через туннель."
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr "ÐœÐ°Ñ€ÑˆÑ€ÑƒÑ‚Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ пакетов из делегированных префикÑов."
-
msgid "Width"
msgstr "Ширина"
@@ -3936,6 +3885,9 @@ msgstr "baseT"
msgid "bridged"
msgstr "Ñоед. моÑтом"
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr "Ñоздать:"
@@ -4000,9 +3952,6 @@ msgstr "kbit/s"
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "Локальный <abbr title=\"Служба доменных имён\">DNS</abbr>-файл."
-msgid "minimum 1280, maximum 1480"
-msgstr "минимум 1280, макÑимум 1480"
-
msgid "minutes"
msgstr "минут(ы)"
@@ -4027,6 +3976,9 @@ msgstr "включено"
msgid "open"
msgstr "открыть"
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr "overlay"
@@ -4077,3 +4029,9 @@ msgstr "да"
msgid "« Back"
msgstr "« Ðазад"
+
+#~ msgid "IPv4 WAN Status"
+#~ msgstr "СоÑтоÑние IPv4 WAN"
+
+#~ msgid "IPv6 WAN Status"
+#~ msgstr "СоÑтоÑние IPv6 WAN"
diff --git a/modules/luci-base/po/sk/base.po b/modules/luci-base/po/sk/base.po
index acc57792b3..04468455b8 100644
--- a/modules/luci-base/po/sk/base.po
+++ b/modules/luci-base/po/sk/base.po
@@ -44,6 +44,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr ""
@@ -159,9 +162,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -195,9 +195,6 @@ msgstr ""
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr ""
@@ -300,11 +297,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -383,10 +375,13 @@ msgstr ""
msgid "Any zone"
msgstr ""
-msgid "Apply"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Apply unchecked"
msgstr ""
-msgid "Applying changes"
+msgid "Architecture"
msgstr ""
msgid ""
@@ -403,6 +398,9 @@ msgstr ""
msgid "Associated Stations"
msgstr ""
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -493,9 +491,6 @@ msgstr ""
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -564,12 +559,20 @@ msgstr ""
msgid "Changes applied."
msgstr ""
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr ""
msgid "Channel"
msgstr ""
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr ""
@@ -639,10 +642,13 @@ msgstr ""
msgid "Configuration"
msgstr ""
-msgid "Configuration applied."
+msgid "Configuration files will be kept."
msgstr ""
-msgid "Configuration files will be kept."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
msgstr ""
msgid "Confirmation"
@@ -657,10 +663,13 @@ msgstr ""
msgid "Connection Limit"
msgstr ""
-msgid "Connection to server fails when TLS cannot be used"
+msgid "Connections"
msgstr ""
-msgid "Connections"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
msgstr ""
msgid "Country"
@@ -789,9 +798,6 @@ msgstr ""
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr ""
@@ -831,6 +837,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr ""
@@ -863,6 +872,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr ""
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr ""
@@ -1108,6 +1120,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr ""
@@ -1229,7 +1244,7 @@ msgstr ""
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1301,9 +1316,6 @@ msgstr ""
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1359,7 +1371,7 @@ msgstr ""
msgid "IPv4 Firewall"
msgstr ""
-msgid "IPv4 WAN Status"
+msgid "IPv4 Upstream"
msgstr ""
msgid "IPv4 address"
@@ -1410,15 +1422,12 @@ msgstr ""
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
+msgid "IPv6 Upstream"
msgstr ""
msgid "IPv6 address"
msgstr ""
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -1984,9 +1993,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr ""
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr ""
@@ -2110,6 +2116,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr ""
@@ -2155,12 +2164,6 @@ msgstr ""
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2510,12 +2513,12 @@ msgid ""
msgstr ""
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
@@ -2523,12 +2526,12 @@ msgid "Really reset all changes?"
msgstr ""
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
@@ -2619,9 +2622,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2680,6 +2680,15 @@ msgstr ""
msgid "Revert"
msgstr ""
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr ""
@@ -2695,9 +2704,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2721,14 +2727,6 @@ msgstr ""
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2756,9 +2754,6 @@ msgstr ""
msgid "Save & Apply"
msgstr ""
-msgid "Save &#38; Apply"
-msgstr ""
-
msgid "Scan"
msgstr ""
@@ -2785,17 +2780,6 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr ""
@@ -2888,9 +2872,6 @@ msgstr ""
msgid "Source"
msgstr ""
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr ""
@@ -2929,6 +2910,9 @@ msgstr ""
msgid "Start priority"
msgstr ""
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr ""
@@ -3079,6 +3063,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3095,9 +3089,6 @@ msgid ""
"\"Proceed\" below to start the flash procedure."
msgstr ""
-msgid "The following changes have been committed"
-msgstr ""
-
msgid "The following changes have been reverted"
msgstr ""
@@ -3151,11 +3142,6 @@ msgid ""
msgstr ""
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3163,7 +3149,7 @@ msgstr ""
msgid "There are no active leases."
msgstr ""
-msgid "There are no pending changes to apply!"
+msgid "There are no changes to apply."
msgstr ""
msgid "There are no pending changes to revert!"
@@ -3298,15 +3284,6 @@ msgstr ""
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr ""
@@ -3479,12 +3456,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr ""
@@ -3514,16 +3485,15 @@ msgid ""
"and ad-hoc mode) to be installed."
msgstr ""
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
@@ -3538,12 +3508,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3617,6 +3581,9 @@ msgstr ""
msgid "bridged"
msgstr ""
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr ""
@@ -3679,9 +3646,6 @@ msgstr ""
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr ""
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3706,6 +3670,9 @@ msgstr ""
msgid "open"
msgstr ""
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
diff --git a/modules/luci-base/po/sv/base.po b/modules/luci-base/po/sv/base.po
index 632ea6f745..982d8fa694 100644
--- a/modules/luci-base/po/sv/base.po
+++ b/modules/luci-base/po/sv/base.po
@@ -47,6 +47,9 @@ msgstr "-- matcha enligt märke --"
msgid "-- match by uuid --"
msgstr "-- matcha enligt uuid --"
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "Belastning senaste minuten:"
@@ -167,9 +170,6 @@ msgstr "A43C + J43 + A43 + V43"
msgid "ADSL"
msgstr "ADSL"
-msgid "AICCU (SIXXS)"
-msgstr "AICCU (SIXXS)"
-
msgid "ANSI T1.413"
msgstr "ANSI T1.413"
@@ -203,9 +203,6 @@ msgstr ""
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr "AYIYA"
-
msgid "Access Concentrator"
msgstr ""
@@ -311,11 +308,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr "Tillåtna IP-adresser"
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -394,11 +386,14 @@ msgstr "Konfiguration av antenn"
msgid "Any zone"
msgstr "NÃ¥gon zon"
-msgid "Apply"
-msgstr "Verkställ"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
-msgid "Applying changes"
-msgstr "Verkställer ändringar"
+msgid "Apply unchecked"
+msgstr ""
+
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -414,6 +409,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "Associerade stationer"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr "Autentiseringsgrupp"
@@ -504,9 +502,6 @@ msgstr "Fel adress angiven!"
msgid "Band"
msgstr "Band"
-msgid "Behind NAT"
-msgstr "Bakom NAT"
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -576,12 +571,20 @@ msgstr "Ändringar"
msgid "Changes applied."
msgstr "Tillämpade ändringar"
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "Ändrar administratörens lösenord för att få tillgång till enheten"
msgid "Channel"
msgstr "Kanal"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "Kontrollera"
@@ -653,12 +656,15 @@ msgstr ""
msgid "Configuration"
msgstr "Konfiguration"
-msgid "Configuration applied."
-msgstr "Konfigurationen tillämpades"
-
msgid "Configuration files will be kept."
msgstr "Konfigurationsfiler kommer att behållas."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
+msgstr ""
+
msgid "Confirmation"
msgstr "Bekräftelse"
@@ -671,12 +677,15 @@ msgstr "Ansluten"
msgid "Connection Limit"
msgstr "Anslutningsgräns"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr ""
-
msgid "Connections"
msgstr "Anslutningar"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "Land"
@@ -803,9 +812,6 @@ msgstr "Standard gateway"
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr "Standardrutt"
-
msgid "Default state"
msgstr ""
@@ -845,6 +851,9 @@ msgstr "Enheten startar om..."
msgid "Device unreachable"
msgstr "Enheten kan inte nås"
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr ""
@@ -879,6 +888,9 @@ msgstr "Inaktiverad (standard)"
msgid "Discard upstream RFC1918 responses"
msgstr ""
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr ""
@@ -1128,6 +1140,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr "Fil"
@@ -1249,7 +1264,7 @@ msgstr "Fritt utrymme"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1321,9 +1336,6 @@ msgstr "Lägg på"
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr "Hjärtslag"
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1379,7 +1391,7 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "IPv4-brandvägg"
-msgid "IPv4 WAN Status"
+msgid "IPv4 Upstream"
msgstr ""
msgid "IPv4 address"
@@ -1430,15 +1442,12 @@ msgstr "IPv6-inställningar"
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
+msgid "IPv6 Upstream"
msgstr ""
msgid "IPv6 address"
msgstr "IPv6-adress"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -2005,9 +2014,6 @@ msgstr "NT-domän"
msgid "NTP server candidates"
msgstr "NTP-serverkandidater"
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr "Namn"
@@ -2131,6 +2137,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr ""
@@ -2176,12 +2185,6 @@ msgstr "Alternativet togs bort"
msgid "Optional"
msgstr "Valfri"
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2533,12 +2536,12 @@ msgstr ""
"Configuration Protocol\">DHCP</abbr>-servern"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
@@ -2546,12 +2549,12 @@ msgid "Really reset all changes?"
msgstr "Verkligen återställa alla ändringar?"
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
@@ -2642,9 +2645,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr "Kräv TLS"
-
msgid "Required"
msgstr "Krävs!"
@@ -2703,6 +2703,15 @@ msgstr "Visa/göm lösenord"
msgid "Revert"
msgstr "Återgå"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr "Root"
@@ -2718,9 +2727,6 @@ msgstr ""
msgid "Route type"
msgstr "Typ av rutt"
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2744,14 +2750,6 @@ msgstr "Kör filsystemskontrollen"
msgid "SHA256"
msgstr "SHA256"
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr "SNR"
@@ -2779,9 +2777,6 @@ msgstr "Spara"
msgid "Save & Apply"
msgstr "Spara och Verkställ"
-msgid "Save &#38; Apply"
-msgstr "Spara &#38; Verkställ"
-
msgid "Scan"
msgstr "Skanna"
@@ -2808,17 +2803,6 @@ msgstr "Separera klienter"
msgid "Server Settings"
msgstr "Inställningar för server"
-msgid "Server password"
-msgstr "Lösenordet för servern"
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr "Användarnamnet för servern"
-
msgid "Service Name"
msgstr "Namn på tjänst"
@@ -2911,9 +2895,6 @@ msgstr "Sortera"
msgid "Source"
msgstr "Källa"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr ""
@@ -2952,6 +2933,9 @@ msgstr ""
msgid "Start priority"
msgstr ""
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr ""
@@ -3102,6 +3086,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3118,9 +3112,6 @@ msgid ""
"\"Proceed\" below to start the flash procedure."
msgstr ""
-msgid "The following changes have been committed"
-msgstr "Följande ändringar har skickats in"
-
msgid "The following changes have been reverted"
msgstr ""
@@ -3174,11 +3165,6 @@ msgid ""
msgstr ""
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3186,8 +3172,8 @@ msgstr ""
msgid "There are no active leases."
msgstr "Det finns inga aktiva kontrakt."
-msgid "There are no pending changes to apply!"
-msgstr "Det finns inga pendlande ändringar att verkställa!"
+msgid "There are no changes to apply."
+msgstr ""
msgid "There are no pending changes to revert!"
msgstr "Det finns inga pendlande ändringar att återkalla"
@@ -3325,15 +3311,6 @@ msgstr "Tunnelgränssnitt"
msgid "Tunnel Link"
msgstr "Tunnel-länk"
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr "Tunnel-typ"
-
msgid "Tx-Power"
msgstr ""
@@ -3506,12 +3483,6 @@ msgstr "Tillverkare"
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-msgid "Verbose"
-msgstr "Utförlig"
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr "Verkställ"
@@ -3541,16 +3512,15 @@ msgid ""
"and ad-hoc mode) to be installed."
msgstr ""
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr "Väntar på att ändringarna ska tillämpas..."
msgid "Waiting for command to complete..."
msgstr "Väntar på att kommandot ska avsluta..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr "Väntar på enheten..."
@@ -3566,12 +3536,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr "Bredd"
@@ -3650,6 +3614,9 @@ msgstr ""
msgid "bridged"
msgstr "bryggad"
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr "skapa:"
@@ -3712,9 +3679,6 @@ msgstr "kbit/s"
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "lokal <abbr title=\"Domain Name System\">DNS</abbr>-fil"
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr "minuter"
@@ -3739,6 +3703,9 @@ msgstr "på"
msgid "open"
msgstr "öppen"
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3789,9 +3756,3 @@ msgstr "ja"
msgid "« Back"
msgstr "« Bakåt"
-
-#~ msgid "Action"
-#~ msgstr "Åtgärd"
-
-#~ msgid "Buttons"
-#~ msgstr "Knappar"
diff --git a/modules/luci-base/po/templates/base.pot b/modules/luci-base/po/templates/base.pot
index ddf2e56faa..7a2cdec81b 100644
--- a/modules/luci-base/po/templates/base.pot
+++ b/modules/luci-base/po/templates/base.pot
@@ -37,6 +37,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr ""
@@ -152,9 +155,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -188,9 +188,6 @@ msgstr ""
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr ""
@@ -293,11 +290,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -376,10 +368,13 @@ msgstr ""
msgid "Any zone"
msgstr ""
-msgid "Apply"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Apply unchecked"
msgstr ""
-msgid "Applying changes"
+msgid "Architecture"
msgstr ""
msgid ""
@@ -396,6 +391,9 @@ msgstr ""
msgid "Associated Stations"
msgstr ""
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -486,9 +484,6 @@ msgstr ""
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -557,12 +552,20 @@ msgstr ""
msgid "Changes applied."
msgstr ""
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr ""
msgid "Channel"
msgstr ""
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr ""
@@ -632,10 +635,13 @@ msgstr ""
msgid "Configuration"
msgstr ""
-msgid "Configuration applied."
+msgid "Configuration files will be kept."
msgstr ""
-msgid "Configuration files will be kept."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
msgstr ""
msgid "Confirmation"
@@ -650,10 +656,13 @@ msgstr ""
msgid "Connection Limit"
msgstr ""
-msgid "Connection to server fails when TLS cannot be used"
+msgid "Connections"
msgstr ""
-msgid "Connections"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
msgstr ""
msgid "Country"
@@ -782,9 +791,6 @@ msgstr ""
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr ""
@@ -824,6 +830,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr ""
@@ -856,6 +865,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr ""
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr ""
@@ -1101,6 +1113,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr ""
@@ -1294,9 +1309,6 @@ msgstr ""
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1352,7 +1364,7 @@ msgstr ""
msgid "IPv4 Firewall"
msgstr ""
-msgid "IPv4 WAN Status"
+msgid "IPv4 Upstream"
msgstr ""
msgid "IPv4 address"
@@ -1403,15 +1415,12 @@ msgstr ""
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
+msgid "IPv6 Upstream"
msgstr ""
msgid "IPv6 address"
msgstr ""
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -1977,9 +1986,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr ""
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr ""
@@ -2103,6 +2109,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr ""
@@ -2148,12 +2157,6 @@ msgstr ""
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2503,12 +2506,12 @@ msgid ""
msgstr ""
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
@@ -2516,12 +2519,12 @@ msgid "Really reset all changes?"
msgstr ""
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
@@ -2612,9 +2615,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2673,6 +2673,15 @@ msgstr ""
msgid "Revert"
msgstr ""
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr ""
@@ -2688,9 +2697,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2714,14 +2720,6 @@ msgstr ""
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2749,9 +2747,6 @@ msgstr ""
msgid "Save & Apply"
msgstr ""
-msgid "Save &#38; Apply"
-msgstr ""
-
msgid "Scan"
msgstr ""
@@ -2778,17 +2773,6 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr ""
@@ -2881,9 +2865,6 @@ msgstr ""
msgid "Source"
msgstr ""
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr ""
@@ -2922,6 +2903,9 @@ msgstr ""
msgid "Start priority"
msgstr ""
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr ""
@@ -3072,6 +3056,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3088,9 +3082,6 @@ msgid ""
"\"Proceed\" below to start the flash procedure."
msgstr ""
-msgid "The following changes have been committed"
-msgstr ""
-
msgid "The following changes have been reverted"
msgstr ""
@@ -3144,11 +3135,6 @@ msgid ""
msgstr ""
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3156,7 +3142,7 @@ msgstr ""
msgid "There are no active leases."
msgstr ""
-msgid "There are no pending changes to apply!"
+msgid "There are no changes to apply."
msgstr ""
msgid "There are no pending changes to revert!"
@@ -3291,15 +3277,6 @@ msgstr ""
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr ""
@@ -3472,12 +3449,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr ""
@@ -3507,16 +3478,15 @@ msgid ""
"and ad-hoc mode) to be installed."
msgstr ""
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
@@ -3531,12 +3501,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3610,6 +3574,9 @@ msgstr ""
msgid "bridged"
msgstr ""
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr ""
@@ -3672,9 +3639,6 @@ msgstr ""
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr ""
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3699,6 +3663,9 @@ msgstr ""
msgid "open"
msgstr ""
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
diff --git a/modules/luci-base/po/tr/base.po b/modules/luci-base/po/tr/base.po
index 953d1e9669..cadfc59539 100644
--- a/modules/luci-base/po/tr/base.po
+++ b/modules/luci-base/po/tr/base.po
@@ -39,12 +39,15 @@ msgid "-- custom --"
msgstr "-- özel --"
msgid "-- match by device --"
-msgstr ""
+msgstr "-- cihaza göre eşleştir --"
msgid "-- match by label --"
-msgstr ""
+msgstr "-- etikete göre eşleştir --"
msgid "-- match by uuid --"
+msgstr "-- uuid'e göre eşleştir --"
+
+msgid "-- please select --"
msgstr ""
msgid "1 Minute Load:"
@@ -54,7 +57,7 @@ msgid "15 Minute Load:"
msgstr "15 Dakikalık Yük:"
msgid "4-character hexadecimal ID"
-msgstr ""
+msgstr "4 karakterli HEX ID"
msgid "464XLAT (CLAT)"
msgstr ""
@@ -168,9 +171,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -204,9 +204,6 @@ msgstr ""
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr ""
@@ -313,11 +310,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -396,11 +388,14 @@ msgstr "Anten Yapılandırması"
msgid "Any zone"
msgstr ""
-msgid "Apply"
-msgstr "Uygula"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
-msgid "Applying changes"
-msgstr "DeÄŸiÅŸiklikleri uygula"
+msgid "Apply unchecked"
+msgstr ""
+
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -416,6 +411,9 @@ msgstr ""
msgid "Associated Stations"
msgstr ""
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -435,7 +433,7 @@ msgid "Auto Refresh"
msgstr "Otomatik Yenileme"
msgid "Automatic"
-msgstr ""
+msgstr "Otomatik"
msgid "Automatic Homenet (HNCP)"
msgstr ""
@@ -474,7 +472,7 @@ msgid "BR / DMR / AFTR"
msgstr ""
msgid "BSSID"
-msgstr ""
+msgstr "BSSID"
msgid "Back"
msgstr "Geri"
@@ -506,9 +504,6 @@ msgstr ""
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -560,27 +555,35 @@ msgid "CA certificate; if empty it will be saved after the first connection."
msgstr ""
msgid "CPU usage (%)"
-msgstr ""
+msgstr "CPU kullanımı (%)"
msgid "Cancel"
-msgstr ""
+msgstr "Vazgeç"
msgid "Category"
-msgstr ""
+msgstr "Kategori"
msgid "Chain"
-msgstr ""
+msgstr "Zincir"
msgid "Changes"
-msgstr ""
+msgstr "DeÄŸiÅŸiklikler"
msgid "Changes applied."
msgstr ""
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr ""
msgid "Channel"
+msgstr "Kanal"
+
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
msgstr ""
msgid "Check"
@@ -652,10 +655,13 @@ msgstr ""
msgid "Configuration"
msgstr ""
-msgid "Configuration applied."
+msgid "Configuration files will be kept."
+msgstr ""
+
+msgid "Configuration has been applied."
msgstr ""
-msgid "Configuration files will be kept."
+msgid "Configuration has been rolled back!"
msgstr ""
msgid "Confirmation"
@@ -670,10 +676,13 @@ msgstr ""
msgid "Connection Limit"
msgstr ""
-msgid "Connection to server fails when TLS cannot be used"
+msgid "Connections"
msgstr ""
-msgid "Connections"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
msgstr ""
msgid "Country"
@@ -802,9 +811,6 @@ msgstr ""
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr ""
@@ -844,6 +850,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr ""
@@ -876,6 +885,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr ""
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr ""
@@ -1121,6 +1133,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr ""
@@ -1242,7 +1257,7 @@ msgstr ""
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1314,9 +1329,6 @@ msgstr ""
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1372,7 +1384,7 @@ msgstr ""
msgid "IPv4 Firewall"
msgstr ""
-msgid "IPv4 WAN Status"
+msgid "IPv4 Upstream"
msgstr ""
msgid "IPv4 address"
@@ -1423,15 +1435,12 @@ msgstr ""
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
+msgid "IPv6 Upstream"
msgstr ""
msgid "IPv6 address"
msgstr ""
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -1821,10 +1830,10 @@ msgid "Logging"
msgstr ""
msgid "Login"
-msgstr ""
+msgstr "Oturum Aç"
msgid "Logout"
-msgstr ""
+msgstr "Oturumu Kapat"
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
@@ -1997,9 +2006,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr ""
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr ""
@@ -2123,6 +2129,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr ""
@@ -2168,12 +2177,6 @@ msgstr ""
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2523,12 +2526,12 @@ msgid ""
msgstr ""
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
@@ -2536,12 +2539,12 @@ msgid "Really reset all changes?"
msgstr ""
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
@@ -2632,9 +2635,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2664,13 +2664,13 @@ msgid ""
msgstr ""
msgid "Reset"
-msgstr ""
+msgstr "Sıfırla"
msgid "Reset Counters"
-msgstr ""
+msgstr "Sayaçları Sıfırla"
msgid "Reset to defaults"
-msgstr ""
+msgstr "Varsayılanlara dön"
msgid "Resolv and Hosts Files"
msgstr ""
@@ -2679,23 +2679,32 @@ msgid "Resolve file"
msgstr ""
msgid "Restart"
-msgstr ""
+msgstr "Tekrar baÅŸlat"
msgid "Restart Firewall"
msgstr ""
msgid "Restore backup"
-msgstr ""
+msgstr "Yedeklemeyi geri yükle"
msgid "Reveal/hide password"
msgstr ""
msgid "Revert"
+msgstr "Dönmek"
+
+msgid "Revert changes"
+msgstr "DeÄŸiÅŸiklikleri geri al"
+
+msgid "Revert request failed with status <code>%h</code>"
msgstr ""
-msgid "Root"
+msgid "Reverting configuration…"
msgstr ""
+msgid "Root"
+msgstr "Kök"
+
msgid "Root directory for files served via TFTP"
msgstr ""
@@ -2706,19 +2715,16 @@ msgid "Route Allowed IPs"
msgstr ""
msgid "Route type"
-msgstr ""
-
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
+msgstr "Yönlendirme Tipi"
msgid "Router Advertisement-Service"
msgstr ""
msgid "Router Password"
-msgstr ""
+msgstr "Yönlendirici Parolası"
msgid "Routes"
-msgstr ""
+msgstr "Yönlendirmeler"
msgid ""
"Routes specify over which interface and gateway a certain host or network "
@@ -2726,63 +2732,52 @@ msgid ""
msgstr ""
msgid "Run a filesystem check before mounting the device"
-msgstr ""
+msgstr "Cihazı bağlamadan önce bir dosya sistemi kontrolü yapın"
msgid "Run filesystem check"
-msgstr ""
+msgstr "Dosya sistemi kontrolünü çalıştır"
msgid "SHA256"
-msgstr ""
-
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
+msgstr "SHA256"
msgid "SNR"
-msgstr ""
+msgstr "SNR"
msgid "SSH Access"
-msgstr ""
+msgstr "SSH EriÅŸimi"
msgid "SSH server address"
-msgstr ""
+msgstr "SSH sunucu adresi"
msgid "SSH server port"
-msgstr ""
+msgstr "SSH sunucu portu"
msgid "SSH username"
-msgstr ""
+msgstr "SSH kullanıcı adı"
msgid "SSH-Keys"
msgstr ""
msgid "SSID"
-msgstr ""
+msgstr "SSID"
msgid "Save"
-msgstr ""
+msgstr "Kaydet"
msgid "Save & Apply"
-msgstr ""
-
-msgid "Save &#38; Apply"
-msgstr ""
+msgstr "Kaydet & Uygula"
msgid "Scan"
-msgstr ""
+msgstr "Tara"
msgid "Scheduled Tasks"
-msgstr ""
+msgstr "Zamanlanmış Görevler"
msgid "Section added"
-msgstr ""
+msgstr "Bölüm eklendi"
msgid "Section removed"
-msgstr ""
+msgstr "Bölüm kaldırıldı"
msgid "See \"mount\" manpage for details"
msgstr ""
@@ -2798,17 +2793,6 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr ""
@@ -2816,7 +2800,7 @@ msgid "Service Type"
msgstr ""
msgid "Services"
-msgstr ""
+msgstr "Servisler"
msgid ""
"Set interface properties regardless of the link carrier (If set, carrier "
@@ -2845,25 +2829,25 @@ msgid "Shutdown this network"
msgstr ""
msgid "Signal"
-msgstr ""
+msgstr "Sinyal"
msgid "Signal Attenuation (SATN)"
-msgstr ""
+msgstr "Sinyal Zayıflama (SATN)"
msgid "Signal:"
-msgstr ""
+msgstr "Sinyal:"
msgid "Size"
-msgstr ""
+msgstr "Boyut"
msgid "Size (.ipk)"
-msgstr ""
+msgstr "Boyut (.ipk)"
msgid "Size of DNS query cache"
msgstr ""
msgid "Skip"
-msgstr ""
+msgstr "Atla"
msgid "Skip to content"
msgstr ""
@@ -2875,7 +2859,7 @@ msgid "Slot time"
msgstr ""
msgid "Software"
-msgstr ""
+msgstr "Yazılım"
msgid "Software VLAN"
msgstr ""
@@ -2896,13 +2880,10 @@ msgid ""
msgstr ""
msgid "Sort"
-msgstr ""
+msgstr "Sıralama"
msgid "Source"
-msgstr ""
-
-msgid "Source routing"
-msgstr ""
+msgstr "Kaynak"
msgid "Specifies the directory the device is attached to"
msgstr ""
@@ -2937,11 +2918,14 @@ msgid "Specify the secret encryption key here."
msgstr ""
msgid "Start"
-msgstr ""
+msgstr "BaÅŸlat"
msgid "Start priority"
msgstr ""
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr ""
@@ -2967,16 +2951,16 @@ msgid ""
msgstr ""
msgid "Status"
-msgstr ""
+msgstr "Durum"
msgid "Stop"
-msgstr ""
+msgstr "Durdur"
msgid "Strict order"
msgstr ""
msgid "Submit"
-msgstr ""
+msgstr "Gönder"
msgid "Suppress logging"
msgstr ""
@@ -3019,7 +3003,7 @@ msgid "Synchronizing..."
msgstr ""
msgid "System"
-msgstr ""
+msgstr "Sistem"
msgid "System Log"
msgstr ""
@@ -3092,6 +3076,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3108,9 +3102,6 @@ msgid ""
"\"Proceed\" below to start the flash procedure."
msgstr ""
-msgid "The following changes have been committed"
-msgstr ""
-
msgid "The following changes have been reverted"
msgstr ""
@@ -3164,11 +3155,6 @@ msgid ""
msgstr ""
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3176,7 +3162,7 @@ msgstr ""
msgid "There are no active leases."
msgstr ""
-msgid "There are no pending changes to apply!"
+msgid "There are no changes to apply."
msgstr ""
msgid "There are no pending changes to revert!"
@@ -3311,15 +3297,6 @@ msgstr ""
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr ""
@@ -3381,10 +3358,10 @@ msgid "Upload archive..."
msgstr ""
msgid "Uploaded File"
-msgstr ""
+msgstr "Yüklenen Dosya"
msgid "Uptime"
-msgstr ""
+msgstr "Açılma süresi"
msgid "Use <code>/etc/ethers</code>"
msgstr ""
@@ -3417,16 +3394,16 @@ msgid "Use builtin IPv6-management"
msgstr ""
msgid "Use custom DNS servers"
-msgstr ""
+msgstr "Özel DNS sunucularını kullan"
msgid "Use default gateway"
-msgstr ""
+msgstr "Varsayılan ağ geçidini kullan"
msgid "Use gateway metric"
-msgstr ""
+msgstr "Ağ geçidi metriğini kullan"
msgid "Use routing table"
-msgstr ""
+msgstr "Yönlendirme tablosunu kullan"
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
@@ -3437,7 +3414,7 @@ msgid ""
msgstr ""
msgid "Used"
-msgstr ""
+msgstr "Kullanılmış"
msgid "Used Key Slot"
msgstr ""
@@ -3454,7 +3431,7 @@ msgid "User key (PEM encoded)"
msgstr ""
msgid "Username"
-msgstr ""
+msgstr "Kullanıcı adı"
msgid "VC-Mux"
msgstr ""
@@ -3487,22 +3464,16 @@ msgid "VPNC (CISCO 3000 (and others) VPN)"
msgstr ""
msgid "Vendor"
-msgstr ""
+msgstr "Satıcı"
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
-msgstr ""
+msgstr "Kontrol"
msgid "Version"
-msgstr ""
+msgstr "Versiyon"
msgid "WDS"
msgstr ""
@@ -3527,21 +3498,20 @@ msgid ""
"and ad-hoc mode) to be installed."
msgstr ""
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
msgid "Warning"
-msgstr ""
+msgstr "Uyarı"
msgid "Warning: There are unsaved changes that will get lost on reboot!"
msgstr ""
@@ -3551,20 +3521,14 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
-msgstr ""
+msgstr "GeniÅŸlik"
msgid "WireGuard VPN"
msgstr ""
msgid "Wireless"
-msgstr ""
+msgstr "Kablosuz"
msgid "Wireless Adapter"
msgstr ""
@@ -3627,28 +3591,31 @@ msgid "auto"
msgstr "otomatik"
msgid "baseT"
-msgstr ""
+msgstr "baseT"
msgid "bridged"
msgstr "köprülü"
-msgid "create:"
+msgid "create"
msgstr ""
+msgid "create:"
+msgstr "oluÅŸturma:"
+
msgid "creates a bridge over specified interface(s)"
msgstr ""
msgid "dB"
-msgstr ""
+msgstr "dB"
msgid "dBm"
-msgstr ""
+msgstr "dBm"
msgid "disable"
msgstr "etkin deÄŸil"
msgid "disabled"
-msgstr ""
+msgstr "devre dışı"
msgid "expired"
msgstr "sona ermiÅŸ"
@@ -3662,19 +3629,19 @@ msgid "forward"
msgstr "ileri"
msgid "full-duplex"
-msgstr ""
+msgstr "tam çift yönlü"
msgid "half-duplex"
-msgstr ""
+msgstr "yarı çift yönlü"
msgid "help"
msgstr "yardım"
msgid "hidden"
-msgstr ""
+msgstr "gizli"
msgid "hybrid mode"
-msgstr ""
+msgstr "hibrit mod"
msgid "if target is a network"
msgstr "eÄŸer hedef aÄŸsa"
@@ -3683,34 +3650,31 @@ msgid "input"
msgstr "giriÅŸ"
msgid "kB"
-msgstr ""
+msgstr "kB"
msgid "kB/s"
-msgstr ""
+msgstr "kB/s"
msgid "kbit/s"
-msgstr ""
+msgstr "kbit/s"
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "yerel <abbr title=\"Domain Name System\">DNS</abbr> dosyası"
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
-msgstr ""
+msgstr "dakika"
msgid "no"
msgstr "hayır"
msgid "no link"
-msgstr ""
+msgstr "bağlantı yok"
msgid "none"
msgstr "hiçbiri"
msgid "not present"
-msgstr ""
+msgstr "mevcut deÄŸil"
msgid "off"
msgstr "kapalı"
@@ -3719,31 +3683,34 @@ msgid "on"
msgstr "açık"
msgid "open"
+msgstr "açık"
+
+msgid "output"
msgstr ""
msgid "overlay"
-msgstr ""
+msgstr "bindirilmiÅŸ"
msgid "random"
-msgstr ""
+msgstr "rastgele"
msgid "relay mode"
-msgstr ""
+msgstr "anahtarlama modu"
msgid "routed"
msgstr "yönlendirildi"
msgid "server mode"
-msgstr ""
+msgstr "sunucu modu"
msgid "stateful-only"
msgstr ""
msgid "stateless"
-msgstr ""
+msgstr "durumsuz"
msgid "stateless + stateful"
-msgstr ""
+msgstr "durumsuz + durumlu"
msgid "tagged"
msgstr "etiketlendi"
@@ -3752,7 +3719,7 @@ msgid "time units (TUs / 1.024 ms) [1000-65535]"
msgstr ""
msgid "unknown"
-msgstr ""
+msgstr "bilinmeyen"
msgid "unlimited"
msgstr "sınırsız"
@@ -3772,6 +3739,12 @@ msgstr "evet"
msgid "« Back"
msgstr "« Geri"
+#~ msgid "Apply"
+#~ msgstr "Uygula"
+
+#~ msgid "Applying changes"
+#~ msgstr "DeÄŸiÅŸiklikleri uygula"
+
#~ msgid "Action"
#~ msgstr "Eylem"
diff --git a/modules/luci-base/po/uk/base.po b/modules/luci-base/po/uk/base.po
index 8ead616074..791e61b2dc 100644
--- a/modules/luci-base/po/uk/base.po
+++ b/modules/luci-base/po/uk/base.po
@@ -1,8 +1,8 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2013-12-05 19:07+0200\n"
-"Last-Translator: Dmitri <4glitch@gmail.com>\n"
+"PO-Revision-Date: 2018-06-17 23:27+0300\n"
+"Last-Translator: Yurii <yuripet@gmail.com>\n"
"Language-Team: none\n"
"Language: uk\n"
"MIME-Version: 1.0\n"
@@ -10,19 +10,18 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Pootle 2.0.6\n"
msgid "%.1f dB"
-msgstr ""
+msgstr "%.1f дБ"
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 доÑтупно)"
+msgstr "(доÑтупно %s)"
msgid "(empty)"
msgstr "(пуÑто)"
@@ -34,19 +33,22 @@ msgid "-- Additional Field --"
msgstr "-- Додаткові Ð¿Ð¾Ð»Ñ --"
msgid "-- Please choose --"
-msgstr "-- Виберіть --"
+msgstr "-- Оберіть --"
msgid "-- custom --"
msgstr "-- нетипово --"
msgid "-- match by device --"
-msgstr ""
+msgstr "-- відповідно приÑтрою --"
msgid "-- match by label --"
-msgstr ""
+msgstr "-- відповідно мітці --"
msgid "-- match by uuid --"
-msgstr ""
+msgstr "-- відповідно UUID --"
+
+msgid "-- please select --"
+msgstr "-- виберіть --"
msgid "1 Minute Load:"
msgstr "ÐÐ°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð° 1 хвилину:"
@@ -55,34 +57,35 @@ msgid "15 Minute Load:"
msgstr "ÐÐ°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð° 15 хвилин:"
msgid "4-character hexadecimal ID"
-msgstr ""
+msgstr "4-Ñимв. шіÑтнадцÑтковий ID"
msgid "464XLAT (CLAT)"
-msgstr ""
+msgstr "464XLAT (CLAT)"
msgid "5 Minute Load:"
msgstr "ÐÐ°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð° 5 хвилин:"
msgid "6-octet identifier as a hex string - no colons"
msgstr ""
+"6-октетний ідентифікатор у виглÑді шіÑтнадцÑткового Ñ€Ñдка – без двокрапок"
msgid "802.11r Fast Transition"
-msgstr ""
+msgstr "Швидкий перехід 802.11r"
msgid "802.11w Association SA Query maximum timeout"
-msgstr ""
+msgstr "МакÑимальний тайм-аут запиту аÑоціації 802.11w"
msgid "802.11w Association SA Query retry timeout"
-msgstr ""
+msgstr "Тайм-аут Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÑŽÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ аÑоціації 802.11w"
msgid "802.11w Management Frame Protection"
-msgstr ""
+msgstr "ЗахиÑÑ‚ кадрів ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ 802.11w"
msgid "802.11w maximum timeout"
-msgstr ""
+msgstr "МакÑимальний тайм-аут 802.11w"
msgid "802.11w retry timeout"
-msgstr ""
+msgstr "Тайм-аут Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÑŽÐ²Ð°Ð½Ð½Ñ 802.11w"
msgid "<abbr title=\"Basic Service Set Identifier\">BSSID</abbr>"
msgstr ""
@@ -104,7 +107,7 @@ msgid ""
"order of the resolvfile"
msgstr ""
"<abbr title=\"Domain Name System — ÑиÑтема доменних імен\">DNS</abbr>-"
-"Ñервери будуть опитані у порÑдку, визначеному файлом resolvfile"
+"Ñервери буде опитано в порÑдку, визначеному файлом <em>resolvfile</em>"
msgid "<abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"
msgstr ""
@@ -131,11 +134,11 @@ msgid "<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Gateway"
msgstr "<abbr title=\"Інтернет-протокол верÑÑ–Ñ— 6\">IPv6</abbr>-шлюз"
msgid "<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Suffix (hex)"
-msgstr ""
+msgstr "<abbr title=\"Інтернет-протокол верÑÑ–Ñ— 6\">IPv6</abbr>-ÑÑƒÑ„Ñ–ÐºÑ (hex)"
msgid "<abbr title=\"Light Emitting Diode\">LED</abbr> Configuration"
msgstr ""
-"ÐаÑÑ‚Ñ€Ð¾ÑŽÐ²Ð°Ð½Ð½Ñ <abbr title=\"Light Emitting Diode — Ñвітлодіод\">LED</abbr>"
+"ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ <abbr title=\"Light Emitting Diode — Ñвітлодіод\">LED</abbr>"
msgid "<abbr title=\"Light Emitting Diode\">LED</abbr> Name"
msgstr "Ðазва <abbr title=\"Light Emitting Diode — Ñвітлодіод\">LED</abbr>"
@@ -146,33 +149,35 @@ msgstr ""
"abbr>-адреÑа"
msgid "<abbr title=\"The DHCP Unique Identifier\">DUID</abbr>"
-msgstr ""
+msgstr "<abbr title=\"Унікальний ідентифікатор DHCP\">DUID</abbr>"
msgid ""
"<abbr title=\"maximal\">Max.</abbr> <abbr title=\"Dynamic Host Configuration "
"Protocol\">DHCP</abbr> leases"
msgstr ""
-"<abbr title=\"МакÑимум\">Max.</abbr> оренд <abbr title=\"Dynamic Host "
+"<abbr title=\"МакÑимум\">МакÑ.</abbr> оренд <abbr title=\"Dynamic Host "
"Configuration Protocol — протокол динамічної конфігурації вузла\">DHCP</abbr>"
msgid ""
"<abbr title=\"maximal\">Max.</abbr> <abbr title=\"Extension Mechanisms for "
"Domain Name System\">EDNS0</abbr> packet size"
msgstr ""
-"<abbr title=\"МакÑимум\">Max.</abbr> розмір пакета <abbr title=\"Extension "
+"<abbr title=\"МакÑимальний\">МакÑ.</abbr> розмір пакета <abbr title=\"Extension "
"Mechanisms for Domain Name System — Механізми розширень Ð´Ð»Ñ Ð´Ð¾Ð¼ÐµÐ½Ð½Ð¾Ñ— ÑиÑтеми "
"імен\">EDNS0</abbr>"
msgid "<abbr title=\"maximal\">Max.</abbr> concurrent queries"
-msgstr "<abbr title=\"МакÑимум\">Max.</abbr> одночаÑних запитів"
+msgstr "<abbr title=\"МакÑимум\">МакÑ.</abbr> одночаÑних запитів"
msgid "<abbr title='Pairwise: %s / Group: %s'>%s - %s</abbr>"
-msgstr "<abbr title='Парний: %s / Груповий: %s'>%s - %s</abbr>"
+msgstr "<abbr title='Парний: %s / Груповий: %s'>%s – %s</abbr>"
msgid ""
"<br/>Note: you need to manually restart the cron service if the crontab file "
"was empty before editing."
msgstr ""
+"<br/>Примітка: Ñкщо перед редагуваннÑм, файл crontab був порожній, вам потрібно "
+"вручну перезапуÑтити Ñлужби cron."
msgid "A43C + J43 + A43"
msgstr ""
@@ -183,9 +188,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -194,10 +196,11 @@ msgstr ""
"<abbr title=\"Access Point Name — Ñимволічна назва точки доÑтупу\">APN</abbr>"
msgid "ARP retry threshold"
-msgstr "Поріг повтору ARP"
+msgstr "Поріг Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÑŽÐ²Ð°Ð½Ð½Ñ ARP"
msgid "ATM (Asynchronous Transfer Mode)"
msgstr ""
+"<abbr title=\"Asynchronous Transfer Mode — аÑинхронний режим передаваннÑ\">ATM</abbr>"
msgid "ATM Bridges"
msgstr "ATM-моÑти"
@@ -217,7 +220,7 @@ msgid ""
"Linux network interfaces which can be used in conjunction with DHCP or PPP "
"to dial into the provider network."
msgstr ""
-"ATM-моÑти виÑтавлÑÑŽÑ‚ÑŒ інкапÑульований Ethernet у з'єднаннÑÑ… AAL5 Ñк "
+"ATM-моÑти виÑтавлÑÑŽÑ‚ÑŒ інкапÑульований Ethernet у з’єднаннÑÑ… AAL5 Ñк "
"віртуальні мережеві інтерфейÑи Linux, котрі можуть викориÑтовуватиÑÑ Ð² "
"поєднанні з DHCP або PPP Ð´Ð»Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ мережі провайдера."
@@ -227,9 +230,6 @@ msgstr "Ðомер ATM-приÑтрою"
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr "Концентратор доÑтупу"
@@ -273,7 +273,7 @@ msgid "Additional Hosts files"
msgstr "Додаткові файли hosts"
msgid "Additional servers file"
-msgstr ""
+msgstr "Додаткові файли servers"
msgid "Address"
msgstr "ÐдреÑа"
@@ -288,7 +288,7 @@ msgid "Advanced Settings"
msgstr "Додаткові параметри"
msgid "Aggregate Transmit Power(ACTATP)"
-msgstr ""
+msgstr "Сумарна потужніÑÑ‚ÑŒ передаваннÑ"
msgid "Alert"
msgstr "Тривога"
@@ -297,9 +297,10 @@ msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address"
msgstr ""
+"ВиділÑти IP-адреÑи поÑлідовно, починаючи з найнижчої доÑтупної адреÑи"
msgid "Allocate IP sequentially"
-msgstr ""
+msgstr "ВиділÑти IP поÑлідовно"
msgid "Allow <abbr title=\"Secure Shell\">SSH</abbr> password authentication"
msgstr ""
@@ -310,7 +311,7 @@ msgid "Allow all except listed"
msgstr "Дозволити вÑÑ–, крім зазначених"
msgid "Allow legacy 802.11b rates"
-msgstr ""
+msgstr "Дозволити заÑтарілі швидкоÑÑ‚Ñ– 802.11b"
msgid "Allow listed only"
msgstr "Дозволити тільки зазначені"
@@ -320,7 +321,8 @@ msgstr "Дозволити локальний вузол"
msgid "Allow remote hosts to connect to local SSH forwarded ports"
msgstr ""
-"Дозволити віддаленим вузлам Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ локальних SSH-ÑпрÑмованих портів"
+"Дозволити віддаленим вузлам Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ локальних переÑпрÑмованих портів "
+"SSH"
msgid "Allow root logins with password"
msgstr "Дозволити root-вхід із паролем"
@@ -331,19 +333,14 @@ msgstr "Дозволити кориÑтувачеві <em>root</em> вхід у
msgid ""
"Allow upstream responses in the 127.0.0.0/8 range, e.g. for RBL services"
msgstr ""
-"Дозволити відповіді від клієнта на Ñервер у діапазоні 127.0.0.0/8, "
+"Дозволити виÑхідні відповіді від клієнта на Ñервер у діапазоні 127.0.0.0/8, "
"наприклад, Ð´Ð»Ñ RBL-поÑлуг"
msgid "Allowed IPs"
-msgstr ""
-
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
+msgstr "Дозволено IP-адреÑи"
msgid "Always announce default router"
-msgstr ""
+msgstr "Завжди оголошувати типовим маршрутизатором"
msgid "Annex"
msgstr ""
@@ -391,22 +388,23 @@ msgid "Annex M G.992.5"
msgstr ""
msgid "Announce as default router even if no public prefix is available."
-msgstr ""
+msgstr "Оголошувати типовим маршрутизатором, навіть Ñкщо немає доÑтупного "
+"Ñпільного префікÑа."
msgid "Announced DNS domains"
-msgstr ""
+msgstr "Оголошено DNS-домени"
msgid "Announced DNS servers"
-msgstr ""
+msgstr "Оголошено DNS-Ñервери"
msgid "Anonymous Identity"
-msgstr ""
+msgstr "Ðнонімне поÑвідченнÑ"
msgid "Anonymous Mount"
-msgstr ""
+msgstr "Ðнонімне монтуваннÑ"
msgid "Anonymous Swap"
-msgstr ""
+msgstr "Ðнонімний Ñвоп"
msgid "Antenna 1"
msgstr "Ðнтена 1"
@@ -420,15 +418,20 @@ msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð°Ð½Ñ‚ÐµÐ½Ð¸"
msgid "Any zone"
msgstr "Будь-Ñка зона"
-msgid "Apply"
-msgstr "ЗаÑтоÑувати"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr "СталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° запиту на заÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ñ– ÑтатуÑом <code>%h</code>"
+
+msgid "Apply unchecked"
+msgstr "ЗаÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ позначено"
-msgid "Applying changes"
-msgstr "ЗаÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½"
+msgid "Architecture"
+msgstr "Ðрхітектура"
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
msgstr ""
+"Призначати чаÑтину заданої довжини до кожного публічного IPv6-префікÑа "
+"цього інтерфейÑу"
msgid "Assign interfaces..."
msgstr "ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñів..."
@@ -436,18 +439,23 @@ msgstr "ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñів..."
msgid ""
"Assign prefix parts using this hexadecimal subprefix ID for this interface."
msgstr ""
+"Призначати Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ інтерфейÑу чаÑтину префікÑа, викориÑтовуючи цей "
+"шіÑтнадцÑтковий ID ÑубпрефікÑа."
msgid "Associated Stations"
-msgstr "Приєднані Ñтанції"
+msgstr "Приєднано Ñтанції"
+
+msgid "Associations"
+msgstr "З’єднань"
msgid "Auth Group"
-msgstr ""
+msgstr "Група автентифікації"
msgid "Authentication"
msgstr "ÐвтентифікаціÑ"
msgid "Authentication Type"
-msgstr ""
+msgstr "Тип автентифікації"
msgid "Authoritative"
msgstr "Ðадійний"
@@ -459,25 +467,28 @@ msgid "Auto Refresh"
msgstr "Ðвтоматичне оновленнÑ"
msgid "Automatic"
-msgstr ""
+msgstr "Ðвтоматично"
msgid "Automatic Homenet (HNCP)"
-msgstr ""
+msgstr "Ðвтоматично Homenet (HNCP)"
msgid "Automatically check filesystem for errors before mounting"
msgstr ""
+"Ðвтоматично перевірÑти файлову ÑиÑтему на наÑвніÑÑ‚ÑŒ помилок перед "
+"монтуваннÑм"
msgid "Automatically mount filesystems on hotplug"
msgstr ""
+"Ðвтоматично монтувати файлові ÑиÑтеми при оперативниму підключенні"
msgid "Automatically mount swap on hotplug"
-msgstr ""
+msgstr "Ðвтоматично монтувати Ñвоп при оперативниму підключенні"
msgid "Automount Filesystem"
-msgstr ""
+msgstr "ÐÐ²Ñ‚Ð¾Ð¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¤Ð¡"
msgid "Automount Swap"
-msgstr ""
+msgstr "ÐÐ²Ñ‚Ð¾Ð¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñвоп"
msgid "Available"
msgstr "ДоÑтупно"
@@ -516,7 +527,7 @@ msgid "Back to scan results"
msgstr "ПовернутиÑÑ Ð´Ð¾ результатів ÑкануваннÑ"
msgid "Backup / Flash Firmware"
-msgstr "Резервне ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ / ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ÑˆÐ¸Ð²ÐºÐ¸"
+msgstr "Резервне ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ / Прошивка мікропрограми"
msgid "Backup / Restore"
msgstr "Резервне копіюваннÑ/відновленнÑ"
@@ -525,13 +536,10 @@ msgid "Backup file list"
msgstr "СпиÑок файлів резервних копій"
msgid "Bad address specified!"
-msgstr "Вказана неправильна адреÑа!"
+msgstr "Вказано неправильну адреÑу!"
msgid "Band"
-msgstr ""
-
-msgid "Behind NAT"
-msgstr ""
+msgstr "Група"
msgid ""
"Below is the determined list of files to backup. It consists of changed "
@@ -543,16 +551,16 @@ 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 "ШвидкіÑÑ‚ÑŒ передачі даних"
+msgstr "ШвидкіÑÑ‚ÑŒ Ð¿ÐµÑ€ÐµÐ´Ð°Ð²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…"
msgid "Bogus NX Domain Override"
msgstr "Відкидати підробки NX-домену"
@@ -561,7 +569,7 @@ msgid "Bridge"
msgstr "МіÑÑ‚"
msgid "Bridge interfaces"
-msgstr "Об'єднати інтерфейÑи в міÑÑ‚"
+msgstr "Об’єднати інтерфейÑи в міÑÑ‚"
msgid "Bridge unit number"
msgstr "Ðомер моÑта"
@@ -582,9 +590,12 @@ msgid ""
"Build/distribution specific feed definitions. This file will NOT be "
"preserved in any sysupgrade."
msgstr ""
+"Специфічні Ð´Ð»Ñ Ð·Ð±Ñ–Ñ€ÐºÐ¸/Ð¿Ð¾ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ°Ð½Ð°Ð»Ñ–Ð². Цей файл ÐЕ БУДЕ "
+"збережено при будь-Ñкому оновленні ÑиÑтеми."
msgid "CA certificate; if empty it will be saved after the first connection."
msgstr ""
+"Сертифікат CA; Ñкщо порожньо, його буде збережено піÑÐ»Ñ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ підключеннÑ."
msgid "CPU usage (%)"
msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¦ÐŸ, %"
@@ -593,7 +604,7 @@ msgid "Cancel"
msgstr "СкаÑувати"
msgid "Category"
-msgstr ""
+msgstr "КатегоріÑ"
msgid "Chain"
msgstr "Ланцюжок"
@@ -604,20 +615,30 @@ msgstr "Зміни"
msgid "Changes applied."
msgstr "Зміни заÑтоÑовано."
+msgid "Changes have been reverted."
+msgstr "Зміни було ÑкаÑовано."
+
msgid "Changes the administrator password for accessing the device"
msgstr "Зміна Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð°Ð´Ð¼Ñ–Ð½Ñ–Ñтратора Ð´Ð»Ñ Ð´Ð¾Ñтупу до приÑтрою"
msgid "Channel"
msgstr "Канал"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+"Канал %d не доÑтупний у %s регулÑторному домені й був автоматично "
+"Ñкоригований на %d."
+
msgid "Check"
msgstr "Перевірити"
msgid "Check filesystems before mount"
-msgstr ""
+msgstr "Перевірити файлову ÑиÑтему перед монтуваннÑм"
msgid "Check this option to delete the existing networks from this radio."
-msgstr ""
+msgstr "Позначте цей параметр, щоб видалити Ñ–Ñнуючі мережі з цього радіо."
msgid "Checksum"
msgstr "Контрольна Ñума"
@@ -644,7 +665,7 @@ msgid "Cipher"
msgstr "Шифр"
msgid "Cisco UDP encapsulation"
-msgstr ""
+msgstr "ІнкапÑулÑÑ†Ñ–Ñ UDP Cisco"
msgid ""
"Click \"Generate archive\" to download a tar archive of the current "
@@ -652,8 +673,8 @@ msgid ""
"\"Perform reset\" (only possible with squashfs images)."
msgstr ""
"ÐатиÑніть кнопку \"Створити архів\", щоб завантажити tar-архів поточних "
-"файлів конфігурації. Ð”Ð»Ñ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ÑˆÐ¸Ð²ÐºÐ¸ до Ñ—Ñ— початкового Ñтану, "
-"натиÑніть кнопку \"Відновити\" (можливе тільки з образами SquashFS)."
+"файлів конфігурації. Ð”Ð»Ñ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼Ñ–ÐºÑ€Ð¾Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ до Ñ—Ñ— початкового "
+"Ñтану натиÑніть кнопку \"Відновити\" (можливо тільки з образами SquashFS)."
msgid "Client"
msgstr "Клієнт"
@@ -665,8 +686,8 @@ msgid ""
"Close inactive connection after the given amount of seconds, use 0 to "
"persist connection"
msgstr ""
-"Закривати неактивні з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð¿Ñ–ÑÐ»Ñ Ð¿ÐµÐ²Ð½Ð¾Ð³Ð¾ інтервалу чаÑу (Ñекунди). Ð”Ð»Ñ "
-"ÑƒÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð½ÐµÐ°ÐºÑ‚Ð¸Ð²Ð½Ð¸Ñ… з'єднань викориÑтовуйте 0"
+"Закривати неактивні Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð¿Ñ–ÑÐ»Ñ Ð¿ÐµÐ²Ð½Ð¾Ð³Ð¾ інтервалу чаÑу (Ñекунди). Ð”Ð»Ñ "
+"ÑƒÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð½ÐµÐ°ÐºÑ‚Ð¸Ð²Ð½Ð¸Ñ… з’єднань викориÑтовуйте 0"
msgid "Close list..."
msgstr "Згорнути ÑпиÑок..."
@@ -686,15 +707,22 @@ msgid ""
"workaround might cause interoperability issues and reduced robustness of key "
"negotiation especially in environments with heavy traffic load."
msgstr ""
+"УÑкладнює атаки перевÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐºÐ»ÑŽÑ‡Ð° на Ñтороні клієнта, відключаючи "
+"ретранÑлÑцію кадрів EAPOL-Key, що викориÑтовуютьÑÑ Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐºÐ»ÑŽÑ‡Ñ–Ð². "
+"Може викликати проблеми ÑуміÑноÑÑ‚Ñ– та Ð·Ð½Ð¸Ð¶ÐµÐ½Ð½Ñ ÑтійкоÑÑ‚Ñ– ÑƒÐ·Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ ÐºÐ»ÑŽÑ‡Ð°, "
+"оÑобливо в Ñередовищах з великою завантаженіÑÑ‚ÑŽ трафіку."
msgid "Configuration"
msgstr "КонфігураціÑ"
-msgid "Configuration applied."
-msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð·Ð°ÑтоÑована."
-
msgid "Configuration files will be kept."
-msgstr "Конфігураційні файли будуть збережені."
+msgstr "Конфігураційні файли буде збережено."
+
+msgid "Configuration has been applied."
+msgstr "Конфігурацію заÑтоÑовано."
+
+msgid "Configuration has been rolled back!"
+msgstr "Конфігурацію було відкочено!"
msgid "Confirmation"
msgstr "ПідтвердженнÑ"
@@ -703,17 +731,23 @@ msgid "Connect"
msgstr "Підключити"
msgid "Connected"
-msgstr "Підключений"
+msgstr "Підключено"
msgid "Connection Limit"
msgstr "Гранична кількіÑÑ‚ÑŒ підключень"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr ""
-
msgid "Connections"
msgstr "ПідключеннÑ"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+"ПіÑÐ»Ñ Ð·Ð°ÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½ конфігурації не вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ доÑтуп до приÑтрою. "
+"Вам, можливо, знадобитиÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ðµ підключеннÑ, Ñкщо ви змінили Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ "
+"мережі, такі Ñк IP-адреÑа або облікові дані безпеки бездротової мережі."
+
msgid "Country"
msgstr "Країна"
@@ -745,26 +779,30 @@ msgid "Custom Interface"
msgstr "Ð†Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ñ€Ð¸Ñтувача"
msgid "Custom delegated IPv6-prefix"
-msgstr ""
+msgstr "КориÑтувацький делегований Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ IPv6"
msgid ""
"Custom feed definitions, e.g. private feeds. This file can be preserved in a "
"sysupgrade."
msgstr ""
+"КориÑтувацькі Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ°Ð½Ð°Ð»Ñ–Ð², наприклад, приватних. Цей файл може бути "
+"збережено при оновленні ÑиÑтеми."
msgid "Custom feeds"
-msgstr ""
+msgstr "КориÑтувацькі канали"
msgid ""
"Custom files (certificates, scripts) may remain on the system. To prevent "
"this, perform a factory-reset first."
msgstr ""
+"КориÑтувацькі файли (Ñертифікати, Ñкрипти) можуть залишитиÑÑ Ð² ÑиÑтемі. Щоб "
+"запобігти цьому, Ñпочатку виконайте ÑÐºÐ¸Ð´Ð°Ð½Ð½Ñ Ð´Ð¾ заводÑьких налаштувань."
msgid ""
"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
"\">LED</abbr>s if possible."
msgstr ""
-"ÐаÑÑ‚Ñ€Ð¾ÑŽÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²ÐµÐ´Ñ–Ð½ÐºÐ¸ <abbr title=\"Light Emitting Diode — Ñвітлодіод"
+"ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²ÐµÐ´Ñ–Ð½ÐºÐ¸ <abbr title=\"Light Emitting Diode — Ñвітлодіод"
"\">LED</abbr>, Ñкщо це можливо."
msgid "DHCP Leases"
@@ -786,49 +824,49 @@ msgid "DHCPv6 Leases"
msgstr "Оренди DHCPv6"
msgid "DHCPv6 client"
-msgstr ""
+msgstr "Клієнт DHCPv6"
msgid "DHCPv6-Mode"
-msgstr ""
+msgstr "Режим DHCPv6"
msgid "DHCPv6-Service"
-msgstr ""
+msgstr "Служба DHCPv6"
msgid "DNS"
msgstr "DNS"
msgid "DNS forwardings"
-msgstr "СпрÑÐ¼Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ DNS-запитів"
+msgstr "ПереÑпрÑмовуваннÑ<br />запитів DNS"
msgid "DNS-Label / FQDN"
-msgstr ""
+msgstr "DNS-мітка / FQDN"
msgid "DNSSEC"
msgstr ""
msgid "DNSSEC check unsigned"
-msgstr ""
+msgstr "Перевірка непідпиÑаного DNSSEC"
msgid "DPD Idle Timeout"
-msgstr ""
+msgstr "Тайм-аут проÑтою DPD"
msgid "DS-Lite AFTR address"
-msgstr ""
+msgstr "AFTR-адреÑа DS-Lite"
msgid "DSL"
-msgstr ""
+msgstr "DSL"
msgid "DSL Status"
-msgstr ""
+msgstr "Стан DSL"
msgid "DSL line mode"
-msgstr ""
+msgstr "Режим лінії DSL"
msgid "DUID"
msgstr "DUID"
msgid "Data Rate"
-msgstr ""
+msgstr "Швидк. передаваннÑ"
msgid "Debug"
msgstr "ЗневаджуваннÑ"
@@ -840,10 +878,7 @@ msgid "Default gateway"
msgstr "Типовий шлюз"
msgid "Default is stateless + stateful"
-msgstr ""
-
-msgid "Default route"
-msgstr ""
+msgstr "Типовим Ñ” БЕЗ та ЗІ збереженнÑм Ñтану"
msgid "Default state"
msgstr "Типовий Ñтан"
@@ -882,16 +917,19 @@ msgid "Device Configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¸Ñтрою"
msgid "Device is rebooting..."
-msgstr ""
+msgstr "ПриÑтрій перезавантажуєтьÑÑ..."
msgid "Device unreachable"
-msgstr ""
+msgstr "ПриÑтрій недоÑÑжний"
+
+msgid "Device unreachable!"
+msgstr "ПриÑтрій недоÑÑжний!"
msgid "Diagnostics"
msgstr "ДіагноÑтика"
msgid "Dial number"
-msgstr ""
+msgstr "Ðабір номера"
msgid "Directory"
msgstr "Каталог"
@@ -907,22 +945,25 @@ msgstr ""
"динамічної конфігурації вузла\">DHCP</abbr> Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ інтерфейÑу."
msgid "Disable DNS setup"
-msgstr "Вимкнути наÑÑ‚Ñ€Ð¾ÑŽÐ²Ð°Ð½Ð½Ñ DNS"
+msgstr "Вимкнути Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ DNS"
msgid "Disable Encryption"
-msgstr ""
+msgstr "Вимкнути шифруваннÑ"
msgid "Disabled"
msgstr "Вимкнено"
msgid "Disabled (default)"
-msgstr ""
+msgstr "Вимкнено (типово)"
msgid "Discard upstream RFC1918 responses"
-msgstr "Відкидати RFC1918-відповіді від клієнта на Ñервер"
+msgstr "Відкидати виÑхідні RFC1918-відповіді"
+
+msgid "Dismiss"
+msgstr "Відхилити"
msgid "Displaying only packages containing"
-msgstr "Показані тільки непорожні пакети"
+msgstr "Ð’Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð»Ð¸ÑˆÐµ непорожніх пакетів"
msgid "Distance Optimization"
msgstr "ÐžÐ¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð·Ð° відÑтанню"
@@ -931,7 +972,7 @@ msgid "Distance to farthest network member in meters."
msgstr "ВідÑтань до найвіддаленішого вузла мережі в метрах."
msgid "Distribution feeds"
-msgstr ""
+msgstr "Канали поширеннÑ"
msgid "Diversity"
msgstr "РізновидніÑÑ‚ÑŒ"
@@ -945,7 +986,7 @@ msgstr ""
"Dnsmasq ÑвлÑÑ” Ñобою комбінований <abbr title=\"Dynamic Host Configuration "
"Protocol — протокол динамічної конфігурації вузла\">DHCP</abbr>-Ñервер Ñ– "
"<abbr title=\"Domain Name System — ÑиÑтема доменних імен\">DNS</abbr>-"
-"транÑпортер Ð´Ð»Ñ Ð±Ñ€Ð°Ð½Ð´Ð¼Ð°ÑƒÐµÑ€Ñ–Ð² <abbr title=\"Network Address Translation — "
+"прокÑÑ– Ð´Ð»Ñ Ð±Ñ€Ð°Ð½Ð´Ð¼Ð°ÑƒÐµÑ€Ñ–Ð² <abbr title=\"Network Address Translation — "
"Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ (транÑлÑціÑ) мережевих адреÑ\">NAT</abbr>"
msgid "Do not cache negative replies, e.g. for not existing domains"
@@ -953,11 +994,13 @@ msgstr "Ðе кешувати негативні відповіді, наприÐ
msgid "Do not forward requests that cannot be answered by public name servers"
msgstr ""
-"Ðе ÑпрÑмовувати запити, Ñкі не можуть бути оброблені публічними Ñерверами "
+"Ðе переÑпрÑмовувати запити, Ñкі не може бути оброблено публічними Ñерверами "
"імен"
msgid "Do not forward reverse lookups for local networks"
-msgstr "Ðе ÑпрÑмовувати зворотний переглÑд Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ñ… мереж"
+msgstr ""
+"Ðе переÑпрÑмовувати зворотні <abbr title=\"Domain Name System — ÑиÑтема "
+"доменних імен\">DNS</abbr>-запити Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ñ… мереж"
msgid "Domain required"
msgstr "Потрібен домен"
@@ -966,13 +1009,13 @@ msgid "Domain whitelist"
msgstr "\"Білий ÑпиÑок\" доменів"
msgid "Don't Fragment"
-msgstr ""
+msgstr "Ðе фрагментувати"
msgid ""
"Don't forward <abbr title=\"Domain Name System\">DNS</abbr>-Requests without "
"<abbr title=\"Domain Name System\">DNS</abbr>-Name"
msgstr ""
-"Ðе переÑилати <abbr title=\"Domain Name System — ÑиÑтема доменних імен"
+"Ðе переÑпрÑмовувати <abbr title=\"Domain Name System — ÑиÑтема доменних імен"
"\">DNS</abbr>-запити без <abbr title=\"Domain Name System — ÑиÑтема доменних "
"імен\">DNS</abbr>-імені"
@@ -983,7 +1026,7 @@ msgid "Download backup"
msgstr "Завантажити резервну копію"
msgid "Downstream SNR offset"
-msgstr ""
+msgstr "Ðизхідний зÑув SNR"
msgid "Dropbear Instance"
msgstr "Ð ÐµÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Dropbear"
@@ -1014,7 +1057,7 @@ msgstr ""
"обÑлуговуватиÑÑ Ñ‚Ñ–Ð»ÑŒÐºÐ¸ клієнти, Ñкі мають Ñтатичні оренди."
msgid "EA-bits length"
-msgstr ""
+msgstr "Довжина EA-бітів"
msgid "EAP-Method"
msgstr "EAP-Метод"
@@ -1026,6 +1069,8 @@ msgid ""
"Edit the raw configuration data above to fix any error and hit \"Save\" to "
"reload the page."
msgstr ""
+"Щоб виправити ÑкуÑÑŒ помилку, відредагуйте вихідні дані конфігурації вище Ñ– "
+"натиÑніть \"Зберегти\", щоб перезавантажити Ñторінку."
msgid "Edit this interface"
msgstr "Редагувати цей інтерфейÑ"
@@ -1043,6 +1088,8 @@ msgid ""
"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
"snooping"
msgstr ""
+"Увімкнути відÑÑ‚ÐµÐ¶ÐµÐ½Ð½Ñ <abbr title=\"Internet Group Management Protocol"
+"\">IGMP</abbr>"
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Увімкнути <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
@@ -1051,19 +1098,19 @@ 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 "Увімкнути ÑƒÐ·Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ IPv6 Ð´Ð»Ñ PPP-з'єднань"
+msgstr "Увімкнути ÑƒÐ·Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ IPv6 Ð´Ð»Ñ PPP-з’єднань"
msgid "Enable Jumbo Frame passthrough"
msgstr "ПропуÑкати Jumbo-фрейми"
msgid "Enable NTP client"
-msgstr "Увімкнути NTP-клієнт"
+msgstr "Увімкнути клієнта NTP"
msgid "Enable Single DES"
-msgstr ""
+msgstr "Увімкнути Single DES"
msgid "Enable TFTP server"
msgstr "Увімкнути TFTP-Ñервер"
@@ -1072,28 +1119,28 @@ msgid "Enable VLAN functionality"
msgstr "Увімкнути підтримку VLAN"
msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
-msgstr ""
+msgstr "Увімкнути кнопку WPS, потребує WPA(2)-PSK"
msgid "Enable key reinstallation (KRACK) countermeasures"
-msgstr ""
+msgstr "Увімкнути протидію<br />перевÑтановленню ключів (KRACK)"
msgid "Enable learning and aging"
msgstr "Увімкнути learning та aging"
msgid "Enable mirroring of incoming packets"
-msgstr ""
+msgstr "Увімкнути Ð²Ñ–Ð´Ð´Ð·ÐµÑ€ÐºÐ°Ð»ÐµÐ½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… пакетів"
msgid "Enable mirroring of outgoing packets"
-msgstr ""
+msgstr "Увімкнути Ð²Ñ–Ð´Ð´Ð·ÐµÑ€ÐºÐ°Ð»ÐµÐ½Ð½Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ñ… пакетів"
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
-msgstr ""
+msgstr "Увімкнути прапорець DF (Don't Fragment) Ð´Ð»Ñ Ñ–Ð½ÐºÐ°Ð¿Ñульованих пакетів."
msgid "Enable this mount"
msgstr "Увімкнути це монтуваннÑ"
msgid "Enable this swap"
-msgstr "Увімкнути це довантаженнÑ"
+msgstr "Увімкнути цей Ñвоп"
msgid "Enable/Disable"
msgstr "Увімкнено/Вимкнено"
@@ -1102,16 +1149,18 @@ msgid "Enabled"
msgstr "Увімкнено"
msgid "Enables IGMP snooping on this bridge"
-msgstr ""
+msgstr "Вмикає відÑÑ‚ÐµÐ¶ÐµÐ½Ð½Ñ IGMP на цьому моÑту"
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgstr ""
+"Вмикає швидкий роумінг між точками доÑтупу, що належать до одного Ñ– "
+"того ж домену мобільноÑÑ‚Ñ–"
msgid "Enables the Spanning Tree Protocol on this bridge"
msgstr ""
-"Увімкнути <abbr title=\"Spanning Tree Protocol\">STP</abbr> на цьому моÑту"
+"Вмикає <abbr title=\"Spanning Tree Protocol\">STP</abbr> на цьому моÑту"
msgid "Encapsulation mode"
msgstr "Режим інкапÑулÑції"
@@ -1120,10 +1169,10 @@ msgid "Encryption"
msgstr "ШифруваннÑ"
msgid "Endpoint Host"
-msgstr ""
+msgstr "ХоÑÑ‚ кінцевої точки"
msgid "Endpoint Port"
-msgstr ""
+msgstr "Порт кінцевої точки"
msgid "Erasing..."
msgstr "ВидаленнÑ..."
@@ -1132,22 +1181,22 @@ msgid "Error"
msgstr "Помилка"
msgid "Errored seconds (ES)"
-msgstr ""
+msgstr "Секунд з помилками (<abbr title=\"Errored seconds\">ES</abbr>)"
msgid "Ethernet Adapter"
-msgstr "Ðдаптер Ethernet"
+msgstr "Ethernet-адаптер"
msgid "Ethernet Switch"
msgstr "Ethernet-комутатор"
msgid "Exclude interfaces"
-msgstr ""
+msgstr "Виключити інтерфейÑи"
msgid "Expand hosts"
msgstr "Ð Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ð²ÑƒÐ·Ð»Ñ–Ð²"
msgid "Expires"
-msgstr "ДійÑний ще"
+msgstr "Збігає за"
#, fuzzy
msgid ""
@@ -1155,13 +1204,13 @@ msgid ""
msgstr "Термін оренди адреÑ, мінімум 2 хвилини (<code>2m</code>)."
msgid "External"
-msgstr ""
+msgstr "Зовнішнє"
msgid "External R0 Key Holder List"
-msgstr ""
+msgstr "Зовнішній ÑпиÑок влаÑників ключів R0"
msgid "External R1 Key Holder List"
-msgstr ""
+msgstr "Зовнішній ÑпиÑок влаÑників ключів R1"
msgid "External system log server"
msgstr "Зовнішній Ñервер ÑиÑтемного журналу"
@@ -1170,25 +1219,28 @@ msgid "External system log server port"
msgstr "Порт зовнішнього Ñервера ÑиÑтемного журналу"
msgid "External system log server protocol"
-msgstr ""
+msgstr "Протокол зовнішнього Ñервера ÑиÑтемного журналу"
msgid "Extra SSH command options"
-msgstr ""
+msgstr "Додаткові параметри команд SSH"
msgid "FT over DS"
-msgstr ""
+msgstr "FT через DS"
msgid "FT over the Air"
-msgstr ""
+msgstr "FT через повітрÑ"
msgid "FT protocol"
-msgstr ""
+msgstr "Протокол FT"
+
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr "Ðе вдалоÑÑ Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¸Ñ‚Ð¸ заÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° протÑзі %d Ñ, очікуємо відкату…"
msgid "File"
msgstr "Файл"
msgid "Filename of the boot image advertised to clients"
-msgstr "І'Ð¼Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ образу, що оголошуєтьÑÑ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ð°Ð¼"
+msgstr "Ð†â€™Ð¼Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ образу, що оголошуєтьÑÑ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ð°Ð¼"
msgid "Filesystem"
msgstr "Файлова ÑиÑтема"
@@ -1206,6 +1258,8 @@ msgid ""
"Find all currently attached filesystems and swap and replace configuration "
"with defaults based on what was detected"
msgstr ""
+"Знайти вÑÑ– файлові ÑиÑтеми та Ñвопи, Ñкі наразі підключено Ñ– замінити "
+"конфігурацію типовою на підÑтаві того, що було виÑвлено"
msgid "Find and join network"
msgstr "Знайти мережу й приєднатиÑÑ"
@@ -1220,37 +1274,37 @@ msgid "Firewall"
msgstr "Брандмауер"
msgid "Firewall Mark"
-msgstr ""
+msgstr "Позначка брандмауера"
msgid "Firewall Settings"
-msgstr "ÐаÑтройки брандмауера"
+msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð±Ñ€Ð°Ð½Ð´Ð¼Ð°ÑƒÐµÑ€Ð°"
msgid "Firewall Status"
-msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð±Ñ€Ð°Ð½Ð´Ð¼Ð°ÑƒÐµÑ€Ð°"
+msgstr "Стан брандмауера"
msgid "Firmware File"
-msgstr ""
+msgstr "Файл мікропрограми"
msgid "Firmware Version"
-msgstr "ВерÑÑ–Ñ Ð¿Ñ€Ð¾ÑˆÐ¸Ð²ÐºÐ¸"
+msgstr "ВерÑÑ–Ñ Ð¼Ñ–ÐºÑ€Ð¾Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸"
msgid "Fixed source port for outbound DNS queries"
msgstr "ФікÑований порт Ð´Ð»Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ñ… DNS-запитів"
msgid "Flash Firmware"
-msgstr "Заливаємо прошивку"
+msgstr "Прошиваємо мікропрограму"
msgid "Flash image..."
-msgstr "Відвантажити образ..."
+msgstr "Прошити образ..."
msgid "Flash new firmware image"
-msgstr "Залити новий образ прошивки"
+msgstr "Прошити новий образ мікропрограми"
msgid "Flash operations"
-msgstr "Операції заливаннÑ"
+msgstr "Операції прошиваннÑ"
msgid "Flashing..."
-msgstr "Заливаємо..."
+msgstr "Прошиваємо..."
msgid "Force"
msgstr "ПримуÑово"
@@ -1268,28 +1322,28 @@ msgid "Force TKIP and CCMP (AES)"
msgstr "ПримуÑово TKIP та CCMP (AES)"
msgid "Force link"
-msgstr ""
+msgstr "ПримуÑове з’єднаннÑ"
msgid "Force use of NAT-T"
-msgstr ""
+msgstr "ПримуÑово викориÑтовувати NAT-T"
msgid "Form token mismatch"
-msgstr ""
+msgstr "ÐеузгодженіÑÑ‚ÑŒ маркера форми"
msgid "Forward DHCP traffic"
-msgstr "СпрÑмовувати DHCP-трафік"
+msgstr "ПереÑпрÑмовувати DHCP-трафік"
msgid "Forward Error Correction Seconds (FECS)"
-msgstr ""
+msgstr "Секунди прÑмого ÐºÐ¾Ñ€Ð¸Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº (FECS)"
msgid "Forward broadcast traffic"
-msgstr "СпрÑмовувати широкомовний трафік"
+msgstr "ПереÑпрÑмовувати широкомовний трафік"
msgid "Forward mesh peer traffic"
-msgstr ""
+msgstr "ПереÑпрÑмовувати одноранговий трафік"
msgid "Forwarding mode"
-msgstr "Режим ÑпрÑмовуваннÑ"
+msgstr "Режим переÑпрÑмовуваннÑ"
msgid "Fragmentation Threshold"
msgstr "Поріг фрагментації"
@@ -1305,8 +1359,10 @@ msgstr "Вільне міÑце"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
+"Більш детальна Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ інтерфейÑи та вузли WireGuard на <a href="
+"\"http://wireguard.com\">wireguard.com</a>."
msgid "GHz"
msgstr "ГГц"
@@ -1321,19 +1377,19 @@ msgid "Gateway ports"
msgstr "Порти шлюзу"
msgid "General Settings"
-msgstr "Загальні наÑтройки"
+msgstr "Загальні параметри"
msgid "General Setup"
-msgstr "Загальні наÑтройки"
+msgstr "Загальні налаштуваннÑ"
msgid "General options for opkg"
-msgstr ""
+msgstr "Загальні параметри OPKG"
msgid "Generate Config"
-msgstr ""
+msgstr "Cтворити конфігурацію"
msgid "Generate PMK locally"
-msgstr ""
+msgstr "Генерувати PMK локально"
msgid "Generate archive"
msgstr "Cтворити архів"
@@ -1345,10 +1401,10 @@ msgid "Given password confirmation did not match, password not changed!"
msgstr "ОÑкільки пароль Ñ– Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð½Ðµ Ñпівпадають, то пароль не змінено!"
msgid "Global Settings"
-msgstr ""
+msgstr "Загальні параметри"
msgid "Global network options"
-msgstr ""
+msgstr "Глобальні параметри мережі"
msgid "Go to password configuration..."
msgstr "Перейти до конфігурації паролÑ..."
@@ -1357,19 +1413,19 @@ msgid "Go to relevant configuration page"
msgstr "Перейти до відповідної Ñторінки конфігурації"
msgid "Group Password"
-msgstr ""
+msgstr "Пароль групи"
msgid "Guest"
-msgstr ""
+msgstr "ГіÑÑ‚ÑŒ"
msgid "HE.net password"
msgstr "Пароль HE.net"
msgid "HE.net username"
-msgstr ""
+msgstr "Ð†Ð¼â€™Ñ ÐºÐ¾Ñ€Ð¸Ñтувача HE.net"
msgid "HT mode (802.11n)"
-msgstr ""
+msgstr "Режим HT (802.11n)"
msgid "Hang Up"
msgstr "Призупинити"
@@ -1377,14 +1433,11 @@ msgstr "Призупинити"
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
msgstr ""
-"Тут ви можете наÑтроїти оÑновні параметри виглÑду вашого приÑтрою, такі Ñк "
+"Тут ви можете налаштувати оÑновні параметри виглÑду вашого приÑтрою, такі Ñк "
"назва (ім’Ñ) вузла або чаÑовий поÑÑ."
msgid ""
@@ -1403,7 +1456,7 @@ msgstr ""
"розширеної Ñлужби поÑлуг\">ESSID</abbr>"
msgid "Host"
-msgstr ""
+msgstr "Вузол"
msgid "Host entries"
msgstr "ЗапиÑи вузлів"
@@ -1415,10 +1468,10 @@ msgid "Host-<abbr title=\"Internet Protocol Address\">IP</abbr> or Network"
msgstr "<abbr title=\"Internet Protocol Address\">IP</abbr> вузла або мережа"
msgid "Hostname"
-msgstr "Ðазва (ім'Ñ) вузла"
+msgstr "Ðазва (ім’Ñ) вузла"
msgid "Hostname to send when requesting DHCP"
-msgstr "Ім'Ñ Ð²ÑƒÐ·Ð»Ð° Ð´Ð»Ñ Ð½Ð°Ð´ÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸ запиті DHCP"
+msgstr "Ð†Ð¼â€™Ñ Ð²ÑƒÐ·Ð»Ð° Ð´Ð»Ñ Ð½Ð°Ð´ÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸ запиті DHCP"
msgid "Hostnames"
msgstr "Імена вузлів"
@@ -1430,7 +1483,7 @@ msgid "IKE DH Group"
msgstr ""
msgid "IP Addresses"
-msgstr ""
+msgstr "ÐдреÑи IP"
msgid "IP address"
msgstr "IP-адреÑа"
@@ -1441,8 +1494,8 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "Брандмауер IPv4"
-msgid "IPv4 WAN Status"
-msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ IPv4 WAN"
+msgid "IPv4 Upstream"
+msgstr "ВиÑхідне Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ IPv4"
msgid "IPv4 address"
msgstr "ÐдреÑа IPv4"
@@ -1451,7 +1504,7 @@ msgid "IPv4 and IPv6"
msgstr "IPv4 та IPv6"
msgid "IPv4 assignment length"
-msgstr ""
+msgstr "Довжина приÑÐ²Ð¾ÑŽÐ²Ð°Ð½Ð½Ñ IPv4"
msgid "IPv4 broadcast"
msgstr "Широкомовний IPv4"
@@ -1484,28 +1537,27 @@ msgid "IPv6 Firewall"
msgstr "Брандмауер IPv6"
msgid "IPv6 Neighbours"
-msgstr ""
+msgstr "СуÑіди IPv6"
msgid "IPv6 Settings"
-msgstr ""
+msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ IPv6"
msgid "IPv6 ULA-Prefix"
msgstr ""
+"<abbr title=\"Unique Local Address — унікальна локальна адреÑа\">ULA"
+"</abbr>-Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ IPv6"
-msgid "IPv6 WAN Status"
-msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ IPv6 WAN"
+msgid "IPv6 Upstream"
+msgstr "ВиÑхідне Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ IPv6"
msgid "IPv6 address"
msgstr "ÐдреÑа IPv6"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
-msgstr ""
+msgstr "ÐатÑк Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ IPv6"
msgid "IPv6 assignment length"
-msgstr ""
+msgstr "Довжина Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ IPv6"
msgid "IPv6 gateway"
msgstr "Шлюз IPv6"
@@ -1520,10 +1572,10 @@ msgid "IPv6 prefix length"
msgstr "Довжина префікÑа IPv6"
msgid "IPv6 routed prefix"
-msgstr ""
+msgstr "ÐадіÑланий Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ IPv6"
msgid "IPv6 suffix"
-msgstr ""
+msgstr "Ð¡ÑƒÑ„Ñ–ÐºÑ IPv6"
msgid "IPv6-Address"
msgstr "IPv6-адреÑа"
@@ -1541,13 +1593,13 @@ msgid "IPv6-over-IPv4 (6to4)"
msgstr "IPv6 через IPv4 (6to4)"
msgid "Identity"
-msgstr "ІдентичніÑÑ‚ÑŒ"
+msgstr "ПоÑвідченнÑ"
msgid "If checked, 1DES is enabled"
-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"
@@ -1559,11 +1611,11 @@ msgid ""
"If specified, mount the device by the partition label instead of a fixed "
"device node"
msgstr ""
-"Якщо обрано, монтувати приÑтрій за назвою його розділу заміÑÑ‚ÑŒ фікÑованого "
+"Якщо обрано, монтувати приÑтрій за міткою його розділу заміÑÑ‚ÑŒ фікÑованого "
"вузла приÑтрою"
msgid "If unchecked, no default route is configured"
-msgstr "Якщо не позначено, типовий маршрут не наÑтроєно"
+msgstr "Якщо не позначено, типовий маршрут не налаштовано"
msgid "If unchecked, the advertised DNS server addresses are ignored"
msgstr "Якщо не позначено, оголошувані адреÑи DNS-Ñерверів ігноруютьÑÑ"
@@ -1575,15 +1627,15 @@ msgid ""
"slow process as the swap-device cannot be accessed with the high datarates "
"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
-"Якщо фізичної пам'ÑÑ‚Ñ– недоÑтатньо, невикориÑтовувані дані можуть тимчаÑово "
+"Якщо фізичної пам’ÑÑ‚Ñ– недоÑтатньо, невикориÑтовувані дані можуть тимчаÑово "
"витіÑнÑтиÑÑ Ð½Ð° Ñвоп-приÑтрій, у результаті чого збільшуєтьÑÑ ÐºÑ–Ð»ÑŒÐºÑ–ÑÑ‚ÑŒ "
-"кориÑної оперативної пам'ÑÑ‚Ñ– (<abbr title=\"Random Access Memory\">RAM</"
+"кориÑної оперативної пам’ÑÑ‚Ñ– (<abbr title=\"Random Access Memory\">RAM</"
"abbr>). Майте на увазі, що Ñвопінг даних Ñ” дуже повільним процеÑом, оÑкільки "
"Ñвоп-приÑтрої не можуть бути доÑтупні з такою виÑокою швидкіÑÑ‚ÑŽ, Ñк <abbr "
"title=\"Random Access Memory\">RAM</abbr>."
msgid "Ignore <code>/etc/hosts</code>"
-msgstr ""
+msgstr "Ігнорувати<code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Ігнорувати интерфейÑ"
@@ -1601,6 +1653,9 @@ 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 "Тайм-аут бездіÑльноÑÑ‚Ñ–"
@@ -1630,13 +1685,13 @@ msgid "Install protocol extensions..."
msgstr "ІнÑталÑÑ†Ñ–Ñ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½ÑŒ протоколу..."
msgid "Installed packages"
-msgstr "ІнÑтальовані пакети"
+msgstr "ІнÑтальовано пакети"
msgid "Interface"
msgstr "ІнтерфейÑ"
msgid "Interface %q device auto-migrated from %q to %q."
-msgstr ""
+msgstr "ПриÑтрій інтерфейÑу %q автоматичного мігрував із %q на %q."
msgid "Interface Configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñу"
@@ -1651,10 +1706,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 "Ð†Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿ÐµÑ€ÐµÐ¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¾"
@@ -1685,14 +1740,13 @@ msgid "Invalid username and/or password! Please try again."
msgstr "ÐеприпуÑтиме Ñ–Ð¼â€™Ñ ÐºÐ¾Ñ€Ð¸Ñтувача та/або пароль! Спробуйте ще раз."
msgid "Isolate Clients"
-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 ""
-"Схоже, що ви намагаєтеÑÑ Ð·Ð°Ð»Ð¸Ñ‚Ð¸ образ, Ñкий не вміщаєтьÑÑ Ñƒ флеш-пам'ÑÑ‚ÑŒ! "
+"Схоже, що ви намагаєтеÑÑ Ð¿Ñ€Ð¾ÑˆÐ¸Ñ‚Ð¸ образ, Ñкий не вміщаєтьÑÑ Ð´Ð¾ флеш-пам’ÑÑ‚Ñ–! "
"Перевірте файл образу!"
msgid "JavaScript required!"
@@ -1705,10 +1759,10 @@ msgid "Join Network: Wireless Scan"
msgstr "ÐŸÑ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ мережі: Ð¡ÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð±ÐµÐ·Ð´Ñ€Ð¾Ñ‚Ð¾Ð²Ð¸Ñ… мереж"
msgid "Joining Network: %q"
-msgstr ""
+msgstr "ÐŸÑ€Ð¸Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð´Ð¾ мережі: %q"
msgid "Keep settings"
-msgstr "Зберегти наÑтройки"
+msgstr "Зберегти налаштуваннÑ"
msgid "Kernel Log"
msgstr "Журнал Ñдра"
@@ -1750,13 +1804,13 @@ msgid "Language and Style"
msgstr "Мова та Ñтиль"
msgid "Latency"
-msgstr ""
+msgstr "Затримка"
msgid "Leaf"
-msgstr ""
+msgstr "ЛиÑÑ‚"
msgid "Lease time"
-msgstr ""
+msgstr "Ð§Ð°Ñ Ð¾Ñ€ÐµÐ½Ð´Ð¸"
msgid "Lease validity time"
msgstr "Ð§Ð°Ñ Ñ‡Ð¸Ð½Ð½Ð¾ÑÑ‚Ñ– оренди"
@@ -1781,9 +1835,11 @@ msgstr "Межа"
msgid "Limit DNS service to subnets interfaces on which we are serving DNS."
msgstr ""
+"Обмежувати Ñлужбу DNS інтерфейÑами підмереж, на Ñких ми обÑлуговуємо DNS."
msgid "Limit listening to these interfaces, and loopback."
msgstr ""
+"ОбмежитиÑÑ Ð¿Ñ€Ð¾ÑлуховуваннÑм цих інтерфейÑів Ñ– повернутиÑÑ Ð´Ð¾ початку циклу."
msgid "Line Attenuation (LATN)"
msgstr ""
@@ -1798,14 +1854,14 @@ msgid "Line Uptime"
msgstr ""
msgid "Link On"
-msgstr "Зв'Ñзок вÑтановлено"
+msgstr "Зв’Ñзок вÑтановлено"
msgid ""
"List of <abbr title=\"Domain Name System\">DNS</abbr> servers to forward "
"requests to"
msgstr ""
-"СпиÑок <abbr title=\"Domain Name System\">DNS</abbr>-Ñерверів, до Ñких "
-"переÑилати запити"
+"СпиÑок <abbr title=\"Domain Name System\">DNS</abbr>-Ñерверів Ð´Ð»Ñ "
+"переÑпрÑÐ¼Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñ–Ð²"
msgid ""
"List of R0KHs in the same Mobility Domain. <br />Format: MAC-address,NAS-"
@@ -1814,6 +1870,13 @@ msgid ""
"from the R0KH that the STA used during the Initial Mobility Domain "
"Association."
msgstr ""
+"СпиÑок влаÑників ключів R0 у тому ж домені мобільноÑÑ‚Ñ–. <br />Формат: MAC-"
+"адреÑа,NAS-ідентифікатор,128-бітний ключ у виглÑді шіÑтнадцÑткового Ñ€Ñдка. "
+"<br />Цей ÑпиÑок викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ <abbr title="
+"\"ідентифікатор влаÑника ключа R0\">R0KH-ID</abbr> (NAS-ідентифікатор) на "
+"MAC-адреÑи Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¸ запиті ключа PMK-R1 від <abbr title=\"влаÑник "
+"ключа R0\">R0KH</abbr>, Ñк Ñтанції, що була викориÑтана під Ñ‡Ð°Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ñ— "
+"аÑоціації домену мобільноÑÑ‚Ñ–."
msgid ""
"List of R1KHs in the same Mobility Domain. <br />Format: MAC-address,R1KH-ID "
@@ -1822,21 +1885,30 @@ msgid ""
"R0KH. This is also the list of authorized R1KHs in the MD that can request "
"PMK-R1 keys."
msgstr ""
+"СпиÑок влаÑників ключів R1 у тому ж домені мобільноÑÑ‚Ñ–. <br />Формат: MAC-"
+"адреÑа,<abbr title=\"ідентифікатор влаÑника ключа R1\">R1KH-ID</abbr> у "
+"формі 6 октетів з двокрапками,128-бітний ключ у виглÑді шіÑтнадцÑткового "
+"Ñ€Ñдка. <br />Цей ÑпиÑок викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ <abbr title="
+"\"ідентифікатор влаÑника ключа R1\">R1KH-ID</abbr> на MAC-адреÑи Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ "
+"при передаванні ключа PMK-R1 від <abbr title=\"влаÑник ключа R0\">R0KH</"
+"abbr>. Це також ÑпиÑок авторизованих <abbr title=\"влаÑник ключа R1\">R1KH</"
+"abbr> у формі <abbr title=\"Message Digest — дайджеÑÑ‚ повідомленнÑ\">MD</"
+"abbr>, Ñкі можуть запитувати ключі PMK-R1."
msgid "List of SSH key files for auth"
msgstr ""
msgid "List of domains to allow RFC1918 responses for"
-msgstr "СпиÑок доменів, Ð´Ð»Ñ Ñких дозволені RFC1918-відповіді"
+msgstr "СпиÑок доменів, Ð´Ð»Ñ Ñких дозволено RFC1918-відповіді"
msgid "List of hosts that supply bogus NX domain results"
msgstr "СпиÑок доменів, Ñкі підтримують результати підробки NX-доменів"
msgid "Listen Interfaces"
-msgstr ""
+msgstr "ІнтерфейÑи проÑлуховуваннÑ"
msgid "Listen Port"
-msgstr ""
+msgstr "Порти проÑлуховуваннÑ"
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr ""
@@ -1865,7 +1937,7 @@ msgid "Local IPv6 address"
msgstr "Локальна адреÑа IPv6"
msgid "Local Service Only"
-msgstr ""
+msgstr "Тільки локальна Ñлужба"
msgid "Local Startup"
msgstr "Локальний запуÑк"
@@ -1876,13 +1948,13 @@ 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"
+"Ð¡Ð¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ домену. Імена, Ñкі зіÑтавлено цьому домену, ніколи "
+"не переÑилаютьÑÑ Ñ– вирізнÑÑŽÑ‚ÑŒÑÑ Ñ‚Ñ–Ð»ÑŒÐºÐ¸ з файлу DHCP (/etc/config/dhcp) або "
+"файлу hosts (/etc/hosts)"
msgid "Local domain suffix appended to DHCP names and hosts file entries"
msgstr ""
@@ -1896,7 +1968,7 @@ msgid ""
"Localise hostname depending on the requesting subnet if multiple IPs are "
"available"
msgstr ""
-"Локалізувати ім'Ñ Ñ…Ð¾Ñта залежно від запитуючої підмережі, Ñкщо доÑтупні "
+"Локалізувати Ñ–Ð¼â€™Ñ Ñ…Ð¾Ñта залежно від запитуючої підмережі, Ñкщо доÑтупно "
"кілька IP-адреÑ"
msgid "Localise queries"
@@ -1924,7 +1996,7 @@ msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
msgid "Lowest leased address as offset from the network address."
-msgstr "Ðайнижча орендована адреÑа"
+msgstr "Ðайнижча орендована адреÑа."
msgid "MAC-Address"
msgstr "MAC-адреÑа"
@@ -1988,34 +2060,34 @@ msgid "Mbit/s"
msgstr "Мбіт/Ñ"
msgid "Memory"
-msgstr "Пам'ÑÑ‚ÑŒ"
+msgstr "Пам’ÑÑ‚ÑŒ"
msgid "Memory usage (%)"
-msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ð°Ð¼'ÑÑ‚Ñ–, %"
+msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ð°Ð¼â€™ÑÑ‚Ñ–, %"
msgid "Mesh Id"
-msgstr ""
+msgstr "Mesh Id"
msgid "Metric"
msgstr "Метрика"
msgid "Mirror monitor port"
-msgstr ""
+msgstr "Дзеркало порту диÑпетчера"
msgid "Mirror source port"
-msgstr ""
+msgstr "Дзеркало вихідного порту"
msgid "Missing protocol extension for proto %q"
msgstr "ВідÑутні Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ñƒ %q"
msgid "Mobility Domain"
-msgstr ""
+msgstr "Домен мобільноÑÑ‚Ñ–"
msgid "Mode"
msgstr "Режим"
msgid "Model"
-msgstr ""
+msgstr "Модель"
msgid "Modem device"
msgstr "Модем"
@@ -2024,7 +2096,7 @@ msgid "Modem init timeout"
msgstr "Тайм-аут ініціалізації модему"
msgid "Monitor"
-msgstr "Монітор"
+msgstr "ДиÑпетчер"
msgid "Mount Entry"
msgstr "Вхід монтуваннÑ"
@@ -2036,20 +2108,20 @@ msgid "Mount Points"
msgstr "Точки монтуваннÑ"
msgid "Mount Points - Mount Entry"
-msgstr "Точки Ð¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ - ЗапиÑи монтуваннÑ"
+msgstr "Точки Ð¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ â€“ ЗапиÑи монтуваннÑ"
msgid "Mount Points - Swap Entry"
-msgstr "Точки Ð¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ - Вхід довантаженнÑ"
+msgstr "Точки Ð¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ â€“ Вхід Ñвопу"
msgid ""
"Mount Points define at which point a memory device will be attached to the "
"filesystem"
msgstr ""
-"Точки Ð¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°ÑŽÑ‚ÑŒ, до Ñкої точки приÑтрою пам'ÑÑ‚Ñ– буде прикріплена "
-"файлова ÑиÑтема"
+"Точки Ð¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°ÑŽÑ‚ÑŒ, до Ñкої точки приÑтрою пам’ÑÑ‚Ñ– буде прикріплено "
+"файлову ÑиÑтему"
msgid "Mount filesystems not specifically configured"
-msgstr ""
+msgstr "Монтувати не конкретно налаштовані файлові ÑиÑтеми"
msgid "Mount options"
msgstr "Опції монтуваннÑ"
@@ -2058,10 +2130,10 @@ msgid "Mount point"
msgstr "Точка монтуваннÑ"
msgid "Mount swap not specifically configured"
-msgstr ""
+msgstr "Монтувати не конкретно налаштований Ñвоп"
msgid "Mounted file systems"
-msgstr "Змонтовані файлові ÑиÑтеми"
+msgstr "Змонтовано файлові ÑиÑтеми"
msgid "Move down"
msgstr "Вниз"
@@ -2091,19 +2163,16 @@ msgid "NT Domain"
msgstr ""
msgid "NTP server candidates"
-msgstr "Кандидати Ð´Ð»Ñ Ñинхронізації NTP-Ñервера"
-
-msgid "NTP sync time-out"
-msgstr ""
+msgstr "Кандидати Ð´Ð»Ñ Ñинхронізації Ñервера NTP"
msgid "Name"
-msgstr "Ім'Ñ"
+msgstr "Ім’Ñ"
msgid "Name of the new interface"
-msgstr "Ім'Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ інтерфейÑу"
+msgstr "Ð†Ð¼â€™Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ інтерфейÑу"
msgid "Name of the new network"
-msgstr "Ðазва (ім'Ñ) нової мережі"
+msgstr "Ðазва (ім’Ñ) нової мережі"
msgid "Navigation"
msgstr "ÐавігаціÑ"
@@ -2127,7 +2196,7 @@ msgid "Next »"
msgstr "ÐаÑтупний »"
msgid "No DHCP Server configured for this interface"
-msgstr "Ðемає DHCP-Ñервера, наÑтроєного Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ інтерфейÑу"
+msgstr "Ðемає DHCP-Ñервера, налаштованого Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ інтерфейÑу"
msgid "No NAT-T"
msgstr ""
@@ -2145,10 +2214,10 @@ msgid "No negative cache"
msgstr "ÐÑ–Ñких негативних кешувань"
msgid "No network configured on this device"
-msgstr "Ðа цьому приÑтрої нема наÑтроєної мережі"
+msgstr "Ðа цьому приÑтрої немає налаштованої мережі"
msgid "No network name specified"
-msgstr "Ім'Ñ Ð¼ÐµÑ€ÐµÐ¶Ñ– не визначене"
+msgstr "Ð†Ð¼â€™Ñ Ð¼ÐµÑ€ÐµÐ¶Ñ– не визначено"
msgid "No package lists available"
msgstr "Ðемає доÑтупних ÑпиÑків пакетів"
@@ -2160,22 +2229,22 @@ msgid "No rules in this chain"
msgstr "У цьму ланцюжку нема правил"
msgid "No zone assigned"
-msgstr "Зона не призначена"
+msgstr "Зону не призначено"
msgid "Noise"
msgstr "Шум"
msgid "Noise Margin (SNR)"
-msgstr ""
+msgstr "Ð¡Ð¿Ñ–Ð²Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ñигнал/шум"
msgid "Noise:"
msgstr "Шум:"
msgid "Non Pre-emtive CRC errors (CRC_P)"
-msgstr ""
+msgstr "Ðе запобіжні помилки CRC (CRC_P)"
msgid "Non-wildcard"
-msgstr ""
+msgstr "Без шаблону заміни"
msgid "None"
msgstr "Жоден"
@@ -2187,16 +2256,16 @@ msgid "Not Found"
msgstr "Ðе знайдено"
msgid "Not associated"
-msgstr "Ðе пов'Ñзаний"
+msgstr "Ðе пов’Ñзаний"
msgid "Not connected"
msgstr "Ðе підключено"
msgid "Note: Configuration files will be erased."
-msgstr "Примітка: конфігураційні файли будуть видалені."
+msgstr "Примітка: конфігураційні файли буде видалено."
msgid "Note: interface name length"
-msgstr ""
+msgstr "Примітка: довжина імені інтерфейÑу"
msgid "Notice"
msgstr "ПопередженнÑ"
@@ -2205,7 +2274,7 @@ msgid "Nslookup"
msgstr "DNS-запит"
msgid "Number of cached DNS entries (max is 10000, 0 is no caching)"
-msgstr ""
+msgstr "КількіÑÑ‚ÑŒ кешованих запиÑів DNS (макÑ. - 10000, 0 - без кешуваннÑ)"
msgid "OK"
msgstr "OK"
@@ -2214,10 +2283,13 @@ msgid "OPKG-Configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ OPKG"
msgid "Obfuscated Group Password"
-msgstr ""
+msgstr "ОбфуÑований груповий пароль"
msgid "Obfuscated Password"
-msgstr ""
+msgstr "ОбфуÑований пароль"
+
+msgid "Obtain IPv6-Address"
+msgstr "Отримати IPv6-адреÑу"
msgid "Off-State Delay"
msgstr "Затримка Off-State"
@@ -2230,18 +2302,18 @@ msgid ""
"<samp>INTERFACE.VLANNR</samp> (<abbr title=\"for example\">e.g.</abbr>: "
"<samp>eth0.1</samp>)."
msgstr ""
-"Ðа цій Ñторінці ви можете наÑтроїти мережеві інтерфейÑи. Ви можете "
-"об'єднатиати кілька інтерфейÑів моÑтом, відзначивши поле \"Об'єднати "
-"інтерфейÑи в міÑÑ‚\" та ввівши імена кількох мережевих інтерфейÑів, розділені "
-"пробілами. Також ви можете викориÑтовувати <abbr title=\"Virtual Local Area "
-"Network — віртуальна локальна комп'ютерна мережа\">VLAN</abbr>-Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ "
+"Ðа цій Ñторінці ви можете налаштувати мережеві інтерфейÑи. Ви можете "
+"об’єднати кілька інтерфейÑів моÑтом, відзначивши поле \"Об’єднати інтерфейÑи "
+"в міÑÑ‚\" та ввівши імена кількох мережевих інтерфейÑів, розділені пробілами. "
+"Також ви можете викориÑтовувати <abbr title=\"Virtual Local Area Network — "
+"віртуальна локальна комп’ютерна мережа\">VLAN</abbr>-Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ "
"<samp>ІÐТЕРФЕЙС.ÐОМЕР_VLAN</samp> (наприклад, <samp>eth0.1</samp>)."
msgid "On-State Delay"
msgstr "Затримка On-State"
msgid "One of hostname or mac address must be specified!"
-msgstr "Має бути вказане одне з двох - ім'Ñ Ð²ÑƒÐ·Ð»Ð° або ÐœÐС-адреÑа!"
+msgstr "Має бути зазначено одне з двох – Ñ–Ð¼â€™Ñ Ð²ÑƒÐ·Ð»Ð° або ÐœÐС-адреÑа!"
msgid "One or more fields contain invalid values!"
msgstr "Одне або декілька полів міÑÑ‚ÑÑ‚ÑŒ неприпуÑтимі значеннÑ!"
@@ -2250,7 +2322,7 @@ msgid "One or more invalid/required values on tab"
msgstr ""
msgid "One or more required fields have no value!"
-msgstr "Одне або декілька обов'Ñзкових полів не мають значень!"
+msgstr "Одне або декілька обов’Ñзкових полів не мають значень!"
msgid "Open list..."
msgstr "Відкрити ÑпиÑок..."
@@ -2259,7 +2331,7 @@ msgid "OpenConnect (CISCO AnyConnect)"
msgstr ""
msgid "Operating frequency"
-msgstr ""
+msgstr "Робоча чаÑтота"
msgid "Option changed"
msgstr "ÐžÐ¿Ñ†Ñ–Ñ Ð·Ð¼Ñ–Ð½ÐµÐ½Ð°"
@@ -2268,18 +2340,14 @@ msgid "Option removed"
msgstr "ÐžÐ¿Ñ†Ñ–Ñ Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð°"
msgid "Optional"
-msgstr ""
-
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
+msgstr "Ðеобов’Ñзково"
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
msgstr ""
+"Ðеобов’Ñзково. 32-бітна мітка Ð´Ð»Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ñ… зашифрованих пакетів. Введіть "
+"Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð² шіÑтнадцÑтковому форматі, починаючи з <code>0x</code>."
msgid ""
"Optional. Allowed values: 'eui64', 'random', fixed value like '::1' or "
@@ -2287,25 +2355,34 @@ msgid ""
"server, use the suffix (like '::1') to form the IPv6 address ('a:b:c:d::1') "
"for the interface."
msgstr ""
+"Ðеобов’Ñзково. ПрипуÑтимі значеннÑ: 'eui64', 'random' чи фікÑоване значеннÑ, "
+"наприклад '::1' або '::1:2'. Якщо Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ IPv6 (наприклад, 'a:b:c:d::') "
+"отримано від Ñервера делегуваннÑ, Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ IPv6-адреÑи інтерфейÑу "
+"(наприклад, 'a:b:c:d::1') викориÑтовуйте ÑÑƒÑ„Ñ–ÐºÑ ('::1')."
msgid ""
"Optional. Base64-encoded preshared key. Adds in an additional layer of "
"symmetric-key cryptography for post-quantum resistance."
msgstr ""
+"Ðеобов’Ñзково. Заздалегідь уÑтановлений Base64-кодований Ñпільний ключ. "
+"Ð”Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ð¾ Ñ€Ñ–Ð²Ð½Ñ ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–Ð· Ñиметричним ключем Ð´Ð»Ñ Ð¿Ð¾ÑÑ‚-"
+"квантової ÑтійкоÑÑ‚Ñ–."
msgid "Optional. Create routes for Allowed IPs for this peer."
-msgstr ""
+msgstr "Ðеобов’Ñзково. Створити Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ вузла маршрути Ð´Ð»Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»ÐµÐ½Ð¸Ñ… IP."
msgid ""
"Optional. Host of peer. Names are resolved prior to bringing up the "
"interface."
msgstr ""
+"Ðеобов’Ñзково. ХоÑÑ‚ вузла. Імена буде виділено до піднÑÑ‚Ñ‚Ñ Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñу"
msgid "Optional. Maximum Transmission Unit of tunnel interface."
msgstr ""
+"Ðеобов’Ñзково. МакÑимальний блок передаваних даних тунельного інтерфейÑу."
msgid "Optional. Port of peer."
-msgstr ""
+msgstr "Ðеобов’Ñзково. Порт вузла."
msgid ""
"Optional. Seconds between keep alive messages. Default is 0 (disabled). "
@@ -2314,6 +2391,8 @@ msgstr ""
msgid "Optional. UDP port used for outgoing and incoming packets."
msgstr ""
+"Ðеобов’Ñзково. UDP-порт, Ñкий викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ñ… та вхідних "
+"пакетів."
msgid "Options"
msgstr "Опції"
@@ -2328,7 +2407,7 @@ msgid "Outbound:"
msgstr "Вихідний:"
msgid "Output Interface"
-msgstr ""
+msgstr "Вихідний інтерфейÑ"
msgid "Override MAC address"
msgstr "Перевизначити MAC-адреÑу"
@@ -2337,13 +2416,13 @@ msgid "Override 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 "ÐŸÐµÑ€ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÑˆÐ»ÑŽÐ·Ñƒ у відповідÑÑ… DHCP"
@@ -2369,7 +2448,7 @@ msgid "PAP/CHAP password"
msgstr "Пароль PAP/CHAP"
msgid "PAP/CHAP username"
-msgstr "Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача PAP/CHAP"
+msgstr "Ð†Ð¼â€™Ñ ÐºÐ¾Ñ€Ð¸Ñтувача PAP/CHAP"
msgid "PID"
msgstr "<abbr title=\"Process Identifier — Ідентифікатор процеÑу\">PID</abbr>"
@@ -2380,7 +2459,7 @@ msgstr ""
"номер\">>PIN</abbr>"
msgid "PMK R1 Push"
-msgstr ""
+msgstr "ÐŸÑ€Ð¾ÑˆÑ‚Ð¾Ð²Ñ…ÑƒÐ²Ð°Ð½Ñ PMK R1"
msgid "PPP"
msgstr "PPP"
@@ -2434,13 +2513,13 @@ msgid "Password of Private Key"
msgstr "Пароль закритого ключа"
msgid "Password of inner Private Key"
-msgstr ""
+msgstr "Пароль внутрішнього закритого ключа"
msgid "Password successfully changed!"
msgstr "Пароль уÑпішно змінено!"
msgid "Password2"
-msgstr ""
+msgstr "Пароль2"
msgid "Path to CA-Certificate"
msgstr "ШлÑÑ… до центру Ñертифікції"
@@ -2452,25 +2531,25 @@ msgid "Path to Private Key"
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 "Запит IP-адреÑи призначеннÑ"
msgid "Peers"
-msgstr ""
+msgstr "Піри"
msgid "Perfect Forward Secrecy"
-msgstr ""
+msgstr "Perfect Forward Secrecy"
msgid "Perform reboot"
msgstr "Виконати перезавантаженнÑ"
@@ -2479,7 +2558,7 @@ msgid "Perform reset"
msgstr "Відновити"
msgid "Persistent Keep Alive"
-msgstr ""
+msgstr "Завжди тримати ввімкненим"
msgid "Phy Rate:"
msgstr "Фізична швидкіÑÑ‚ÑŒ:"
@@ -2494,7 +2573,7 @@ msgid "Pkts."
msgstr "пакетів"
msgid "Please enter your username and password."
-msgstr "Введіть ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача Ñ– пароль"
+msgstr "Введіть Ñ–Ð¼â€™Ñ ÐºÐ¾Ñ€Ð¸Ñтувача Ñ– пароль."
msgid "Policy"
msgstr "Політика"
@@ -2503,25 +2582,25 @@ msgid "Port"
msgstr "Порт"
msgid "Port status:"
-msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð¿Ð¾Ñ€Ñ‚Ñƒ:"
+msgstr "Стан порту:"
msgid "Power Management Mode"
-msgstr ""
+msgstr "Режим ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñм"
msgid "Pre-emtive CRC errors (CRCP_P)"
-msgstr ""
+msgstr "Попереджувати помилки CRC (CRCP_P)"
msgid "Prefer LTE"
-msgstr ""
+msgstr "Переважно LTE"
msgid "Prefer UMTS"
-msgstr ""
+msgstr "Переважно UMTS"
msgid "Prefix Delegated"
-msgstr ""
+msgstr "Делеговано префікÑ"
msgid "Preshared Key"
-msgstr ""
+msgstr "Заздалегідь уÑтановлений Ñпільний ключ"
msgid ""
"Presume peer to be dead after given amount of LCP echo failures, use 0 to "
@@ -2531,10 +2610,10 @@ msgstr ""
"пакета LCP, викориÑтовуйте 0, щоб ігнорувати невдачі"
msgid "Prevent listening on these interfaces."
-msgstr ""
+msgstr "Перешкоджати проÑлуховуванню цих інтерфейÑів."
msgid "Prevents client-to-client communication"
-msgstr "Запобігає зв'Ñзкам клієнт-клієнт"
+msgstr "Перешкоджати Ñпілкуванню клієнт-клієнт"
msgid "Prism2/2.5/3 802.11b Wireless Controller"
msgstr "Бездротовий 802.11b контролер Prism2/2.5/3"
@@ -2567,10 +2646,10 @@ msgid "Protocol support is not installed"
msgstr "Підтримка протоколу не інÑтальована"
msgid "Provide NTP server"
-msgstr "Забезпечувати NTP-Ñервер"
+msgstr "Забезпечувати Ñервер NTP"
msgid "Provide new network"
-msgstr "ПоÑтачити нову мережу"
+msgstr "Укажіть нову мережу"
msgid "Pseudo Ad-Hoc (ahdemo)"
msgstr "ПÑевдо Ad-Hoc (ahdemo)"
@@ -2588,10 +2667,10 @@ msgid "Quality"
msgstr "ЯкіÑÑ‚ÑŒ"
msgid "R0 Key Lifetime"
-msgstr ""
+msgstr "ТриваліÑÑ‚ÑŒ Ð¶Ð¸Ñ‚Ñ‚Ñ ÐºÐ»ÑŽÑ‡Ð° R0"
msgid "R1 Key Holder"
-msgstr ""
+msgstr "ВлаÑник ключа R1"
msgid "RFC3947 NAT-T mode"
msgstr ""
@@ -2630,24 +2709,23 @@ msgid ""
"Read <code>/etc/ethers</code> to configure the <abbr title=\"Dynamic Host "
"Configuration Protocol\">DHCP</abbr>-Server"
msgstr ""
-"Читати <code>/etc/ethers</code> Ð´Ð»Ñ Ð½Ð°ÑÑ‚Ñ€Ð¾ÑŽÐ²Ð°Ð½Ð½Ñ <abbr title=\"Dynamic Host "
+"Читати <code>/etc/ethers</code> Ð´Ð»Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ <abbr title=\"Dynamic Host "
"Configuration Protocol — Протокол динамічної конфігурації вузла\">DHCP</"
"abbr>-Ñервера"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
-"ДійÑно видалити цей інтерфейÑ? СкаÑувати Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾!\n"
-"Ви можете втратити доÑтуп до цього приÑтрою, Ñкщо ви підключені через цей "
-"інтерфейÑ."
+"ДійÑно видалити цей інтерфейÑ? СкаÑувати Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾! Ви можете "
+"втратити доÑтуп до цього приÑтрою, Ñкщо Ð²Ð°Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¾ через цей інтерфейÑ."
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
-"ДійÑно видалити цю бездротову мережу? СкаÑувати Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾!\n"
-"Ви можете втратити доÑтуп до цього приÑтрою, Ñкщо ви підключені через цю "
+"ДійÑно видалити цю бездротову мережу? СкаÑувати Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾! Ви "
+"можете втратити доÑтуп до цього приÑтрою, Ñкщо Ð²Ð°Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¾ через цю "
"мережу."
msgid "Really reset all changes?"
@@ -2655,20 +2733,18 @@ msgstr "ДійÑно Ñкинути вÑÑ– зміни?"
#, fuzzy
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
-"ДійÑно вимкнути мережу?\n"
-"Ви можете втратити доÑтуп до цього приÑтрою, Ñкщо ви підключені через цю "
-"мережу."
+"ДійÑно вимкнути мережу? Ви можете втратити доÑтуп до цього приÑтрою, Ñкщо "
+"Ð²Ð°Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¾ через цю мережу."
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
-"ДійÑно вимкнути Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ \"%s\"?\n"
-"Ви можете втратити доÑтуп до цього приÑтрою, Ñкщо ви підключені через цей "
-"інтерфейÑ."
+"ДійÑно вимкнути Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ \"%s\"? Ви можете втратити доÑтуп до цього "
+"приÑтрою, Ñкщо Ð²Ð°Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¾ через цей інтерфейÑ."
msgid "Really switch protocol?"
msgstr "ДійÑно змінити протокол?"
@@ -2689,10 +2765,10 @@ msgid "Realtime Wireless"
msgstr "Бездротові мережі у реальному чаÑÑ–"
msgid "Reassociation Deadline"
-msgstr ""
+msgstr "Кінцевий термін реаÑÑоціації"
msgid "Rebind protection"
-msgstr "ЗахиÑÑ‚ від переприв'Ñзки"
+msgstr "ЗахиÑÑ‚ від переприв’Ñзки"
msgid "Reboot"
msgstr "ПерезавантаженнÑ"
@@ -2704,7 +2780,7 @@ msgid "Reboots the operating system of your device"
msgstr "Перезавантажити операційну ÑиÑтему вашого приÑтрою"
msgid "Receive"
-msgstr "Прийом"
+msgstr "ПрийманнÑ"
msgid "Receiver Antenna"
msgstr "Ðнтена приймача"
@@ -2752,25 +2828,22 @@ msgid "Replace wireless configuration"
msgstr "Замінити конфігурацію бездротової мережі"
msgid "Request IPv6-address"
-msgstr ""
+msgstr "Запит IPv6-адреÑи"
msgid "Request IPv6-prefix of length"
-msgstr ""
-
-msgid "Require TLS"
-msgstr ""
+msgstr "Запит довжини IPv6-префікÑу"
msgid "Required"
-msgstr ""
+msgstr "Потрібно"
msgid "Required for certain ISPs, e.g. Charter with DOCSIS 3"
msgstr "Потрібно Ð´Ð»Ñ Ð´ÐµÑких провайдерів, наприклад, Charter із DOCSIS 3"
msgid "Required. Base64-encoded private key for this interface."
-msgstr ""
+msgstr "Потрібно. Base64-закодований закритий ключ Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ інтерфейÑу."
msgid "Required. Base64-encoded public key of peer."
-msgstr ""
+msgstr "Потрібно. Base64-закодований публічний ключ вузла."
msgid ""
"Required. IP addresses and prefixes that this peer is allowed to use inside "
@@ -2782,6 +2855,8 @@ msgid ""
"Requires the 'full' version of wpad/hostapd and support from the wifi driver "
"<br />(as of Feb 2017: ath9k and ath10k, in LEDE also mwlwifi and mt76)"
msgstr ""
+"Потребує \"повної\" верÑÑ–Ñ— wpad/hostapd та підтримки драйвером WiFi <br />"
+"(Ñтаном на лютий 2017 року: ath9k та ath10k, у LEDE також mwlwifi та mt76)"
msgid ""
"Requires upstream supports DNSSEC; verify unsigned domain responses really "
@@ -2816,8 +2891,17 @@ msgid "Reveal/hide password"
msgstr "Показати/приховати пароль"
msgid "Revert"
+msgstr "СкаÑувати"
+
+msgid "Revert changes"
msgstr "СкаÑувати зміни"
+msgid "Revert request failed with status <code>%h</code>"
+msgstr "СталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° запиту на ÑкаÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ñ– ÑтатуÑом <code>%h</code>"
+
+msgid "Reverting configuration…"
+msgstr "Відкат конфігурації…"
+
msgid "Root"
msgstr "Корінь"
@@ -2825,19 +2909,16 @@ msgid "Root directory for files served via TFTP"
msgstr "Кореневий каталог Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² TFTP"
msgid "Root preparation"
-msgstr ""
+msgstr "Підготовка Root"
msgid "Route Allowed IPs"
-msgstr ""
+msgstr "ÐœÐ°Ñ€ÑˆÑ€ÑƒÑ‚Ð¸Ð·Ð°Ñ†Ñ–Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»ÐµÐ½Ð¸Ñ… IP-адреÑ"
msgid "Route type"
-msgstr ""
-
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
+msgstr "Тип маршруту"
msgid "Router Advertisement-Service"
-msgstr ""
+msgstr "Служба оголошень маршрутизатора"
msgid "Router Password"
msgstr "Пароль маршрутизатора"
@@ -2861,14 +2942,6 @@ msgstr "Виконати перевірку файлової ÑиÑтеми"
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2896,9 +2969,6 @@ msgstr "Зберегти"
msgid "Save & Apply"
msgstr "Зберегти Ñ– заÑтоÑувати"
-msgid "Save &#38; Apply"
-msgstr "Зберегти Ñ– заÑтоÑувати"
-
msgid "Scan"
msgstr "Сканувати"
@@ -2912,7 +2982,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 "
@@ -2925,21 +2995,10 @@ msgid "Separate Clients"
msgstr "РозділÑти клієнтів"
msgid "Server Settings"
-msgstr "ÐаÑтройки Ñервера"
-
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
+msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñервера"
msgid "Service Name"
-msgstr "Ðазва (ім'Ñ) ÑервіÑу"
+msgstr "Ðазва (ім’Ñ) ÑервіÑу"
msgid "Service Type"
msgstr "Тип ÑервіÑу"
@@ -2951,13 +3010,14 @@ msgid ""
"Set interface properties regardless of the link carrier (If set, carrier "
"sense events do not invoke hotplug handlers)."
msgstr ""
+"ВлаÑтивоÑÑ‚Ñ– інтерфейÑу вÑтановлюютьÑÑ Ð½ÐµÐ·Ð°Ð»ÐµÐ¶Ð½Ð¾ від каналу зв’Ñзку (Ñкщо "
+"позначено, обробник Ð°Ð²Ñ‚Ð¾Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ викликаєтьÑÑ Ð¿Ñ€Ð¸ змінах)."
-#, fuzzy
msgid "Set up Time Synchronization"
-msgstr "ÐаÑтройки Ñинхронізації чаÑу"
+msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñинхронізації чаÑу"
msgid "Setup DHCP Server"
-msgstr "ÐаÑтройки DHCP-Ñервера"
+msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ DHCP-Ñервера"
msgid "Severely Errored Seconds (SES)"
msgstr ""
@@ -2990,7 +3050,7 @@ msgid "Size (.ipk)"
msgstr ""
msgid "Size of DNS query cache"
-msgstr ""
+msgstr "Розмір кешу запитів DNS"
msgid "Skip"
msgstr "ПропуÑтити"
@@ -3014,7 +3074,7 @@ msgid "Some fields are invalid, cannot save values!"
msgstr "ДеÑкі Ð¿Ð¾Ð»Ñ Ñ” неприпуÑтимими, неможливо зберегти значеннÑ!"
msgid "Sorry, the object you requested was not found."
-msgstr "Ðа жаль, об'єкт, Ñкий ви проÑили, не знайдено."
+msgstr "Ðа жаль, об’єкт, Ñкий ви проÑили, не знайдено."
msgid "Sorry, the server encountered an unexpected error."
msgstr "Ðа жаль, на Ñервері ÑталаÑÑ Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° помилка."
@@ -3024,9 +3084,9 @@ msgid ""
"flashed manually. Please refer to the wiki for device specific install "
"instructions."
msgstr ""
-"Ðа жаль, автоматичне Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÑиÑтеми не підтримуєтьÑÑ. Ðовий образ "
-"прошивки повинен бути залитий вручну. ЗвернітьÑÑ Ð´Ð¾ Wiki за інÑтрукцією з "
-"інÑталÑції Ð´Ð»Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ð¾Ð³Ð¾ приÑтрою."
+"Ðа жаль, Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÑиÑтеми не підтримуєтьÑÑ. Ðовий образ мікропрограми "
+"Ñлід прошити вручну. ЗвернітьÑÑ Ð´Ð¾ Wiki за інÑтрукцією з інÑталÑції "
+"Ð´Ð»Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ð¾Ð³Ð¾ приÑтрою."
msgid "Sort"
msgstr "СортуваннÑ"
@@ -3034,9 +3094,6 @@ msgstr "СортуваннÑ"
msgid "Source"
msgstr "Джерело"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr "Визначає каталог, до Ñкого приєднаний приÑтрій"
@@ -3079,6 +3136,9 @@ msgstr "ЗапуÑтити"
msgid "Start priority"
msgstr "Стартовий пріоритет"
+msgid "Starting configuration apply…"
+msgstr "ЗаÑтоÑовуєтьÑÑ Ñтартова конфігураціÑ…"
+
msgid "Startup"
msgstr "ЗапуÑк"
@@ -3095,7 +3155,7 @@ msgid "Static Routes"
msgstr "Статичні маршрути"
msgid "Static address"
-msgstr "Статичні адреÑи"
+msgstr "Статична адреÑа"
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
@@ -3108,7 +3168,7 @@ msgstr ""
"орендою."
msgid "Status"
-msgstr "СтатуÑ"
+msgstr "Стан"
msgid "Stop"
msgstr "Зупинити"
@@ -3120,16 +3180,16 @@ msgid "Submit"
msgstr "ÐадіÑлати"
msgid "Suppress logging"
-msgstr ""
+msgstr "Блокувати журналюваннÑ"
msgid "Suppress logging of the routine operation of these protocols"
-msgstr ""
+msgstr "Блокувати Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»Ñƒ звичайної роботи цих протоколів"
msgid "Swap"
-msgstr ""
+msgstr "Своп"
msgid "Swap Entry"
-msgstr "Вхід довантаженнÑ"
+msgstr "Вхід Ñвоп"
msgid "Switch"
msgstr "Комутатор"
@@ -3143,12 +3203,14 @@ msgstr "Комутатор %q (%s)"
msgid ""
"Switch %q has an unknown topology - the VLAN settings might not be accurate."
msgstr ""
+"Комутатор %q має невідому топологію – параметри VLAN можуть бути "
+"неправильними."
msgid "Switch Port Mask"
-msgstr ""
+msgstr "МаÑка портів комутатора"
msgid "Switch VLAN"
-msgstr ""
+msgstr "VLAN комутатора"
msgid "Switch protocol"
msgstr "Протокол комутатора"
@@ -3175,7 +3237,7 @@ msgid "TCP:"
msgstr "TCP:"
msgid "TFTP Settings"
-msgstr "ÐаÑтройки TFTP"
+msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ TFTP"
msgid "TFTP server root"
msgstr "Корінь TFTP-Ñервера"
@@ -3206,11 +3268,11 @@ msgid ""
"multi-SSID capable). Per network settings like encryption or operation mode "
"are grouped in the <em>Interface Configuration</em>."
msgstr ""
-"Розділ <em>ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¸Ñтрою</em> охоплює фізичні параметри радіо-"
-"апаратних заÑобів, такі, Ñк канал, потужніÑÑ‚ÑŒ передавача або вибір антени, "
-"Ñкі Ñ” Ñпільними Ð´Ð»Ñ Ð²ÑÑ–Ñ… визначених бездротових мереж (Ñкщо радіо-апаратні "
+"Розділ <em>ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¸Ñтрою</em> охоплює фізичні параметри апаратних "
+"радіо-заÑобів, такі, Ñк канал, потужніÑÑ‚ÑŒ передавача або вибір антени, "
+"Ñкі Ñ” Ñпільними Ð´Ð»Ñ Ð²ÑÑ–Ñ… визначених бездротових мереж (Ñкщо апаратні радіо-"
"заÑоби здатні підтримувати кілька SSID). Параметри окремих мереж, такі, Ñк "
-"ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ режим роботи, згруповані в розділі <em>ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ "
+"ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ режим роботи, згруповано в розділі <em>ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ "
"інтерфейÑу</em>."
msgid ""
@@ -3218,7 +3280,7 @@ msgid ""
"component for working wireless configuration!"
msgstr ""
"Пакет <em>libiwinfo-lua</em> не інÑтальований. Щоб мати можливіÑÑ‚ÑŒ "
-"наÑтроювати безпровідні мережі, Ñлід інÑталювати цей компонент!"
+"налаштувати безпровідні мережі, Ñлід інÑталювати цей компонент!"
msgid ""
"The HE.net endpoint update configuration changed, you must now use the plain "
@@ -3232,29 +3294,46 @@ msgstr ""
msgid ""
"The IPv6 prefix assigned to the provider, usually ends with <code>::</code>"
msgstr ""
-"Призначений провайдеру IPv6-префікÑ, зазвичай закінчуєтьÑÑ Ð½Ð° <code>::</code>"
+"Призначений провайдером IPv6-префікÑ, зазвичай закінчуєтьÑÑ Ð½Ð° <code>::</"
+"code>"
msgid ""
"The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</"
"code> and <code>_</code>"
msgstr ""
-"Дозволені Ñимволи: <code>A-Z</code>, <code>a-z</code>, <code>0-9</code> та "
+"Дозволено Ñимволи: <code>A-Z</code>, <code>a-z</code>, <code>0-9</code> та "
"<code>_</code>"
msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+"ПриÑтрій недоÑÑжний протÑгом %d Ñекунд піÑÐ»Ñ Ð·Ð°ÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ñ‡Ñ–ÐºÑƒÑŽÑ‡Ð¸Ñ… змін, що "
+"призвело до Ð²Ñ–Ð´ÐºÐ¾Ñ‡ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— з міркувань безпеки. Проте, Ñкщо ви "
+"впевнені, що зміни конфігурації Ñ” правильними, заÑтоÑуйте неперевірену "
+"конфігурацію. Крім того, ви можете відхилити це Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ñ‚Ð° "
+"відредагувати зміни, перш ніж намагатиÑÑŒ заÑтоÑувати Ñ—Ñ… знову, або ж "
+"ÑкаÑувати вÑÑ– очікуючі зміни, щоб зберегти поточну робочу конфігурацію."
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
-msgstr "Файл приÑтрою пам'ÑÑ‚Ñ– або розділу (наприклад, <code>/dev/sda1</code>)"
+msgstr "Файл приÑтрою пам’ÑÑ‚Ñ– або розділу (наприклад, <code>/dev/sda1</code>)"
msgid ""
"The filesystem that was used to format the memory (<abbr title=\"for example"
"\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem\">ext3</abbr></"
"samp>)"
msgstr ""
-"Файлова ÑиÑтема, Ñка викориÑтовуватиметьÑÑ Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ð¼'ÑÑ‚Ñ– "
+"Файлова ÑиÑтема, Ñка викориÑтовуватиметьÑÑ Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ð¼â€™ÑÑ‚Ñ– "
"(наприклад, <samp><abbr title=\"Third Extended Filesystem\">ext3</abbr></"
"samp>)"
@@ -3263,29 +3342,26 @@ msgid ""
"compare them with the original file to ensure data integrity.<br /> Click "
"\"Proceed\" below to start the flash procedure."
msgstr ""
-"Образ завантажено. Ðижче наведено контрольну Ñуму Ñ– розмір файлу. ПорівнÑйте "
-"Ñ—Ñ… з вихідним файлом Ð´Ð»Ñ Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ Ñ†Ñ–Ð»Ñ–ÑноÑÑ‚Ñ– даних.<br /> ÐатиÑніть "
-"\"Продовжити\", щоб розпочати процедуру Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ÑˆÐ¸Ð²ÐºÐ¸."
-
-msgid "The following changes have been committed"
-msgstr "Ðижче наведені зміни були заÑтоÑовані"
+"Образ завантажено. Ðижче наведено контрольну Ñуму та розмір файлу. "
+"ПорівнÑйте Ñ—Ñ… з вихідним файлом, шоб переконатиÑÑ Ð² ціліÑноÑÑ‚Ñ– даних.<br /> "
+"ÐатиÑніть \"Продовжити\", щоб розпочати процедуру прошиваннÑ."
msgid "The following changes have been reverted"
-msgstr "Ðижче наведені зміни були ÑкаÑовані"
+msgstr "Ðаведені нижче зміни було ÑкаÑовано"
msgid "The following rules are currently active on this system."
-msgstr "У даний Ñ‡Ð°Ñ Ñƒ цій ÑиÑтемі активні такі правила."
+msgstr "Ðаразі в цій ÑиÑтемі активні такі правила."
msgid "The given network name is not unique"
-msgstr "Задане мережеве ім'Ñ Ð½Ðµ Ñ” унікальним"
+msgstr "Задане мережеве Ñ–Ð¼â€™Ñ Ð½Ðµ Ñ” унікальним"
#, fuzzy
msgid ""
"The hardware is not multi-SSID capable and the existing configuration will "
"be replaced if you proceed."
msgstr ""
-"ÐžÐ±Ð»Ð°Ð´Ð½Ð°Ð½Ð½Ñ Ð½Ðµ підтримує мульти-SSID Ñ–, Ñкщо ви продовжите, Ñ–Ñнуюча "
-"ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð±ÑƒÐ´Ðµ замінена."
+"ÐžÐ±Ð»Ð°Ð´Ð½Ð°Ð½Ð½Ñ Ð½Ðµ підтримує мульти-SSID Ñ–, Ñкщо ви продовжите, Ñ–Ñнуючу "
+"конфігурацію буде замінено."
msgid ""
"The length of the IPv4 prefix in bits, the remainder is used in the IPv6 "
@@ -3306,12 +3382,12 @@ msgid ""
"segments. Often there is by default one Uplink port for a connection to the "
"next greater network like the internet and other ports for a local network."
msgstr ""
-"Мережеві порти вашого приÑтрою можуть бути об'єднані у декілька <abbr title="
-"\"Virtual Local Area Network — віртуальна локальна комп'ютерна мережа"
-"\">VLAN</abbr>, у Ñких комп'ютери можуть напрÑму ÑпілкуватиÑÑ Ð¾Ð´Ð¸Ð½ з одним. "
-"<abbr title=\"Virtual Local Area Network — віртуальна локальна комп'ютерна "
+"Мережеві порти вашого приÑтрою може бути об’єднано у декілька <abbr title="
+"\"Virtual Local Area Network — віртуальна локальна комп’ютерна мережа"
+"\">VLAN</abbr>, у Ñких комп’ютери можуть напрÑму ÑпілкуватиÑÑ Ð¾Ð´Ð¸Ð½ з одним. "
+"<abbr title=\"Virtual Local Area Network — віртуальна локальна комп’ютерна "
"мережа\">VLAN</abbr> чаÑто викориÑтовуютьÑÑ Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð¼ÐµÑ€ÐµÐ¶Ñ– на окремі "
-"Ñегменти. Зазвичай один виcхідний порт викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð·'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· "
+"Ñегменти. Зазвичай один виcхідний порт викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· "
"більшою мережею, такою наприклад, Ñк Інтернет, а інші порти — Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ñ— "
"мережі."
@@ -3337,13 +3413,8 @@ msgid ""
msgstr ""
"СиÑтема перепрошиваєтьÑÑ.<br /> <strong>ÐЕ ВИМИКÐЙТЕ ЖИВЛЕÐÐЯ ПРИСТРОЮ!</"
"strong><br /> Зачекайте кілька хвилин перед тим, Ñк пробувати знову "
-"з'єднатиÑÑ. Залежно від ваших наÑтройок, можливо, вам треба буде оновити "
-"адреÑу вашого комп'ютера, щоб знову отримати доÑтуп до приÑтрою."
-
-msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
+"під’єднатиÑÑ. Залежно від налаштувань, можливо, треба буде оновити "
+"адреÑу вашого комп’ютера, щоб знову отримати доÑтуп до приÑтрою."
msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
@@ -3355,11 +3426,11 @@ msgstr ""
msgid "There are no active leases."
msgstr "Ðктивних оренд немає."
-msgid "There are no pending changes to apply!"
-msgstr "Ðемає жодних змін до заÑтоÑуваннÑ!"
+msgid "There are no changes to apply."
+msgstr "Ðемає жодних змін до заÑтоÑуваннÑ."
msgid "There are no pending changes to revert!"
-msgstr "Ðемає жодних змін до ÑкаÑуваннÑ!"
+msgstr "Ðемає жодних очікуючих змін до ÑкаÑуваннÑ!"
msgid "There are no pending changes!"
msgstr "Ðемає жодних очікуючих змін!"
@@ -3386,6 +3457,9 @@ msgid ""
"'server=1.2.3.4' fordomain-specific or full upstream <abbr title=\"Domain "
"Name System\">DNS</abbr> servers."
msgstr ""
+"Цей файл може міÑтити такі Ñ€Ñдки, Ñк 'server=/domain/1.2.3.4' або "
+"'server=1.2.3.4' Ð´Ð»Ñ Ð´Ð¾Ð¼ÐµÐ½-орієнтованих або повних виÑхідних <abbr title="
+"\"Domain Name System\">DNS</abbr>-Ñерверів."
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
@@ -3400,6 +3474,8 @@ msgid ""
"This is either the \"Update Key\" configured for the tunnel or the account "
"password if no update key has been configured"
msgstr ""
+"Це або \"Update Key\", Ñконфігурований Ð´Ð»Ñ Ñ‚ÑƒÐ½ÐµÐ»ÑŽ, або пароль облікового "
+"запиÑу, Ñкщо ключ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ðµ налаштовано"
msgid ""
"This is the content of /etc/rc.local. Insert your own commands here (in "
@@ -3412,8 +3488,8 @@ msgid ""
"This is the local endpoint address assigned by the tunnel broker, it usually "
"ends with <code>...:2/64</code>"
msgstr ""
-"Це локальна адреÑа кінцевої точки, приÑвоєна тунельним брокером, зазвичай "
-"закінчуєтьÑÑ Ð½Ð° <code>...:2/64</code>"
+"Це локальна адреÑа кінцевої точки, Ñку приÑвоєно тунельним брокером, "
+"вона зазвичай закінчуєтьÑÑ Ð½Ð° <code>…:2/64</code>"
msgid ""
"This is the only <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
@@ -3423,11 +3499,13 @@ msgstr ""
"динамічної конфігурації вузла\">DHCP</abbr> у локальній мережі"
msgid "This is the plain username for logging into the account"
-msgstr ""
+msgstr "Це звичайне Ñ–Ð¼â€™Ñ ÐºÐ¾Ñ€Ð¸Ñтувача Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ñƒ до облікового запиÑу"
msgid ""
"This is the prefix routed to you by the tunnel broker for use by clients"
msgstr ""
+"Це префікÑ, що надÑилаєтьÑÑ Ð´Ð¾ Ð²Ð°Ñ Ñ‚ÑƒÐ½ÐµÐ»ÑŒÐ½Ð¸Ð¼ брокером Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ "
+"клієнтами"
msgid "This is the system crontab in which scheduled tasks can be defined."
msgstr ""
@@ -3437,15 +3515,14 @@ msgstr ""
msgid ""
"This is usually the address of the nearest PoP operated by the tunnel broker"
msgstr ""
-"Зазвичай, це адреÑа найближчої точки приÑутноÑÑ‚Ñ–, що управлÑєтьÑÑ Ñ‚ÑƒÐ½ÐµÐ»Ð½Ð¸Ð¼ "
+"Зазвичай, це адреÑа найближчої точки приÑутноÑÑ‚Ñ–, що управлÑєтьÑÑ Ñ‚ÑƒÐ½ÐµÐ»ÑŒÐ½Ð¸Ð¼ "
"брокером"
msgid ""
"This list gives an overview over currently running system processes and "
"their status."
msgstr ""
-"У цьому ÑпиÑку наведені працюючі на даний момент ÑиÑтемні процеÑи та Ñ—Ñ… "
-"ÑтатуÑ."
+"У цьому ÑпиÑку наведено працюючі наразі ÑиÑтемні процеÑи та Ñ—Ñ… Ñтан."
msgid "This page gives an overview over currently active network connections."
msgstr "Ð¦Ñ Ñторінка надає оглÑд поточних активних мережних підключень."
@@ -3457,7 +3534,7 @@ msgid "Time Synchronization"
msgstr "Ð¡Ð¸Ð½Ñ…Ñ€Ð¾Ð½Ñ–Ð·Ð°Ñ†Ñ–Ñ Ñ‡Ð°Ñу"
msgid "Time Synchronization is not configured yet."
-msgstr "Ð¡Ð¸Ð½Ñ…Ñ€Ð¾Ð½Ñ–Ð·Ð°Ñ†Ñ–Ñ Ñ‡Ð°Ñу не наÑтроєна."
+msgstr "Синхронізацію чаÑу не налаштовано."
msgid "Timezone"
msgstr "ЧаÑовий поÑÑ"
@@ -3470,7 +3547,7 @@ msgstr ""
"архів резервної копії."
msgid "Tone"
-msgstr ""
+msgstr "Тоновий"
msgid "Total Available"
msgstr "УÑього доÑтупно"
@@ -3488,7 +3565,7 @@ msgid "Transmission Rate"
msgstr "ШвидкіÑÑ‚ÑŒ передаваннÑ"
msgid "Transmit"
-msgstr "Передача"
+msgstr "ПередаваннÑ"
msgid "Transmit Power"
msgstr "ПотужніÑÑ‚ÑŒ передавача"
@@ -3509,16 +3586,7 @@ msgid "Tunnel Interface"
msgstr "Ð†Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ñ‚ÑƒÐ½ÐµÐ»ÑŽ"
msgid "Tunnel Link"
-msgstr ""
-
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
+msgstr "ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñ‚ÑƒÐ½ÐµÐ»ÑŽ"
msgid "Tx-Power"
msgstr "ПотужніÑÑ‚ÑŒ передавача"
@@ -3539,7 +3607,7 @@ msgid "USB Device"
msgstr "USB-приÑтрій"
msgid "USB Ports"
-msgstr ""
+msgstr "USB-порт"
msgid "UUID"
msgstr "UUID"
@@ -3548,7 +3616,7 @@ msgid "Unable to dispatch"
msgstr "Ðе вдалоÑÑ Ð¾Ð¿Ñ€Ð°Ñ†ÑŽÐ²Ð°Ñ‚Ð¸ запит"
msgid "Unavailable Seconds (UAS)"
-msgstr ""
+msgstr "ÐедоÑтупні Ñекунди (<abbr title=\"Unavailable Seconds\">UAS</abbr>)"
msgid "Unknown"
msgstr "Ðевідомо"
@@ -3560,7 +3628,7 @@ msgid "Unmanaged"
msgstr "Ðекерований"
msgid "Unmount"
-msgstr ""
+msgstr "Демонтувати"
msgid "Unsaved Changes"
msgstr "Ðезбережені зміни"
@@ -3569,16 +3637,16 @@ msgid "Unsupported protocol type."
msgstr "Ðепідтримуваний тип протоколу."
msgid "Update lists"
-msgstr "Оновити ÑпиÑки..."
+msgstr "Оновити ÑпиÑки"
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-ÑуміÑний образ, щоб замінити поточну прошивку. Ð”Ð»Ñ "
-"Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ— конфігурації вÑтановіть прапорець \"Зберегти наÑтройки"
-"\" (потрібен ÑуміÑний образ прошивки)."
+"Відвантажити sysupgrade-ÑуміÑний образ, щоб замінити поточну мікропрограму. "
+"Ð”Ð»Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ— конфігурації вÑтановіть прапорець \"Зберегти "
+"налаштуваннÑ\" (потрібен ÑуміÑний образ мікропрограми)."
msgid "Upload archive..."
msgstr "Відвантажити архів..."
@@ -3608,16 +3676,16 @@ msgid "Use TTL on tunnel interface"
msgstr "ВикориÑтовувати на тунельному інтерфейÑÑ– TTL"
msgid "Use as external overlay (/overlay)"
-msgstr ""
+msgstr "ВикориÑтовувати Ñк зовнішній оверлей (/overlay)"
msgid "Use as root filesystem (/)"
-msgstr ""
+msgstr "ВикориÑтовувати Ñк кореневу файлову ÑиÑтему (/)"
msgid "Use broadcast flag"
msgstr "ВикориÑтовувати прапорець широкомовноÑÑ‚Ñ–"
msgid "Use builtin IPv6-management"
-msgstr ""
+msgstr "ВикориÑтовувати вбудоване ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ IPv6"
msgid "Use custom DNS servers"
msgstr "ВикориÑтовувати оÑобливі DNS-Ñервери"
@@ -3640,8 +3708,8 @@ msgid ""
msgstr ""
"ВикориÑтовуйте кнопку <em>Додати</em>, щоб додати новий Ð·Ð°Ð¿Ð¸Ñ Ð¾Ñ€ÐµÐ½Ð´Ð¸. "
"<em>MAC-адреÑа</em> ідентифікує вузол, <em>IPv4-адреÑа</em> визначає "
-"фікÑовану адреÑу, Ñка буде викориÑтовуватиÑÑ, а <em>Ðазва (ім'Ñ) вузла</em> "
-"призначає Ñимволічне ім'Ñ Ð²ÑƒÐ·Ð»Ð°."
+"фікÑовану адреÑу, Ñка буде викориÑтовуватиÑÑ, а <em>Ðазва (ім’Ñ) вузла</em> "
+"призначає Ñимволічне Ñ–Ð¼â€™Ñ Ð²ÑƒÐ·Ð»Ð°."
msgid "Used"
msgstr "ВикориÑтано"
@@ -3653,21 +3721,24 @@ msgid ""
"Used for two different purposes: RADIUS NAS ID and 802.11r R0KH-ID. Not "
"needed with normal WPA(2)-PSK."
msgstr ""
+"ВикориÑтовуєтьÑÑ Ð´Ð»Ñ Ð´Ð²Ð¾Ñ… різних цілей: RADIUS NAS ID Ñ– 802.11r <abbr "
+"title=\"ідентифікатор влаÑника ключа R0\">R0KH-ID</abbr>. Ðе потрібно за "
+"звичайного WPA(2)-PSK."
msgid "User certificate (PEM encoded)"
-msgstr ""
+msgstr "Сертифікат кориÑтувача (PEM-кодований)"
msgid "User key (PEM encoded)"
-msgstr ""
+msgstr "Ключ кориÑтувача (PEM-кодований)"
msgid "Username"
-msgstr "Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача"
+msgstr "Ð†Ð¼â€™Ñ ÐºÐ¾Ñ€Ð¸Ñтувача"
msgid "VC-Mux"
msgstr "VC-Mux"
msgid "VDSL"
-msgstr ""
+msgstr "VDSL"
msgid "VLANs on %q"
msgstr "VLAN на %q"
@@ -3676,35 +3747,29 @@ msgid "VLANs on %q (%s)"
msgstr "VLAN на %q (%s)"
msgid "VPN Local address"
-msgstr ""
+msgstr "Локальна адреÑа VPN"
msgid "VPN Local port"
-msgstr ""
+msgstr "Локальний порт VPN"
msgid "VPN Server"
msgstr "VPN-Ñервер"
msgid "VPN Server port"
-msgstr ""
+msgstr "Порт VPN-Ñервера"
msgid "VPN Server's certificate SHA1 hash"
-msgstr ""
+msgstr "SHA1-геш Ñертифіката VPN-Ñервера"
msgid "VPNC (CISCO 3000 (and others) VPN)"
-msgstr ""
+msgstr "VPNC (CISCO 3000 (та інш.) VPN)"
msgid "Vendor"
-msgstr ""
+msgstr "ПоÑтачальник"
msgid "Vendor Class to send when requesting DHCP"
msgstr "ÐšÐ»Ð°Ñ Ð¿Ð¾Ñтачальника Ð´Ð»Ñ Ð²Ñ–Ð´Ð¿Ñ€Ð°Ð²ÐºÐ¸ при запиті DHCP"
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr "Перевірте"
@@ -3724,7 +3789,7 @@ msgid "WEP passphrase"
msgstr "Парольна фраза WEP"
msgid "WMM Mode"
-msgstr "Режим WMM"
+msgstr "Режим <abbr title=\"Wi-Fi Multimedia\">WMM</abbr>"
msgid "WPA passphrase"
msgstr "Парольна фраза WPA"
@@ -3736,41 +3801,36 @@ msgstr ""
"WPA-ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” інÑталÑції <em>wpa_supplicant</em> (Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ "
"клієнта) або <em>hostapd</em> (Ð´Ð»Ñ Ð¢Ð¾Ñ‡ÐºÐ¸ доÑтупу та режиму ad-hoc)."
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr "Очікуємо, доки зміни наберуть чинноÑÑ‚Ñ–..."
msgid "Waiting for command to complete..."
msgstr "Очікуємо Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr "Чекаємо на заÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—â€¦ %d c"
+
msgid "Waiting for device..."
-msgstr ""
+msgstr "Очікуємо приÑтрій..."
msgid "Warning"
msgstr "ЗаÑтереженнÑ"
msgid "Warning: There are unsaved changes that will get lost on reboot!"
msgstr ""
+"ЗаÑтереженнÑ: Є незбережені зміни, Ñкі буде втрачено при перезавантаженні!"
msgid ""
"When using a PSK, the PMK can be generated locally without inter AP "
"communications"
msgstr ""
-
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
+"При викориÑтанні PSK, PMK може бути Ñтворений локально без взаємодії між AP"
msgid "Width"
-msgstr ""
+msgstr "Ширина"
msgid "WireGuard VPN"
-msgstr ""
+msgstr "WireGuard VPN"
msgid "Wireless"
msgstr "Бездротові мережі"
@@ -3788,19 +3848,19 @@ msgid "Wireless Security"
msgstr "Безпека бездротової мережі"
msgid "Wireless is disabled or not associated"
-msgstr "Бездротову мережу вимкнено або не пов'Ñзано"
+msgstr "Бездротову мережу вимкнено або не пов’Ñзано"
msgid "Wireless is restarting..."
msgstr "Бездротова мережа перезапуÑкаєтьÑÑ..."
msgid "Wireless network is disabled"
-msgstr "Бездротова мережа вимкнена"
+msgstr "Бездротову мережу вимкнено"
msgid "Wireless network is enabled"
-msgstr "Бездротова мережа ввімкнена"
+msgstr "Бездротову мережу ввімкнено"
msgid "Wireless restarted"
-msgstr "Бездротова мережа перезапущена"
+msgstr "Бездротову мережу перезапущено"
msgid "Wireless shut down"
msgstr "Бездротова мережа припинила роботу"
@@ -3809,7 +3869,7 @@ msgid "Write received DNS requests to syslog"
msgstr "ЗапиÑувати отримані DNS-запити до ÑиÑтемного журналу"
msgid "Write system log to file"
-msgstr ""
+msgstr "ЗапиÑувати cиÑтемний журнал до файлу"
msgid ""
"You can enable or disable installed init scripts here. Changes will applied "
@@ -3824,14 +3884,17 @@ msgstr ""
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgstr ""
-"Ви повинні увімкнути JavaScript у вашому браузері, або LuCI не буде "
-"працювати належним чином."
+"Вам Ñлід увімкнути JavaScript у вашому браузері, або LuCI не буде працювати "
+"належним чином."
msgid ""
"Your Internet Explorer is too old to display this page correctly. Please "
"upgrade it to at least version 7 or use another browser like Firefox, Opera "
"or Safari."
msgstr ""
+"Ваш Internet Explorer занадто Ñтарий, щоб правильно відобразити цю Ñторінку. "
+"Поновіть його, принаймні, до верÑÑ–Ñ— 7 або ÑкориÑтайтеÑÑŒ іншим браузером, "
+"таким Ñк Firefox, Opera або Safari."
msgid "any"
msgstr "будь-Ñкий"
@@ -3843,13 +3906,16 @@ msgid "baseT"
msgstr "baseT"
msgid "bridged"
-msgstr "зв'Ñзано"
+msgstr "зв’Ñзано"
+
+msgid "create"
+msgstr "Ñтворити"
msgid "create:"
msgstr "Ñтворити:"
msgid "creates a bridge over specified interface(s)"
-msgstr "Створити міÑÑ‚ через вказаний інтерфейÑ(и)"
+msgstr "Створює міÑÑ‚ через зазначені інтерфейÑи"
msgid "dB"
msgstr "дБ"
@@ -3861,7 +3927,7 @@ msgid "disable"
msgstr "вимкнено"
msgid "disabled"
-msgstr ""
+msgstr "вимкнено"
msgid "expired"
msgstr "минув"
@@ -3874,7 +3940,7 @@ msgstr ""
"Protocol — протокол динамічної конфігурації вузла\">DHCP</abbr>-оренди"
msgid "forward"
-msgstr "переÑлати"
+msgstr "переÑпрÑмувати"
msgid "full-duplex"
msgstr "повний дуплекÑ"
@@ -3889,7 +3955,7 @@ msgid "hidden"
msgstr "прихований"
msgid "hybrid mode"
-msgstr ""
+msgstr "гібридний режим"
msgid "if target is a network"
msgstr "Ñкщо мета — мережа"
@@ -3911,23 +3977,20 @@ msgstr ""
"Локальний <abbr title=\"Domain Name System — ÑиÑтема доменних імен\">DNS</"
"abbr>-файл"
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
-msgstr ""
+msgstr "хв."
msgid "no"
msgstr "ні"
msgid "no link"
-msgstr "нема з'єднаннÑ"
+msgstr "нема з’єднаннÑ"
msgid "none"
msgstr "нема нічого"
msgid "not present"
-msgstr ""
+msgstr "не приÑутній"
msgid "off"
msgstr "вимкнено"
@@ -3938,35 +4001,38 @@ msgstr "увімкнено"
msgid "open"
msgstr "відкрита"
+msgid "output"
+msgstr "вихід"
+
msgid "overlay"
-msgstr ""
+msgstr "оверлей"
msgid "random"
-msgstr ""
+msgstr "випадковий"
msgid "relay mode"
-msgstr ""
+msgstr "режим реле"
msgid "routed"
msgstr "ÑпрÑмовано"
msgid "server mode"
-msgstr ""
+msgstr "режим Ñервера"
msgid "stateful-only"
-msgstr ""
+msgstr "тільки ЗІ збереженнÑм Ñтану"
msgid "stateless"
-msgstr ""
+msgstr "БЕЗ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñтану"
msgid "stateless + stateful"
-msgstr ""
+msgstr "БЕЗ та ЗІ збереженнÑм Ñтану"
msgid "tagged"
-msgstr "з позначкою"
+msgstr "позначено"
msgid "time units (TUs / 1.024 ms) [1000-65535]"
-msgstr ""
+msgstr "одиниці чаÑу (TUs / 1.024 ms) [1000-65535]"
msgid "unknown"
msgstr "невідомий"
@@ -3978,106 +4044,13 @@ msgid "unspecified"
msgstr "не визначено"
msgid "unspecified -or- create:"
-msgstr "не визначено -або- Ñтворити"
+msgstr "не визначено -або- Ñтворити:"
msgid "untagged"
-msgstr "без позначки"
+msgstr "не позначено"
msgid "yes"
msgstr "так"
msgid "« Back"
msgstr "« Ðазад"
-
-#~ msgid "Action"
-#~ msgstr "ДіÑ"
-
-#~ msgid "Buttons"
-#~ msgstr "Кнопки"
-
-#~ msgid "Handler"
-#~ msgstr "Обробник"
-
-#~ msgid "Maximum hold time"
-#~ msgstr "МакÑимальний Ñ‡Ð°Ñ ÑƒÑ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ"
-
-#~ msgid "Minimum hold time"
-#~ msgstr "Мінімальний Ñ‡Ð°Ñ ÑƒÑ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ"
-
-#~ msgid "Path to executable which handles the button event"
-#~ msgstr "ШлÑÑ… до програми, Ñка оброблÑÑ” натиÑÐºÐ°Ð½Ð½Ñ ÐºÐ½Ð¾Ð¿ÐºÐ¸"
-
-#~ msgid "Specifies the button state to handle"
-#~ msgstr "Визначає Ñтан кнопки Ð´Ð»Ñ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸"
-
-#~ msgid "This page allows the configuration of custom button actions"
-#~ msgstr "Ð¦Ñ Ñторінка дозволÑÑ” наÑтроїти нетипові дії кнопки"
-
-#~ msgid "Leasetime"
-#~ msgstr "Ð§Ð°Ñ Ð¾Ñ€ÐµÐ½Ð´Ð¸"
-
-#~ msgid "AR Support"
-#~ msgstr "Підтримка AR"
-
-#~ msgid "Atheros 802.11%s Wireless Controller"
-#~ msgstr "Бездротовий 802.11%s контролер Atheros"
-
-#~ msgid "Background Scan"
-#~ msgstr "Ð¡ÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ фоновому режимі"
-
-#~ msgid "Compression"
-#~ msgstr "СтиÑненнÑ"
-
-#~ msgid "Disable HW-Beacon timer"
-#~ msgstr "Вимкнути таймер HW-Beacon"
-
-#~ msgid "Do not send probe responses"
-#~ msgstr "Ðе надÑилати відповіді на зондуваннÑ"
-
-#~ msgid "Fast Frames"
-#~ msgstr "Швидкі фрейми"
-
-#~ msgid "Maximum Rate"
-#~ msgstr "МакÑимальна швидкіÑÑ‚ÑŒ"
-
-#~ msgid "Minimum Rate"
-#~ msgstr "Мінімальна швидкіÑÑ‚ÑŒ"
-
-#~ msgid "Multicast Rate"
-#~ msgstr "ШвидкіÑÑ‚ÑŒ багатоадреÑного потоку"
-
-#~ msgid "Outdoor Channels"
-#~ msgstr "Зовнішні канали"
-
-#~ msgid "Regulatory Domain"
-#~ msgstr "РегулÑтивний домен"
-
-#~ msgid "Separate WDS"
-#~ msgstr "РозділÑти WDS"
-
-#~ msgid "Static WDS"
-#~ msgstr "Статичний WDS"
-
-#~ msgid "Turbo Mode"
-#~ msgstr "Режим Turbo"
-
-#~ msgid "XR Support"
-#~ msgstr "Підтримка XR"
-
-#~ msgid "An additional network will be created if you leave this unchecked."
-#~ msgstr "Якщо ви залишите це невибраним, буде Ñтворена додаткова мережа."
-
-#~ msgid "Join Network: Settings"
-#~ msgstr "ÐŸÑ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ мережі: ÐаÑтройки"
-
-#~ msgid "CPU"
-#~ msgstr "ЦП"
-
-#~ msgid "Port %d"
-#~ msgstr "Порт %d"
-
-#~ msgid "Port %d is untagged in multiple VLANs!"
-#~ msgstr "Порт %d нетегований у кількох VLAN-ах!"
-
-#~ msgid "VLAN Interface"
-#~ msgstr "VLAN-інтерфейÑ"
diff --git a/modules/luci-base/po/vi/base.po b/modules/luci-base/po/vi/base.po
index 888fc92bfe..0a2ccbf85a 100644
--- a/modules/luci-base/po/vi/base.po
+++ b/modules/luci-base/po/vi/base.po
@@ -49,6 +49,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr ""
@@ -166,9 +169,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -202,9 +202,6 @@ msgstr ""
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr ""
@@ -307,11 +304,6 @@ msgstr ""
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -390,11 +382,14 @@ msgstr ""
msgid "Any zone"
msgstr ""
-msgid "Apply"
-msgstr "Ãp dụng"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
-msgid "Applying changes"
-msgstr "Tiến hành thay đổi"
+msgid "Apply unchecked"
+msgstr ""
+
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -410,6 +405,9 @@ msgstr ""
msgid "Associated Stations"
msgstr ""
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -500,9 +498,6 @@ msgstr ""
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -571,12 +566,20 @@ msgstr "Thay đổi"
msgid "Changes applied."
msgstr "Thay đổi đã áp dụng"
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr ""
msgid "Channel"
msgstr "Kênh"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr ""
@@ -646,10 +649,13 @@ msgstr ""
msgid "Configuration"
msgstr "Cấu hình"
-msgid "Configuration applied."
+msgid "Configuration files will be kept."
msgstr ""
-msgid "Configuration files will be kept."
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
msgstr ""
msgid "Confirmation"
@@ -664,10 +670,13 @@ msgstr ""
msgid "Connection Limit"
msgstr "Giới hạn kết nối"
-msgid "Connection to server fails when TLS cannot be used"
+msgid "Connections"
msgstr ""
-msgid "Connections"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
msgstr ""
msgid "Country"
@@ -798,9 +807,6 @@ msgstr ""
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr ""
@@ -840,6 +846,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr ""
@@ -872,6 +881,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr ""
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr ""
@@ -1126,6 +1138,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr ""
@@ -1247,7 +1262,7 @@ msgstr ""
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1319,9 +1334,6 @@ msgstr "Hang Up"
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1379,7 +1391,7 @@ msgstr ""
msgid "IPv4 Firewall"
msgstr ""
-msgid "IPv4 WAN Status"
+msgid "IPv4 Upstream"
msgstr ""
msgid "IPv4 address"
@@ -1430,15 +1442,12 @@ msgstr ""
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
+msgid "IPv6 Upstream"
msgstr ""
msgid "IPv6 address"
msgstr ""
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -2014,9 +2023,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr ""
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr "Tên"
@@ -2140,6 +2146,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr ""
@@ -2191,12 +2200,6 @@ msgstr ""
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2548,12 +2551,12 @@ msgstr ""
"Configuration Protocol\">DHCP</abbr>-Server"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
@@ -2561,12 +2564,12 @@ msgid "Really reset all changes?"
msgstr ""
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
@@ -2657,9 +2660,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2718,6 +2718,15 @@ msgstr ""
msgid "Revert"
msgstr "Revert"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr ""
@@ -2733,9 +2742,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2761,14 +2767,6 @@ msgstr ""
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2796,9 +2794,6 @@ msgstr "LÆ°u"
msgid "Save & Apply"
msgstr "Lưu & áp dụng "
-msgid "Save &#38; Apply"
-msgstr ""
-
msgid "Scan"
msgstr "Scan"
@@ -2825,17 +2820,6 @@ msgstr "Cô lập đối tượng"
msgid "Server Settings"
msgstr ""
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr ""
@@ -2928,9 +2912,6 @@ msgstr ""
msgid "Source"
msgstr "Nguồn"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr ""
@@ -2969,6 +2950,9 @@ msgstr "Bắt đầu "
msgid "Start priority"
msgstr "Bắt đầu ưu tiên"
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr ""
@@ -3119,6 +3103,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3139,9 +3133,6 @@ msgid ""
"\"Proceed\" below to start the flash procedure."
msgstr ""
-msgid "The following changes have been committed"
-msgstr ""
-
msgid "The following changes have been reverted"
msgstr "Những thay đối sau đây đã được để trở vỠtình trạng cũ. "
@@ -3199,11 +3190,6 @@ msgstr ""
"máy tính để tiếp cận thiết bị một lần nữa, phụ thuộc vào cài đặt của bạn. "
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3213,7 +3199,7 @@ msgstr ""
msgid "There are no active leases."
msgstr ""
-msgid "There are no pending changes to apply!"
+msgid "There are no changes to apply."
msgstr ""
msgid "There are no pending changes to revert!"
@@ -3353,15 +3339,6 @@ msgstr ""
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr ""
@@ -3534,12 +3511,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr ""
@@ -3569,16 +3540,15 @@ msgid ""
"and ad-hoc mode) to be installed."
msgstr ""
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
@@ -3593,12 +3563,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3676,6 +3640,9 @@ msgstr ""
msgid "bridged"
msgstr ""
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr ""
@@ -3740,9 +3707,6 @@ msgstr ""
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "Tập tin <abbr title=\"Domain Name System\">DNS</abbr> địa phương"
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3767,6 +3731,9 @@ msgstr ""
msgid "open"
msgstr ""
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3818,6 +3785,12 @@ msgstr ""
msgid "« Back"
msgstr ""
+#~ msgid "Apply"
+#~ msgstr "Ãp dụng"
+
+#~ msgid "Applying changes"
+#~ msgstr "Tiến hành thay đổi"
+
#~ msgid "Action"
#~ msgstr "Action"
diff --git a/modules/luci-base/po/zh-cn/base.po b/modules/luci-base/po/zh-cn/base.po
index df6ce8b746..751593f68f 100644
--- a/modules/luci-base/po/zh-cn/base.po
+++ b/modules/luci-base/po/zh-cn/base.po
@@ -39,6 +39,9 @@ msgstr "-- æ ¹æ®æ ‡ç­¾åŒ¹é… --"
msgid "-- match by uuid --"
msgstr "-- æ ¹æ® UUID åŒ¹é… --"
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "1 分钟负载:"
@@ -162,9 +165,6 @@ msgstr "A43C + J43 + A43 + V43"
msgid "ADSL"
msgstr "ADSL"
-msgid "AICCU (SIXXS)"
-msgstr "AICCU (SIXXS)"
-
msgid "ANSI T1.413"
msgstr "ANSI T1.413"
@@ -200,9 +200,6 @@ msgstr "ATM 设备å·ç "
msgid "ATU-C System Vendor ID"
msgstr "ATU-C 系统供应商 ID"
-msgid "AYIYA"
-msgstr "AYIYA"
-
msgid "Access Concentrator"
msgstr "接入集中器"
@@ -305,13 +302,6 @@ msgstr "å…许 127.0.0.0/8 回环范围内的上行å“应,例如:RBL æœåŠ¡"
msgid "Allowed IPs"
msgstr "å…许的 IP"
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-"也请查看 SIXXS 上的<a href=\"https://www.sixxs.net/faq/connectivity/?"
-"faq=comparison\">隧é“对比</a>"
-
msgid "Always announce default router"
msgstr "总是通告默认路由"
@@ -390,11 +380,14 @@ msgstr "天线é…ç½®"
msgid "Any zone"
msgstr "ä»»æ„区域"
-msgid "Apply"
-msgstr "应用"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr "åº”ç”¨è¯·æ±‚å¤±è´¥ï¼ŒçŠ¶æ€ <code>%h</code>"
-msgid "Applying changes"
-msgstr "正在应用更改"
+msgid "Apply unchecked"
+msgstr "应用未选中"
+
+msgid "Architecture"
+msgstr "架构"
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -410,6 +403,9 @@ msgstr "将此åå…­è¿›åˆ¶å­ ID å‰ç¼€åˆ†é…给此接å£"
msgid "Associated Stations"
msgstr "已连接站点"
+msgid "Associations"
+msgstr "å…³è”æ•°"
+
msgid "Auth Group"
msgstr "认è¯ç»„"
@@ -500,9 +496,6 @@ msgstr "指定了错误的地å€ï¼"
msgid "Band"
msgstr "频宽"
-msgid "Behind NAT"
-msgstr "在 NAT 网络内"
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -571,7 +564,10 @@ msgid "Changes"
msgstr "修改数"
msgid "Changes applied."
-msgstr "更改已应用"
+msgstr "更改已应用。"
+
+msgid "Changes have been reverted."
+msgstr "更改已å–消。"
msgid "Changes the administrator password for accessing the device"
msgstr "修改访问设备的管ç†å‘˜å¯†ç "
@@ -579,6 +575,11 @@ msgstr "修改访问设备的管ç†å‘˜å¯†ç "
msgid "Channel"
msgstr "ä¿¡é“"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr "ä¿¡é“ %d 在 %s 监管区域内ä¸å¯ç”¨å¹¶å·²è‡ªåŠ¨è°ƒæ•´åˆ° %d。"
+
msgid "Check"
msgstr "检查"
@@ -655,12 +656,15 @@ msgstr ""
msgid "Configuration"
msgstr "é…ç½®"
-msgid "Configuration applied."
-msgstr "é…置已应用。"
-
msgid "Configuration files will be kept."
msgstr "é…置文件将被ä¿ç•™ã€‚"
+msgid "Configuration has been applied."
+msgstr "é…置已应用。"
+
+msgid "Configuration has been rolled back!"
+msgstr "é…置已回滚ï¼"
+
msgid "Confirmation"
msgstr "确认密ç "
@@ -673,12 +677,17 @@ msgstr "已连接"
msgid "Connection Limit"
msgstr "连接数é™åˆ¶"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr "当 TLS ä¸å¯ç”¨æ—¶ï¼Œä¸ŽæœåŠ¡å™¨è¿žæŽ¥å¤±è´¥"
-
msgid "Connections"
msgstr "连接"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+"应用é…置更改åŽï¼Œæ— æ³•é‡æ–°èŽ·å¾—对设备的访问æƒé™ã€‚如果您修改了网络相关设置"
+"如 IP 地å€æˆ–无线安全è¯ä¹¦ï¼Œåˆ™å¯èƒ½éœ€è¦é‡æ–°è¿žæŽ¥ã€‚"
+
msgid "Country"
msgstr "国家"
@@ -806,9 +815,6 @@ msgstr "默认网关"
msgid "Default is stateless + stateful"
msgstr "默认是无状æ€çš„ + 有状æ€çš„"
-msgid "Default route"
-msgstr "默认路由"
-
msgid "Default state"
msgstr "默认状æ€"
@@ -850,6 +856,9 @@ msgstr "设备正在é‡å¯..."
msgid "Device unreachable"
msgstr "无法连接到设备"
+msgid "Device unreachable!"
+msgstr "无法连接到设备ï¼"
+
msgid "Diagnostics"
msgstr "网络诊断"
@@ -884,6 +893,9 @@ msgstr "ç¦ç”¨ï¼ˆé»˜è®¤ï¼‰"
msgid "Discard upstream RFC1918 responses"
msgstr "丢弃 RFC1918 上行å“应数æ®"
+msgid "Dismiss"
+msgstr "解除"
+
msgid "Displaying only packages containing"
msgstr "åªæ˜¾ç¤ºæœ‰å†…容的软件包"
@@ -996,7 +1008,7 @@ msgstr "å¯ç”¨"
msgid ""
"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
"snooping"
-msgstr ""
+msgstr "å¯ç”¨ <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> 窥探"
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "å¼€å¯ <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
@@ -1056,7 +1068,7 @@ msgid "Enabled"
msgstr "å¯ç”¨"
msgid "Enables IGMP snooping on this bridge"
-msgstr ""
+msgstr "在此桥接上å¯ç”¨ IGMP 窥探"
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
@@ -1136,6 +1148,9 @@ msgstr ""
msgid "FT protocol"
msgstr "FT åè®®"
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr "在 %d 秒内确认应用失败,等待回滚..."
+
msgid "File"
msgstr "文件"
@@ -1257,10 +1272,10 @@ msgstr "空闲空间"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
-"有关 WireGuard 接å£å’Œ Peer 的更多信æ¯ï¼š<a href=\"http://wireguard.io"
-"\">wireguard.io</a>。"
+"有关 WireGuard 接å£å’Œ Peer 的更多信æ¯ï¼š<a href=\"http://wireguard.com"
+"\">wireguard.com</a>。"
msgid "GHz"
msgstr "GHz"
@@ -1331,9 +1346,6 @@ msgstr "挂起"
msgid "Header Error Code Errors (HEC)"
msgstr "请求头错误代ç é”™è¯¯ï¼ˆHEC)"
-msgid "Heartbeat"
-msgstr "心跳"
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1389,8 +1401,8 @@ msgstr "IPv4"
msgid "IPv4 Firewall"
msgstr "IPv4 防ç«å¢™"
-msgid "IPv4 WAN Status"
-msgstr "IPv4 WAN 状æ€"
+msgid "IPv4 Upstream"
+msgstr "IPv4 上游"
msgid "IPv4 address"
msgstr "IPv4 地å€"
@@ -1440,15 +1452,12 @@ msgstr "IPv6 设置"
msgid "IPv6 ULA-Prefix"
msgstr "IPv6 ULA å‰ç¼€"
-msgid "IPv6 WAN Status"
-msgstr "IPv6 WAN 状æ€"
+msgid "IPv6 Upstream"
+msgstr "IPv6 上游"
msgid "IPv6 address"
msgstr "IPv6 地å€"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr "绑定到隧é“本端的 IPv6 地å€ï¼ˆå¯é€‰ï¼‰"
-
msgid "IPv6 assignment hint"
msgstr "IPv6 分é…æ示"
@@ -2030,9 +2039,6 @@ msgstr "NT 域"
msgid "NTP server candidates"
msgstr "候选 NTP æœåŠ¡å™¨"
-msgid "NTP sync time-out"
-msgstr "NTP åŒæ­¥è¶…æ—¶"
-
msgid "Name"
msgstr "å称"
@@ -2156,6 +2162,9 @@ msgstr "混淆组密ç "
msgid "Obfuscated Password"
msgstr "混淆密ç "
+msgid "Obtain IPv6-Address"
+msgstr "èŽ·å– IPv6 地å€"
+
msgid "Off-State Delay"
msgstr "关闭时间"
@@ -2205,12 +2214,6 @@ msgstr "移除的选项"
msgid "Optional"
msgstr "å¯é€‰"
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr "å¯é€‰ï¼Œè®¾ç½®è¿™ä¸ªé€‰é¡¹ä¼šè¦†ç›–默认æœåŠ¡å™¨ï¼ˆtic.sixxs.net)"
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr "å¯é€‰ï¼Œå¦‚果您的 SIXXS è´¦å·æ‹¥æœ‰ä¸€ä¸ªä»¥ä¸Šçš„隧é“请设置此项"
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2568,13 +2571,13 @@ msgstr ""
"Configuration Protocol\">DHCP</abbr> æœåŠ¡å™¨"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
"确定è¦åˆ é™¤æ­¤æŽ¥å£ï¼Ÿåˆ é™¤æ“作无法撤销ï¼\\n删除此接å£ï¼Œå¯èƒ½å¯¼è‡´æ— æ³•å†è®¿é—®è·¯ç”±å™¨ï¼"
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
"确定è¦åˆ é™¤æ­¤æ— çº¿ç½‘络?删除æ“作无法撤销ï¼\\n删除此无线网络,å¯èƒ½å¯¼è‡´æ— æ³•å†è®¿é—®"
@@ -2584,14 +2587,14 @@ msgid "Really reset all changes?"
msgstr "确定è¦æ”¾å¼ƒæ‰€æœ‰æ›´æ”¹ï¼Ÿ"
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
"确定è¦å…³é—­æ­¤ç½‘络?\\n如果您正在使用此接å£è¿žæŽ¥è·¯ç”±å™¨ï¼Œå…³é—­æ­¤ç½‘络å¯èƒ½å¯¼è‡´è¿žæŽ¥æ–­"
"å¼€ï¼"
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
"确定è¦å…³é—­æŽ¥å£ \"%s\"?\\n如果您正在使用此接å£è¿žæŽ¥è·¯ç”±å™¨ï¼Œå…³é—­æ­¤ç½‘络å¯èƒ½å¯¼è‡´"
@@ -2684,9 +2687,6 @@ msgstr "请求 IPv6 地å€"
msgid "Request IPv6-prefix of length"
msgstr "请求指定长度的 IPv6 å‰ç¼€"
-msgid "Require TLS"
-msgstr "必须使用 TLS"
-
msgid "Required"
msgstr "å¿…é¡»"
@@ -2747,7 +2747,16 @@ msgid "Reveal/hide password"
msgstr "显示/éšè— 密ç "
msgid "Revert"
-msgstr "放弃"
+msgstr "æ¢å¤"
+
+msgid "Revert changes"
+msgstr "æ¢å¤æ›´æ”¹"
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr "æ¢å¤è¯·æ±‚å¤±è´¥ï¼ŒçŠ¶æ€ <code>%h</code>"
+
+msgid "Reverting configuration…"
+msgstr "正在æ¢å¤é…ç½®..."
msgid "Root"
msgstr "Root"
@@ -2764,9 +2773,6 @@ msgstr "路由å…许的 IP"
msgid "Route type"
msgstr "路由类型"
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr "下行接å£çš„路由 IPv6 å‰ç¼€"
-
msgid "Router Advertisement-Service"
msgstr "路由通告æœåŠ¡"
@@ -2790,14 +2796,6 @@ msgstr "文件系统检查"
msgid "SHA256"
msgstr "SHA256"
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr "SIXXS ä»…æ”¯æŒ TIC,对于使用 IP åè®® 41(RFC4213)的é™æ€éš§é“,使用 6in4"
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr "SIXXS-handle[/Tunnel-ID]"
-
msgid "SNR"
msgstr "SNR"
@@ -2823,10 +2821,7 @@ msgid "Save"
msgstr "ä¿å­˜"
msgid "Save & Apply"
-msgstr "ä¿å­˜&应用"
-
-msgid "Save &#38; Apply"
-msgstr "ä¿å­˜&#38;应用"
+msgstr "ä¿å­˜å¹¶åº”用"
msgid "Scan"
msgstr "扫æ"
@@ -2854,17 +2849,6 @@ msgstr "隔离客户端"
msgid "Server Settings"
msgstr "æœåŠ¡å™¨è®¾ç½®"
-msgid "Server password"
-msgstr "æœåŠ¡å™¨å¯†ç "
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr "æœåŠ¡å™¨å¯†ç ï¼Œå¦‚果用户å包å«éš§é“ ID 则在此填写隧é“自己的密ç "
-
-msgid "Server username"
-msgstr "æœåŠ¡å™¨ç”¨æˆ·å"
-
msgid "Service Name"
msgstr "æœåŠ¡å"
@@ -2961,9 +2945,6 @@ msgstr "排åº"
msgid "Source"
msgstr "æºåœ°å€"
-msgid "Source routing"
-msgstr "æºè·¯ç”±"
-
msgid "Specifies the directory the device is attached to"
msgstr "指定设备的挂载目录"
@@ -3002,6 +2983,9 @@ msgstr "开始"
msgid "Start priority"
msgstr "å¯åŠ¨ä¼˜å…ˆçº§"
+msgid "Starting configuration apply…"
+msgstr "开始应用é…ç½®..."
+
msgid "Startup"
msgstr "å¯åŠ¨é¡¹"
@@ -3159,6 +3143,19 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr "由于以下错误,é…置文件无法被加载:"
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+"åœ¨åº”ç”¨æŒ‚èµ·çš„æ›´æ”¹åŽ %d 秒内无法到达该设备,出于安全原因导致é…置回滚。如果您认为é…置更改ä»"
+"然正确,请执行未选中的é…置应用。或者您å¯ä»¥åœ¨å°è¯•å†æ¬¡åº”用之å‰è§£é™¤æ­¤è­¦å‘Šå¹¶ç¼–辑更改,或者还原"
+"所有未完æˆçš„更改以ä¿æŒå½“å‰æ­£åœ¨å·¥ä½œçš„é…置状æ€ã€‚"
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr "存储器或分区的设备文件,(例如:<code>/dev/sda1</code>)"
@@ -3179,9 +3176,6 @@ msgstr ""
"固件已上传,请注æ„核对文件大å°å’Œæ ¡éªŒå€¼ï¼<br />点击下é¢çš„“继续â€å¼€å§‹åˆ·å†™ï¼Œåˆ·æ–°"
"过程中切勿断电ï¼"
-msgid "The following changes have been committed"
-msgstr "以下更改已æ交"
-
msgid "The following changes have been reverted"
msgstr "以下更改已放弃"
@@ -3241,11 +3235,6 @@ msgstr ""
"é’ŸåŽå³å¯å°è¯•é‡æ–°è¿žæŽ¥åˆ°è·¯ç”±ã€‚您å¯èƒ½éœ€è¦æ›´æ”¹è®¡ç®—机的 IP 地å€ä»¥é‡æ–°è¿žæŽ¥ã€‚"
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr "隧é“端点在 NAT 之åŽï¼Œé»˜è®¤ä¸ºç¦ç”¨ï¼Œä»…适用于 AYIYA"
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr "ä¸æ”¯æŒæ‰€ä¸Šä¼ çš„映åƒæ–‡ä»¶æ ¼å¼ï¼Œè¯·é€‰æ‹©é€‚åˆå½“å‰å¹³å°çš„通用映åƒæ–‡ä»¶ã€‚"
@@ -3253,8 +3242,8 @@ msgstr "ä¸æ”¯æŒæ‰€ä¸Šä¼ çš„映åƒæ–‡ä»¶æ ¼å¼ï¼Œè¯·é€‰æ‹©é€‚åˆå½“å‰å¹³å°çš„
msgid "There are no active leases."
msgstr "没有已分é…的租约。"
-msgid "There are no pending changes to apply!"
-msgstr "没有待生效的更改ï¼"
+msgid "There are no changes to apply."
+msgstr "没有待生效的更改。"
msgid "There are no pending changes to revert!"
msgstr "没有å¯æ”¾å¼ƒçš„更改ï¼"
@@ -3394,15 +3383,6 @@ msgstr "隧é“接å£"
msgid "Tunnel Link"
msgstr "隧é“链接"
-msgid "Tunnel broker protocol"
-msgstr "隧é“åè®®"
-
-msgid "Tunnel setup server"
-msgstr "隧é“é…ç½®æœåŠ¡å™¨"
-
-msgid "Tunnel type"
-msgstr "隧é“类型"
-
msgid "Tx-Power"
msgstr "传输功率"
@@ -3582,12 +3562,6 @@ msgstr "Vendor"
msgid "Vendor Class to send when requesting DHCP"
msgstr "请求 DHCP æ—¶å‘é€çš„ Vendor Class 选项"
-msgid "Verbose"
-msgstr "详细"
-
-msgid "Verbose logging by aiccu daemon"
-msgstr "Aiccu 守护程åºè¯¦ç»†æ—¥å¿—"
-
msgid "Verify"
msgstr "验è¯"
@@ -3619,16 +3593,15 @@ msgstr ""
"WPA 加密需è¦å®‰è£… wpa_supplicant(客户端模å¼ï¼‰æˆ–安装 hostapd(接入点 APã€ç‚¹å¯¹"
"点 Ad-Hoc 模å¼ï¼‰ã€‚"
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr "NTP åŒæ­¥å‰çš„等待时间,设置为 0 表示ä¸ç­‰å¾…(å¯é€‰ï¼‰"
-
msgid "Waiting for changes to be applied..."
msgstr "正在应用更改..."
msgid "Waiting for command to complete..."
msgstr "等待命令执行完æˆ..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr "等待应用é…ç½®... %d 秒"
+
msgid "Waiting for device..."
msgstr "等待设备..."
@@ -3643,12 +3616,6 @@ msgid ""
"communications"
msgstr "当使用 PSK 时,PMK å¯ä»¥åœ¨æ²¡æœ‰ AP 间通信的情况下在本地生æˆ"
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr "是å¦æ·»åŠ ä¸€æ¡é€šå‘隧é“çš„ IPv6 默认路由"
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr "是å¦ä»…路由æ¥è‡ªåˆ†å‘å‰ç¼€çš„æ•°æ®åŒ…"
-
msgid "Width"
msgstr "频宽"
@@ -3726,6 +3693,9 @@ msgstr "baseT"
msgid "bridged"
msgstr "桥接的"
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr "创建:"
@@ -3790,9 +3760,6 @@ msgstr "kbit/s"
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "本地 <abbr title=\"Domain Name Syste\">DNS</abbr> 解æžæ–‡ä»¶"
-msgid "minimum 1280, maximum 1480"
-msgstr "最å°å€¼ 1280,最大值 1480"
-
msgid "minutes"
msgstr "分钟"
@@ -3817,11 +3784,14 @@ msgstr "å¼€"
msgid "open"
msgstr "开放å¼"
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr "覆盖"
msgid "random"
-msgstr ""
+msgstr "éšæœº"
msgid "relay mode"
msgstr "中继模å¼"
@@ -3868,119 +3838,8 @@ msgstr "是"
msgid "« Back"
msgstr "« åŽé€€"
-#~ msgid "Action"
-#~ msgstr "动作"
-
-#~ msgid "Buttons"
-#~ msgstr "按键"
-
-#~ msgid "Handler"
-#~ msgstr "处ç†ç¨‹åº"
-
-#~ msgid "Maximum hold time"
-#~ msgstr "最大æŒç»­æ—¶é—´"
-
-#~ msgid "Minimum hold time"
-#~ msgstr "最低æŒç»­æ—¶é—´"
-
-#~ msgid "Path to executable which handles the button event"
-#~ msgstr "处ç†æŒ‰é”®åŠ¨ä½œçš„å¯æ‰§è¡Œæ–‡ä»¶è·¯å¾„"
-
-#~ msgid "Specifies the button state to handle"
-#~ msgstr "指定è¦å¤„ç†çš„按键状æ€"
-
-#~ msgid "This page allows the configuration of custom button actions"
-#~ msgstr "自定义按键动作。"
-
-#~ msgid "Leasetime"
-#~ msgstr "租用时间"
-
-#~ msgid "Optional."
-#~ msgstr "å¯é€‰ã€‚"
-
-#~ msgid "navigation Navigation"
-#~ msgstr "导航"
-
-#~ msgid "skiplink1 Skip to navigation"
-#~ msgstr "skiplink1 跳转到导航"
-
-#~ msgid "skiplink2 Skip to content"
-#~ msgstr "skiplink2 跳到内容"
-
-#~ msgid "AuthGroup"
-#~ msgstr "认è¯ç»„"
-
-#~ msgid "automatic"
-#~ msgstr "自动"
-
-#~ msgid "AR Support"
-#~ msgstr "AR 支æŒ"
-
-#~ msgid "Atheros 802.11%s Wireless Controller"
-#~ msgstr "Qualcomm/Atheros 802.11%s 无线控制器"
-
-#~ msgid "Background Scan"
-#~ msgstr "åŽå°æœç´¢"
-
-#~ msgid "Compression"
-#~ msgstr "压缩"
-
-#~ msgid "Disable HW-Beacon timer"
-#~ msgstr "åœç”¨ HW-Beacon 计时器"
-
-#~ msgid "Do not send probe responses"
-#~ msgstr "ä¸å›žé€æŽ¢æµ‹å“应"
-
-#~ msgid "Fast Frames"
-#~ msgstr "快速帧"
-
-#~ msgid "Maximum Rate"
-#~ msgstr "最高速率"
-
-#~ msgid "Minimum Rate"
-#~ msgstr "最低速率"
-
-#~ msgid "Multicast Rate"
-#~ msgstr "多播速率"
-
-#~ msgid "Outdoor Channels"
-#~ msgstr "户外频é“"
-
-#~ msgid "Regulatory Domain"
-#~ msgstr "无线网络国家区域"
-
-#~ msgid "Separate WDS"
-#~ msgstr "隔离 WDS"
-
-#~ msgid "Static WDS"
-#~ msgstr "é™æ€ WDS"
-
-#~ msgid "Turbo Mode"
-#~ msgstr "Turbo 模å¼"
-
-#~ msgid "XR Support"
-#~ msgstr "XR 支æŒ"
-
-#~ msgid "Required. Public key of peer."
-#~ msgstr "必须,Peer 的公钥。"
-
-#~ msgid "An additional network will be created if you leave this checked."
-#~ msgstr "如果选中此å¤é€‰æ¡†ï¼Œåˆ™ä¼šåˆ›å»ºä¸€ä¸ªé™„加网络。"
-
-#~ msgid "An additional network will be created if you leave this unchecked."
-#~ msgstr "å–消选中将会å¦å¤–创建一个新网络,而ä¸ä¼šè¦†ç›–当å‰ç½‘络设置"
-
-#~ msgid "Join Network: Settings"
-#~ msgstr "加入网络:设置"
-
-#~ msgid "CPU"
-#~ msgstr "CPU"
-
-#~ msgid "Port %d"
-#~ msgstr "ç«¯å£ %d"
-
-#~ msgid "Port %d is untagged in multiple VLANs!"
-#~ msgstr "ç«¯å£ %d 在多个 VLAN 中å‡æœªæ ‡è®°ï¼"
+#~ msgid "IPv4 WAN Status"
+#~ msgstr "IPv4 WAN 状æ€"
-#~ msgid "VLAN Interface"
-#~ msgstr "VLAN 接å£"
+#~ msgid "IPv6 WAN Status"
+#~ msgstr "IPv6 WAN 状æ€"
diff --git a/modules/luci-base/po/zh-tw/base.po b/modules/luci-base/po/zh-tw/base.po
index edc5207bd9..653c093cdb 100644
--- a/modules/luci-base/po/zh-tw/base.po
+++ b/modules/luci-base/po/zh-tw/base.po
@@ -47,6 +47,9 @@ msgstr ""
msgid "-- match by uuid --"
msgstr ""
+msgid "-- please select --"
+msgstr ""
+
msgid "1 Minute Load:"
msgstr "1分é˜è² è¼‰"
@@ -167,9 +170,6 @@ msgstr ""
msgid "ADSL"
msgstr ""
-msgid "AICCU (SIXXS)"
-msgstr ""
-
msgid "ANSI T1.413"
msgstr ""
@@ -205,9 +205,6 @@ msgstr "ATMè£ç½®è™Ÿç¢¼"
msgid "ATU-C System Vendor ID"
msgstr ""
-msgid "AYIYA"
-msgstr ""
-
msgid "Access Concentrator"
msgstr "接入集線器"
@@ -310,11 +307,6 @@ msgstr "å…許127.0.0.0/8範åœå…§çš„上游回應,例如:RBLæœå‹™"
msgid "Allowed IPs"
msgstr ""
-msgid ""
-"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
-"\">Tunneling Comparison</a> on SIXXS"
-msgstr ""
-
msgid "Always announce default router"
msgstr ""
@@ -393,11 +385,14 @@ msgstr "天線設定"
msgid "Any zone"
msgstr "ä»»æ„å€åŸŸ"
-msgid "Apply"
-msgstr "套用"
+msgid "Apply request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Apply unchecked"
+msgstr ""
-msgid "Applying changes"
-msgstr "正在套用變更"
+msgid "Architecture"
+msgstr ""
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -413,6 +408,9 @@ msgstr ""
msgid "Associated Stations"
msgstr "已連接站點"
+msgid "Associations"
+msgstr ""
+
msgid "Auth Group"
msgstr ""
@@ -503,9 +501,6 @@ msgstr "指定了錯誤的ä½ç½®ï¼"
msgid "Band"
msgstr ""
-msgid "Behind NAT"
-msgstr ""
-
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
@@ -576,12 +571,20 @@ msgstr "待修改"
msgid "Changes applied."
msgstr "修改已套用"
+msgid "Changes have been reverted."
+msgstr ""
+
msgid "Changes the administrator password for accessing the device"
msgstr "修改管ç†å“¡å¯†ç¢¼"
msgid "Channel"
msgstr "é »é“"
+msgid ""
+"Channel %d is not available in the %s regulatory domain and has been auto-"
+"adjusted to %d."
+msgstr ""
+
msgid "Check"
msgstr "檢查"
@@ -657,12 +660,15 @@ msgstr ""
msgid "Configuration"
msgstr "設定"
-msgid "Configuration applied."
-msgstr "啟用設定"
-
msgid "Configuration files will be kept."
msgstr "設定檔將被存檔"
+msgid "Configuration has been applied."
+msgstr ""
+
+msgid "Configuration has been rolled back!"
+msgstr ""
+
msgid "Confirmation"
msgstr "å†ç¢ºèª"
@@ -675,12 +681,15 @@ msgstr "已連線"
msgid "Connection Limit"
msgstr "連線é™åˆ¶"
-msgid "Connection to server fails when TLS cannot be used"
-msgstr ""
-
msgid "Connections"
msgstr "連線數"
+msgid ""
+"Could not regain access to the device after applying the configuration "
+"changes. You might need to reconnect if you modified network related "
+"settings such as the IP address or wireless security credentials."
+msgstr ""
+
msgid "Country"
msgstr "國別"
@@ -809,9 +818,6 @@ msgstr "é è¨­åŒé“器"
msgid "Default is stateless + stateful"
msgstr ""
-msgid "Default route"
-msgstr ""
-
msgid "Default state"
msgstr "é è¨­ç‹€æ…‹"
@@ -853,6 +859,9 @@ msgstr ""
msgid "Device unreachable"
msgstr ""
+msgid "Device unreachable!"
+msgstr ""
+
msgid "Diagnostics"
msgstr "診斷"
@@ -886,6 +895,9 @@ msgstr ""
msgid "Discard upstream RFC1918 responses"
msgstr "丟棄上游RFC1918 虛擬IP網路的回應"
+msgid "Dismiss"
+msgstr ""
+
msgid "Displaying only packages containing"
msgstr "僅顯示內å«çš„軟體"
@@ -1139,6 +1151,9 @@ msgstr ""
msgid "FT protocol"
msgstr ""
+msgid "Failed to confirm apply within %ds, waiting for rollback…"
+msgstr ""
+
msgid "File"
msgstr "檔案"
@@ -1260,7 +1275,7 @@ msgstr "剩餘空間"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
-"wireguard.io\">wireguard.io</a>."
+"wireguard.com\">wireguard.com</a>."
msgstr ""
msgid "GHz"
@@ -1332,9 +1347,6 @@ msgstr "æ–·ç·š"
msgid "Header Error Code Errors (HEC)"
msgstr ""
-msgid "Heartbeat"
-msgstr ""
-
msgid ""
"Here you can configure the basic aspects of your device like its hostname or "
"the timezone."
@@ -1390,8 +1402,8 @@ msgstr "IPv4版"
msgid "IPv4 Firewall"
msgstr "IPv4防ç«ç‰†"
-msgid "IPv4 WAN Status"
-msgstr "IPv4寬頻連線狀態"
+msgid "IPv4 Upstream"
+msgstr ""
msgid "IPv4 address"
msgstr "IPv4ä½å€"
@@ -1441,15 +1453,12 @@ msgstr ""
msgid "IPv6 ULA-Prefix"
msgstr ""
-msgid "IPv6 WAN Status"
-msgstr "IPv6寬頻連線狀態"
+msgid "IPv6 Upstream"
+msgstr ""
msgid "IPv6 address"
msgstr "IPv6ä½å€"
-msgid "IPv6 address delegated to the local tunnel endpoint (optional)"
-msgstr ""
-
msgid "IPv6 assignment hint"
msgstr ""
@@ -2021,9 +2030,6 @@ msgstr ""
msgid "NTP server candidates"
msgstr "NTP伺æœå™¨å‚™é¸"
-msgid "NTP sync time-out"
-msgstr ""
-
msgid "Name"
msgstr "å稱"
@@ -2147,6 +2153,9 @@ msgstr ""
msgid "Obfuscated Password"
msgstr ""
+msgid "Obtain IPv6-Address"
+msgstr ""
+
msgid "Off-State Delay"
msgstr "關閉狀態延é²"
@@ -2196,12 +2205,6 @@ msgstr "é¸é …已移除"
msgid "Optional"
msgstr ""
-msgid "Optional, specify to override default server (tic.sixxs.net)"
-msgstr ""
-
-msgid "Optional, use when the SIXXS account has more than one tunnel"
-msgstr ""
-
msgid ""
"Optional. 32-bit mark for outgoing encrypted packets. Enter value in hex, "
"starting with <code>0x</code>."
@@ -2553,14 +2556,14 @@ msgstr ""
"Configuration Protocol\">DHCP</abbr>-伺æœå™¨"
msgid ""
-"Really delete this interface? The deletion cannot be undone!\\nYou might "
-"lose access to this device if you are connected via this interface."
+"Really delete this interface? The deletion cannot be undone! You might lose "
+"access to this device if you are connected via this interface."
msgstr ""
"真的è¦åˆªé™¤é€™ä»‹é¢?無法復元刪除!\n"
"å‡å¦‚您è¦é€éŽé€™å€‹ä»‹é¢é€£ç·šæ‚¨å¯èƒ½æœƒç„¡æ³•å­˜å–這個設備."
msgid ""
-"Really delete this wireless network? The deletion cannot be undone!\\nYou "
+"Really delete this wireless network? The deletion cannot be undone! You "
"might lose access to this device if you are connected via this network."
msgstr ""
"真的è¦åˆªé™¤é€™å€‹ç„¡ç·šç¶²è·¯?無法復元的刪除!\n"
@@ -2571,14 +2574,14 @@ msgstr "確定è¦é‡ç½®å›žå¾©åŽŸå» ?"
#, fuzzy
msgid ""
-"Really shut down network?\\nYou might lose access to this device if you are "
+"Really shut down network? You might lose access to this device if you are "
"connected via this interface."
msgstr ""
"真的è¦åˆªé™¤é€™å€‹ç¶²è·¯ ?\n"
"å‡å¦‚您是é€éŽé€™å€‹ä»‹é¢é€£ç·šæ‚¨å¯èƒ½æœƒç„¡æ³•å­˜å–這個設備."
msgid ""
-"Really shutdown interface \"%s\" ?\\nYou might lose access to this device if "
+"Really shutdown interface \"%s\"? You might lose access to this device if "
"you are connected via this interface."
msgstr ""
"真的è¦é—œé–‰é€™å€‹ä»‹é¢ \"%s\" ?!\n"
@@ -2671,9 +2674,6 @@ msgstr ""
msgid "Request IPv6-prefix of length"
msgstr ""
-msgid "Require TLS"
-msgstr ""
-
msgid "Required"
msgstr ""
@@ -2732,6 +2732,15 @@ msgstr "明示/éš±è— å¯†ç¢¼"
msgid "Revert"
msgstr "回溯"
+msgid "Revert changes"
+msgstr ""
+
+msgid "Revert request failed with status <code>%h</code>"
+msgstr ""
+
+msgid "Reverting configuration…"
+msgstr ""
+
msgid "Root"
msgstr "æ ¹"
@@ -2747,9 +2756,6 @@ msgstr ""
msgid "Route type"
msgstr ""
-msgid "Routed IPv6 prefix for downstream interfaces"
-msgstr ""
-
msgid "Router Advertisement-Service"
msgstr ""
@@ -2773,14 +2779,6 @@ msgstr "執行系統檢查"
msgid "SHA256"
msgstr ""
-msgid ""
-"SIXXS supports TIC only, for static tunnels using IP protocol 41 (RFC4213) "
-"use 6in4 instead"
-msgstr ""
-
-msgid "SIXXS-handle[/Tunnel-ID]"
-msgstr ""
-
msgid "SNR"
msgstr ""
@@ -2808,9 +2806,6 @@ msgstr "ä¿å­˜"
msgid "Save & Apply"
msgstr "ä¿å­˜ä¸¦å•Ÿç”¨"
-msgid "Save &#38; Apply"
-msgstr "ä¿å­˜ &#38; 啟用"
-
msgid "Scan"
msgstr "掃æ"
@@ -2837,17 +2832,6 @@ msgstr "分隔用戶端"
msgid "Server Settings"
msgstr "伺æœå™¨è¨­å®šå€¼"
-msgid "Server password"
-msgstr ""
-
-msgid ""
-"Server password, enter the specific password of the tunnel when the username "
-"contains the tunnel ID"
-msgstr ""
-
-msgid "Server username"
-msgstr ""
-
msgid "Service Name"
msgstr "æœå‹™å稱"
@@ -2943,9 +2927,6 @@ msgstr "分類"
msgid "Source"
msgstr "來æº"
-msgid "Source routing"
-msgstr ""
-
msgid "Specifies the directory the device is attached to"
msgstr "指定這個設備被附掛到那個目錄"
@@ -2984,6 +2965,9 @@ msgstr "啟用"
msgid "Start priority"
msgstr "啟用優先權順åº"
+msgid "Starting configuration apply…"
+msgstr ""
+
msgid "Startup"
msgstr "å•Ÿå‹•"
@@ -3145,6 +3129,16 @@ msgid "The configuration file could not be loaded due to the following error:"
msgstr ""
msgid ""
+"The device could not be reached within %d seconds after applying the pending "
+"changes, which caused the configuration to be rolled back for safety "
+"reasons. If you believe that the configuration changes are correct "
+"nonetheless, perform an unchecked configuration apply. Alternatively, you "
+"can dismiss this warning and edit changes before attempting to apply again, "
+"or revert all pending changes to keep the currently working configuration "
+"state."
+msgstr ""
+
+msgid ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
@@ -3167,9 +3161,6 @@ msgstr ""
"è¦åˆ·çš„映åƒæª”已上傳.下é¢æ˜¯é€™å€‹æ ¡é©—碼和檔案大å°è©³åˆ—, 用原始檔比å°å®ƒé–€ä»¥ç¢ºä¿è³‡æ–™"
"完整性.<br />按下é¢çš„\"繼續\"便å¯ä»¥é–‹å•Ÿæ›´æ–°æµç¨‹."
-msgid "The following changes have been committed"
-msgstr "接下來的修改已經被承諾"
-
msgid "The following changes have been reverted"
msgstr "接下來的修改已經被回復"
@@ -3231,11 +3222,6 @@ msgstr ""
"è¦æ›´æ–°æ‚¨é›»è…¦çš„ä½å€ä»¥ä¾¿å†é€£è¨­å‚™, 端看您的設定. "
msgid ""
-"The tunnel end-point is behind NAT, defaults to disabled and only applies to "
-"AYIYA"
-msgstr ""
-
-msgid ""
"The uploaded image file does not contain a supported format. Make sure that "
"you choose the generic image format for your platform."
msgstr ""
@@ -3244,8 +3230,8 @@ msgstr ""
msgid "There are no active leases."
msgstr "租賃尚未啟動."
-msgid "There are no pending changes to apply!"
-msgstr "å°šç„¡è½å€™çš„修改被採用"
+msgid "There are no changes to apply."
+msgstr ""
msgid "There are no pending changes to revert!"
msgstr "å°šç„¡è½å€™çš„修改被復元!"
@@ -3385,15 +3371,6 @@ msgstr "通é“介é¢"
msgid "Tunnel Link"
msgstr ""
-msgid "Tunnel broker protocol"
-msgstr ""
-
-msgid "Tunnel setup server"
-msgstr ""
-
-msgid "Tunnel type"
-msgstr ""
-
msgid "Tx-Power"
msgstr "傳é€-功率"
@@ -3571,12 +3548,6 @@ msgstr ""
msgid "Vendor Class to send when requesting DHCP"
msgstr "當請求DHCPå°åŒ…時è¦å‚³é€çš„製造商類別碼"
-msgid "Verbose"
-msgstr ""
-
-msgid "Verbose logging by aiccu daemon"
-msgstr ""
-
msgid "Verify"
msgstr "確èª"
@@ -3608,16 +3579,15 @@ msgstr ""
"WPA-åŠ å¯†éœ€è¦ wpa_supplican(終端模å¼)或者hostapd熱點(å°AP或者是 ad-hoc模å¼)å·²"
"被安è£."
-msgid ""
-"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
-msgstr ""
-
msgid "Waiting for changes to be applied..."
msgstr "等待修改被啟用..."
msgid "Waiting for command to complete..."
msgstr "等待完整性指令..."
+msgid "Waiting for configuration to get applied… %ds"
+msgstr ""
+
msgid "Waiting for device..."
msgstr ""
@@ -3632,12 +3602,6 @@ msgid ""
"communications"
msgstr ""
-msgid "Whether to create an IPv6 default route over the tunnel"
-msgstr ""
-
-msgid "Whether to route only packets from delegated prefixes"
-msgstr ""
-
msgid "Width"
msgstr ""
@@ -3713,6 +3677,9 @@ msgstr "baseT"
msgid "bridged"
msgstr "已橋接"
+msgid "create"
+msgstr ""
+
msgid "create:"
msgstr "建立:"
@@ -3777,9 +3744,6 @@ msgstr "kbit/s"
msgid "local <abbr title=\"Domain Name System\">DNS</abbr> file"
msgstr "本地<abbr title=\"Domain Name System\">DNS</abbr> 檔案"
-msgid "minimum 1280, maximum 1480"
-msgstr ""
-
msgid "minutes"
msgstr ""
@@ -3804,6 +3768,9 @@ msgstr "é–‹å•Ÿ"
msgid "open"
msgstr "打開"
+msgid "output"
+msgstr ""
+
msgid "overlay"
msgstr ""
@@ -3855,6 +3822,30 @@ msgstr "是的"
msgid "« Back"
msgstr "« 倒退"
+#~ msgid "IPv4 WAN Status"
+#~ msgstr "IPv4寬頻連線狀態"
+
+#~ msgid "IPv6 WAN Status"
+#~ msgstr "IPv6寬頻連線狀態"
+
+#~ msgid "Apply"
+#~ msgstr "套用"
+
+#~ msgid "Applying changes"
+#~ msgstr "正在套用變更"
+
+#~ msgid "Configuration applied."
+#~ msgstr "啟用設定"
+
+#~ msgid "Save &#38; Apply"
+#~ msgstr "ä¿å­˜ &#38; 啟用"
+
+#~ msgid "The following changes have been committed"
+#~ msgstr "接下來的修改已經被承諾"
+
+#~ msgid "There are no pending changes to apply!"
+#~ msgstr "å°šç„¡è½å€™çš„修改被採用"
+
#~ msgid "Action"
#~ msgstr "動作"
diff --git a/modules/luci-mod-admin-full/luasrc/controller/admin/network.lua b/modules/luci-mod-admin-full/luasrc/controller/admin/network.lua
index a26d3d14e1..e04a964dd7 100644
--- a/modules/luci-mod-admin-full/luasrc/controller/admin/network.lua
+++ b/modules/luci-mod-admin-full/luasrc/controller/admin/network.lua
@@ -43,6 +43,9 @@ function index()
end)
if has_wifi then
+ page = entry({"admin", "network", "wireless_assoclist"}, call("wifi_assoclist"), nil)
+ page.leaf = true
+
page = entry({"admin", "network", "wireless_join"}, post("wifi_join"), nil)
page.leaf = true
@@ -372,6 +375,13 @@ function wifi_shutdown(wnet)
wifi_reconnect_shutdown(true, wnet)
end
+function wifi_assoclist()
+ local s = require "luci.tools.status"
+
+ luci.http.prepare_content("application/json")
+ luci.http.write_json(s.wifi_assoclist())
+end
+
function lease_status()
local s = require "luci.tools.status"
diff --git a/modules/luci-mod-admin-full/luasrc/controller/admin/system.lua b/modules/luci-mod-admin-full/luasrc/controller/admin/system.lua
index 6fcd66f441..0c19893cf8 100644
--- a/modules/luci-mod-admin-full/luasrc/controller/admin/system.lua
+++ b/modules/luci-mod-admin-full/luasrc/controller/admin/system.lua
@@ -74,7 +74,7 @@ function action_packages()
local out, err
-- Display
- local display = luci.http.formvalue("display") or "installed"
+ local display = luci.http.formvalue("display") or "available"
-- Letter
local letter = string.byte(luci.http.formvalue("letter") or "A", 1)
diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua
index 38e5de7b39..5c630bb5ce 100644
--- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua
+++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua
@@ -351,7 +351,6 @@ if has_firewall then
fwzone.template = "cbi/firewall_zonelist"
fwzone.network = arg[1]
- fwzone.rmempty = false
function fwzone.cfgvalue(self, section)
self.iface = section
@@ -360,22 +359,16 @@ if has_firewall then
end
function fwzone.write(self, section, value)
- local zone = fw:get_zone(value)
-
- if not zone and value == '-' then
- value = m:formvalue(self:cbid(section) .. ".newzone")
- if value and #value > 0 then
- zone = fw:add_zone(value)
- else
- fw:del_network(section)
- end
- end
-
+ local zone = fw:get_zone(value) or fw:add_zone(value)
if zone then
fw:del_network(section)
zone:add_network(section)
end
end
+
+ function fwzone.remove(self, section)
+ fw:del_network(section)
+ end
end
diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/vlan.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/vlan.lua
index b52dff13ac..3e46628d3f 100644
--- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/vlan.lua
+++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/vlan.lua
@@ -260,7 +260,7 @@ m.uci:foreach("network", "switch",
end
- local vid = s:option(Value, has_vlan4k or "vlan", "VLAN ID", "<div id='portstatus-%s'></div>" % switch_name)
+ local vid = s:option(Value, has_vlan4k or "vlan", "VLAN ID")
local mx_vid = has_vlan4k and 4094 or (num_vlans - 1)
vid.rmempty = false
@@ -333,7 +333,7 @@ m.uci:foreach("network", "switch",
local _, pt
for _, pt in ipairs(topo.ports) do
- local po = s:option(ListValue, tostring(pt.num), pt.label, '<div id="portstatus-%s-%d"></div>' %{ switch_name, pt.num })
+ local po = s:option(ListValue, tostring(pt.num), pt.label)
po:value("", translate("off"))
diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua
index cacaa25958..d51a72aba1 100644
--- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua
+++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua
@@ -390,22 +390,16 @@ network.novirtual = true
function network.write(self, section, value)
local i = nw:get_interface(section)
if i then
- if value == '-' then
- value = m:formvalue(self:cbid(section) .. ".newnet")
- if value and #value > 0 then
- local n = nw:add_network(value, {proto="none"})
- if n then n:add_interface(i) end
- else
- local n = i:get_network()
- if n then n:del_interface(i) end
- end
- else
- local v
- for _, v in ipairs(i:get_networks()) do
- v:del_interface(i)
- end
- for v in ut.imatch(value) do
- local n = nw:get_network(v)
+ local _, net, old, new = nil, nil, {}, {}
+
+ for _, net in ipairs(i:get_networks()) do
+ old[net:name()] = true
+ end
+
+ for net in ut.imatch(value) do
+ new[net] = true
+ if not old[net] then
+ local n = nw:get_network(net) or nw:add_network(net, { proto = "none" })
if n then
if not n:is_empty() then
n:set("type", "bridge")
@@ -414,6 +408,15 @@ function network.write(self, section, value)
end
end
end
+
+ for net, _ in pairs(old) do
+ if not new[net] then
+ local n = nw:get_network(net)
+ if n then
+ n:del_interface(i)
+ end
+ end
+ end
end
end
diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi_add.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi_add.lua
index 8277deb2f6..e8a3058826 100644
--- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi_add.lua
+++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi_add.lua
@@ -94,14 +94,9 @@ function newnet.parse(self, section)
local net, zone
if has_firewall then
- local zval = fwzone:formvalue(section)
- zone = fw:get_zone(zval)
-
- if not zone and zval == '-' then
- zval = m:formvalue(fwzone:cbid(section) .. ".newzone")
- if zval and #zval > 0 then
- zone = fw:add_zone(zval)
- end
+ local value = fwzone:formvalue(section)
+ if value and #value > 0 then
+ zone = fw:get_zone(value) or fw:add_zone(value)
end
end
diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/admin.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/admin.lua
index 493a735bde..6c1c1235c5 100644
--- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/admin.lua
+++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/admin.lua
@@ -104,16 +104,17 @@ end
keys = s2:option(TextValue, "_data", "")
keys.wrap = "off"
keys.rows = 3
-keys.rmempty = false
function keys.cfgvalue()
return fs.readfile("/etc/dropbear/authorized_keys") or ""
end
function keys.write(self, section, value)
- if value then
- fs.writefile("/etc/dropbear/authorized_keys", value:gsub("\r\n", "\n"))
- end
+ return fs.writefile("/etc/dropbear/authorized_keys", value:gsub("\r\n", "\n"))
+end
+
+function keys.remove(self, section, value)
+ return fs.writefile("/etc/dropbear/authorized_keys", "")
end
end
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_network/diagnostics.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/diagnostics.htm
index f4adb26069..5607e59dfb 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_network/diagnostics.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_network/diagnostics.htm
@@ -61,55 +61,54 @@ local route_host = luci.config.diag and luci.config.diag.route or "dev.openwrt.o
<div class="cbi-map">
<h2 name="content"><%:Diagnostics%></h2>
- <fieldset class="cbi-section">
+ <div class="cbi-section">
<legend><%:Network Utilities%></legend>
- <br />
-
- <div style="width:30%; float:left">
- <input style="margin: 5px 0" type="text" value="<%=ping_host%>" name="ping" /><br />
- <% if has_ping6 then %>
- <select name="ping_proto" style="width:auto">
- <option value="" selected="selected"><%:IPv4%></option>
- <option value="6"><%:IPv6%></option>
- </select>
- <input type="button" value="<%:Ping%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.ping, this.form.ping_proto.selectedIndex)" />
- <% else %>
- <input type="button" value="<%:Ping%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.ping)" />
- <% end %>
+ <div class="table">
+ <div class="tr">
+ <div class="td left">
+ <input style="margin: 5px 0" type="text" value="<%=ping_host%>" name="ping" /><br />
+ <% if has_ping6 then %>
+ <select name="ping_proto" style="width:auto">
+ <option value="" selected="selected"><%:IPv4%></option>
+ <option value="6"><%:IPv6%></option>
+ </select>
+ <input type="button" value="<%:Ping%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.ping, this.form.ping_proto.selectedIndex)" />
+ <% else %>
+ <input type="button" value="<%:Ping%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.ping)" />
+ <% end %>
+ </div>
+
+ <div class="td left">
+ <input style="margin: 5px 0" type="text" value="<%=route_host%>" name="traceroute" /><br />
+ <% if has_traceroute6 then %>
+ <select name="traceroute_proto" style="width:auto">
+ <option value="" selected="selected"><%:IPv4%></option>
+ <option value="6"><%:IPv6%></option>
+ </select>
+ <input type="button" value="<%:Traceroute%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.traceroute, this.form.traceroute_proto.selectedIndex)" />
+ <% else %>
+ <input type="button" value="<%:Traceroute%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.traceroute)" />
+ <% end %>
+ <% if not has_traceroute6 then %>
+ <p>&#160;</p>
+ <p><%:Install iputils-traceroute6 for IPv6 traceroute%></p>
+ <% end %>
+ </div>
+
+ <div class="td left">
+ <input style="margin: 5px 0" type="text" value="<%=dns_host%>" name="nslookup" /><br />
+ <input type="button" value="<%:Nslookup%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.nslookup)" />
+ </div>
+ </div>
</div>
-
- <div style="width:33%; float:left">
- <input style="margin: 5px 0" type="text" value="<%=route_host%>" name="traceroute" /><br />
- <% if has_traceroute6 then %>
- <select name="traceroute_proto" style="width:auto">
- <option value="" selected="selected"><%:IPv4%></option>
- <option value="6"><%:IPv6%></option>
- </select>
- <input type="button" value="<%:Traceroute%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.traceroute, this.form.traceroute_proto.selectedIndex)" />
- <% else %>
- <input type="button" value="<%:Traceroute%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.traceroute)" />
- <% end %>
- <% if not has_traceroute6 then %>
- <p>&#160;</p>
- <p><%:Install iputils-traceroute6 for IPv6 traceroute%></p>
- <% end %>
- </div>
-
- <div style="width:33%; float:left;">
- <input style="margin: 5px 0" type="text" value="<%=dns_host%>" name="nslookup" /><br />
- <input type="button" value="<%:Nslookup%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.nslookup)" />
- </div>
-
- <br style="clear:both" /><br />
-
- </fieldset>
+ </div>
</div>
- <fieldset class="cbi-section" style="display:none">
- <legend id="diag-rc-legend"><%:Collecting data...%></legend>
+ <div class="cbi-section" style="display:none">
+ <strong id="diag-rc-legend"></strong>
<span id="diag-rc-output"></span>
- </fieldset>
+ </div>
</form>
<%+footer%>
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_network/iface_overview.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/iface_overview.htm
index 2512a35b3c..473e2275ce 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_network/iface_overview.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_network/iface_overview.htm
@@ -33,7 +33,7 @@
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
<script type="text/javascript">//<![CDATA[
function iface_shutdown(id, reconnect) {
- if (!reconnect && !confirm(String.format('<%_Really shutdown interface "%s" ?\nYou might lose access to this device if you are connected via this interface.%>', id)))
+ if (!reconnect && !confirm(<%=luci.http.write_json(translate('Really shutdown interface "%s"? You might lose access to this device if you are connected via this interface.'))%>.format(id)))
return;
var d = document.getElementById(id + '-ifc-description');
@@ -67,7 +67,7 @@
}
function iface_delete(id) {
- if (!confirm('<%:Really delete this interface? The deletion cannot be undone!\nYou might lose access to this device if you are connected via this interface.%>'))
+ if (!confirm(<%=luci.http.write_json(translate('Really delete this interface? The deletion cannot be undone! You might lose access to this device if you are connected via this interface'))%>))
return;
(new XHR()).post('<%=url('admin/network/iface_delete')%>/' + id, { token: '<%=token%>' },
@@ -141,8 +141,8 @@
}
html += String.format(
- '<strong><%:RX%></strong>: %.2mB (%d <%:Pkts.%>)<br />' +
- '<strong><%:TX%></strong>: %.2mB (%d <%:Pkts.%>)<br />',
+ '<strong><%:RX%>:</strong> %.2mB (%d <%:Pkts.%>)<br />' +
+ '<strong><%:TX%>:</strong> %.2mB (%d <%:Pkts.%>)<br />',
ifc.rx_bytes, ifc.rx_packets,
ifc.tx_bytes, ifc.tx_packets
);
@@ -164,7 +164,7 @@
ifc.ip6addrs[i]
);
}
-
+
if (ifc.ip6prefix)
{
html += String.format('<strong><%:IPv6-PD%>:</strong> %s<br />', ifc.ip6prefix);
@@ -209,46 +209,43 @@
</fieldset>
<div class="cbi-map">
- <fieldset class="cbi-section">
+ <div class="cbi-section">
<legend><%:Interface Overview%></legend>
- <table class="cbi-section-table" style="margin:10px; empty-cells:hide">
- <tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"><%:Network%></th>
- <th class="cbi-section-table-cell" style="text-align:left"><%:Status%></th>
- <th class="cbi-section-table-cell"><%:Actions%></th>
- </tr>
- <%
- for i, net in ipairs(netlist) do
- local z = net[3]
- local c = z and z:get_color() or "#EEEEEE"
- local t = z and translate("Part of zone %q" % z:name()) or translate("No zone assigned")
- %>
- <tr class="cbi-section-table-row cbi-rowstyle-<%=i % 2 + 1%>">
- <td class="cbi-value-field" style="padding:3px">
- <div class="ifacebox">
- <div class="ifacebox-head" style="background-color:<%=c%>" title="<%=pcdata(t)%>">
- <strong><%=net[1]:upper()%></strong>
- </div>
- <div class="ifacebox-body" id="<%=net[1]%>-ifc-devices">
- <img src="<%=resource%>/icons/ethernet_disabled.png" style="width:16px; height:16px" /><br />
- <small>?</small>
+ <div class="cbi-section-node">
+ <div class="table">
+ <%
+ for i, net in ipairs(netlist) do
+ local z = net[3]
+ local c = z and z:get_color() or "#EEEEEE"
+ local t = z and translate("Part of zone %q" % z:name()) or translate("No zone assigned")
+ %>
+ <div class="tr cbi-rowstyle-<%=i % 2 + 1%>">
+ <div class="td col-3 center middle">
+ <div class="ifacebox">
+ <div class="ifacebox-head" style="background-color:<%=c%>" title="<%=pcdata(t)%>">
+ <strong><%=net[1]:upper()%></strong>
+ </div>
+ <div class="ifacebox-body" id="<%=net[1]%>-ifc-devices">
+ <img src="<%=resource%>/icons/ethernet_disabled.png" style="width:16px; height:16px" /><br />
+ <small>?</small>
+ </div>
</div>
</div>
- </td>
- <td class="cbi-value-field" style="vertical-align:middle; text-align:left; padding:3px" id="<%=net[1]%>-ifc-description">
- <em><%:Collecting data...%></em>
- </td>
- <td style="width:420px">
- <input type="button" class="cbi-button cbi-button-reload" style="width:100px" onclick="iface_shutdown('<%=net[1]%>', true)" title="<%:Reconnect this interface%>" value="<%:Connect%>" />
- <input type="button" class="cbi-button cbi-button-reset" style="width:100px" onclick="iface_shutdown('<%=net[1]%>', false)" title="<%:Shutdown this interface%>" value="<%:Stop%>" />
- <input type="button" class="cbi-button cbi-button-edit" style="width:100px" onclick="location.href='<%=url("admin/network/network", net[1])%>'" title="<%:Edit this interface%>" value="<%:Edit%>" id="<%=net[1]%>-ifc-edit" />
- <input type="button" class="cbi-button cbi-button-remove" style="width:100px" onclick="iface_delete('<%=net[1]%>')" value="<%:Delete%>" />
- </td>
- </tr>
- <% end %>
- </table>
+ <div class="td col-5 left" id="<%=net[1]%>-ifc-description">
+ <em><%:Collecting data...%></em>
+ </div>
+ <div class="td cbi-section-actions">
+ <input type="button" class="cbi-button cbi-button-neutral" onclick="iface_shutdown('<%=net[1]%>', true)" title="<%:Reconnect this interface%>" value="<%:Connect%>" />
+ <input type="button" class="cbi-button cbi-button-neutral" onclick="iface_shutdown('<%=net[1]%>', false)" title="<%:Shutdown this interface%>" value="<%:Stop%>" />
+ <input type="button" class="cbi-button cbi-button-action important" onclick="location.href='<%=url("admin/network/network", net[1])%>'" title="<%:Edit this interface%>" value="<%:Edit%>" id="<%=net[1]%>-ifc-edit" />
+ <input type="button" class="cbi-button cbi-button-negative" onclick="iface_delete('<%=net[1]%>')" value="<%:Delete%>" />
+ </div>
+ </div>
+ <% end %>
+ </div>
+ </div>
<input type="button" class="cbi-button cbi-button-add" value="<%:Add new interface...%>" onclick="location.href='<%=url("admin/network/iface_add")%>'" />
- </fieldset>
+ </div>
</div>
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_network/iface_status.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/iface_status.htm
index b15dd13f39..9c5173dae2 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_network/iface_status.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_network/iface_status.htm
@@ -6,29 +6,18 @@
{
if (ifc && (ifc = ifc[0]))
{
- var html = '';
+ var s = document.getElementById('<%=self.option%>-ifc-status'),
+ img = s.querySelector('img'),
+ info = s.querySelector('span'),
+ html = '<strong><%:Device%>:</strong> %h<br />'.format(ifc.ifname);
- var s = document.getElementById('<%=self.option%>-ifc-signal');
- if (s)
- s.innerHTML = String.format(
- '<img src="<%=resource%>/icons/%s%s.png" style="width:16px; height:16px" />' +
- '<br /><small>%s</small>',
- ifc.type, ifc.is_up ? '' : '_disabled',
- ifc.name
- );
-
- var d = document.getElementById('<%=self.option%>-ifc-description');
- if (d && ifc.ifname)
+ if (ifc.ifname)
{
if (ifc.is_up)
- {
html += String.format('<strong><%:Uptime%>:</strong> %t<br />', ifc.uptime);
- }
if (ifc.macaddr)
- {
html += String.format('<strong><%:MAC-Address%>:</strong> %s<br />', ifc.macaddr);
- }
html += String.format(
'<strong><%:RX%></strong>: %.2mB (%d <%:Pkts.%>)<br />' +
@@ -38,50 +27,40 @@
);
if (ifc.ipaddrs && ifc.ipaddrs.length)
- {
for (var i = 0; i < ifc.ipaddrs.length; i++)
html += String.format(
'<strong><%:IPv4%>:</strong> %s<br />',
ifc.ipaddrs[i]
);
- }
if (ifc.ip6addrs && ifc.ip6addrs.length)
- {
for (var i = 0; i < ifc.ip6addrs.length; i++)
html += String.format(
'<strong><%:IPv6%>:</strong> %s<br />',
ifc.ip6addrs[i]
);
- }
-
+
if (ifc.ip6prefix)
- {
html += String.format('<strong><%:IPv6-PD%>:</strong> %s<br />', ifc.ip6prefix);
- }
- d.innerHTML = html;
+ info.innerHTML = html;
}
- else if (d)
+ else
{
- d.innerHTML = '<em><%:Interface not present or not connected yet.%></em>';
+ info.innerHTML = '<em><%:Interface not present or not connected yet.%></em>';
}
+
+ img.src = '<%=resource%>/icons/%s%s.png'.format(ifc.type, ifc.is_up ? '' : '_disabled');
}
}
);
//]]></script>
-<table>
- <tr class="cbi-section-table">
- <td></td>
- <td class="cbi-value-field" style="min-width:16px; padding:3px; text-align:center" id="<%=self.option%>-ifc-signal">
- <img src="<%=resource%>/icons/ethernet_disabled.png" style="width:16px; height:16px" /><br />
- <small>?</small>
- </td>
- <td class="cbi-value-field" style="vertical-align:middle; text-align:left; padding:3px" id="<%=self.option%>-ifc-description">
- <em><%:Collecting data...%></em>
- </td>
- </tr>
-</table>
+<span class="ifacebadge large" id="<%=self.option%>-ifc-status">
+ <img src="<%=resource%>/icons/ethernet_disabled.png" />
+ <span>
+ <em><%:Collecting data...%></em>
+ </span>
+</span>
<%+cbi/valuefooter%>
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_network/lease_status.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/lease_status.htm
index 28a37dcd98..8fbbdc9477 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_network/lease_status.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_network/lease_status.htm
@@ -1,29 +1,13 @@
<script type="text/javascript">//<![CDATA[
- function duid2mac(duid) {
- // DUID-LLT / Ethernet
- if (duid.length === 28 && duid.substr(0, 8) === '00010001')
- return duid.substr(16).replace(/(..)(?=..)/g, '$1:').toUpperCase();
-
- // DUID-LL / Ethernet
- if (duid.length === 20 && duid.substr(0, 8) === '00030001')
- return duid.substr(8).replace(/(..)(?=..)/g, '$1:').toUpperCase();
-
- return null;
- }
-
- var hosts = <%=luci.http.write_json(luci.sys.net.host_hints())%>;
-
XHR.poll(5, '<%=url('admin/network/dhcplease_status')%>', null,
function(x, st)
{
var tb = document.getElementById('lease_status_table');
if (st && st[0] && tb)
{
- /* clear all rows */
- while( tb.rows.length > 1 )
- tb.deleteRow(1);
+ var rows = [];
- for( var i = 0; i < st[0].length; i++ )
+ for (var i = 0; i < st[0].length; i++)
{
var timestr;
@@ -34,24 +18,15 @@
else
timestr = String.format('%t', st[0][i].expires);
- var tr = tb.insertRow(-1);
- tr.className = 'cbi-section-table-row cbi-rowstyle-' + ((i % 2) + 1);
-
- tr.insertCell(-1).innerHTML = st[0][i].hostname ? st[0][i].hostname : '?';
- tr.insertCell(-1).innerHTML = st[0][i].ipaddr;
- tr.insertCell(-1).innerHTML = st[0][i].macaddr;
- tr.insertCell(-1).innerHTML = timestr;
+ rows.push([
+ st[0][i].hostname || '?',
+ st[0][i].ipaddr,
+ st[0][i].macaddr,
+ timestr
+ ]);
}
- if( tb.rows.length == 1 )
- {
- var tr = tb.insertRow(-1);
- tr.className = 'cbi-section-table-row';
-
- var td = tr.insertCell(-1);
- td.colSpan = 4;
- td.innerHTML = '<em><br /><%:There are no active leases.%></em>';
- }
+ cbi_update_table(tb, rows, '<em><%:There are no active leases.%></em>');
}
var tb6 = document.getElementById('lease6_status_table');
@@ -59,11 +34,9 @@
{
tb6.parentNode.style.display = 'block';
- /* clear all rows */
- while( tb6.rows.length > 1 )
- tb6.deleteRow(1);
+ var rows = [];
- for( var i = 0; i < st[1].length; i++ )
+ for (var i = 0; i < st[1].length; i++)
{
var timestr;
@@ -74,66 +47,49 @@
else
timestr = String.format('%t', st[1][i].expires);
- var tr = tb6.insertRow(-1);
- tr.className = 'cbi-section-table-row cbi-rowstyle-' + ((i % 2) + 1);
-
- var host = hosts[duid2mac(st[1][i].duid)];
- if (!st[1][i].hostname)
- tr.insertCell(-1).innerHTML =
- (host && (host.name || host.ipv4 || host.ipv6))
- ? '<div style="max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space: nowrap">? (%h)</div>'.format(host.name || host.ipv4 || host.ipv6)
- : '?';
- else
- tr.insertCell(-1).innerHTML =
- (host && host.name && st[1][i].hostname != host.name)
- ? '<div style="max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space: nowrap">%h (%h)</div>'.format(st[1][i].hostname, host.name)
- : st[1][i].hostname;
+ var name = st[1][i].hostname,
+ hint = st[1][i].host_hint;
- tr.insertCell(-1).innerHTML = st[1][i].ip6addr;
- tr.insertCell(-1).innerHTML = st[1][i].duid;
- tr.insertCell(-1).innerHTML = timestr;
+ rows.push([
+ hint ? '%h (%h)'.format(name || '?', hint) : (name || '?'),
+ st[1][i].ip6addr,
+ st[1][i].duid,
+ timestr
+ ]);
}
- if( tb6.rows.length == 1 )
- {
- var tr = tb6.insertRow(-1);
- tr.className = 'cbi-section-table-row';
-
- var td = tr.insertCell(-1);
- td.colSpan = 4;
- td.innerHTML = '<em><br /><%:There are no active leases.%></em>';
- }
+ cbi_update_table(tb6, rows, '<em><%:There are no active leases.%></em>');
}
}
);
//]]></script>
-<fieldset class="cbi-section">
- <legend><%:Active DHCP Leases%></legend>
- <table class="cbi-section-table" id="lease_status_table">
- <tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"><%:Hostname%></th>
- <th class="cbi-section-table-cell"><%:IPv4-Address%></th>
- <th class="cbi-section-table-cell"><%:MAC-Address%></th>
- <th class="cbi-section-table-cell"><%:Leasetime remaining%></th>
- </tr>
- <tr class="cbi-section-table-row">
- <td colspan="4"><em><br /><%:Collecting data...%></em></td>
- </tr>
- </table>
-</fieldset>
-
-<fieldset class="cbi-section" style="display:none">
- <legend><%:Active DHCPv6 Leases%></legend>
- <table class="cbi-section-table" id="lease6_status_table">
- <tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"><%:Host%></th>
- <th class="cbi-section-table-cell"><%:IPv6-Address%></th>
- <th class="cbi-section-table-cell"><%:DUID%></th>
- <th class="cbi-section-table-cell"><%:Leasetime remaining%></th>
- </tr>
- <tr class="cbi-section-table-row">
- <td colspan="4"><em><br /><%:Collecting data...%></em></td>
- </tr>
- </table>
-</fieldset>
+<div class="cbi-section">
+ <h3><%:Active DHCP Leases%></h3>
+ <div class="table" id="lease_status_table">
+ <div class="tr table-titles">
+ <div class="th"><%:Hostname%></div>
+ <div class="th"><%:IPv4-Address%></div>
+ <div class="th"><%:MAC-Address%></div>
+ <div class="th"><%:Leasetime remaining%></div>
+ </div>
+ <div class="tr placeholder">
+ <div class="td"><em><%:Collecting data...%></em></div>
+ </div>
+ </div>
+</div>
+
+<div class="cbi-section" style="display:none">
+ <h3><%:Active DHCPv6 Leases%></h3>
+ <div class="table" id="lease6_status_table">
+ <div class="tr table-titles">
+ <div class="th"><%:Host%></div>
+ <div class="th"><%:IPv6-Address%></div>
+ <div class="th"><%:DUID%></div>
+ <div class="th"><%:Leasetime remaining%></div>
+ </div>
+ <div class="tr placeholder">
+ <div class="td"><em><%:Collecting data...%></em></div>
+ </div>
+ </div>
+</div>
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_network/switch_status.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/switch_status.htm
index 96fbffdb02..68f0bbc9d4 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_network/switch_status.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_network/switch_status.htm
@@ -1,21 +1,39 @@
<script type="text/javascript">//<![CDATA[
- var switches = [ '<%=table.concat(self.switches, "', '")%>' ];
+ var switches = [ '<%=table.concat(self.switches, "', '")%>' ],
+ tables = document.querySelectorAll('.cbi-section-table');
+
+ function add_status_row(table) {
+ var first_row = table.querySelector('.cbi-section-table-row');
+ if (first_row.classList.contains('port-status'))
+ return first_row;
+
+ var status_row = first_row.parentNode.insertBefore(
+ E('div', { 'class': first_row.className }), first_row);
+
+ first_row.querySelectorAll('.td').forEach(function(td) {
+ status_row.appendChild(td.cloneNode(false));
+ status_row.lastElementChild.removeAttribute('data-title');
+ });
+
+ status_row.firstElementChild.innerHTML = '<%:Port status:%>';
+ status_row.classList.add('port-status') ;
+
+ return status_row;
+ }
+
XHR.poll(5, '<%=url('admin/network/switch_status')%>/' + switches.join(','), null,
function(x, st)
{
for (var i = 0; i < switches.length; i++)
{
var ports = st[switches[i]];
- var th0 = document.getElementById('portstatus-' + switches[i]);
+ var tr = add_status_row(tables[i]);
- if (th0 && ports && ports.length)
+ if (tr && ports && ports.length)
{
- if (!th0.innerHTML)
- th0.innerHTML = '<%:Port status:%>';
-
for (var j = 0; j < ports.length; j++)
{
- var th = document.getElementById('portstatus-' + switches[i] + '-' + j);
+ var th = tr.querySelector('[data-name="%d"]'.format(j));
if (!th)
continue;
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_assoclist.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_assoclist.htm
new file mode 100644
index 0000000000..b6f84c0607
--- /dev/null
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_assoclist.htm
@@ -0,0 +1,82 @@
+<script type="text/javascript">//<![CDATA[
+ function wifirate(bss, rx) {
+ var p = rx ? 'rx_' : 'tx_',
+ s = '%.1f <%:Mbit/s%>, %d<%:MHz%>'
+ .format(bss[p+'rate'] / 1000, bss[p+'mhz']),
+ ht = bss[p+'ht'], vht = bss[p+'vht'],
+ mhz = bss[p+'mhz'], nss = bss[p+'nss'],
+ mcs = bss[p+'mcs'], sgi = bss[p+'short_gi'];
+
+ if (ht || vht) {
+ if (vht) s += ', VHT-MCS %d'.format(mcs);
+ if (nss) s += ', VHT-NSS %d'.format(nss);
+ if (ht) s += ', MCS %s'.format(mcs);
+ if (sgi) s += ', <%:Short GI%>';
+ }
+
+ return s;
+ }
+
+ XHR.poll(5, '<%=url('admin/network/wireless_assoclist')%>', null,
+ function(x, st)
+ {
+ var tb = document.getElementById('wifi_assoclist_table');
+ if (st && tb)
+ {
+ var rows = [];
+
+ st.forEach(function(bss) {
+ var icon;
+ var q = (-1 * (bss.noise - bss.signal)) / 5;
+ if (q < 1)
+ icon = "<%=resource%>/icons/signal-0.png";
+ else if (q < 2)
+ icon = "<%=resource%>/icons/signal-0-25.png";
+ else if (q < 3)
+ icon = "<%=resource%>/icons/signal-25-50.png";
+ else if (q < 4)
+ icon = "<%=resource%>/icons/signal-50-75.png";
+ else
+ icon = "<%=resource%>/icons/signal-75-100.png";
+
+ rows.push([
+ '<span class="ifacebadge" title="%q"><img src="<%=resource%>/icons/wifi.png" /> <a href="%s">%h</a><small>&#160;(%h)</small></span>'.format(
+ bss.radio,
+ bss.link,
+ bss.name,
+ bss.ifname),
+ bss.bssid,
+ bss.host_hint ? '%h (%h)'.format(bss.host_name || '?', bss.host_hint) : (bss.host_name || '?'),
+ '<span class="ifacebadge" title="<%:Signal%>: %d <%:dBm%> / <%:Noise%>: %d <%:dBm%> / <%:SNR%>: %d"><img src="%s" /> %d / %d <%:dBm%></span>'.format(
+ bss.signal,
+ bss.noise,
+ bss.signal - bss.noise,
+ icon,
+ bss.signal,
+ bss.noise),
+ E('span', {}, [
+ E('span', wifirate(bss, true)),
+ E('br'),
+ E('span', wifirate(bss, false))
+ ])
+ ]);
+ });
+
+ cbi_update_table(tb, rows, '<em><%:No information available%></em>');
+ }
+ }
+ );
+//]]></script>
+
+<div class="table" id="wifi_assoclist_table">
+ <div class="tr table-titles">
+ <div class="th nowrap"><%:Network%></div>
+ <div class="th hide-xs"><%:MAC-Address%></div>
+ <div class="th nowrap"><%:Host%></div>
+ <div class="th nowrap"><%:Signal%> / <%:Noise%></div>
+ <div class="th nowrap"><%:RX Rate%> / <%:TX Rate%></div>
+ </div>
+ <div class="tr placeholder">
+ <div class="td"><em><%:Collecting data...%></em></div>
+ </div>
+</div>
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_join.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_join.htm
index 3533c6fa4d..9b93942c88 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_join.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_join.htm
@@ -90,25 +90,43 @@
<h2 name="content"><%:Join Network: Wireless Scan%></h2>
<div class="cbi-map">
- <fieldset class="cbi-section">
- <table class="cbi-section-table" style="empty-cells:hide">
+ <div class="cbi-section">
+ <div class="table">
+ <div class="tr table-titles">
+ <div class="th col-1 center"><%:Signal%></div>
+ <div class="th col-5 left"><%:SSID%></div>
+ <div class="th col-2 center"><%:Channel%></div>
+ <div class="th col-2 left"><%:Mode%></div>
+ <div class="th col-3 left"><%:BSSID%></div>
+ <div class="th col-2 left"><%:Encryption%></div>
+ <div class="th cbi-section-actions">&#160;</div>
+ </div>
+
<!-- scan list -->
<% for i, net in ipairs(scanlist(3)) do net.encryption = net.encryption or { } %>
- <tr class="cbi-section-table-row cbi-rowstyle-<%=1 + ((i-1) % 2)%>">
- <td class="cbi-value-field" style="width:16px; padding:3px">
+ <div class="tr cbi-rowstyle-<%=1 + ((i-1) % 2)%>">
+ <div class="td col-1 center">
<abbr title="<%:Signal%>: <%=net.signal%> <%:dB%> / <%:Quality%>: <%=net.quality%>/<%=net.quality_max%>">
<img src="<%=guess_wifi_signal(net)%>" /><br />
<small><%=percent_wifi_signal(net)%>%</small>
</abbr>
- </td>
- <td class="cbi-value-field" style="vertical-align:middle; text-align:left; padding:3px">
- <big><strong><%=net.ssid and utl.pcdata(net.ssid) or "<em>%s</em>" % translate("hidden")%></strong></big><br />
- <strong>Channel:</strong> <%=net.channel%> |
- <strong>Mode:</strong> <%=net.mode%> |
- <strong>BSSID:</strong> <%=net.bssid%> |
- <strong>Encryption:</strong> <%=format_wifi_encryption(net.encryption)%>
- </td>
- <td class="cbi-value-field" style="width:40px">
+ </div>
+ <div class="td col-5 left" data-title="<%:SSID%>">
+ <strong><%=net.ssid and utl.pcdata(net.ssid) or "<em>%s</em>" % translate("hidden")%></strong>
+ </div>
+ <div class="td col-2 center" data-title="<%:Channel%>">
+ <%=net.channel%>
+ </div>
+ <div class="td col-2 left" data-title="<%:Mode%>">
+ <%=net.mode%>
+ </div>
+ <div class="td col-3 left" data-title="<%:BSSID%>">
+ <%=net.bssid%>
+ </div>
+ <div class="td col-2 left" data-title="<%:Encryption%>">
+ <%=format_wifi_encryption(net.encryption)%>
+ </div>
+ <div class="td cbi-section-actions">
<form action="<%=url('admin/network/wireless_join')%>" method="post">
<input type="hidden" name="token" value="<%=token%>" />
<input type="hidden" name="device" value="<%=utl.pcdata(dev)%>" />
@@ -126,23 +144,23 @@
<input type="hidden" name="clbridge" value="<%=iw.type == "wl" and 1 or 0%>" />
- <input class="cbi-button cbi-button-apply" type="submit" value="<%:Join Network%>" />
+ <input class="cbi-button cbi-button-action important" type="submit" value="<%:Join Network%>" />
</form>
- </td>
- </tr>
+ </div>
+ </div>
<% end %>
<!-- /scan list -->
- </table>
- </fieldset>
+ </div>
+ </div>
</div>
<div class="cbi-page-actions right">
<form class="inline" action="<%=url("admin/network/wireless")%>" method="get">
- <input class="cbi-button cbi-button-reset" type="submit" value="<%:Back to overview%>" />
+ <input class="cbi-button cbi-button-neutral" type="submit" value="<%:Back to overview%>" />
</form>
<form class="inline" action="<%=url('admin/network/wireless_join')%>" method="post">
<input type="hidden" name="token" value="<%=token%>" />
<input type="hidden" name="device" value="<%=utl.pcdata(dev)%>" />
- <input class="cbi-button cbi-input-find" type="submit" value="<%:Repeat scan%>" />
+ <input class="cbi-button cbi-button-action" type="submit" value="<%:Repeat scan%>" />
</form>
</div>
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_overview.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_overview.htm
index 4465095ff2..b9602785f4 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_overview.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_overview.htm
@@ -101,9 +101,9 @@
<%+header%>
<% if not has_iwinfo then %>
- <div class="errorbox">
- <strong><%:Package libiwinfo required!%></strong><br />
- <%_The <em>libiwinfo-lua</em> package is not installed. You must install this component for working wireless configuration!%>
+ <div class="alert-message warning">
+ <h4><%:Package libiwinfo required!%></h4>
+ <p><%_The <em>libiwinfo-lua</em> package is not installed. You must install this component for working wireless configuration!%></p>
</div>
<% end %>
@@ -113,32 +113,10 @@
var is_reconnecting = false;
- function nowrap(s) {
- return s.replace(/ /g, '&#160;');
- }
-
- function wifirate(bss, rx) {
- var p = rx ? 'rx_' : 'tx_',
- s = '%.1f <%:Mbit/s%>, %d<%:MHz%>'
- .format(bss[p+'rate'] / 1000, bss[p+'mhz']),
- ht = bss[p+'ht'], vht = bss[p+'vht'],
- mhz = bss[p+'mhz'], nss = bss[p+'nss'],
- mcs = bss[p+'mcs'], sgi = bss[p+'short_gi'];
-
- if (ht || vht) {
- if (vht) s += ', VHT-MCS %d'.format(mcs);
- if (nss) s += ', VHT-NSS %d'.format(nss);
- if (ht) s += ', MCS %s'.format(mcs);
- if (sgi) s += ', <%:Short GI%>';
- }
-
- return s;
- }
-
function wifi_shutdown(id, toggle) {
var reconnect = (toggle.getAttribute('active') == 'false');
- if (!reconnect && !confirm(String.format('<%:Really shut down network?\nYou might lose access to this device if you are connected via this interface.%>')))
+ if (!reconnect && !confirm(<%=luci.http.write_json(translate('Really shut down network? You might lose access to this device if you are connected via this interface'))%>))
return;
is_reconnecting = true;
@@ -176,7 +154,7 @@
}
function wifi_delete(id) {
- if (!confirm('<%:Really delete this wireless network? The deletion cannot be undone!\nYou might lose access to this device if you are connected via this network.%>'))
+ if (!confirm(<%=luci.http.write_json(translate('Really delete this wireless network? The deletion cannot be undone! You might lose access to this device if you are connected via this network.'))%>))
return;
(new XHR()).post('<%=url('admin/network/wireless_delete')%>/' + id, { token: '<%=token%>' },
@@ -193,20 +171,25 @@
{
if (st)
{
- var assoctable = document.getElementById('iw-assoclist');
- if (assoctable)
- while (assoctable.rows.length > 1)
- assoctable.rows[1].parentNode.removeChild(assoctable.rows[1]);
-
- var devup = { };
var rowstyle = 1;
+ var radiostate = { };
+
+ st.forEach(function(s) {
+ var r = radiostate[wifidevs[s.id]] || (radiostate[wifidevs[s.id]] = {});
+
+ s.is_assoc = (s.bssid && s.bssid != '00:00:00:00:00:00' && s.channel && s.mode != 'Unknown' && !s.disabled);
+
+ r.up = r.up || s.is_assoc;
+ r.channel = r.channel || s.channel;
+ r.bitrate = r.bitrate || s.bitrate;
+ r.frequency = r.frequency || s.frequency;
+ });
for( var i = 0; i < st.length; i++ )
{
var iw = st[i];
- var is_assoc = (iw.bssid && iw.bssid != '00:00:00:00:00:00' && iw.channel && iw.mode != 'Unknown' && !iw.disabled);
var p = iw.quality;
- var q = is_assoc ? p : -1;
+ var q = iw.is_assoc ? p : -1;
var icon;
if (q < 0)
@@ -222,9 +205,6 @@
else
icon = "<%=resource%>/icons/signal-75-100.png";
- if (!devup[wifidevs[iw.id]])
- devup[wifidevs[iw.id]] = is_assoc;
-
var sig = document.getElementById(iw.id + '-iw-signal');
if (sig)
sig.innerHTML = String.format(
@@ -237,13 +217,13 @@
{
if (!iw.disabled)
{
- toggle.className = 'cbi-button cbi-button-reset';
+ toggle.className = 'cbi-button cbi-button-neutral';
toggle.value = '<%:Disable%>';
toggle.title = '<%:Shutdown this network%>';
}
else
{
- toggle.className = 'cbi-button cbi-button-reload';
+ toggle.className = 'cbi-button cbi-button-neutral';
toggle.value = '<%:Enable%>';
toggle.title = '<%:Activate this network%>';
}
@@ -254,7 +234,7 @@
var info = document.getElementById(iw.id + '-iw-status');
if (info)
{
- if (is_assoc)
+ if (iw.is_assoc)
info.innerHTML = String.format(
'<strong><%:SSID%>:</strong> %h | ' +
'<strong><%:Mode%>:</strong> %s<br />' +
@@ -274,99 +254,23 @@
: '<em><%:Wireless is disabled or not associated%></em>'
);
}
-
- var dev = document.getElementById(wifidevs[iw.id] + '-iw-devinfo');
- if (dev)
- {
- if (is_assoc)
- dev.innerHTML = String.format(
- '<strong><%:Channel%>:</strong> %s (%s <%:GHz%>) | ' +
- '<strong><%:Bitrate%>:</strong> %s <%:Mbit/s%>',
- iw.channel ? iw.channel : '?',
- iw.frequency ? iw.frequency : '?',
- iw.bitrate ? iw.bitrate : '?'
- );
- else
- dev.innerHTML = '';
- }
-
- if (assoctable)
- {
- var assoclist = [ ];
- for( var bssid in iw.assoclist )
- {
- assoclist.push(iw.assoclist[bssid]);
- assoclist[assoclist.length-1].bssid = bssid;
- }
-
- assoclist.sort(function(a, b) { a.bssid < b.bssid });
-
- for( var j = 0; j < assoclist.length; j++ )
- {
- var tr = assoctable.insertRow(-1);
- tr.className = 'cbi-section-table-row cbi-rowstyle-' + rowstyle;
-
- var icon;
- var q = (-1 * (assoclist[j].noise - assoclist[j].signal)) / 5;
- if (q < 1)
- icon = "<%=resource%>/icons/signal-0.png";
- else if (q < 2)
- icon = "<%=resource%>/icons/signal-0-25.png";
- else if (q < 3)
- icon = "<%=resource%>/icons/signal-25-50.png";
- else if (q < 4)
- icon = "<%=resource%>/icons/signal-50-75.png";
- else
- icon = "<%=resource%>/icons/signal-75-100.png";
-
- tr.insertCell(-1).innerHTML = String.format(
- '<span class="ifacebadge" title="%q"><img src="<%=resource%>/icons/wifi.png" /> %h</span>',
- iw.device.name, iw.ifname
- );
-
- tr.insertCell(-1).innerHTML = nowrap(String.format('%h', iw.ssid ? iw.ssid : '?'));
- tr.insertCell(-1).innerHTML = assoclist[j].bssid;
-
- var host = hosts[assoclist[j].bssid];
- if (host)
- tr.insertCell(-1).innerHTML = String.format(
- '<div style="max-width:200px;overflow:hidden;text-overflow:ellipsis">%s</div>',
- ((host.name && (host.ipv4 || host.ipv6))
- ? '%h (%s)'.format(host.name, host.ipv4 || host.ipv6)
- : '%h'.format(host.name || host.ipv4 || host.ipv6)).nobr()
- );
- else
- tr.insertCell(-1).innerHTML = '?';
-
- tr.insertCell(-1).innerHTML = String.format(
- '<span class="ifacebadge" title="<%:Signal%>: %d <%:dBm%> / <%:Noise%>: %d <%:dBm%> / <%:SNR%>: %d"><img src="%s" /> %d / %d <%:dBm%></span>',
- assoclist[j].signal, assoclist[j].noise, assoclist[j].signal - assoclist[j].noise,
- icon,
- assoclist[j].signal, assoclist[j].noise
- );
-
- tr.insertCell(-1).innerHTML = nowrap(wifirate(assoclist[j], true)) + '<br />' + nowrap(wifirate(assoclist[j], false));
-
- rowstyle = (rowstyle == 1) ? 2 : 1;
- }
- }
}
- if (assoctable && assoctable.rows.length == 1)
- {
- var tr = assoctable.insertRow(-1);
- tr.className = 'cbi-section-table-row';
-
- var td = tr.insertCell(-1);
- td.colSpan = 8;
- td.innerHTML = '<br /><em><%:No information available%></em>';
- }
-
- for (var dev in devup)
+ for (var dev in radiostate)
{
var img = document.getElementById(dev + '-iw-upstate');
if (img)
- img.src = '<%=resource%>/icons/wifi_big' + (devup[dev] ? '' : '_disabled') + '.png';
+ img.src = '<%=resource%>/icons/wifi' + (radiostate[dev].up ? '' : '_disabled') + '.png';
+
+ var stat = document.getElementById(dev + '-iw-devinfo');
+ if (stat)
+ stat.innerHTML = String.format(
+ '<strong><%:Channel%>:</strong> %s (%s <%:GHz%>) | ' +
+ '<strong><%:Bitrate%>:</strong> %s <%:Mbit/s%>',
+ radiostate[dev].channel ? radiostate[dev].channel : '?',
+ radiostate[dev].frequency ? radiostate[dev].frequency : '?',
+ radiostate[dev].bitrate ? radiostate[dev].bitrate : '?'
+ );
}
}
}
@@ -375,92 +279,76 @@
<h2 name="content"><%:Wireless Overview%></h2>
-<fieldset class="cbi-section" style="display:none">
+<div class="cbi-section" style="display:none">
<legend><%:Reconnecting interface%></legend>
<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" />
<span id="iw-rc-status"><%:Waiting for changes to be applied...%></span>
-</fieldset>
+</div>
-<div class="cbi-map">
+<div id="cbi-wireless-overview" class="cbi-map">
<% for _, dev in ipairs(devices) do local nets = dev:get_wifinets() %>
<!-- device <%=dev:name()%> -->
- <fieldset class="cbi-section">
- <table class="cbi-section-table" style="margin:10px; empty-cells:hide">
+ <div class="cbi-section-node">
+ <div class="table">
<!-- physical device -->
- <tr>
- <td style="width:34px"><img src="<%=resource%>/icons/wifi_big_disabled.png" style="float:left; margin-right:10px" id="<%=dev:name()%>-iw-upstate" /></td>
- <td colspan="2" style="text-align:left">
- <big><strong><%=guess_wifi_hw(dev)%> (<%=dev:name()%>)</strong></big><br />
+ <div class="tr">
+ <div class="td col-2 center">
+ <span class="ifacebadge"><img src="<%=resource%>/icons/wifi_disabled.png" id="<%=dev:name()%>-iw-upstate" /> <%=dev:name()%></span>
+ </div>
+ <div class="td col-7 left">
+ <big><strong><%=guess_wifi_hw(dev)%></strong></big><br />
<span id="<%=dev:name()%>-iw-devinfo"></span>
- </td>
- <td style="width:310px;text-align:right">
+ </div>
+ <div class="td cbi-section-actions">
<form action="<%=url('admin/network/wireless_join')%>" method="post" class="inline">
<input type="hidden" name="device" value="<%=dev:name()%>" />
<input type="hidden" name="token" value="<%=token%>" />
- <input type="submit" class="cbi-button cbi-button-find" style="width:100px" title="<%:Find and join network%>" value="<%:Scan%>" />
+ <input type="submit" class="cbi-button cbi-button-action" title="<%:Find and join network%>" value="<%:Scan%>" />
</form>
<form action="<%=url('admin/network/wireless_add')%>" method="post" class="inline">
<input type="hidden" name="device" value="<%=dev:name()%>" />
<input type="hidden" name="token" value="<%=token%>" />
- <input type="submit" class="cbi-button cbi-button-add" style="width:100px" title="<%:Provide new network%>" value="<%:Add%>" />
+ <input type="submit" class="cbi-button cbi-button-add" title="<%:Provide new network%>" value="<%:Add%>" />
</form>
- </td>
- </tr>
+ </div>
+ </div>
<!-- /physical device -->
<!-- network list -->
<% if #nets > 0 then %>
<% for i, net in ipairs(nets) do %>
- <tr class="cbi-section-table-row cbi-rowstyle-<%=1 + ((i-1) % 2)%>">
- <td></td>
- <td class="cbi-value-field" style="vertical-align:middle; padding:3px" id="<%=net:id()%>-iw-signal">
+ <div class="tr cbi-rowstyle-<%=1 + ((i-1) % 2)%>">
+ <div class="td col-2 center" id="<%=net:id()%>-iw-signal">
<span class="ifacebadge" title="<%:Not associated%>"><img src="<%=resource%>/icons/signal-none.png" /> 0%</span>
- </td>
- <td class="cbi-value-field" style="vertical-align:middle; text-align:left; padding:3px" id="<%=net:id()%>-iw-status">
+ </div>
+ <div class="td col-7 left" id="<%=net:id()%>-iw-status">
<em><%:Collecting data...%></em>
- </td>
- <td class="cbi-value-field" style="width:310px;text-align:right">
- <input id="<%=net:id()%>-iw-toggle" type="button" class="cbi-button cbi-button-reload" style="width:100px" onclick="wifi_shutdown('<%=net:id()%>', this)" title="<%:Delete this network%>" value="<%:Enable%>" />
- <input type="button" class="cbi-button cbi-button-edit" style="width:100px" onclick="location.href='<%=net:adminlink()%>'" title="<%:Edit this network%>" value="<%:Edit%>" />
- <input type="button" class="cbi-button cbi-button-remove" style="width:100px" onclick="wifi_delete('<%=net:id()%>')" title="<%:Delete this network%>" value="<%:Remove%>" />
- </td>
- </tr>
+ </div>
+ <div class="td cbi-section-actions">
+ <input id="<%=net:id()%>-iw-toggle" type="button" class="cbi-button cbi-button-neutral" onclick="wifi_shutdown('<%=net:id()%>', this)" title="<%:Enable this network%>" value="<%:Enable%>" />
+ <input type="button" class="cbi-button cbi-button-action important" onclick="location.href='<%=net:adminlink()%>'" title="<%:Edit this network%>" value="<%:Edit%>" />
+ <input type="button" class="cbi-button cbi-button-negative" onclick="wifi_delete('<%=net:id()%>')" title="<%:Delete this network%>" value="<%:Remove%>" />
+ </div>
+ </div>
<% end %>
<% else %>
- <tr class="cbi-section-table-row cbi-rowstyle-2">
- <td></td>
- <td colspan="3" class="cbi-value-field" style="vertical-align:middle; text-align:left; padding:3px">
+ <div class="tr cbi-rowstyle-2">
+ <div class="td left">
<em><%:No network configured on this device%></em>
- </td>
- </tr>
+ </div>
+ </div>
<% end %>
<!-- /network list -->
- </table>
- </fieldset>
+ </div>
+ </div>
<!-- /device <%=dev:name()%> -->
<% end %>
<h2><%:Associated Stations%></h2>
- <fieldset class="cbi-section">
- <table class="cbi-section-table valign-middle" style="margin:10px" id="iw-assoclist">
- <tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"></th>
- <th class="cbi-section-table-cell"><%:SSID%></th>
- <th class="cbi-section-table-cell"><%:MAC-Address%></th>
- <th class="cbi-section-table-cell"><%:Host%></th>
- <th class="cbi-section-table-cell"><%:Signal%> / <%:Noise%></th>
- <th class="cbi-section-table-cell"><%:RX Rate%> / <%:TX Rate%></th>
- </tr>
- <tr class="cbi-section-table-row cbi-rowstyle-2">
- <td class="cbi-value-field" colspan="6">
- <em><%:Collecting data...%></em>
- </td>
- </tr>
- </table>
- </fieldset>
+ <%+admin_network/wifi_assoclist%>
</div>
<%+footer%>
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_status.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_status.htm
index 04687f38e7..85468252e9 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_status.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_status.htm
@@ -62,17 +62,17 @@
);
//]]></script>
-<table>
- <tr class="cbi-section-table">
- <td></td>
- <td class="cbi-value-field" style="width:16px; padding:3px" id="<%=self.option%>-iw-signal">
+<div class="table">
+ <div class="tr cbi-section-table">
+ <div class="td"></div>
+ <div class="td cbi-value-field" style="width:16px; padding:3px" id="<%=self.option%>-iw-signal">
<img src="<%=resource%>/icons/signal-none.png" title="<%:Not associated%>" /><br />
<small>0%</small>
- </td>
- <td class="cbi-value-field" style="vertical-align:middle; text-align:left; padding:3px" id="<%=self.option%>-iw-description">
+ </div>
+ <div class="td cbi-value-field" style="vertical-align:middle; text-align:left; padding:3px" id="<%=self.option%>-iw-description">
<em><%:Collecting data...%></em>
- </td>
- </tr>
-</table>
+ </div>
+ </div>
+</div>
<%+cbi/valuefooter%>
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/bandwidth.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/bandwidth.htm
index 33bbee7843..b7594bfd45 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_status/bandwidth.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/bandwidth.htm
@@ -202,18 +202,13 @@
data_rx_peak = Math.max(data_rx_peak, data_rx[i]);
data_tx_peak = Math.max(data_tx_peak, data_tx[i]);
- if (i > 0)
- {
- data_rx_avg = (data_rx_avg + data_rx[i]) / 2;
- data_tx_avg = (data_tx_avg + data_tx[i]) / 2;
- }
- else
- {
- data_rx_avg = data_rx[i];
- data_tx_avg = data_tx[i];
- }
+ data_rx_avg += data_rx[i];
+ data_tx_avg += data_tx[i];
}
+ data_rx_avg = (data_rx_avg / Math.max(data_rx.length, 1));
+ data_tx_avg = (data_tx_avg / Math.max(data_tx.length, 1));
+
/* remember current timestamp, calculate horizontal scale */
data_stamp = data[data.length-1][TIME];
data_scale = height / (data_max * 1.1);
@@ -258,6 +253,8 @@
label_tx_peak.innerHTML = bandwidth_label(data_tx_peak, true);
}
);
+
+ XHR.run();
}
}, 1000
);
@@ -275,27 +272,27 @@
<div style="text-align:right"><small id="scale">-</small></div>
<br />
-<table style="width:100%; table-layout:fixed" cellspacing="5">
- <tr>
- <td style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid blue"><%:Inbound:%></strong></td>
- <td id="rx_bw_cur">0 <%:kbit/s%><br />(0 <%:kB/s%>)</td>
+<div class="table" style="width:100%; table-layout:fixed" cellspacing="5">
+ <div class="tr">
+ <div class="td" style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid blue"><%:Inbound:%></strong></div>
+ <div class="td" id="rx_bw_cur">0 <%:kbit/s%><br />(0 <%:kB/s%>)</div>
- <td style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></td>
- <td id="rx_bw_avg">0 <%:kbit/s%><br />(0 <%:kB/s%>)</td>
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></div>
+ <div class="td" id="rx_bw_avg">0 <%:kbit/s%><br />(0 <%:kB/s%>)</div>
- <td style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></td>
- <td id="rx_bw_peak">0 <%:kbit/s%><br />(0 <%:kB/s%>)</td>
- </tr>
- <tr>
- <td style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid green"><%:Outbound:%></strong></td>
- <td id="tx_bw_cur">0 <%:kbit/s%><br />(0 <%:kB/s%>)</td>
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></div>
+ <div class="td" id="rx_bw_peak">0 <%:kbit/s%><br />(0 <%:kB/s%>)</div>
+ </div>
+ <div class="tr">
+ <div class="td" style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid green"><%:Outbound:%></strong></div>
+ <div class="td" id="tx_bw_cur">0 <%:kbit/s%><br />(0 <%:kB/s%>)</div>
- <td style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></td>
- <td id="tx_bw_avg">0 <%:kbit/s%><br />(0 <%:kB/s%>)</td>
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></div>
+ <div class="td" id="tx_bw_avg">0 <%:kbit/s%><br />(0 <%:kB/s%>)</div>
- <td style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></td>
- <td id="tx_bw_peak">0 <%:kbit/s%><br />(0 <%:kB/s%>)</td>
- </tr>
-</table>
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></div>
+ <div class="td" id="tx_bw_peak">0 <%:kbit/s%><br />(0 <%:kB/s%>)</div>
+ </div>
+</div>
<%+footer%>
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/connections.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/connections.htm
index b7ebc41451..ae8a6bb7ce 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_status/connections.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/connections.htm
@@ -139,8 +139,8 @@
{
var conn = json.connections;
- while (conn_table.rows.length > 1)
- conn_table.rows[0].parentNode.deleteRow(-1);
+ while (conn_table.firstElementChild !== conn_table.lastElementChild)
+ conn_table.removeChild(conn_table.lastElementChild);
var lookup_queue = [ ];
@@ -153,13 +153,10 @@
{
var c = conn[i];
- if ((c.src == '127.0.0.1' && c.dst == '127.0.0.1')
- || (c.src == '::1' && c.dst == '::1'))
+ if ((c.src == '127.0.0.1' && c.dst == '127.0.0.1') ||
+ (c.src == '::1' && c.dst == '::1'))
continue;
- var tr = conn_table.rows[0].parentNode.insertRow(-1);
- tr.className = 'cbi-section-table-row cbi-rowstyle-' + (1 + (i % 2));
-
if (!dns_cache[c.src])
lookup_queue.push(c.src);
@@ -169,14 +166,13 @@
var src = dns_cache[c.src] || (c.layer3 == 'ipv6' ? '[' + c.src + ']' : c.src);
var dst = dns_cache[c.dst] || (c.layer3 == 'ipv6' ? '[' + c.dst + ']' : c.dst);
- tr.insertCell(-1).innerHTML = c.layer3.toUpperCase();
- tr.insertCell(-1).innerHTML = c.layer4.toUpperCase();
- tr.insertCell(-1).innerHTML = String.format('%s:%d', src, c.sport);
- tr.insertCell(-1).innerHTML = String.format('%s:%d', dst, c.dport);
-
- var traf = tr.insertCell(-1);
- traf.style.whiteSpace = 'nowrap';
- traf.innerHTML = String.format('%1024.2mB (%d <%:Pkts.%>)', c.bytes, c.packets);
+ conn_table.appendChild(E('<div class="tr cbi-section-table-row cbi-rowstyle-%d">'.format(1 + (i % 2)), [
+ E('<div class="td">', c.layer3.toUpperCase()),
+ E('<div class="td">', c.layer4.toUpperCase()),
+ E('<div class="td">', [ src, ':', c.sport ]),
+ E('<div class="td">', [ dst, ':', c.dport ]),
+ E('<div class="td" style="white-space:nowrap">', '%1024.2mB (%d <%:Pkts.%>)'.format(c.bytes, c.packets)),
+ ]));
}
if (lookup_queue.length > 0)
@@ -308,6 +304,8 @@
label_otr_peak.innerHTML = Math.floor(data_otr_peak);
}
);
+
+ XHR.run();
}
}, 1000
);
@@ -324,52 +322,52 @@
<div style="text-align:right"><small id="scale">-</small></div>
<br />
- <table style="width:100%; table-layout:fixed" cellspacing="5">
- <tr>
- <td style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid blue"><%:UDP:%></strong></td>
- <td id="lb_udp_cur">0</td>
-
- <td style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></td>
- <td id="lb_udp_avg">0</td>
-
- <td style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></td>
- <td id="lb_udp_peak">0</td>
- </tr>
- <tr>
- <td style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid green"><%:TCP:%></strong></td>
- <td id="lb_tcp_cur">0</td>
-
- <td style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></td>
- <td id="lb_tcp_avg">0</td>
-
- <td style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></td>
- <td id="lb_tcp_peak">0</td>
- </tr>
- <tr>
- <td style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid red"><%:Other:%></strong></td>
- <td id="lb_otr_cur">0</td>
-
- <td style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></td>
- <td id="lb_otr_avg">0</td>
-
- <td style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></td>
- <td id="lb_otr_peak">0</td>
- </tr>
- </table>
+ <div class="table" style="width:100%; table-layout:fixed" cellspacing="5">
+ <div class="tr">
+ <div class="td" style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid blue"><%:UDP:%></strong></div>
+ <div class="td" id="lb_udp_cur">0</div>
+
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></div>
+ <div class="td" id="lb_udp_avg">0</div>
+
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></div>
+ <div class="td" id="lb_udp_peak">0</div>
+ </div>
+ <div class="tr">
+ <div class="td" style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid green"><%:TCP:%></strong></div>
+ <div class="td" id="lb_tcp_cur">0</div>
+
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></div>
+ <div class="td" id="lb_tcp_avg">0</div>
+
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></div>
+ <div class="td" id="lb_tcp_peak">0</div>
+ </div>
+ <div class="tr">
+ <div class="td" style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid red"><%:Other:%></strong></div>
+ <div class="td" id="lb_otr_cur">0</div>
+
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></div>
+ <div class="td" id="lb_otr_avg">0</div>
+
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></div>
+ <div class="td" id="lb_otr_peak">0</div>
+ </div>
+ </div>
<br />
<div class="cbi-section-node">
- <table class="cbi-section-table" id="connections">
- <tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"><%:Network%></th>
- <th class="cbi-section-table-cell"><%:Protocol%></th>
- <th class="cbi-section-table-cell"><%:Source%></th>
- <th class="cbi-section-table-cell"><%:Destination%></th>
- <th class="cbi-section-table-cell"><%:Transfer%></th>
- </tr>
-
- <tr><td colspan="5"><em><%:Collecting data...%></em></td></tr>
- </table>
+ <div class="table cbi-section-table" id="connections">
+ <div class="tr cbi-section-table-titles">
+ <div class="th cbi-section-table-cell"><%:Network%></div>
+ <div class="th cbi-section-table-cell"><%:Protocol%></div>
+ <div class="th cbi-section-table-cell"><%:Source%></div>
+ <div class="th cbi-section-table-cell"><%:Destination%></div>
+ <div class="th cbi-section-table-cell"><%:Transfer%></div>
+ </div>
+
+ <div class="tr"><div class="td" colspan="5"><em><%:Collecting data...%></em></div></div>
+ </div>
</div>
</fieldset>
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm
index 5e6e494ad6..9aee30b5f9 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm
@@ -6,6 +6,7 @@
<%
local fs = require "nixio.fs"
+ local ipc = require "luci.ip"
local util = require "luci.util"
local stat = require "luci.tools.status"
local ver = require "luci.version"
@@ -52,12 +53,12 @@
swap = swapinfo,
connmax = conn_max,
conncount = conn_count,
- leases = stat.dhcp_leases(),
- leases6 = stat.dhcp6_leases(),
wifinets = stat.wifi_networks()
}
if wan then
+ local dev = wan:get_interface()
+ local link = dev and ipc.link(dev:name())
rv.wan = {
ipaddr = wan:ipaddr(),
gwaddr = wan:gwaddr(),
@@ -66,12 +67,19 @@
expires = wan:expires(),
uptime = wan:uptime(),
proto = wan:proto(),
+ i18n = wan:get_i18n(),
ifname = wan:ifname(),
- link = wan:adminlink()
+ link = wan:adminlink(),
+ mac = dev and dev:mac(),
+ type = dev and dev:type(),
+ name = dev and dev:get_i18n(),
+ ether = link and link.type == 1
}
end
if wan6 then
+ local dev = wan6:get_interface()
+ local link = dev and ipc.link(dev:name())
rv.wan6 = {
ip6addr = wan6:ip6addr(),
gw6addr = wan6:gw6addr(),
@@ -79,8 +87,13 @@
ip6prefix = wan6:ip6prefix(),
uptime = wan6:uptime(),
proto = wan6:proto(),
+ i18n = wan6:get_i18n(),
ifname = wan6:ifname(),
- link = wan6:adminlink()
+ link = wan6:adminlink(),
+ mac = dev and dev:mac(),
+ type = dev and dev:type(),
+ name = dev and dev:get_i18n(),
+ ether = link and link.type == 1
}
end
@@ -96,11 +109,6 @@
luci.http.write_json(rv)
return
- elseif luci.http.formvalue("hosts") == "1" then
- luci.http.prepare_content("application/json")
- luci.http.write_json(luci.sys.net.host_hints())
-
- return
end
-%>
@@ -115,7 +123,7 @@
var pc = Math.floor((100 / mn) * vn);
return String.format(
- '<div style="width:200px; position:relative; border:1px solid #999999">' +
+ '<div style="width:100%%; max-width:200px; position:relative; border:1px solid #999999">' +
'<div style="background-color:#CCCCCC; width:%d%%; height:15px">' +
'<div style="position:absolute; left:0; top:0; text-align:center; width:100%%; color:#000000">' +
'<small>%s / %s (%d%%)</small>' +
@@ -125,172 +133,92 @@
);
}
- function wifirate(bss, rx) {
- var p = rx ? 'rx_' : 'tx_',
- s = '%.1f <%:Mbit/s%>, %d<%:MHz%>'
- .format(bss[p+'rate'] / 1000, bss[p+'mhz']),
- ht = bss[p+'ht'], vht = bss[p+'vht'],
- mhz = bss[p+'mhz'], nss = bss[p+'nss'],
- mcs = bss[p+'mcs'], sgi = bss[p+'short_gi'];
-
- if (ht || vht) {
- if (vht) s += ', VHT-MCS %d'.format(mcs);
- if (nss) s += ', VHT-NSS %d'.format(nss);
- if (ht) s += ', MCS %s'.format(mcs);
- if (sgi) s += ', <%:Short GI%>';
- }
+ function labelList(items, offset) {
+ var rv = [ ];
- return s;
- }
+ for (var i = offset || 0; i < items.length; i += 2) {
+ var label = items[i],
+ value = items[i+1];
+
+ if (value === undefined || value === null)
+ continue;
- function duid2mac(duid) {
- // DUID-LLT / Ethernet
- if (duid.length === 28 && duid.substr(0, 8) === '00010001')
- return duid.substr(16).replace(/(..)(?=..)/g, '$1:').toUpperCase();
+ if (label)
+ rv.push(E('strong', [label, ': ']));
- // DUID-LL / Ethernet
- if (duid.length === 20 && duid.substr(0, 8) === '00030001')
- return duid.substr(8).replace(/(..)(?=..)/g, '$1:').toUpperCase();
+ rv.push(value, E('br'));
+ }
- return null;
+ return rv;
}
- var npoll = 1;
- var hosts = <%=luci.http.write_json(luci.sys.net.host_hints())%>;
+ function renderBox(title, active, childs) {
+ childs = childs || [];
+ childs.unshift(E('span', labelList(arguments, 3)));
- function updateHosts() {
- XHR.get('<%=REQUEST_URI%>', { hosts: 1 }, function(x, data) {
- hosts = data;
- });
+ return E('div', { class: 'ifacebox' }, [
+ E('div', { class: 'ifacebox-head center ' + (active ? 'active' : '') },
+ E('strong', title)),
+ E('div', { class: 'ifacebox-body left' }, childs)
+ ]);
+ }
+
+ function renderBadge(icon, title) {
+ return E('span', { class: 'ifacebadge' }, [
+ E('img', { src: icon, title: title || '' }),
+ E('span', labelList(arguments, 2))
+ ]);
}
XHR.poll(5, '<%=REQUEST_URI%>', { status: 1 },
function(x, info)
{
- if (!(npoll++ % 5))
- updateHosts();
-
- var si = document.getElementById('wan4_i');
- var ss = document.getElementById('wan4_s');
- var ifc = info.wan;
-
- if (ifc && ifc.ifname && ifc.proto != 'none')
- {
- var s = String.format(
- '<strong><%:Type%>: </strong>%s<br />' +
- '<strong><%:Address%>: </strong>%s<br />' +
- '<strong><%:Netmask%>: </strong>%s<br />' +
- '<strong><%:Gateway%>: </strong>%s<br />',
- ifc.proto,
- (ifc.ipaddr) ? ifc.ipaddr : '0.0.0.0',
- (ifc.netmask && ifc.netmask != ifc.ipaddr) ? ifc.netmask : '255.255.255.255',
- (ifc.gwaddr) ? ifc.gwaddr : '0.0.0.0'
- );
-
- for (var i = 0; i < ifc.dns.length; i++)
- {
- s += String.format(
- '<strong><%:DNS%> %d: </strong>%s<br />',
- i + 1, ifc.dns[i]
- );
- }
-
- if (ifc.expires > -1)
- {
- s += String.format(
- '<strong><%:Expires%>: </strong>%t<br />',
- ifc.expires
- );
- }
-
- if (ifc.uptime > 0)
- {
- s += String.format(
- '<strong><%:Connected%>: </strong>%t<br />',
- ifc.uptime
- );
- }
-
- ss.innerHTML = String.format('<small>%s</small>', s);
- si.innerHTML = String.format(
- '<img src="<%=resource%>/icons/ethernet.png" />' +
- '<br /><small><a href="%s">%s</a></small>',
- ifc.link, ifc.ifname
- );
- }
- else
- {
- si.innerHTML = '<img src="<%=resource%>/icons/ethernet_disabled.png" /><br /><small>?</small>';
- ss.innerHTML = '<em><%:Not connected%></em>';
- }
+ var us = document.getElementById('upstream_status_table');
+
+ while (us.lastElementChild)
+ us.removeChild(us.lastElementChild);
+
+ var ifc = info.wan || {};
+
+ us.appendChild(renderBox(
+ '<%:IPv4 Upstream%>',
+ (ifc.ifname && ifc.proto != 'none'),
+ [ E('div', {}, renderBadge(
+ '<%=resource%>/icons/%s.png'.format((ifc && ifc.type) ? ifc.type : 'ethernet_disabled'), null,
+ '<%:Device%>', ifc ? (ifc.name || ifc.ifname || '-') : '-',
+ '<%:MAC-Address%>', (ifc && ifc.ether) ? ifc.mac : null)) ],
+ '<%:Protocol%>', ifc.i18n || E('em', '<%:Not connected%>'),
+ '<%:Address%>', (ifc.ipaddr) ? ifc.ipaddr : '0.0.0.0',
+ '<%:Netmask%>', (ifc.netmask && ifc.netmask != ifc.ipaddr) ? ifc.netmask : '255.255.255.255',
+ '<%:Gateway%>', (ifc.gwaddr) ? ifc.gwaddr : '0.0.0.0',
+ '<%:DNS%> 1', (ifc.dns) ? ifc.dns[0] : null,
+ '<%:DNS%> 2', (ifc.dns) ? ifc.dns[1] : null,
+ '<%:DNS%> 3', (ifc.dns) ? ifc.dns[2] : null,
+ '<%:DNS%> 4', (ifc.dns) ? ifc.dns[3] : null,
+ '<%:DNS%> 5', (ifc.dns) ? ifc.dns[4] : null,
+ '<%:Expires%>', (ifc.expires > -1) ? '%t'.format(ifc.expires) : null,
+ '<%:Connected%>', (ifc.uptime > 0) ? '%t'.format(ifc.uptime) : null));
<% if has_ipv6 then %>
- var si6 = document.getElementById('wan6_i');
- var ss6 = document.getElementById('wan6_s');
- var ifc6 = info.wan6;
-
- if (ifc6 && ifc6.ifname && ifc6.proto != 'none')
- {
- var s = String.format(
- '<strong><%:Type%>: </strong>%s%s<br />',
- ifc6.proto, (ifc6.ip6prefix) ? '-pd' : ''
- );
-
- if (!ifc6.ip6prefix)
- {
- s += String.format(
- '<strong><%:Address%>: </strong>%s<br />',
- (ifc6.ip6addr) ? ifc6.ip6addr : '::'
- );
- }
- else
- {
- s += String.format(
- '<strong><%:Prefix Delegated%>: </strong>%s<br />',
- ifc6.ip6prefix
- );
- if (ifc6.ip6addr)
- {
- s += String.format(
- '<strong><%:Address%>: </strong>%s<br />',
- ifc6.ip6addr
- );
- }
- }
-
- s += String.format(
- '<strong><%:Gateway%>: </strong>%s<br />',
- (ifc6.gw6addr) ? ifc6.gw6addr : '::'
- );
-
- for (var i = 0; i < ifc6.dns.length; i++)
- {
- s += String.format(
- '<strong><%:DNS%> %d: </strong>%s<br />',
- i + 1, ifc6.dns[i]
- );
- }
-
- if (ifc6.uptime > 0)
- {
- s += String.format(
- '<strong><%:Connected%>: </strong>%t<br />',
- ifc6.uptime
- );
- }
-
- ss6.innerHTML = String.format('<small>%s</small>', s);
- si6.innerHTML = String.format(
- '<img src="<%=resource%>/icons/ethernet.png" />' +
- '<br /><small><a href="%s">%s</a></small>',
- ifc6.link, ifc6.ifname
- );
- }
- else
- {
- si6.innerHTML = '<img src="<%=resource%>/icons/ethernet_disabled.png" /><br /><small>?</small>';
- ss6.innerHTML = '<em><%:Not connected%></em>';
- }
+ var ifc6 = info.wan6 || {};
+
+ us.appendChild(renderBox(
+ '<%:IPv6 Upstream%>',
+ (ifc6.ifname && ifc6.proto != 'none'),
+ [ E('div', {}, renderBadge(
+ '<%=resource%>/icons/%s.png'.format(ifc6.type || 'ethernet_disabled'), null,
+ '<%:Device%>', ifc6 ? (ifc6.name || ifc6.ifname || '-') : '-',
+ '<%:MAC-Address%>', (ifc6 && ifc6.ether) ? ifc6.mac : null)) ],
+ '<%:Protocol%>', ifc6.i18n ? (ifc6.i18n + (ifc6.proto === 'dhcp' && ifc6.ip6prefix ? '-PD' : '')) : E('em', '<%:Not connected%>'),
+ '<%:Prefix Delegated%>', ifc6.ip6prefix,
+ '<%:Address%>', (ifc6.ip6prefix) ? (ifc6.ip6addr || null) : (ifc6.ipaddr || '::'),
+ '<%:Gateway%>', (ifc6.gw6addr) ? ifc6.gw6addr : '::',
+ '<%:DNS%> 1', (ifc6.dns) ? ifc6.dns[0] : null,
+ '<%:DNS%> 2', (ifc6.dns) ? ifc6.dns[1] : null,
+ '<%:DNS%> 3', (ifc6.dns) ? ifc6.dns[2] : null,
+ '<%:DNS%> 4', (ifc6.dns) ? ifc6.dns[3] : null,
+ '<%:DNS%> 5', (ifc6.dns) ? ifc6.dns[4] : null,
+ '<%:Connected%>', (ifc6.uptime > 0) ? '%t'.format(ifc6.uptime) : null));
<% end %>
<% if has_dsl then %>
@@ -353,122 +281,18 @@
);
<% end %>
- <% if has_dhcp then %>
- var ls = document.getElementById('lease_status_table');
- if (ls)
- {
- /* clear all rows */
- while( ls.rows.length > 1 )
- ls.rows[0].parentNode.deleteRow(1);
-
- for( var i = 0; i < info.leases.length; i++ )
- {
- var timestr;
-
- if (info.leases[i].expires === false)
- timestr = '<em><%:unlimited%></em>';
- else if (info.leases[i].expires <= 0)
- timestr = '<em><%:expired%></em>';
- else
- timestr = String.format('%t', info.leases[i].expires);
-
- var tr = ls.rows[0].parentNode.insertRow(-1);
- tr.className = 'cbi-section-table-row cbi-rowstyle-' + ((i % 2) + 1);
-
- tr.insertCell(-1).innerHTML = info.leases[i].hostname ? info.leases[i].hostname : '?';
- tr.insertCell(-1).innerHTML = info.leases[i].ipaddr;
- tr.insertCell(-1).innerHTML = info.leases[i].macaddr;
- tr.insertCell(-1).innerHTML = timestr;
- }
-
- if( ls.rows.length == 1 )
- {
- var tr = ls.rows[0].parentNode.insertRow(-1);
- tr.className = 'cbi-section-table-row';
-
- var td = tr.insertCell(-1);
- td.colSpan = 4;
- td.innerHTML = '<em><br /><%:There are no active leases.%></em>';
- }
- }
-
- var ls6 = document.getElementById('lease6_status_table');
- if (ls6 && info.leases6)
- {
- ls6.parentNode.style.display = 'block';
-
- /* clear all rows */
- while( ls6.rows.length > 1 )
- ls6.rows[0].parentNode.deleteRow(1);
-
- for( var i = 0; i < info.leases6.length; i++ )
- {
- var timestr;
-
- if (info.leases6[i].expires === false)
- timestr = '<em><%:unlimited%></em>';
- else if (info.leases6[i].expires <= 0)
- timestr = '<em><%:expired%></em>';
- else
- timestr = String.format('%t', info.leases6[i].expires);
-
- var tr = ls6.rows[0].parentNode.insertRow(-1);
- tr.className = 'cbi-section-table-row cbi-rowstyle-' + ((i % 2) + 1);
-
- var host = hosts[duid2mac(info.leases6[i].duid)];
- if (!info.leases6[i].hostname)
- tr.insertCell(-1).innerHTML =
- (host && (host.name || host.ipv4 || host.ipv6))
- ? '<div style="max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space: nowrap">? (%h)</div>'.format(host.name || host.ipv4 || host.ipv6)
- : '?';
- else
- tr.insertCell(-1).innerHTML =
- (host && host.name && info.leases6[i].hostname != host.name)
- ? '<div style="max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space: nowrap">%h (%h)</div>'.format(info.leases6[i].hostname, host.name)
- : info.leases6[i].hostname;
-
- tr.insertCell(-1).innerHTML = info.leases6[i].ip6addr;
- tr.insertCell(-1).innerHTML = info.leases6[i].duid;
- tr.insertCell(-1).innerHTML = timestr;
- }
-
- if( ls6.rows.length == 1 )
- {
- var tr = ls6.rows[0].parentNode.insertRow(-1);
- tr.className = 'cbi-section-table-row';
-
- var td = tr.insertCell(-1);
- td.colSpan = 4;
- td.innerHTML = '<em><br /><%:There are no active leases.%></em>';
- }
- }
- <% end %>
-
<% if has_wifi then %>
- var assoclist = [ ];
-
var ws = document.getElementById('wifi_status_table');
if (ws)
{
- var wsbody = ws.rows[0].parentNode;
- while (ws.rows.length > 0)
- wsbody.deleteRow(0);
+ while (ws.lastElementChild)
+ ws.removeChild(ws.lastElementChild);
for (var didx = 0; didx < info.wifinets.length; didx++)
{
var dev = info.wifinets[didx];
-
- var tr = wsbody.insertRow(-1);
- var td;
-
- td = tr.insertCell(-1);
- td.width = "33%";
- td.innerHTML = dev.name;
- td.style.verticalAlign = "top";
-
- td = tr.insertCell(-1);
-
- var s = '';
+ var net0 = (dev.networks && dev.networks[0]) ? dev.networks[0] : {};
+ var vifs = [];
for (var nidx = 0; nidx < dev.networks.length; nidx++)
{
@@ -489,135 +313,27 @@
else
icon = "<%=resource%>/icons/signal-75-100.png";
- s += String.format(
- '<table><tr><td style="text-align:center; width:32px; padding:3px">' +
- '<img src="%s" title="<%:Signal%>: %d dBm / <%:Noise%>: %d dBm" />' +
- '<br /><small>%d%%</small>' +
- '</td><td style="text-align:left; padding:3px"><small>' +
- '<strong><%:SSID%>:</strong> <a href="%s">%h</a><br />' +
- '<strong><%:Mode%>:</strong> %s<br />' +
- '<strong><%:Channel%>:</strong> %d (%.3f <%:GHz%>)<br />' +
- '<strong><%:Bitrate%>:</strong> %s <%:Mbit/s%><br />',
- icon, net.signal, net.noise,
- net.quality,
- net.link, net.ssid || '?',
- net.mode,
- net.channel, net.frequency,
- net.bitrate || '?'
- );
-
- if (is_assoc)
- {
- s += String.format(
- '<strong><%:BSSID%>:</strong> %s<br />' +
- '<strong><%:Encryption%>:</strong> %s',
- net.bssid || '?',
- net.encryption
- );
- }
- else
- {
- s += '<em><%:Wireless is disabled or not associated%></em>';
- }
-
- s += '</small></td></tr></table>';
-
- for (var bssid in net.assoclist)
- {
- var bss = net.assoclist[bssid];
-
- bss.bssid = bssid;
- bss.link = net.link;
- bss.name = net.name;
- bss.ifname = net.ifname;
- bss.radio = dev.name;
-
- assoclist.push(bss);
- }
+ vifs.push(renderBadge(
+ icon,
+ '<%:Signal%>: %d dBm / <%:Quality%>: %d%%'.format(net.signal, net.quality),
+ '<%:SSID%>', E('a', { href: net.link }, [ net.ssid || '?' ]),
+ '<%:Mode%>', net.mode,
+ '<%:BSSID%>', is_assoc ? (net.bssid || '-') : null,
+ '<%:Encryption%>', is_assoc ? net.encryption : null,
+ '<%:Associations%>', is_assoc ? (net.num_assoc || '-') : null,
+ null, is_assoc ? null : E('em', '<%:Wireless is disabled or not associated%>')));
}
- if (!s)
- s = '<em><%:No information available%></em>';
-
- td.innerHTML = s;
- }
- }
-
- var ac = document.getElementById('wifi_assoc_table');
- if (ac)
- {
- /* clear all rows */
- while( ac.rows.length > 1 )
- ac.rows[0].parentNode.deleteRow(1);
-
- assoclist.sort(function(a, b) {
- return (a.name == b.name)
- ? (a.bssid < b.bssid)
- : (a.name > b.name )
- ;
- });
-
- for( var i = 0; i < assoclist.length; i++ )
- {
- var tr = ac.rows[0].parentNode.insertRow(-1);
- tr.className = 'cbi-section-table-row cbi-rowstyle-' + (1 + (i % 2));
-
- var icon;
- var q = (-1 * (assoclist[i].noise - assoclist[i].signal)) / 5;
- if (q < 1)
- icon = "<%=resource%>/icons/signal-0.png";
- else if (q < 2)
- icon = "<%=resource%>/icons/signal-0-25.png";
- else if (q < 3)
- icon = "<%=resource%>/icons/signal-25-50.png";
- else if (q < 4)
- icon = "<%=resource%>/icons/signal-50-75.png";
- else
- icon = "<%=resource%>/icons/signal-75-100.png";
-
- tr.insertCell(-1).innerHTML = String.format(
- '<span class="ifacebadge" title="%q"><img src="<%=resource%>/icons/wifi.png" /> %h</span>',
- assoclist[i].radio, assoclist[i].ifname
- );
-
- tr.insertCell(-1).innerHTML = String.format(
- '<a href="%s">%s</a>',
- assoclist[i].link,
- '%h'.format(assoclist[i].name).nobr()
- );
-
- tr.insertCell(-1).innerHTML = assoclist[i].bssid;
-
- var host = hosts[assoclist[i].bssid];
- if (host)
- tr.insertCell(-1).innerHTML = String.format(
- '<div style="max-width:200px;overflow:hidden;text-overflow:ellipsis">%s</div>',
- ((host.name && (host.ipv4 || host.ipv6))
- ? '%h (%s)'.format(host.name, host.ipv4 || host.ipv6)
- : '%h'.format(host.name || host.ipv4 || host.ipv6)).nobr()
- );
- else
- tr.insertCell(-1).innerHTML = '?';
-
- tr.insertCell(-1).innerHTML = String.format(
- '<span class="ifacebadge" title="<%:Signal%>: %d <%:dBm%> / <%:Noise%>: %d <%:dBm%> / <%:SNR%>: %d"><img src="%s" /> %d / %d <%:dBm%></span>',
- assoclist[i].signal, assoclist[i].noise, assoclist[i].signal - assoclist[i].noise,
- icon,
- assoclist[i].signal, assoclist[i].noise
- );
-
- tr.insertCell(-1).innerHTML = wifirate(assoclist[i], true).nobr() + '<br />' + wifirate(assoclist[i], false).nobr();
+ ws.appendChild(renderBox(
+ dev.device, dev.up || net0.up,
+ [ E('div', vifs) ],
+ '<%:Type%>', dev.name.replace(/^Generic | Wireless Controller .+$/g, ''),
+ '<%:Channel%>', net0.channel ? '%d (%.3f <%:GHz%>)'.format(net0.channel, net0.frequency) : '-',
+ '<%:Bitrate%>', net0.bitrate ? '%d <%:Mbit/s%>'.format(net0.bitrate) : '-'));
}
- if (ac.rows.length == 1)
- {
- var tr = ac.rows[0].parentNode.insertRow(-1);
- tr.className = 'cbi-section-table-row';
-
- var td = tr.insertCell(-1);
- td.colSpan = 7;
- td.innerHTML = '<br /><em><%:No information available%></em>';
- }
+ if (!ws.lastElementChild)
+ ws.appendChild(E('<em><%:No information available%></em>'));
}
<% end %>
@@ -676,140 +392,97 @@
<h2 name="content"><%:Status%></h2>
-<fieldset class="cbi-section">
- <legend><%:System%></legend>
+<div class="cbi-section">
+ <h3><%:System%></h3>
- <table width="100%" cellspacing="10">
- <tr><td width="33%"><%:Hostname%></td><td><%=luci.sys.hostname() or "?"%></td></tr>
- <tr><td width="33%"><%:Model%></td><td><%=pcdata(boardinfo.model or boardinfo.system or "?")%></td></tr>
- <tr><td width="33%"><%:Firmware Version%></td><td>
+ <div class="table" width="100%">
+ <div class="tr"><div class="td left" width="33%"><%:Hostname%></div><div class="td left"><%=luci.sys.hostname() or "?"%></div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Model%></div><div class="td left"><%=pcdata(boardinfo.model or "?")%></div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Architecture%></div><div class="td left"><%=pcdata(boardinfo.system or "?")%></div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Firmware Version%></div><div class="td left">
<%=pcdata(ver.distname)%> <%=pcdata(ver.distversion)%> /
<%=pcdata(ver.luciname)%> (<%=pcdata(ver.luciversion)%>)
- </td></tr>
- <tr><td width="33%"><%:Kernel Version%></td><td><%=unameinfo.release or "?"%></td></tr>
- <tr><td width="33%"><%:Local Time%></td><td id="localtime">-</td></tr>
- <tr><td width="33%"><%:Uptime%></td><td id="uptime">-</td></tr>
- <tr><td width="33%"><%:Load Average%></td><td id="loadavg">-</td></tr>
- </table>
-</fieldset>
-
-<fieldset class="cbi-section">
- <legend><%:Memory%></legend>
-
- <table width="100%" cellspacing="10">
- <tr><td width="33%"><%:Total Available%></td><td id="memtotal">-</td></tr>
- <tr><td width="33%"><%:Free%></td><td id="memfree">-</td></tr>
- <tr><td width="33%"><%:Buffered%></td><td id="membuff">-</td></tr>
- </table>
-</fieldset>
+ </div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Kernel Version%></div><div class="td left"><%=unameinfo.release or "?"%></div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Local Time%></div><div class="td left" id="localtime">-</div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Uptime%></div><div class="td left" id="uptime">-</div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Load Average%></div><div class="td left" id="loadavg">-</div></div>
+ </div>
+</div>
+
+<div class="cbi-section">
+ <h3><%:Memory%></h3>
+
+ <div class="table" width="100%">
+ <div class="tr"><div class="td left" width="33%"><%:Total Available%></div><div class="td left" id="memtotal">-</div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Free%></div><div class="td left" id="memfree">-</div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Buffered%></div><div class="td left" id="membuff">-</div></div>
+ </div>
+</div>
<% if swapinfo.total > 0 then %>
-<fieldset class="cbi-section">
- <legend><%:Swap%></legend>
-
- <table width="100%" cellspacing="10">
- <tr><td width="33%"><%:Total Available%></td><td id="swaptotal">-</td></tr>
- <tr><td width="33%"><%:Free%></td><td id="swapfree">-</td></tr>
- </table>
-</fieldset>
+<div class="cbi-section">
+ <h3><%:Swap%></h3>
+
+ <div class="table" width="100%">
+ <div class="tr"><div class="td left" width="33%"><%:Total Available%></div><div class="td left" id="swaptotal">-</div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Free%></div><div class="td left" id="swapfree">-</div></div>
+ </div>
+</div>
<% end %>
-<fieldset class="cbi-section">
- <legend><%:Network%></legend>
-
- <table width="100%" cellspacing="10">
- <tr><td width="33%" style="vertical-align:top"><%:IPv4 WAN Status%></td><td>
- <table><tr>
- <td id="wan4_i" style="width:16px; text-align:center; padding:3px"><img src="<%=resource%>/icons/ethernet_disabled.png" /><br /><small>?</small></td>
- <td id="wan4_s" style="vertical-align:middle; padding: 3px"><em><%:Collecting data...%></em></td>
- </tr></table>
- </td></tr>
- <% if has_ipv6 then %>
- <tr><td width="33%" style="vertical-align:top"><%:IPv6 WAN Status%></td><td>
- <table><tr>
- <td id="wan6_i" style="width:16px; text-align:center; padding:3px"><img src="<%=resource%>/icons/ethernet_disabled.png" /><br /><small>?</small></td>
- <td id="wan6_s" style="vertical-align:middle; padding: 3px"><em><%:Collecting data...%></em></td>
- </tr></table>
- </td></tr>
- <% end %>
- <tr><td width="33%"><%:Active Connections%></td><td id="conns">-</td></tr>
- </table>
-</fieldset>
-
-<% if has_dhcp then %>
-<fieldset class="cbi-section">
- <legend><%:DHCP Leases%></legend>
-
- <table class="cbi-section-table" id="lease_status_table">
- <tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"><%:Hostname%></th>
- <th class="cbi-section-table-cell"><%:IPv4-Address%></th>
- <th class="cbi-section-table-cell"><%:MAC-Address%></th>
- <th class="cbi-section-table-cell"><%:Leasetime remaining%></th>
- </tr>
- <tr class="cbi-section-table-row">
- <td colspan="4"><em><br /><%:Collecting data...%></em></td>
- </tr>
- </table>
-</fieldset>
-
-<fieldset class="cbi-section" style="display:none">
- <legend><%:DHCPv6 Leases%></legend>
-
- <table class="cbi-section-table" id="lease6_status_table">
- <tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"><%:Host%></th>
- <th class="cbi-section-table-cell"><%:IPv6-Address%></th>
- <th class="cbi-section-table-cell"><%:DUID%></th>
- <th class="cbi-section-table-cell"><%:Leasetime remaining%></th>
- </tr>
- <tr class="cbi-section-table-row">
- <td colspan="4"><em><br /><%:Collecting data...%></em></td>
- </tr>
- </table>
-</fieldset>
-<% end %>
+<div class="cbi-section">
+ <h3><%:Network%></h3>
+
+ <div id="upstream_status_table" class="network-status-table">
+ <em><%:Collecting data...%></em>
+ </div>
+
+ <div class="table" width="100%">
+ <div class="tr"><div class="td left" width="33%"><%:Active Connections%></div><div class="td left" id="conns">-</div></div>
+ </div>
+</div>
+
+<%
+ if has_dhcp then
+ include("admin_network/lease_status")
+ end
+%>
<% if has_dsl then %>
-<fieldset class="cbi-section">
- <legend><%:DSL%></legend>
- <table width="100%" cellspacing="10">
- <tr><td width="33%" style="vertical-align:top"><%:DSL Status%></td><td>
- <table><tr>
- <td id="dsl_i" style="width:16px; text-align:center; padding:3px"><img src="<%=resource%>/icons/ethernet_disabled.png" /><br /><small>?</small></td>
- <td id="dsl_s" style="vertical-align:middle; padding: 3px"><em><%:Collecting data...%></em></td>
- </tr></table>
- </td></tr>
- </table>
-</fieldset>
+<div class="cbi-section">
+ <h3><%:DSL%></h3>
+
+ <div class="table" width="100%">
+ <div class="tr">
+ <div class="td left" width="33%" style="vertical-align:top"><%:DSL Status%></div>
+ <div class="td">
+ <div class="table">
+ <div class="tr">
+ <div class="td" id="dsl_i" style="width:16px; text-align:center; padding:3px"><img src="<%=resource%>/icons/ethernet_disabled.png" /><br /><small>?</small></div>
+ <div class="td left" id="dsl_s" style="vertical-align:middle; padding: 3px"><em><%:Collecting data...%></em></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
<% end %>
<% if has_wifi then %>
-<fieldset class="cbi-section">
- <legend><%:Wireless%></legend>
-
- <table id="wifi_status_table" width="100%" cellspacing="10">
- <tr><td><em><%:Collecting data...%></em></td></tr>
- </table>
-</fieldset>
-
-<fieldset class="cbi-section">
- <legend><%:Associated Stations%></legend>
-
- <table class="cbi-section-table valign-middle" id="wifi_assoc_table">
- <tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell">&#160;</th>
- <th class="cbi-section-table-cell"><%:Network%></th>
- <th class="cbi-section-table-cell"><%:MAC-Address%></th>
- <th class="cbi-section-table-cell"><%:Host%></th>
- <th class="cbi-section-table-cell"><%:Signal%> / <%:Noise%></th>
- <th class="cbi-section-table-cell"><%:RX Rate%> / <%:TX Rate%></th>
- </tr>
- <tr class="cbi-section-table-row">
- <td colspan="6"><em><br /><%:Collecting data...%></em></td>
- </tr>
- </table>
-</fieldset>
+<div class="cbi-section">
+ <h3><%:Wireless%></h3>
+
+ <div id="wifi_status_table" class="network-status-table">
+ <em><%:Collecting data...%></em>
+ </div>
+</div>
+
+<div class="cbi-section">
+ <h3><%:Associated Stations%></h3>
+
+ <%+admin_network/wifi_assoclist%>
+</div>
<% end %>
<%-
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/iptables.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/iptables.htm
index 3f4b83b80b..5d544ca60b 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_status/iptables.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/iptables.htm
@@ -62,6 +62,7 @@
<%+header%>
+<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
<style type="text/css">
span:target {
color: blue;
@@ -70,7 +71,6 @@
</style>
<h2 name="content"><%:Firewall Status%></h2>
-<br />
<% if has_ip6tables then %>
<ul class="cbi-tabmenu">
@@ -88,69 +88,69 @@
<input type="submit" class="cbi-button" name="restart" value="<%:Restart Firewall%>" />
</form>
- <fieldset class="cbi-section">
+ <div class="cbi-section">
<% for _, tbl in ipairs(tables) do chaincnt = 0 %>
<h3><%:Table%>: <%=tbl%></h3>
- <table class="cbi-section-table" style="font-size:90%">
- <% for _, chain in ipairs(ipt:chains(tbl)) do
- rowcnt = 0
- chaincnt = chaincnt + 1
- chaininfo = ipt:chain(tbl, chain)
- %>
- <tr class="cbi-section-table-titles cbi-rowstyle-<%=rowstyle()%>">
- <th class="cbi-section-table-cell" style="text-align:left" colspan="11">
- <br /><span id="rule_<%=tbl:lower()%>_<%=chain%>">
- <%:Chain%> <em><%=chain%></em>
- (<%- if chaininfo.policy then -%>
- <%:Policy%>: <em><%=chaininfo.policy%></em>, <%:Packets%>: <%=chaininfo.packets%>, <%:Traffic%>: <%=wba.byte_format(chaininfo.bytes)-%>
- <%- else -%>
- <%:References%>: <%=chaininfo.references-%>
- <%- end -%>)</span>
- </th>
- </tr>
- <tr class="cbi-section-table-descr">
- <th class="cbi-section-table-cell"><%:Pkts.%></th>
- <th class="cbi-section-table-cell"><%:Traffic%></th>
- <th class="cbi-section-table-cell"><%:Target%></th>
- <th class="cbi-section-table-cell"><%:Prot.%></th>
- <th class="cbi-section-table-cell"><%:In%></th>
- <th class="cbi-section-table-cell"><%:Out%></th>
- <th class="cbi-section-table-cell"><%:Source%></th>
- <th class="cbi-section-table-cell"><%:Destination%></th>
- <th class="cbi-section-table-cell" style="width:30%"><%:Options%></th>
- </tr>
-
- <% for _, rule in ipairs(ipt:find({table=tbl, chain=chain})) do %>
- <tr class="cbi-section-table-row cbi-rowstyle-<%=rowstyle()%>">
- <td><%=rule.packets%></td>
- <td style="white-space: nowrap"><%=wba.byte_format(rule.bytes)%></td>
- <td><%=rule.target and link_target(tbl, rule.target) or "-"%></td>
- <td><%=rule.protocol%></td>
- <td><%=link_iface(rule.inputif)%></td>
- <td><%=link_iface(rule.outputif)%></td>
- <td><%=rule.source%></td>
- <td><%=rule.destination%></td>
- <td style="width:30%"><small><%=#rule.options > 0 and luci.util.pcdata(table.concat(rule.options, " ")) or "-"%></small></td>
- </tr>
- <% end %>
-
- <% if rowcnt == 1 then %>
- <tr class="cbi-section-table-titles cbi-rowstyle-<%=rowstyle()%>">
- <td colspan="9"><em><%:No rules in this chain%></em></td>
- </tr>
- <% end %>
- <% end %>
-
- <% if chaincnt == 0 then %>
- <tr class="cbi-section-table-titles cbi-rowstyle-<%=rowstyle()%>">
- <td colspan="9"><em><%:No chains in this table%></em></td>
- </tr>
- <% end %>
- </table>
+
+ <% for _, chain in ipairs(ipt:chains(tbl)) do
+ rowcnt = 0
+ chaincnt = chaincnt + 1
+ chaininfo = ipt:chain(tbl, chain)
+ %>
+ <h4 id="rule_<%=tbl:lower()%>_<%=chain%>">
+ <%:Chain%> <em><%=chain%></em>
+ (<%- if chaininfo.policy then -%>
+ <%:Policy%>: <em><%=chaininfo.policy%></em>, <%:Packets%>: <%=chaininfo.packets%>, <%:Traffic%>: <%=wba.byte_format(chaininfo.bytes)-%>
+ <%- else -%>
+ <%:References%>: <%=chaininfo.references-%>
+ <%- end -%>)
+ </h4>
+
+ <div class="cbi-section-node">
+ <div class="table" style="font-size:90%">
+ <div class="tr table-titles cbi-rowstyle-<%=rowstyle()%>">
+ <div class="th hide-xs"><%:Pkts.%></div>
+ <div class="th nowrap"><%:Traffic%></div>
+ <div class="th col-5"><%:Target%></div>
+ <div class="th"><%:Prot.%></div>
+ <div class="th"><%:In%></div>
+ <div class="th"><%:Out%></div>
+ <div class="th"><%:Source%></div>
+ <div class="th"><%:Destination%></div>
+ <div class="th col-9 hide-xs"><%:Options%></div>
+ </div>
+
+ <% for _, rule in ipairs(ipt:find({table=tbl, chain=chain})) do %>
+ <div class="tr cbi-rowstyle-<%=rowstyle()%>">
+ <div class="td"><%=rule.packets%></div>
+ <div class="td nowrap"><%=wba.byte_format(rule.bytes)%></div>
+ <div class="td col-5"><%=rule.target and link_target(tbl, rule.target) or "-"%></div>
+ <div class="td"><%=rule.protocol%></div>
+ <div class="td"><%=link_iface(rule.inputif)%></div>
+ <div class="td"><%=link_iface(rule.outputif)%></div>
+ <div class="td"><%=rule.source%></div>
+ <div class="td"><%=rule.destination%></div>
+ <div class="td col-9 hide-xs"><%=#rule.options > 0 and luci.util.pcdata(table.concat(rule.options, " ")) or "-"%></div>
+ </div>
+ <% end %>
+
+ <% if rowcnt == 1 then %>
+ <div class="tr cbi-rowstyle-<%=rowstyle()%>">
+ <div class="td" colspan="9"><em><%:No rules in this chain%></em></div>
+ </div>
+ <% end %>
+ </div>
+ </div>
+ <% end %>
+
+ <% if chaincnt == 0 then %>
+ <em><%:No chains in this table%></em>
+ <% end %>
+
<br /><br />
<% end %>
- </fieldset>
+ </div>
</div>
<%+footer%>
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/load.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/load.htm
index 97a2f5ed59..dc7d927de8 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_status/load.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/load.htm
@@ -237,6 +237,8 @@
label_15_peak.innerHTML = (data_15_peak / 100).toFixed(2);
}
);
+
+ XHR.run();
}
}, 1000
);
@@ -248,37 +250,37 @@
<div style="text-align:right"><small id="scale">-</small></div>
<br />
-<table style="width:100%; table-layout:fixed" cellspacing="5">
- <tr>
- <td style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid #ff0000; white-space:nowrap"><%:1 Minute Load:%></strong></td>
- <td id="lb_load01_cur">0</td>
-
- <td style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></td>
- <td id="lb_load01_avg">0</td>
-
- <td style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></td>
- <td id="lb_load01_peak">0</td>
- </tr>
- <tr>
- <td style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid #ff6600; white-space:nowrap"><%:5 Minute Load:%></strong></td>
- <td id="lb_load05_cur">0</td>
-
- <td style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></td>
- <td id="lb_load05_avg">0</td>
-
- <td style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></td>
- <td id="lb_load05_peak">0</td>
- </tr>
- <tr>
- <td style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid #ffaa00; white-space:nowrap"><%:15 Minute Load:%></strong></td>
- <td id="lb_load15_cur">0</td>
-
- <td style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></td>
- <td id="lb_load15_avg">0</td>
-
- <td style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></td>
- <td id="lb_load15_peak">0</td>
- </tr>
-</table>
+<div class="table" style="width:100%; table-layout:fixed" cellspacing="5">
+ <div class="tr">
+ <div class="td" style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid #ff0000; white-space:nowrap"><%:1 Minute Load:%></strong></div>
+ <div class="td" id="lb_load01_cur">0</div>
+
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></div>
+ <div class="td" id="lb_load01_avg">0</div>
+
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></div>
+ <div class="td" id="lb_load01_peak">0</div>
+ </div>
+ <div class="tr">
+ <div class="td" style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid #ff6600; white-space:nowrap"><%:5 Minute Load:%></strong></div>
+ <div class="td" id="lb_load05_cur">0</div>
+
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></div>
+ <div class="td" id="lb_load05_avg">0</div>
+
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></div>
+ <div class="td" id="lb_load05_peak">0</div>
+ </div>
+ <div class="tr">
+ <div class="td" style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid #ffaa00; white-space:nowrap"><%:15 Minute Load:%></strong></div>
+ <div class="td" id="lb_load15_cur">0</div>
+
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></div>
+ <div class="td" id="lb_load15_avg">0</div>
+
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></div>
+ <div class="td" id="lb_load15_peak">0</div>
+ </div>
+</div>
<%+footer%>
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/routes.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/routes.htm
index f474c71568..9ed37939fe 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_status/routes.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/routes.htm
@@ -32,130 +32,125 @@
<%+header%>
+<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
+
<div class="cbi-map" id="cbi-network">
<h2 name="content"><%:Routes%></h2>
<div class="cbi-map-descr"><%:The following rules are currently active on this system.%></div>
- <fieldset class="cbi-section">
+ <div class="cbi-section">
<legend>ARP</legend>
<div class="cbi-section-node">
- <table class="cbi-section-table">
- <tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"><%_<abbr title="Internet Protocol Version 4">IPv4</abbr>-Address%></th>
- <th class="cbi-section-table-cell"><%_<abbr title="Media Access Control">MAC</abbr>-Address%></th>
- <th class="cbi-section-table-cell"><%:Interface%></th>
- </tr>
+ <div class="table">
+ <div class="tr table-titles">
+ <div class="th"><%_<abbr title="Internet Protocol Version 4">IPv4</abbr>-Address%></div>
+ <div class="th"><%_<abbr title="Media Access Control">MAC</abbr>-Address%></div>
+ <div class="th"><%:Interface%></div>
+ </div>
<%
for _, v in ipairs(ip.neighbors({ family = 4 })) do
if v.mac then
%>
- <tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
- <td class="cbi-value-field"><%=v.dest%></td>
- <td class="cbi-value-field"><%=v.mac%></td>
- <td class="cbi-value-field"><%=luci.tools.webadmin.iface_get_network(v.dev) or '(' .. v.dev .. ')'%></td>
- </tr>
+ <div class="tr cbi-rowstyle-<%=(style and 1 or 2)%>">
+ <div class="td"><%=v.dest%></div>
+ <div class="td"><%=v.mac%></div>
+ <div class="td"><%=luci.tools.webadmin.iface_get_network(v.dev) or '(' .. v.dev .. ')'%></div>
+ </div>
<%
style = not style
end
end
%>
- </table>
+ </div>
</div>
- </fieldset>
- <br />
+ </div>
- <fieldset class="cbi-section">
+ <div class="cbi-section">
<legend><%_Active <abbr title="Internet Protocol Version 4">IPv4</abbr>-Routes%></legend>
-
<div class="cbi-section-node">
- <table class="cbi-section-table">
- <tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"><%:Network%></th>
- <th class="cbi-section-table-cell"><%:Target%></th>
- <th class="cbi-section-table-cell"><%_<abbr title="Internet Protocol Version 4">IPv4</abbr>-Gateway%></th>
- <th class="cbi-section-table-cell"><%:Metric%></th>
- <th class="cbi-section-table-cell"><%:Table%></th>
- </tr>
+ <div class="table">
+ <div class="tr table-titles">
+ <div class="th"><%:Network%></div>
+ <div class="th"><%:Target%></div>
+ <div class="th"><%_<abbr title="Internet Protocol Version 4">IPv4</abbr>-Gateway%></div>
+ <div class="th"><%:Metric%></div>
+ <div class="th"><%:Table%></div>
+ </div>
<% for _, v in ipairs(ip.routes({ family = 4, type = 1 })) do %>
- <tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
- <td class="cbi-value-field"><%=luci.tools.webadmin.iface_get_network(v.dev) or v.dev%></td>
- <td class="cbi-value-field"><%=v.dest%></td>
- <td class="cbi-value-field"><%=v.gw%></td>
- <td class="cbi-value-field"><%=v.metric or 0%></td>
- <td class="cbi-value-field"><%=rtn[v.table] or v.table%></td>
- </tr>
+ <div class="tr cbi-rowstyle-<%=(style and 1 or 2)%>">
+ <div class="td"><%=luci.tools.webadmin.iface_get_network(v.dev) or v.dev%></div>
+ <div class="td"><%=v.dest%></div>
+ <div class="td"><%=v.gw or "-"%></div>
+ <div class="td"><%=v.metric or 0%></div>
+ <div class="td"><%=rtn[v.table] or v.table%></div>
+ </div>
<% style = not style end %>
- </table>
+ </div>
</div>
- </fieldset>
- <br />
+ </div>
<%
if nixio.fs.access("/proc/net/ipv6_route") then
style = true
%>
- <fieldset class="cbi-section">
+ <div class="cbi-section">
<legend><%_Active <abbr title="Internet Protocol Version 6">IPv6</abbr>-Routes%></legend>
-
<div class="cbi-section-node">
- <table class="cbi-section-table">
- <tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"><%:Network%></th>
- <th class="cbi-section-table-cell"><%:Target%></th>
- <th class="cbi-section-table-cell"><%:Source%></th>
- <th class="cbi-section-table-cell"><%:Metric%></th>
- <th class="cbi-section-table-cell"><%:Table%></th>
- </tr>
+ <div class="table">
+ <div class="tr table-titles">
+ <div class="th"><%:Network%></div>
+ <div class="th"><%:Target%></div>
+ <div class="th"><%:Source%></div>
+ <div class="th"><%:Metric%></div>
+ <div class="th"><%:Table%></div>
+ </div>
<%
for _, v in ipairs(ip.routes({ family = 6, type = 1 })) do
if v.dest and not v.dest:is6linklocal() then
%>
- <tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
- <td class="cbi-value-field"><%=luci.tools.webadmin.iface_get_network(v.dev) or '(' .. v.dev .. ')'%></td>
- <td class="cbi-value-field"><%=v.dest%></td>
- <td class="cbi-value-field"><%=v.from%></td>
- <td class="cbi-value-field"><%=v.metric or 0%></td>
- <td class="cbi-value-field"><%=rtn[v.table] or v.table%></td>
- </tr>
+ <div class="tr cbi-rowstyle-<%=(style and 1 or 2)%>">
+ <div class="td"><%=luci.tools.webadmin.iface_get_network(v.dev) or '(' .. v.dev .. ')'%></div>
+ <div class="td"><%=v.dest%></div>
+ <div class="td"><%=v.from%></div>
+ <div class="td"><%=v.metric or 0%></div>
+ <div class="td"><%=rtn[v.table] or v.table%></div>
+ </div>
<%
style = not style
end
end
%>
- </table>
+ </div>
</div>
- </fieldset>
- <br />
+ </div>
- <fieldset class="cbi-section">
+ <div class="cbi-section">
<legend><%:IPv6 Neighbours%></legend>
-
<div class="cbi-section-node">
- <table class="cbi-section-table">
- <tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"><%:IPv6-Address%></th>
- <th class="cbi-section-table-cell"><%:MAC-Address%></th>
- <th class="cbi-section-table-cell"><%:Interface%></th>
- </tr>
+ <div class="table">
+ <div class="tr table-titles">
+ <div class="th"><%:IPv6-Address%></div>
+ <div class="th"><%:MAC-Address%></div>
+ <div class="th"><%:Interface%></div>
+ </div>
<%
for _, v in ipairs(ip.neighbors({ family = 6 })) do
if v.dest and not v.dest:is6linklocal() and v.mac then
%>
- <tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
- <td class="cbi-value-field"><%=v.dest%></td>
- <td class="cbi-value-field"><%=v.mac%></td>
- <td class="cbi-value-field"><%=luci.tools.webadmin.iface_get_network(v.dev) or '(' .. v.dev .. ')'%></td>
- </tr>
+ <div class="tr cbi-rowstyle-<%=(style and 1 or 2)%>">
+ <div class="td"><%=v.dest%></div>
+ <div class="td"><%=v.mac%></div>
+ <div class="td"><%=luci.tools.webadmin.iface_get_network(v.dev) or '(' .. v.dev .. ')'%></div>
+ </div>
<%
style = not style
end
end
%>
- </table>
+ </div>
</div>
- </fieldset>
- <br />
+ </div>
<% end %>
</div>
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/wireless.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/wireless.htm
index aa658ff0cb..1806f4a6c8 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_status/wireless.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/wireless.htm
@@ -276,7 +276,7 @@
function wireless_label(dbm, noise)
{
if (noise)
- return String.format("%d <%:dBm%> (SNR %d <%:dBm%>)", noise_floor + dbm - 255, dbm - noise);
+ return String.format("%d <%:dBm%> (SNR %d <%:dB%>)", noise_floor + dbm - 255, dbm - noise);
else
return String.format("%d <%:dBm%>", noise_floor + dbm - 255);
}
@@ -308,6 +308,8 @@
label_rate_peak.innerHTML = rate_label(data_rate_peak);
}
);
+
+ XHR.run();
}
}, 1000
);
@@ -325,28 +327,28 @@
<div style="text-align:right"><small id="scale">-</small></div>
<br />
-<table style="width:100%; table-layout:fixed" cellspacing="5">
- <tr>
- <td style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid blue"><%:Signal:%></strong></td>
- <td id="rssi_bw_cur">0 <%:dBm%></td>
+<div class="table" style="width:100%; table-layout:fixed" cellspacing="5">
+ <div class="tr">
+ <div class="td" style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid blue"><%:Signal:%></strong></div>
+ <div class="td" id="rssi_bw_cur">0 <%:dBm%></div>
- <td style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></td>
- <td id="rssi_bw_avg">0 <%:dBm%></td>
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></div>
+ <div class="td" id="rssi_bw_avg">0 <%:dBm%></div>
- <td style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></td>
- <td id="rssi_bw_peak">0 <%:dBm%></td>
- </tr>
- <tr>
- <td style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid red"><%:Noise:%></strong></td>
- <td id="noise_bw_cur">0 <%:dBm%></td>
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></div>
+ <div class="td" id="rssi_bw_peak">0 <%:dBm%></div>
+ </div>
+ <div class="tr">
+ <div class="td" style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid red"><%:Noise:%></strong></div>
+ <div class="td" id="noise_bw_cur">0 <%:dBm%></div>
- <td style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></td>
- <td id="noise_bw_avg">0 <%:dBm%></td>
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></div>
+ <div class="td" id="noise_bw_avg">0 <%:dBm%></div>
- <td style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></td>
- <td id="noise_bw_peak">0 <%:dBm%></td>
- </tr>
-</table>
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></div>
+ <div class="td" id="noise_bw_peak">0 <%:dBm%></div>
+ </div>
+</div>
<br />
@@ -354,17 +356,17 @@
<div style="text-align:right"><small id="scale2">-</small></div>
<br />
-<table style="width:100%; table-layout:fixed" cellspacing="5">
- <tr>
- <td style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid green"><%:Phy Rate:%></strong></td>
- <td id="rate_bw_cur">0 MBit/s</td>
+<div class="table" style="width:100%; table-layout:fixed" cellspacing="5">
+ <div class="tr">
+ <div class="td" style="text-align:right; vertical-align:top"><strong style="border-bottom:2px solid green"><%:Phy Rate:%></strong></div>
+ <div class="td" id="rate_bw_cur">0 MBit/s</div>
- <td style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></td>
- <td id="rate_bw_avg">0 MBit/s</td>
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Average:%></strong></div>
+ <div class="td" id="rate_bw_avg">0 MBit/s</div>
- <td style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></td>
- <td id="rate_bw_peak">0 MBit/s</td>
- </tr>
-</table>
+ <div class="td" style="text-align:right; vertical-align:top"><strong><%:Peak:%></strong></div>
+ <div class="td" id="rate_bw_peak">0 MBit/s</div>
+ </div>
+</div>
<%+footer%>
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_system/flashops.htm b/modules/luci-mod-admin-full/luasrc/view/admin_system/flashops.htm
index b32ef78263..9eec012547 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_system/flashops.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_system/flashops.htm
@@ -13,84 +13,78 @@
<li class="cbi-tab-disabled"><a href="<%=REQUEST_URI%>/backupfiles"><%:Configuration%></a></li>
</ul>
-<fieldset class="cbi-section">
-
- <fieldset class="cbi-section">
- <legend><%:Backup / Restore%></legend>
- <div class="cbi-section-descr"><%:Click "Generate archive" to download a tar archive of the current configuration files. To reset the firmware to its initial state, click "Perform reset" (only possible with squashfs images).%></div>
- <div class="cbi-section-node">
- <form class="inline" method="post" action="<%=url('admin/system/flashops/backup')%>">
- <input type="hidden" name="token" value="<%=token%>" />
- <div class="cbi-value<% if not reset_avail then %> cbi-value-last<% end %>">
- <label class="cbi-value-title" for="image"><%:Download backup%>:</label>
- <div class="cbi-value-field">
- <input class="cbi-button cbi-button-apply" type="submit" name="backup" value="<%:Generate archive%>" />
- </div>
- </div>
- </form>
- <% if reset_avail then %>
- <form class="inline" method="post" action="<%=url('admin/system/flashops/reset')%>">
- <input type="hidden" name="token" value="<%=token%>" />
- <div class="cbi-value cbi-value-last">
- <label class="cbi-value-title"><%:Reset to defaults%>:</label>
- <div class="cbi-value-field">
- <input onclick="return confirm('<%:Really reset all changes?%>')" class="cbi-button cbi-button-reset" type="submit" name="reset" value="<%:Perform reset%>" />
- </div>
- </div>
- </form>
- <% end %>
- </div>
- <br />
- <div class="cbi-section-descr"><%:To restore configuration files, you can upload a previously generated backup archive here.%></div>
- <div class="cbi-section-node">
- <form class="inline" method="post" action="<%=url('admin/system/flashops/restore')%>" enctype="multipart/form-data">
- <div class="cbi-value cbi-value-last">
- <label class="cbi-value-title" for="archive"><%:Restore backup%>:</label>
- <div class="cbi-value-field">
- <input type="hidden" name="token" value="<%=token%>" />
- <input type="file" name="archive" id="archive" />
- <input type="submit" class="cbi-button cbi-input-apply" name="restore" value="<%:Upload archive...%>" />
- </div>
+<div class="cbi-section">
+ <legend><%:Backup / Restore%></legend>
+ <div class="cbi-section-descr"><%:Click "Generate archive" to download a tar archive of the current configuration files. To reset the firmware to its initial state, click "Perform reset" (only possible with squashfs images).%></div>
+ <div class="cbi-section-node">
+ <form class="inline" method="post" action="<%=url('admin/system/flashops/backup')%>">
+ <input type="hidden" name="token" value="<%=token%>" />
+ <div class="cbi-value<% if not reset_avail then %> cbi-value-last<% end %>">
+ <label class="cbi-value-title" for="image"><%:Download backup%>:</label>
+ <div class="cbi-value-field">
+ <input class="cbi-button cbi-button-action important" type="submit" name="backup" value="<%:Generate archive%>" />
</div>
- </form>
- </div>
+ </div>
+ </form>
<% if reset_avail then %>
- <div class="alert-message warning"><%:Custom files (certificates, scripts) may remain on the system. To prevent this, perform a factory-reset first.%></div>
+ <form class="inline" method="post" action="<%=url('admin/system/flashops/reset')%>">
+ <input type="hidden" name="token" value="<%=token%>" />
+ <div class="cbi-value cbi-value-last">
+ <label class="cbi-value-title"><%:Reset to defaults%>:</label>
+ <div class="cbi-value-field">
+ <input onclick="return confirm('<%:Really reset all changes?%>')" class="cbi-button cbi-button-reset" type="submit" name="reset" value="<%:Perform reset%>" />
+ </div>
+ </div>
+ </form>
<% end %>
- </fieldset>
-
+ </div>
<br />
+ <div class="cbi-section-descr"><%:To restore configuration files, you can upload a previously generated backup archive here.%></div>
+ <div class="cbi-section-node">
+ <form class="inline" method="post" action="<%=url('admin/system/flashops/restore')%>" enctype="multipart/form-data">
+ <div class="cbi-value cbi-value-last">
+ <label class="cbi-value-title" for="archive"><%:Restore backup%>:</label>
+ <div class="cbi-value-field">
+ <input type="hidden" name="token" value="<%=token%>" />
+ <input type="file" name="archive" id="archive" />
+ <input type="submit" class="cbi-button cbi-button-action important" name="restore" value="<%:Upload archive...%>" />
+ </div>
+ </div>
+ </form>
+ </div>
+ <% if reset_avail then %>
+ <div class="alert-message warning"><%:Custom files (certificates, scripts) may remain on the system. To prevent this, perform a factory-reset first.%></div>
+ <% end %>
+</div>
- <fieldset class="cbi-section">
- <legend><%:Flash new firmware image%></legend>
- <% if upgrade_avail then %>
- <form method="post" action="<%=url('admin/system/flashops/sysupgrade')%>" enctype="multipart/form-data">
- <input type="hidden" name="token" value="<%=token%>" />
- <div class="cbi-section-descr"><%:Upload a sysupgrade-compatible image here to replace the running firmware. Check "Keep settings" to retain the current configuration (requires a compatible firmware image).%></div>
- <div class="cbi-section-node">
- <div class="cbi-value">
- <label class="cbi-value-title" for="keep"><%:Keep settings%>:</label>
- <div class="cbi-value-field">
- <input type="checkbox" name="keep" id="keep" checked="checked" />
- </div>
+<div class="cbi-section">
+ <legend><%:Flash new firmware image%></legend>
+ <% if upgrade_avail then %>
+ <form method="post" action="<%=url('admin/system/flashops/sysupgrade')%>" enctype="multipart/form-data">
+ <input type="hidden" name="token" value="<%=token%>" />
+ <div class="cbi-section-descr"><%:Upload a sysupgrade-compatible image here to replace the running firmware. Check "Keep settings" to retain the current configuration (requires a compatible firmware image).%></div>
+ <div class="cbi-section-node">
+ <div class="cbi-value">
+ <label class="cbi-value-title" for="keep"><%:Keep settings%>:</label>
+ <div class="cbi-value-field">
+ <input type="checkbox" name="keep" id="keep" checked="checked" />
</div>
- <div class="cbi-value cbi-value-last<% if image_invalid then %> cbi-value-error<% end %>">
- <label class="cbi-value-title" for="image"><%:Image%>:</label>
- <div class="cbi-value-field">
- <input type="file" name="image" id="image" />
- <input type="submit" class="cbi-button cbi-input-apply" value="<%:Flash image...%>" />
- </div>
+ </div>
+ <div class="cbi-value cbi-value-last<% if image_invalid then %> cbi-value-error<% end %>">
+ <label class="cbi-value-title" for="image"><%:Image%>:</label>
+ <div class="cbi-value-field">
+ <input type="file" name="image" id="image" />
+ <input type="submit" class="cbi-button cbi-button-action important" value="<%:Flash image...%>" />
</div>
</div>
- <% if image_invalid then %>
- <div class="cbi-section-error"><%:The uploaded image file does not contain a supported format. Make sure that you choose the generic image format for your platform. %></div>
- <% end %>
- </form>
- <% else %>
- <div class="cbi-section-descr"><%:Sorry, there is no sysupgrade support present; a new firmware image must be flashed manually. Please refer to the wiki for device specific install instructions.%></div>
- <% end %>
- </fieldset>
-
-</fieldset>
+ </div>
+ <% if image_invalid then %>
+ <div class="cbi-section-error"><%:The uploaded image file does not contain a supported format. Make sure that you choose the generic image format for your platform. %></div>
+ <% end %>
+ </form>
+ <% else %>
+ <div class="cbi-section-descr"><%:Sorry, there is no sysupgrade support present; a new firmware image must be flashed manually. Please refer to the wiki for device specific install instructions.%></div>
+ <% end %>
+</div>
<%+footer%>
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_system/packages.htm b/modules/luci-mod-admin-full/luasrc/view/admin_system/packages.htm
index 88e0fffd9c..ef13a91672 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_system/packages.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_system/packages.htm
@@ -44,6 +44,8 @@ end
<%+header%>
+<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
+
<h2 name="content"><%:Software%></h2>
<div class="cbi-map">
@@ -57,8 +59,8 @@ end
<input type="hidden" name="exec" value="1" />
<input type="hidden" name="token" value="<%=token%>" />
- <fieldset class="cbi-section">
- <fieldset class="cbi-section-node">
+ <div class="cbi-section">
+ <div class="cbi-section-node">
<% if (install and next(install)) or (remove and next(remove)) or update or upgrade then %>
<div class="cbi-value">
<% if #stdout > 0 then %><pre><%=pcdata(stdout)%></pre><% end %>
@@ -91,18 +93,18 @@ end
<div style="background-color:#F08080; border-right:1px solid #000000; height:100%; width:<%=used_perc%>%">&#160;</div>
</div>
</div>
- </fieldset>
+ </div>
<br />
- <fieldset class="cbi-section-node">
+ <div class="cbi-section-node">
<input type="hidden" name="display" value="<%=pcdata(display)%>" />
<div class="cbi-value">
<label class="cbi-value-title"><%:Download and install package%>:</label>
<div class="cbi-value-field">
<input type="text" name="url" size="30" value="" />
- <input class="cbi-button cbi-input-save" type="submit" name="go" value="<%:OK%>" />
+ <input class="cbi-button cbi-button-save" type="submit" name="go" value="<%:OK%>" />
</div>
</div>
@@ -110,11 +112,11 @@ end
<label class="cbi-value-title"><%:Filter%>:</label>
<div class="cbi-value-field">
<input type="text" name="query" size="20" value="<%=pcdata(query)%>" />
- <input type="submit" class="cbi-button cbi-input-find" name="search" value="<%:Find package%>" />
+ <input type="submit" class="cbi-button cbi-button-action" name="search" value="<%:Find package%>" />
</div>
</div>
- </fieldset>
- </fieldset>
+ </div>
+ </div>
</form>
@@ -122,90 +124,90 @@ end
<ul class="cbi-tabmenu">
- <li class="cbi-tab<% if display ~= "installed" then %>-disabled<% end %>"><a href="?display=installed&amp;query=<%=pcdata(query)%>"><%:Installed packages%><% if query then %> (<%=pcdata(query)%>)<% end %></a></li>
<li class="cbi-tab<% if display ~= "available" then %>-disabled<% end %>"><a href="?display=available&amp;query=<%=pcdata(query)%>"><%:Available packages%><% if query then %> (<%=pcdata(query)%>)<% end %></a></li>
+ <li class="cbi-tab<% if display ~= "installed" then %>-disabled<% end %>"><a href="?display=installed&amp;query=<%=pcdata(query)%>"><%:Installed packages%><% if query then %> (<%=pcdata(query)%>)<% end %></a></li>
</ul>
<% if display ~= "available" then %>
- <fieldset class="cbi-section">
- <table class="cbi-section-table" style="width:100%">
- <tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell" style="text-align:left">&#160;</th>
- <th class="cbi-section-table-cell" style="text-align:left"><%:Package name%></th>
- <th class="cbi-section-table-cell" style="text-align:left"><%:Version%></th>
- </tr>
- <% local empty = true; luci.model.ipkg.list_installed(querypat, function(n, v, s, d) empty = false; filter[n] = true %>
- <tr class="cbi-section-table-row cbi-rowstyle-<%=rowstyle()%>">
- <td style="text-align:left; width:10%">
- <form method="post" class="inline" action="<%=REQUEST_URI%>">
- <input type="hidden" name="exec" value="1" />
- <input type="hidden" name="token" value="<%=token%>" />
- <input type="hidden" name="remove" value="<%=pcdata(n)%>" />
- <a onclick="window.confirm('<%:Remove%> &quot;<%=luci.util.pcdata(n)%>&quot; ?') &#38;&#38; this.parentNode.submit(); return false" href="#"><%:Remove%></a>
- </form>
- </td>
- <td style="text-align:left"><%=luci.util.pcdata(n)%></td>
- <td style="text-align:left"><%=luci.util.pcdata(v)%></td>
- </tr>
- <% end) %>
- <% if empty then %>
- <tr class="cbi-section-table-row">
- <td style="text-align:left">&#160;</td>
- <td style="text-align:left"><em><%:none%></em></td>
- <td style="text-align:left"><em><%:none%></em></td>
- </tr>
- <% end %>
- </table>
- </fieldset>
+ <div class="cbi-section">
+ <div class="cbi-section-node">
+ <div class="table">
+ <div class="tr cbi-section-table-titles">
+ <div class="th left"><%:Package name%></div>
+ <div class="th left"><%:Version%></div>
+ <div class="th cbi-section-actions">&#160;</div>
+ </div>
+ <% local empty = true; luci.model.ipkg.list_installed(querypat, function(n, v, s, d) empty = false; filter[n] = true %>
+ <div class="tr cbi-rowstyle-<%=rowstyle()%>">
+ <div class="td left"><%=luci.util.pcdata(n)%></div>
+ <div class="td left"><%=luci.util.pcdata(v)%></div>
+ <div class="td cbi-section-actions">
+ <form method="post" class="inline" action="<%=REQUEST_URI%>">
+ <input type="hidden" name="exec" value="1" />
+ <input type="hidden" name="token" value="<%=token%>" />
+ <input type="hidden" name="remove" value="<%=pcdata(n)%>" />
+ <input class="cbi-button cbi-button-remove" type="submit" onclick="window.confirm('<%:Remove%> &quot;<%=luci.util.pcdata(n)%>&quot; ?') &#38;&#38; this.parentNode.submit(); return false" value="<%:Remove%>" />
+ </form>
+ </div>
+ </div>
+ <% end) %>
+ <% if empty then %>
+ <div class="tr cbi-section-table-row">
+ <div class="td left">&#160;</div>
+ <div class="td left"><em><%:none%></em></div>
+ <div class="td left"><em><%:none%></em></div>
+ </div>
+ <% end %>
+ </div>
+ </div>
+ </div>
<% else %>
- <fieldset class="cbi-section">
+ <div class="cbi-section">
<% if not querypat then %>
- <ul class="cbi-tabmenu">
+ <ul class="cbi-tabmenu" style="flex-wrap:wrap">
<% local i; for i = 65, 90 do %>
<li class="cbi-tab<% if letter ~= i then %>-disabled<% end %>"><a href="?display=available&amp;letter=<%=string.char(i)%>"><%=string.char(i)%></a></li>
<% end %>
<li class="cbi-tab<% if letter ~= 35 then %>-disabled<% end %>"><a href="?display=available&amp;letter=%23">#</a></li>
</ul>
- <div class="cbi-section-node">
<% end %>
- <table class="cbi-section-table" style="width:100%">
- <tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell" style="text-align:left">&#160;</th>
- <th class="cbi-section-table-cell" style="text-align:left"><%:Package name%></th>
- <th class="cbi-section-table-cell" style="text-align:left"><%:Version%></th>
- <th class="cbi-section-table-cell" style="text-align:right"><%:Size (.ipk)%></th>
- <th class="cbi-section-table-cell" style="text-align:left"><%:Description%></th>
- </tr>
- <% local empty = true; opkg_list(querypat or letterpat, function(n, v, s, d) if filter[n] then return end; empty = false %>
- <tr class="cbi-section-table-row cbi-rowstyle-<%=rowstyle()%>">
- <td style="text-align:left; width:10%">
- <form method="post" class="inline" action="<%=REQUEST_URI%>">
- <input type="hidden" name="exec" value="1" />
- <input type="hidden" name="token" value="<%=token%>" />
- <input type="hidden" name="install" value="<%=pcdata(n)%>" />
- <a onclick="window.confirm('<%:Install%> &quot;<%=luci.util.pcdata(n)%>&quot; ?') &#38;&#38; this.parentNode.submit(); return false" href="#"><%:Install%></a>
- </form>
- </td>
- <td style="text-align:left"><%=luci.util.pcdata(n)%></td>
- <td style="text-align:left"><%=luci.util.pcdata(v)%></td>
- <td style="text-align:right"><%=luci.util.pcdata(s)%></td>
- <td style="text-align:left"><%=luci.util.pcdata(d)%></td>
- </tr>
- <% end) %>
- <% if empty then %>
- <tr class="cbi-section-table-row">
- <td style="text-align:left">&#160;</td>
- <td style="text-align:left"><em><%:none%></em></td>
- <td style="text-align:left"><em><%:none%></em></td>
- <td style="text-align:right"><em><%:none%></em></td>
- <td style="text-align:left"><em><%:none%></em></td>
- </tr>
- <% end %>
- </table>
- <% if not querypat then %>
+ <div class="cbi-section-node cbi-section-node-tabbed">
+ <div class="table">
+ <div class="tr cbi-section-table-titles">
+ <div class="th col-2 left"><%:Package name%></div>
+ <div class="th col-2 left"><%:Version%></div>
+ <div class="th col-1 center"><%:Size (.ipk)%></div>
+ <div class="th col-10 left"><%:Description%></div>
+ <div class="th cbi-section-actions">&#160;</div>
+ </div>
+ <% local empty = true; opkg_list(querypat or letterpat, function(n, v, s, d) if filter[n] then return end; empty = false %>
+ <div class="tr cbi-rowstyle-<%=rowstyle()%>">
+ <div class="td col-2 left"><%=luci.util.pcdata(n)%></div>
+ <div class="td col-2 left"><%=luci.util.pcdata(v)%></div>
+ <div class="td col-1 center"><%=luci.util.pcdata(s)%></div>
+ <div class="td col-10 left"><%=luci.util.pcdata(d)%></div>
+ <div class="td cbi-section-actions">
+ <form method="post" class="inline" action="<%=REQUEST_URI%>">
+ <input type="hidden" name="exec" value="1" />
+ <input type="hidden" name="token" value="<%=token%>" />
+ <input type="hidden" name="install" value="<%=pcdata(n)%>" />
+ <input class="cbi-button cbi-button-apply" type="submit" onclick="window.confirm('<%:Install%> &quot;<%=luci.util.pcdata(n)%>&quot; ?') &#38;&#38; this.parentNode.submit(); return false" value="<%:Install%>" />
+ </form>
+ </div>
+ </div>
+ <% end) %>
+ <% if empty then %>
+ <div class="tr">
+ <div class="td left">&#160;</div>
+ <div class="td left"><em><%:none%></em></div>
+ <div class="td left"><em><%:none%></em></div>
+ <div class="td right"><em><%:none%></em></div>
+ <div class="td left"><em><%:none%></em></div>
+ </div>
+ <% end %>
+ </div>
</div>
- <% end %>
- </fieldset>
+ </div>
<% end %>
</div>
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_system/reboot.htm b/modules/luci-mod-admin-full/luasrc/view/admin_system/reboot.htm
index c9551804d2..6ec2b310d2 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_system/reboot.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_system/reboot.htm
@@ -7,7 +7,6 @@
<%+header%>
<h2 name="content"><%:Reboot%></h2>
-<br />
<p><%:Reboots the operating system of your device%></p>
@@ -49,7 +48,7 @@
}
//]]></script>
-<input class="cbi-button cbi-button-apply" type="button" value="<%:Perform reboot%>" onclick="reboot(this)" />
+<input class="cbi-button cbi-button-action important" type="button" value="<%:Perform reboot%>" onclick="reboot(this)" />
<p class="alert-message" style="display:none">
<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" />
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_uci/changelog.htm b/modules/luci-mod-admin-full/luasrc/view/admin_uci/changelog.htm
index 4ed4f0a10f..e05ccdece3 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_uci/changelog.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_uci/changelog.htm
@@ -4,7 +4,7 @@
-%>
<% export("uci_changelog", function(changes) -%>
-<fieldset class="cbi-section">
+<div class="cbi-section">
<strong><%:Legend:%></strong>
<div class="uci-change-legend">
<div class="uci-change-legend-label"><ins>&#160;</ins> <%:Section added%></div>
@@ -32,9 +32,11 @@
ret[#ret+1] = "<br />%s.%s.%s+=<strong>%s</strong>"
%{ r, s, o, util.pcdata(v[i]) }
end
- else
+ elseif v ~= "" then
ret[#ret+1] = "<br />%s.%s.%s=<strong>%s</strong>"
%{ r, s, o, util.pcdata(v) }
+ else
+ ret[#ret+1] = "<br /><del>%s.%s.<strong>%s</strong></del>" %{ r, s, o }
end
end
end
@@ -57,7 +59,7 @@
ret[#ret+1] = "%s.%s.%s+=<strong>%s</strong><br />"
%{ r, s, o, util.pcdata(v[i]) }
end
-
+
else
ret[#ret+1] = "%s.%s.%s=<strong>%s</strong><br />"
%{ r, s, o, util.pcdata(v) }
@@ -75,5 +77,5 @@
write(table.concat(ret))
%></div>
-</fieldset>
+</div>
<%- end) %>
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_uci/changes.htm b/modules/luci-mod-admin-full/luasrc/view/admin_uci/changes.htm
index 9e9ce2be2a..6282244757 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_uci/changes.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_uci/changes.htm
@@ -27,21 +27,17 @@
<div class="cbi-page-actions">
<% if redir_url then %>
- <div style="float:left">
- <form class="inline" method="get" action="<%=luci.util.pcdata(redir_url)%>">
- <input class="cbi-button cbi-button-link" style="float:left; margin:0" type="submit" value="<%:Back%>" />
- </form>
- </div>
+ <form method="get" action="<%=luci.util.pcdata(redir_url)%>">
+ <input class="cbi-button cbi-button-link" type="submit" value="<%:Back%>" />
+ </form>
<% end %>
- <div style="text-align:right">
- <input class="cbi-button cbi-button-save" type="button" id="apply_button" value="<%:Save & Apply%>" onclick="uci_apply(true); this.blur()" />
- <form class="inline" method="post" action="<%=controller%>/admin/uci/revert">
- <input type="hidden" name="token" value="<%=token%>" />
- <input type="hidden" name="redir" value="<%=pcdata(luci.http.formvalue("redir"))%>" />
- <input class="cbi-button cbi-button-reset" type="submit" value="<%:Revert%>" />
- </form>
- </div>
+ <input class="cbi-button cbi-button-save" type="button" id="apply_button" value="<%:Save & Apply%>" onclick="uci_apply(true); this.blur()" />
+ <form method="post" action="<%=url("admin/uci/revert")%>">
+ <input type="hidden" name="token" value="<%=token%>" />
+ <input type="hidden" name="redir" value="<%=pcdata(luci.http.formvalue("redir"))%>" />
+ <input class="cbi-button cbi-button-reset" type="submit" value="<%:Revert%>" />
+ </form>
</div>
<%+footer%>
diff --git a/modules/luci-mod-freifunk/luasrc/view/freifunk/contact.htm b/modules/luci-mod-freifunk/luasrc/view/freifunk/contact.htm
index 1add595c6c..dca35376cb 100644
--- a/modules/luci-mod-freifunk/luasrc/view/freifunk/contact.htm
+++ b/modules/luci-mod-freifunk/luasrc/view/freifunk/contact.htm
@@ -31,33 +31,33 @@ end
<fieldset xmlns="http://www.w3.org/1999/xhtml" class="cbi-section">
<legend><%:Operator%></legend>
- <table cellspacing="10" width="100%" style="text-align:left">
- <tr><th width="33%"><%:Nickname%>:</th><td><%=nickname%></td></tr>
- <tr><th width="33%"><%:Realname%>:</th><td><%=name%></td></tr>
- <tr><th width="33%"><%:Homepage%>:</th><td>
+ <div class="table" cellspacing="10" width="100%" style="text-align:left">
+ <div class="tr"><div class="th" width="33%"><%:Nickname%>:</div><div class="td"><%=nickname%></div></div>
+ <div class="tr"><div class="th" width="33%"><%:Realname%>:</div><div class="td"><%=name%></div></div>
+ <div class="tr"><div class="th" width="33%"><%:Homepage%>:</div><div class="td">
<% for k, v in ipairs(homepage) do %>
<a href="<%=v%>"><%=v%></a><br />
<% end %>
- </td></tr>
- <tr><th width="33%"><%:E-Mail%>:</th><td><a href="mailto:<%=mail%>"><%=mail%></a></td></tr>
- <tr><th width="33%"><%:Phone%>:</th><td><%=phone%></td></tr>
- </table>
+ </div></div>
+ <div class="tr"><div class="th" width="33%"><%:E-Mail%>:</div><div class="td"><a href="mailto:<%=mail%>"><%=mail%></a></div></div>
+ <div class="tr"><div class="th" width="33%"><%:Phone%>:</div><div class="td"><%=phone%></div></div>
+ </div>
</fieldset>
<fieldset xmlns="http://www.w3.org/1999/xhtml" class="cbi-section">
<legend><%:Location%></legend>
- <table cellspacing="10" width="100%" style="text-align:left">
- <tr><th width="33%"><%:Location%>:</th><td><%=location%></td></tr>
- <tr><th width="33%"><%:Coordinates%>:</th><td><%=lat%> <%=lon%> (<a href="<%=pcdata(luci.dispatcher.build_url("freifunk/map"))%>"><%:Show on map%>)</a></td></tr>
- </table>
+ <div class="table" cellspacing="10" width="100%" style="text-align:left">
+ <div class="tr"><div class="th" width="33%"><%:Location%>:</div><div class="td"><%=location%></div></div>
+ <div class="tr"><div class="th" width="33%"><%:Coordinates%>:</div><div class="td"><%=lat%> <%=lon%> (<a href="<%=pcdata(luci.dispatcher.build_url("freifunk/map"))%>"><%:Show on map%>)</a></div></div>
+ </div>
</fieldset>
<% if note then %>
<fieldset xmlns="http://www.w3.org/1999/xhtml" class="cbi-section">
<legend><%:Notice%></legend>
- <table cellspacing="10" width="100%" style="text-align:left">
- <tr><td><%=note%></td></tr>
- </table>
+ <div class="table" cellspacing="10" width="100%" style="text-align:left">
+ <div class="tr"><div class="td"><%=note%></div></div>
+ </div>
</fieldset>
<%end%>
diff --git a/modules/luci-mod-freifunk/luasrc/view/freifunk/public_status.htm b/modules/luci-mod-freifunk/luasrc/view/freifunk/public_status.htm
index 1dc1d8b0d1..a56e4826a9 100644
--- a/modules/luci-mod-freifunk/luasrc/view/freifunk/public_status.htm
+++ b/modules/luci-mod-freifunk/luasrc/view/freifunk/public_status.htm
@@ -238,25 +238,25 @@ end
<h2><%:Wireless Overview%></h2>
<% if not has_iwinfo then %>
- <div class="errorbox">
- <strong><%:Package libiwinfo required!%></strong><br />
- <%_The <em>libiwinfo</em> package is not installed. You must install this component for working wireless configuration!%>
+ <div class="alert-message warning">
+ <h4><%:Package libiwinfo required!%></h4>
+ <p><%_The <em>libiwinfo</em> package is not installed. You must install this component for working wireless configuration!%></p>
</div>
<% end %>
<div class="cbi-section">
<div class="cbi-section-node">
- <table class="cbi-section-table">
- <tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"><%:Signal%></th>
- <th class="cbi-section-table-cell"><%:Bitrate%></th>
- <th class="cbi-section-table-cell"><%:SSID%></th>
- <th class="cbi-section-table-cell"><%:BSSID%></th>
- <th class="cbi-section-table-cell"><%:Channel%></th>
- <th class="cbi-section-table-cell"><%:Mode%></th>
- <th class="cbi-section-table-cell"><%:TX%>-<%:Power%></th>
- <th class="cbi-section-table-cell"><%:Interface%></th>
- </tr>
+ <div class="table cbi-section-table">
+ <div class="tr cbi-section-table-titles">
+ <div class="th cbi-section-table-cell"><%:Signal%></div>
+ <div class="th cbi-section-table-cell"><%:Bitrate%></div>
+ <div class="th cbi-section-table-cell"><%:SSID%></div>
+ <div class="th cbi-section-table-cell"><%:BSSID%></div>
+ <div class="th cbi-section-table-cell"><%:Channel%></div>
+ <div class="th cbi-section-table-cell"><%:Mode%></div>
+ <div class="th cbi-section-table-cell"><%:TX%>-<%:Power%></div>
+ <div class="th cbi-section-table-cell"><%:Interface%></div>
+ </div>
<%
for _, dev in ipairs(devices) do
local net
@@ -301,20 +301,20 @@ end
end
local interface = net.iwinfo.ifname or "N/A"
%>
- <tr class="cbi-section-table-row cbi-rowstyle-1">
- <td class="cbi-value-field" id="<%=net:ifname()%>-signal"><%=signal_string%></td>
- <td class="cbi-value-field" id="<%=net:ifname()%>-bitrate"><%=bitrate%></td>
- <td class="cbi-value-field" id="<%=net:ifname()%>-ssid"><%=ssid%></td>
- <td class="cbi-value-field" id="<%=net:ifname()%>-bssid"><%=bssid%></td>
- <td class="cbi-value-field" id="<%=net:ifname()%>-channel"><%=chan%></td>
- <td class="cbi-value-field" id="<%=net:ifname()%>-mode"><%=mode%></td>
- <td class="cbi-value-field" id="<%=net:ifname()%>-txpower"><%=txpwr%></td>
- <td class="cbi-value-field"><%=interface%></td>
- </tr>
+ <div class="tr cbi-section-table-row cbi-rowstyle-1">
+ <div class="td cbi-value-field" id="<%=net:ifname()%>-signal"><%=signal_string%></div>
+ <div class="td cbi-value-field" id="<%=net:ifname()%>-bitrate"><%=bitrate%></div>
+ <div class="td cbi-value-field" id="<%=net:ifname()%>-ssid"><%=ssid%></div>
+ <div class="td cbi-value-field" id="<%=net:ifname()%>-bssid"><%=bssid%></div>
+ <div class="td cbi-value-field" id="<%=net:ifname()%>-channel"><%=chan%></div>
+ <div class="td cbi-value-field" id="<%=net:ifname()%>-mode"><%=mode%></div>
+ <div class="td cbi-value-field" id="<%=net:ifname()%>-txpower"><%=txpwr%></div>
+ <div class="td cbi-value-field"><%=interface%></div>
+ </div>
<% end
end
end %>
- </table>
+ </div>
</div>
</div>
</div>
@@ -328,35 +328,35 @@ end
<% if not def4 and not def6 then %>
<%:No default routes known.%>
<%else%>
- <table class="cbi-section-table">
- <tr class="cbi-section-table-titles">
- <th class="cbi-section-table-cell"><%:Network%></th>
- <th class="cbi-section-table-cell"><%:Interface%></th>
- <th class="cbi-section-table-cell"><%:Gateway%></th>
- <th class="cbi-section-table-cell"><%:Metric%></th>
- </tr>
+ <div class="table cbi-section-table">
+ <div class="tr cbi-section-table-titles">
+ <div class="th cbi-section-table-cell"><%:Network%></div>
+ <div class="th cbi-section-table-cell"><%:Interface%></div>
+ <div class="th cbi-section-table-cell"><%:Gateway%></div>
+ <div class="th cbi-section-table-cell"><%:Metric%></div>
+ </div>
<% if def4 then %>
- <tr class="cbi-section-table-row cbi-rowstyle-1">
- <td class="cbi-value-field" id="v4dst"><%=def4.dest%></td>
- <td class="cbi-value-field" id="v4dev"><%=def4.dev%></td>
- <td class="cbi-value-field" id="v4gw"><%=def4.gateway%></td>
- <td class="cbi-value-field" id="v4metr"><%=def4.metr%></td>
- </tr>
+ <div class="tr cbi-section-table-row cbi-rowstyle-1">
+ <div class="td cbi-value-field" id="v4dst"><%=def4.dest%></div>
+ <div class="td cbi-value-field" id="v4dev"><%=def4.dev%></div>
+ <div class="td cbi-value-field" id="v4gw"><%=def4.gateway%></div>
+ <div class="td cbi-value-field" id="v4metr"><%=def4.metr%></div>
+ </div>
<% end
if def6 then %>
- <tr class="cbi-section-table-row cbi-rowstyle-2">
- <td class="cbi-value-field" id="v6dst"><%=def6.dest%></td>
- <td class="cbi-value-field" id="v6dev"><%=def6.dev%></td>
- <td class="cbi-value-field" id="v6gw"><%=def6.gateway%></td>
- <td class="cbi-value-field" id="v6metr"><%=def6.metr%></td>
- </tr>
+ <div class="tr cbi-section-table-row cbi-rowstyle-2">
+ <div class="td cbi-value-field" id="v6dst"><%=def6.dest%></div>
+ <div class="td cbi-value-field" id="v6dev"><%=def6.dev%></div>
+ <div class="td cbi-value-field" id="v6gw"><%=def6.gateway%></div>
+ <div class="td cbi-value-field" id="v6metr"><%=def6.metr%></div>
+ </div>
<% end %>
- </table>
+ </div>
<% end %>
</div>
</div>