diff options
Diffstat (limited to 'modules')
45 files changed, 2265 insertions, 1196 deletions
diff --git a/modules/luci-base/htdocs/luci-static/resources/cbi.js b/modules/luci-base/htdocs/luci-static/resources/cbi.js index 0a1961916c..a7f999d876 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,10 @@ function cbi_init() { node.getAttribute('data-type')); } + document.querySelectorAll('.cbi-dropdown').forEach(function(s) { + cbi_dropdown_init(s); + }); + cbi_d_update(); } @@ -1574,3 +1563,484 @@ function E() 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', {})); + }); + }, + + findParent: function(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 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 = sbox.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 = sbox.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 = sbox.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 = sbox.findParent(this, 'li').querySelector('input[type="checkbox"]'); + if (cbox) cbox.checked = true; + sb.setAttribute('locked-in', ''); + }); + + create.addEventListener('blur', function(ev) { + var cbox = sbox.findParent(this, 'li').querySelector('input[type="checkbox"]'); + if (cbox) cbox.checked = false; + sb.removeAttribute('locked-in'); + }); + + var li = sbox.findParent(create, 'li'); + + li.setAttribute('unselectable', ''); + li.addEventListener('click', function(ev) { + this.querySelector(sbox.create).focus(); + }); + } +} + +cbi_dropdown_init.prototype = CBIDropdown; 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 2c58b0ab3d..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") or "" , 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/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..702512f495 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" src="<%=resource%>/cbi.js?v=git-18.138.59467-72fe5dd"></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/dropdown.htm b/modules/luci-base/luasrc/view/cbi/dropdown.htm new file mode 100644 index 0000000000..bdf7248375 --- /dev/null +++ b/modules/luci-base/luasrc/view/cbi/dropdown.htm @@ -0,0 +1,42 @@ +<%+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 %> + </ul> +</div> + +<%+cbi/valuefooter%> 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")%> />   - <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")%> />   - <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")%> />   - <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")%> />   - <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:%> </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/map.htm b/modules/luci-base/luasrc/view/cbi/map.htm index 69ef3615a2..02b47f5455 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%>"> 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 -%> -   - <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 -%> -   - <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%>: "{{value}}"" 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") - %> />   - <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")%> />   - <%- 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 -%> </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") - %> />   - <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/sysauth.htm b/modules/luci-base/luasrc/view/sysauth.htm index b3ec9b7617..e7a741aaab 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"> diff --git a/modules/luci-base/po/ca/base.po b/modules/luci-base/po/ca/base.po index f9976f3ebf..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:" @@ -401,6 +404,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -415,6 +421,9 @@ msgstr "" msgid "Associated Stations" msgstr "Estacions associades" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1287,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" @@ -1421,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" @@ -1472,8 +1481,8 @@ 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" @@ -2584,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 "" @@ -2597,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 "" @@ -3708,6 +3717,9 @@ msgstr "" msgid "bridged" msgstr "pontejat" +msgid "create" +msgstr "" + msgid "create:" msgstr "crea:" @@ -3796,6 +3808,9 @@ msgstr "engegat" msgid "open" msgstr "obert" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" @@ -3847,6 +3862,12 @@ 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" diff --git a/modules/luci-base/po/cs/base.po b/modules/luci-base/po/cs/base.po index daae96c49d..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:" @@ -397,6 +400,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -411,6 +417,9 @@ msgstr "" msgid "Associated Stations" msgstr "Připojení klienti" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1289,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" @@ -1420,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" @@ -1471,8 +1480,8 @@ msgstr "" msgid "IPv6 ULA-Prefix" msgstr "" -msgid "IPv6 WAN Status" -msgstr "Stav IPv6 WAN" +msgid "IPv6 Upstream" +msgstr "" msgid "IPv6 address" msgstr "IPv6 adresa" @@ -2595,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" @@ -2615,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" @@ -2623,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" @@ -3749,6 +3758,9 @@ msgstr "baseT" msgid "bridged" msgstr "přemostěný" +msgid "create" +msgstr "" + msgid "create:" msgstr "" @@ -3837,6 +3849,9 @@ msgstr "on" msgid "open" msgstr "" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" @@ -3888,6 +3903,12 @@ 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" diff --git a/modules/luci-base/po/de/base.po b/modules/luci-base/po/de/base.po index a7b003caf3..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):" @@ -402,6 +405,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -420,6 +426,9 @@ msgstr "" msgid "Associated Stations" msgstr "Assoziierte Clients" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "Berechtigungsgruppe" @@ -1322,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" @@ -1456,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" @@ -1507,8 +1516,8 @@ 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" @@ -2675,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" @@ -2684,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 " @@ -2697,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" @@ -2705,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" @@ -3887,6 +3896,9 @@ msgstr "baseT" msgid "bridged" msgstr "bridged" +msgid "create" +msgstr "" + msgid "create:" msgstr "erstelle:" @@ -3973,6 +3985,9 @@ msgstr "ein" msgid "open" msgstr "offen" +msgid "output" +msgstr "" + msgid "overlay" msgstr "Overlay" @@ -4023,3 +4038,9 @@ msgstr "ja" msgid "« Back" msgstr "« Zurück" + +#~ msgid "IPv4 WAN Status" +#~ msgstr "IPv4 WAN Status" + +#~ 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 60566b8217..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 λεπτού:" @@ -404,6 +407,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -418,6 +424,9 @@ msgstr "" msgid "Associated Stations" msgstr "Συνδεδεμένοι Σταθμοί" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1303,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" @@ -1433,7 +1442,7 @@ msgstr "IPv4" msgid "IPv4 Firewall" msgstr "IPv4 Τείχος Προστασίας" -msgid "IPv4 WAN Status" +msgid "IPv4 Upstream" msgstr "" msgid "IPv4 address" @@ -1484,8 +1493,8 @@ msgstr "" msgid "IPv6 ULA-Prefix" msgstr "" -msgid "IPv6 WAN Status" -msgstr "Κατάσταση IPv6 WAN" +msgid "IPv6 Upstream" +msgstr "" msgid "IPv6 address" msgstr "Διεύθυνση IPv6" @@ -2601,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 "" @@ -2614,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 "" @@ -3700,6 +3709,9 @@ msgstr "" msgid "bridged" msgstr "" +msgid "create" +msgstr "" + msgid "create:" msgstr "" @@ -3789,6 +3801,9 @@ msgstr "ανοιχτό" msgid "open" msgstr "" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" @@ -3840,6 +3855,9 @@ msgstr "ναι" msgid "« Back" msgstr "« Πίσω" +#~ msgid "IPv6 WAN Status" +#~ msgstr "Κατάσταση IPv6 WAN" + #~ msgid "Apply" #~ msgstr "Εφαρμογή" diff --git a/modules/luci-base/po/en/base.po b/modules/luci-base/po/en/base.po index 5ff626f764..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:" @@ -395,6 +398,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -409,6 +415,9 @@ msgstr "" msgid "Associated Stations" msgstr "Associated Stations" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1278,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" @@ -1407,7 +1416,7 @@ msgstr "" msgid "IPv4 Firewall" msgstr "" -msgid "IPv4 WAN Status" +msgid "IPv4 Upstream" msgstr "" msgid "IPv4 address" @@ -1458,7 +1467,7 @@ msgstr "" msgid "IPv6 ULA-Prefix" msgstr "" -msgid "IPv6 WAN Status" +msgid "IPv6 Upstream" msgstr "" msgid "IPv6 address" @@ -2567,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 "" @@ -2580,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 "" @@ -3658,6 +3667,9 @@ msgstr "" msgid "bridged" msgstr "" +msgid "create" +msgstr "" + msgid "create:" msgstr "" @@ -3746,6 +3758,9 @@ msgstr "" msgid "open" msgstr "" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" diff --git a/modules/luci-base/po/es/base.po b/modules/luci-base/po/es/base.po index 3a408e4c7c..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:" @@ -401,6 +404,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -415,6 +421,9 @@ msgstr "" msgid "Associated Stations" msgstr "Estaciones asociadas" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1297,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" @@ -1429,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" @@ -1480,8 +1489,8 @@ 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" @@ -2609,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" @@ -2618,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 " @@ -2630,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" @@ -3776,6 +3785,9 @@ msgstr "baseT" msgid "bridged" msgstr "puenteado" +msgid "create" +msgstr "" + msgid "create:" msgstr "crear:" @@ -3864,6 +3876,9 @@ msgstr "activo" msgid "open" msgstr "abierto" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" @@ -3915,6 +3930,12 @@ 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" diff --git a/modules/luci-base/po/fr/base.po b/modules/luci-base/po/fr/base.po index 777117f3e6..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 :" @@ -407,6 +410,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -421,6 +427,9 @@ msgstr "" msgid "Associated Stations" msgstr "Équipements associés" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1308,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" @@ -1441,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" @@ -1492,8 +1501,8 @@ 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" @@ -2620,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" @@ -2629,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 " @@ -2641,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" @@ -2649,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" @@ -3796,6 +3805,9 @@ msgstr "baseT" msgid "bridged" msgstr "ponté" +msgid "create" +msgstr "" + msgid "create:" msgstr "créer:" @@ -3882,6 +3894,9 @@ msgstr "Actif" msgid "open" msgstr "ouvrir" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" @@ -3933,6 +3948,12 @@ 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" diff --git a/modules/luci-base/po/he/base.po b/modules/luci-base/po/he/base.po index 5a179a3063..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 "עומס במשך דקה:" @@ -396,6 +399,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -410,6 +416,9 @@ msgstr "" msgid "Associated Stations" msgstr "תחנות קשורות" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1263,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" @@ -1390,7 +1399,7 @@ msgstr "" msgid "IPv4 Firewall" msgstr "" -msgid "IPv4 WAN Status" +msgid "IPv4 Upstream" msgstr "" msgid "IPv4 address" @@ -1441,7 +1450,7 @@ msgstr "" msgid "IPv6 ULA-Prefix" msgstr "" -msgid "IPv6 WAN Status" +msgid "IPv6 Upstream" msgstr "" msgid "IPv6 address" @@ -2532,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 "" @@ -2546,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 "" @@ -3611,6 +3620,9 @@ msgstr "" msgid "bridged" msgstr "" +msgid "create" +msgstr "" + msgid "create:" msgstr "" @@ -3697,6 +3709,9 @@ msgstr "פועל" msgid "open" msgstr "" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" diff --git a/modules/luci-base/po/hu/base.po b/modules/luci-base/po/hu/base.po index f8cee36c43..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):" @@ -400,6 +403,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -414,6 +420,9 @@ msgstr "" msgid "Associated Stations" msgstr "Kapcsolódó kliensek" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1299,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" @@ -1430,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" @@ -1481,8 +1490,8 @@ 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" @@ -2612,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" @@ -2632,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" @@ -2640,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" @@ -3783,6 +3792,9 @@ msgstr "baseT" msgid "bridged" msgstr "áthidalt" +msgid "create" +msgstr "" + msgid "create:" msgstr "új:" @@ -3871,6 +3883,9 @@ msgstr "be" msgid "open" msgstr "nyitás" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" @@ -3922,6 +3937,12 @@ 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" diff --git a/modules/luci-base/po/it/base.po b/modules/luci-base/po/it/base.po index 0bc37e4d0c..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:" @@ -409,6 +412,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -423,6 +429,9 @@ msgstr "" msgid "Associated Stations" msgstr "Dispositivi Wi-Fi connessi" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1301,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" @@ -1435,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" @@ -1486,8 +1495,8 @@ 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" @@ -2610,32 +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?\\nPotresti perdere " -"l'accesso a questo router se sei connesso 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\" ?\\nPotresti perdere " -"l'accesso a questo router se stai usando questa interfaccia." +"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?" @@ -3745,6 +3757,9 @@ msgstr "baseT" msgid "bridged" msgstr "ponte" +msgid "create" +msgstr "" + msgid "create:" msgstr "crea:" @@ -3833,6 +3848,9 @@ msgstr "acceso" msgid "open" msgstr "apri" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" @@ -3884,3 +3902,8 @@ msgstr "Sì" msgid "« Back" msgstr "« Indietro" +#~ msgid "IPv4 WAN Status" +#~ msgstr "Stato WAN IPv4" + +#~ 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 ed36969885..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-21 00:47+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分の負荷:" @@ -401,6 +404,9 @@ msgstr "適用リクエストはステータス <code>%h</code> により失敗 msgid "Apply unchecked" msgstr "チェックなしの適用" +msgid "Architecture" +msgstr "アーキテクチャ" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -415,6 +421,9 @@ msgstr "" msgid "Associated Stations" msgstr "認証済み端末" +msgid "Associations" +msgstr "アソシエーション数" + msgid "Auth Group" msgstr "認証グループ" @@ -580,7 +589,7 @@ msgid "Changes applied." msgstr "変更が適用されました。" msgid "Changes have been reverted." -msgstr "" +msgstr "変更は取り消されました。" msgid "Changes the administrator password for accessing the device" msgstr "デバイスの管理者パスワードを変更します" @@ -1315,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" @@ -1446,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 アドレス" @@ -1497,8 +1506,8 @@ 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 アドレス" @@ -2635,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" @@ -2644,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 "" "本当にこの無線ネットワークを削除しますか?一度削除すると、元に戻すことはできま" @@ -2656,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" @@ -2664,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" @@ -3807,6 +3816,9 @@ msgstr "baseT" msgid "bridged" msgstr "ブリッジ" +msgid "create" +msgstr "" + msgid "create:" msgstr "作成:" @@ -3895,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 50dc84e4d1..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 분 부하:" @@ -389,6 +392,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -403,6 +409,9 @@ msgstr "" msgid "Associated Stations" msgstr "연결된 station 들" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1276,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" @@ -1406,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 주소" @@ -1457,8 +1466,8 @@ msgstr "IPv6 설정" msgid "IPv6 ULA-Prefix" msgstr "" -msgid "IPv6 WAN Status" -msgstr "IPv6 WAN 상태" +msgid "IPv6 Upstream" +msgstr "" msgid "IPv6 address" msgstr "" @@ -2560,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 "" @@ -2573,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 "" @@ -3667,6 +3676,9 @@ msgstr "" msgid "bridged" msgstr "" +msgid "create" +msgstr "" + msgid "create:" msgstr "" @@ -3755,6 +3767,9 @@ msgstr "" msgid "open" msgstr "" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" @@ -3806,6 +3821,12 @@ msgstr "" msgid "« Back" msgstr "" +#~ msgid "IPv4 WAN Status" +#~ msgstr "IPv4 WAN 상태" + +#~ msgid "IPv6 WAN Status" +#~ msgstr "IPv6 WAN 상태" + #~ msgid "Apply" #~ msgstr "적용" diff --git a/modules/luci-base/po/ms/base.po b/modules/luci-base/po/ms/base.po index 3f73db88f4..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 "" @@ -384,6 +387,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -398,6 +404,9 @@ msgstr "" msgid "Associated Stations" msgstr "Associated Stesen" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1248,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" @@ -1377,7 +1386,7 @@ msgstr "" msgid "IPv4 Firewall" msgstr "" -msgid "IPv4 WAN Status" +msgid "IPv4 Upstream" msgstr "" msgid "IPv4 address" @@ -1428,7 +1437,7 @@ msgstr "" msgid "IPv6 ULA-Prefix" msgstr "" -msgid "IPv6 WAN Status" +msgid "IPv6 Upstream" msgstr "" msgid "IPv6 address" @@ -2536,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 "" @@ -2549,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 "" @@ -3628,6 +3637,9 @@ msgstr "" msgid "bridged" msgstr "" +msgid "create" +msgstr "" + msgid "create:" msgstr "" @@ -3714,6 +3726,9 @@ msgstr "" msgid "open" msgstr "" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" diff --git a/modules/luci-base/po/no/base.po b/modules/luci-base/po/no/base.po index d938c540fc..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:" @@ -393,6 +396,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -407,6 +413,9 @@ msgstr "" msgid "Associated Stations" msgstr "Tilkoblede Klienter" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1285,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" @@ -1416,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" @@ -1467,8 +1476,8 @@ msgstr "" msgid "IPv6 ULA-Prefix" msgstr "" -msgid "IPv6 WAN Status" -msgstr "IPv6 WAN Status" +msgid "IPv6 Upstream" +msgstr "" msgid "IPv6 address" msgstr "IPv6 adresse" @@ -2587,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" @@ -2606,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" @@ -2614,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" @@ -3748,6 +3757,9 @@ msgstr "baseT" msgid "bridged" msgstr "brokoblet" +msgid "create" +msgstr "" + msgid "create:" msgstr "opprett:" @@ -3836,6 +3848,9 @@ msgstr "på" msgid "open" msgstr "åpen" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" @@ -3887,6 +3902,12 @@ 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" diff --git a/modules/luci-base/po/pl/base.po b/modules/luci-base/po/pl/base.po index bf43720174..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.:" @@ -372,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 "" @@ -407,9 +410,13 @@ msgstr "" msgid "Apply unchecked" msgstr "" +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..." @@ -417,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 "" @@ -525,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 "" @@ -687,10 +698,10 @@ msgid "Configuration files will be kept." msgstr "Pliki konfiguracyjne zostaną zachowane." msgid "Configuration has been applied." -msgstr "" +msgstr "Konfiguracja została zastosowana." msgid "Configuration has been rolled back!" -msgstr "" +msgstr "Konfiguracja została wycofana!" msgid "Confirmation" msgstr "Potwierdzenie" @@ -759,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" @@ -789,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" @@ -807,7 +820,7 @@ msgid "DNSSEC" msgstr "" msgid "DNSSEC check unsigned" -msgstr "" +msgstr "Sprawdzanie DNSSEC bez podpisu" msgid "DPD Idle Timeout" msgstr "" @@ -840,7 +853,7 @@ msgid "Default gateway" msgstr "Brama domyślna" msgid "Default is stateless + stateful" -msgstr "" +msgstr "Domyślnie jest to stateless + stateful" msgid "Default state" msgstr "Stan domyślny" @@ -1174,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 "" @@ -1319,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" @@ -1364,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..." @@ -1455,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" @@ -1501,22 +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 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" @@ -1534,7 +1547,7 @@ msgid "IPv6 routed prefix" msgstr "" msgid "IPv6 suffix" -msgstr "" +msgstr "Sufiks IPv6" msgid "IPv6-Address" msgstr "Adres IPv6" @@ -1793,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." @@ -1877,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" @@ -1898,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" @@ -2098,7 +2111,7 @@ msgid "NCM" msgstr "NCM" msgid "NDP-Proxy" -msgstr "" +msgstr "Proxy NDP" msgid "NT Domain" msgstr "" @@ -2185,7 +2198,7 @@ msgid "Non Pre-emtive CRC errors (CRC_P)" msgstr "" msgid "Non-wildcard" -msgstr "" +msgstr "Bez symboli wieloznacznych" msgid "None" msgstr "Brak" @@ -2215,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" @@ -2293,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 " @@ -2585,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ść" @@ -2637,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" @@ -2657,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" @@ -2665,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" @@ -2785,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" @@ -2839,10 +2858,10 @@ msgid "Route Allowed IPs" msgstr "" msgid "Route type" -msgstr "" +msgstr "Typ trasy" msgid "Router Advertisement-Service" -msgstr "" +msgstr "Serwis rozgłoszeniowy routera" msgid "Router Password" msgstr "Hasło routera" @@ -2977,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ń" @@ -2995,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ć!" @@ -3106,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 "" @@ -3348,7 +3367,7 @@ msgid "There are no active leases." msgstr "Brak aktywnych dzierżaw." msgid "There are no changes to apply." -msgstr "" +msgstr "Nie ma żadnych zmian do zastosowania." msgid "There are no pending changes to revert!" msgstr "Brak oczekujących zmian do przywrócenia!" @@ -3378,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 " @@ -3458,7 +3480,7 @@ 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 " +"Aby przywrócić pliki konfiguracyjne, możesz przesłać tutaj wcześniej " "utworzoną kopię zapasową." msgid "Tone" @@ -3722,7 +3744,7 @@ msgid "Waiting for command to complete..." msgstr "Trwa wykonanie polecenia..." msgid "Waiting for configuration to get applied… %ds" -msgstr "" +msgstr "Oczekiwanie na zastosowanie konfiguracji… %ds" msgid "Waiting for device..." msgstr "Oczekiwanie na urządzenie..." @@ -3806,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ę zaktualizuj go do wersji co najmniej 7 lub użyj innej przeglądarki, " -"takiej jak Firefox, Opera czy Safari." +"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." msgid "any" msgstr "dowolny" @@ -3822,6 +3844,9 @@ msgstr "baseT" msgid "bridged" msgstr "zmostkowany" +msgid "create" +msgstr "" + msgid "create:" msgstr "utwórz:" @@ -3911,6 +3936,9 @@ msgstr "włączone" msgid "open" msgstr "otwarte" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" @@ -3962,3 +3990,8 @@ msgstr "tak" msgid "« Back" msgstr "« Wróć" +#~ msgid "IPv4 WAN Status" +#~ msgstr "Status IPv4 WAN" + +#~ 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 49b1494326..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:" @@ -425,6 +428,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -443,6 +449,9 @@ msgstr "" msgid "Associated Stations" msgstr "Estações associadas" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "Grupo de Autenticação" @@ -1350,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" @@ -1493,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" @@ -1546,8 +1555,8 @@ 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" @@ -2723,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 " @@ -2743,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" @@ -2751,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" @@ -3927,6 +3936,9 @@ msgstr "baseT" msgid "bridged" msgstr "em ponte" +msgid "create" +msgstr "" + msgid "create:" msgstr "criar" @@ -4017,6 +4029,9 @@ msgstr "ligado" msgid "open" msgstr "aberto" +msgid "output" +msgstr "" + msgid "overlay" msgstr "sobreposição" @@ -4067,3 +4082,9 @@ msgstr "sim" msgid "« Back" msgstr "« Voltar" + +#~ msgid "IPv4 WAN Status" +#~ msgstr "Estado IPv4 da WAN" + +#~ 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 a05bfc1cfc..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:" @@ -406,6 +409,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -420,6 +426,9 @@ msgstr "" msgid "Associated Stations" msgstr "Estações Associadas" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1302,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" @@ -1437,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" @@ -1488,8 +1497,8 @@ 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" @@ -2607,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" @@ -2626,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" @@ -3743,6 +3752,9 @@ msgstr "baseT" msgid "bridged" msgstr "" +msgid "create" +msgstr "" + msgid "create:" msgstr "criar:" @@ -3832,6 +3844,9 @@ msgstr "ligado" msgid "open" msgstr "abrir" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" @@ -3883,6 +3898,12 @@ 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" diff --git a/modules/luci-base/po/ro/base.po b/modules/luci-base/po/ro/base.po index 1b7c612b22..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" @@ -392,6 +395,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -406,6 +412,9 @@ msgstr "" msgid "Associated Stations" msgstr "Statiile asociate" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1255,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" @@ -1384,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" @@ -1435,8 +1444,8 @@ 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" @@ -2531,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 "" @@ -2544,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 "" @@ -3604,6 +3613,9 @@ msgstr "" msgid "bridged" msgstr "" +msgid "create" +msgstr "" + msgid "create:" msgstr "" @@ -3690,6 +3702,9 @@ msgstr "" msgid "open" msgstr "" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" @@ -3741,6 +3756,12 @@ 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" diff --git a/modules/luci-base/po/ru/base.po b/modules/luci-base/po/ru/base.po index 2514084b76..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 минуту:" @@ -410,6 +413,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -428,6 +434,9 @@ msgstr "" msgid "Associated Stations" msgstr "Подключенные клиенты" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "Группа аутентификации" @@ -1335,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 "ГГц" @@ -1468,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-адрес" @@ -1519,8 +1528,8 @@ 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-адрес" @@ -2682,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 "" "Действительно удалить эту беспроводную сеть? Удаление не может быть отменено!" @@ -2701,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 "Вы действительно хотите изменить протокол?" @@ -3876,6 +3885,9 @@ msgstr "baseT" msgid "bridged" msgstr "соед. мостом" +msgid "create" +msgstr "" + msgid "create:" msgstr "создать:" @@ -3964,6 +3976,9 @@ msgstr "включено" msgid "open" msgstr "открыть" +msgid "output" +msgstr "" + msgid "overlay" msgstr "overlay" @@ -4014,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 e7e302b1b0..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 "" @@ -378,6 +381,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -392,6 +398,9 @@ msgstr "" msgid "Associated Stations" msgstr "" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1235,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" @@ -1362,7 +1371,7 @@ msgstr "" msgid "IPv4 Firewall" msgstr "" -msgid "IPv4 WAN Status" +msgid "IPv4 Upstream" msgstr "" msgid "IPv4 address" @@ -1413,7 +1422,7 @@ msgstr "" msgid "IPv6 ULA-Prefix" msgstr "" -msgid "IPv6 WAN Status" +msgid "IPv6 Upstream" msgstr "" msgid "IPv6 address" @@ -2504,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 "" @@ -2517,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 "" @@ -3572,6 +3581,9 @@ msgstr "" msgid "bridged" msgstr "" +msgid "create" +msgstr "" + msgid "create:" msgstr "" @@ -3658,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 dc68fdc368..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:" @@ -389,6 +392,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -403,6 +409,9 @@ msgstr "" msgid "Associated Stations" msgstr "Associerade stationer" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "Autentiseringsgrupp" @@ -1255,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" @@ -1382,7 +1391,7 @@ msgstr "IPv4" msgid "IPv4 Firewall" msgstr "IPv4-brandvägg" -msgid "IPv4 WAN Status" +msgid "IPv4 Upstream" msgstr "" msgid "IPv4 address" @@ -1433,7 +1442,7 @@ msgstr "IPv6-inställningar" msgid "IPv6 ULA-Prefix" msgstr "" -msgid "IPv6 WAN Status" +msgid "IPv6 Upstream" msgstr "" msgid "IPv6 address" @@ -2527,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 "" @@ -2540,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 "" @@ -3605,6 +3614,9 @@ msgstr "" msgid "bridged" msgstr "bryggad" +msgid "create" +msgstr "" + msgid "create:" msgstr "skapa:" @@ -3691,6 +3703,9 @@ msgstr "på" msgid "open" msgstr "öppen" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" @@ -3741,4 +3756,3 @@ msgstr "ja" msgid "« Back" msgstr "« Bakåt" - diff --git a/modules/luci-base/po/templates/base.pot b/modules/luci-base/po/templates/base.pot index b944566c09..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 "" @@ -371,6 +374,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -385,6 +391,9 @@ msgstr "" msgid "Associated Stations" msgstr "" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1355,7 +1364,7 @@ msgstr "" msgid "IPv4 Firewall" msgstr "" -msgid "IPv4 WAN Status" +msgid "IPv4 Upstream" msgstr "" msgid "IPv4 address" @@ -1406,7 +1415,7 @@ msgstr "" msgid "IPv6 ULA-Prefix" msgstr "" -msgid "IPv6 WAN Status" +msgid "IPv6 Upstream" msgstr "" msgid "IPv6 address" @@ -2497,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 "" @@ -2510,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 "" @@ -3565,6 +3574,9 @@ msgstr "" msgid "bridged" msgstr "" +msgid "create" +msgstr "" + msgid "create:" msgstr "" @@ -3651,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 cfa7cd3c48..cadfc59539 100644 --- a/modules/luci-base/po/tr/base.po +++ b/modules/luci-base/po/tr/base.po @@ -47,6 +47,9 @@ 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:" msgstr "1 Dakikalık Yük:" @@ -391,6 +394,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -405,6 +411,9 @@ msgstr "" msgid "Associated Stations" msgstr "" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1248,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" @@ -1375,7 +1384,7 @@ msgstr "" msgid "IPv4 Firewall" msgstr "" -msgid "IPv4 WAN Status" +msgid "IPv4 Upstream" msgstr "" msgid "IPv4 address" @@ -1426,7 +1435,7 @@ msgstr "" msgid "IPv6 ULA-Prefix" msgstr "" -msgid "IPv6 WAN Status" +msgid "IPv6 Upstream" msgstr "" msgid "IPv6 address" @@ -2517,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 "" @@ -2530,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 "" @@ -3587,6 +3596,9 @@ msgstr "baseT" msgid "bridged" msgstr "köprülü" +msgid "create" +msgstr "" + msgid "create:" msgstr "oluşturma:" @@ -3673,6 +3685,9 @@ msgstr "açık" msgid "open" msgstr "açık" +msgid "output" +msgstr "" + msgid "overlay" msgstr "bindirilmiş" diff --git a/modules/luci-base/po/uk/base.po b/modules/luci-base/po/uk/base.po index d053200496..a9455e45e6 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-10 16:50+0200\n" +"Last-Translator: Yurii <yuripet@gmail.com>\n" "Language-Team: none\n" "Language: uk\n" "MIME-Version: 1.0\n" @@ -10,19 +10,21 @@ 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 "" +msgstr ""Content-Type: text/plain; charset=UTF-8" 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 +36,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 +60,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 +110,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 +137,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 +152,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 "" @@ -191,10 +199,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-мости" @@ -214,7 +223,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 для підключення до мережі провайдера." @@ -267,7 +276,7 @@ msgid "Additional Hosts files" msgstr "Додаткові файли hosts" msgid "Additional servers file" -msgstr "" +msgstr "Додаткові файли servers" msgid "Address" msgstr "Адреса" @@ -282,7 +291,7 @@ msgid "Advanced Settings" msgstr "Додаткові параметри" msgid "Aggregate Transmit Power(ACTATP)" -msgstr "" +msgstr "Сумарна потужність передавання" msgid "Alert" msgstr "Тривога" @@ -291,9 +300,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 "" @@ -304,7 +314,7 @@ msgid "Allow all except listed" msgstr "Дозволити всі, крім зазначених" msgid "Allow legacy 802.11b rates" -msgstr "" +msgstr "Дозволити застарілі швидкості 802.11b" msgid "Allow listed only" msgstr "Дозволити тільки зазначені" @@ -314,7 +324,8 @@ msgstr "Дозволити локальний вузол" msgid "Allow remote hosts to connect to local SSH forwarded ports" msgstr "" -"Дозволити віддаленим вузлам підключення до локальних SSH-спрямованих портів" +"Дозволити віддаленим вузлам підключення до локальних переспрямованих портів " +"SSH" msgid "Allow root logins with password" msgstr "Дозволити root-вхід із паролем" @@ -325,14 +336,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 "" +msgstr "Дозволено IP-адреси" msgid "Always announce default router" -msgstr "" +msgstr "Завжди оголошувати типовим маршрутизатором" msgid "Annex" msgstr "" @@ -380,22 +391,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" @@ -410,14 +422,19 @@ msgid "Any zone" msgstr "Будь-яка зона" msgid "Apply request failed with status <code>%h</code>" -msgstr "" +msgstr "Сталася помилка запиту на застосування зі статусом <code>%h</code>" msgid "Apply unchecked" -msgstr "" +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 "Призначення інтерфейсів..." @@ -425,18 +442,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 "Надійний" @@ -448,25 +470,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 "Доступно" @@ -505,7 +530,7 @@ msgid "Back to scan results" msgstr "Повернутися до результатів сканування" msgid "Backup / Flash Firmware" -msgstr "Резервне копіювання / Оновлення прошивки" +msgstr "Резервне копіювання / Прошивка мікропрограми" msgid "Backup / Restore" msgstr "Резервне копіювання/відновлення" @@ -514,10 +539,10 @@ msgid "Backup file list" msgstr "Список файлів резервних копій" msgid "Bad address specified!" -msgstr "Вказана неправильна адреса!" +msgstr "Вказано неправильну адресу!" msgid "Band" -msgstr "" +msgstr "Група" msgid "" "Below is the determined list of files to backup. It consists of changed " @@ -529,16 +554,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-домену" @@ -547,7 +572,7 @@ msgid "Bridge" msgstr "Міст" msgid "Bridge interfaces" -msgstr "Об'єднати інтерфейси в міст" +msgstr "Об’єднати інтерфейси в міст" msgid "Bridge unit number" msgstr "Номер моста" @@ -568,9 +593,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 "Завантаження ЦП, %" @@ -579,7 +607,7 @@ msgid "Cancel" msgstr "Скасувати" msgid "Category" -msgstr "" +msgstr "Категорія" msgid "Chain" msgstr "Ланцюжок" @@ -591,7 +619,7 @@ msgid "Changes applied." msgstr "Зміни застосовано." msgid "Changes have been reverted." -msgstr "" +msgstr "Зміни було скасовано." msgid "Changes the administrator password for accessing the device" msgstr "Зміна пароля адміністратора для доступу до пристрою" @@ -603,15 +631,17 @@ 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 "Контрольна сума" @@ -638,7 +668,7 @@ msgid "Cipher" msgstr "Шифр" msgid "Cisco UDP encapsulation" -msgstr "" +msgstr "Інкапсуляція UDP Cisco" msgid "" "Click \"Generate archive\" to download a tar archive of the current " @@ -646,8 +676,8 @@ msgid "" "\"Perform reset\" (only possible with squashfs images)." msgstr "" "Натисніть кнопку \"Створити архів\", щоб завантажити tar-архів поточних " -"файлів конфігурації. Для відновлення прошивки до її початкового стану, " -"натисніть кнопку \"Відновити\" (можливе тільки з образами SquashFS)." +"файлів конфігурації. Для відновлення мікропрограми до її початкового " +"стану натисніть кнопку \"Відновити\" (можливо тільки з образами SquashFS)." msgid "Client" msgstr "Клієнт" @@ -659,8 +689,8 @@ msgid "" "Close inactive connection after the given amount of seconds, use 0 to " "persist connection" msgstr "" -"Закривати неактивні з'єднання після певного інтервалу часу (секунди). Для " -"утримання неактивних з'єднань використовуйте 0" +"Закривати неактивні з’єднання після певного інтервалу часу (секунди). Для " +"утримання неактивних з’єднань використовуйте 0" msgid "Close list..." msgstr "Згорнути список..." @@ -680,18 +710,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 files will be kept." -msgstr "Конфігураційні файли будуть збережені." +msgstr "Конфігураційні файли буде збережено." msgid "Configuration has been applied." -msgstr "" +msgstr "Конфігурацію застосовано." msgid "Configuration has been rolled back!" -msgstr "" +msgstr "Конфігурацію було відкочено!" msgid "Confirmation" msgstr "Підтвердження" @@ -700,7 +734,7 @@ msgid "Connect" msgstr "Підключити" msgid "Connected" -msgstr "Підключений" +msgstr "Підключено" msgid "Connection Limit" msgstr "Гранична кількість підключень" @@ -713,6 +747,9 @@ msgid "" "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 +782,29 @@ 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 "" +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 +826,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,7 +880,7 @@ msgid "Default gateway" msgstr "Типовий шлюз" msgid "Default is stateless + stateful" -msgstr "" +msgstr "Типовим є БЕЗ та ЗІ збереженням стану" msgid "Default state" msgstr "Типовий стан" @@ -879,19 +919,19 @@ msgid "Device Configuration" msgstr "Конфігурація пристрою" msgid "Device is rebooting..." -msgstr "" +msgstr "Пристрій перезавантажується..." msgid "Device unreachable" -msgstr "" +msgstr "Пристрій недосяжний" msgid "Device unreachable!" -msgstr "" +msgstr "Пристрій недосяжний!" msgid "Diagnostics" msgstr "Діагностика" msgid "Dial number" -msgstr "" +msgstr "Набір номера" msgid "Directory" msgstr "Каталог" @@ -907,25 +947,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 "" +msgstr "Відхилити" msgid "Displaying only packages containing" -msgstr "Показані тільки непорожні пакети" +msgstr "Відображення лише непорожніх пакетів" msgid "Distance Optimization" msgstr "Оптимізація за відстанню" @@ -934,7 +974,7 @@ msgid "Distance to farthest network member in meters." msgstr "Відстань до найвіддаленішого вузла мережі в метрах." msgid "Distribution feeds" -msgstr "" +msgstr "Канали поширення" msgid "Diversity" msgstr "Різновидність" @@ -948,7 +988,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" @@ -956,11 +996,12 @@ 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 "Потрібен домен" @@ -969,13 +1010,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>-імені" @@ -986,7 +1027,7 @@ msgid "Download backup" msgstr "Завантажити резервну копію" msgid "Downstream SNR offset" -msgstr "" +msgstr "Низхідний зсув SNR" msgid "Dropbear Instance" msgstr "Реалізація Dropbear" @@ -1017,7 +1058,7 @@ msgstr "" "обслуговуватися тільки клієнти, які мають статичні оренди." msgid "EA-bits length" -msgstr "" +msgstr "Довжина EA-бітів" msgid "EAP-Method" msgstr "EAP-Метод" @@ -1029,6 +1070,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 "Редагувати цей інтерфейс" @@ -1046,6 +1089,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>" @@ -1054,19 +1099,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-сервер" @@ -1075,28 +1120,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 "Увімкнено/Вимкнено" @@ -1105,16 +1150,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 "Режим інкапсуляції" @@ -1123,10 +1170,10 @@ msgid "Encryption" msgstr "Шифрування" msgid "Endpoint Host" -msgstr "" +msgstr "Хост кінцевої точки" msgid "Endpoint Port" -msgstr "" +msgstr "Порт кінцевої точки" msgid "Erasing..." msgstr "Видалення..." @@ -1135,22 +1182,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 "" @@ -1158,13 +1205,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 "Зовнішній сервер системного журналу" @@ -1173,28 +1220,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" +msgid "Протокол FT" msgstr "" msgid "Failed to confirm apply within %ds, waiting for rollback…" -msgstr "" +msgstr "Не вдалося підтвердити застосування на протязі %d с, очікуємо відкату…" msgid "File" msgstr "Файл" msgid "Filename of the boot image advertised to clients" -msgstr "І'мя завантажувального образу, що оголошується клієнтам" +msgstr "І’мя завантажувального образу, що оголошується клієнтам" msgid "Filesystem" msgstr "Файлова система" @@ -1212,6 +1259,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 "Знайти мережу й приєднатися" @@ -1226,37 +1275,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 "Примусово" @@ -1274,28 +1323,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 "Поріг фрагментації" @@ -1311,7 +1360,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" @@ -1327,19 +1376,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творити архів" @@ -1351,10 +1400,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 "Перейти до конфігурації пароля..." @@ -1363,19 +1412,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 "Призупинити" @@ -1387,7 +1436,7 @@ msgid "" "Here you can configure the basic aspects of your device like its hostname or " "the timezone." msgstr "" -"Тут ви можете настроїти основні параметри вигляду вашого пристрою, такі як " +"Тут ви можете налаштувати основні параметри вигляду вашого пристрою, такі як " "назва (ім’я) вузла або часовий пояс." msgid "" @@ -1406,7 +1455,7 @@ msgstr "" "розширеної служби послуг\">ESSID</abbr>" msgid "Host" -msgstr "" +msgstr "Вузол" msgid "Host entries" msgstr "Записи вузлів" @@ -1418,10 +1467,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 "Імена вузлів" @@ -1433,7 +1482,7 @@ msgid "IKE DH Group" msgstr "" msgid "IP Addresses" -msgstr "" +msgstr "Адреси IP" msgid "IP address" msgstr "IP-адреса" @@ -1444,8 +1493,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" @@ -1454,7 +1503,7 @@ msgid "IPv4 and IPv6" msgstr "IPv4 та IPv6" msgid "IPv4 assignment length" -msgstr "" +msgstr "Довжина присвоювання IPv4" msgid "IPv4 broadcast" msgstr "Широкомовний IPv4" @@ -1487,25 +1536,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 assignment hint" -msgstr "" +msgstr "Натяк призначення IPv6" msgid "IPv6 assignment length" -msgstr "" +msgstr "Довжина призначення IPv6" msgid "IPv6 gateway" msgstr "Шлюз IPv6" @@ -1520,10 +1571,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 +1592,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 +1610,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 +1626,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 +1652,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 +1684,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 +1705,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 +1739,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 +1758,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 +1803,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 +1834,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 +1853,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 +1869,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 +1884,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 +1936,7 @@ msgid "Local IPv6 address" msgstr "Локальна адреса IPv6" msgid "Local Service Only" -msgstr "" +msgstr "Тільки локальна служба" msgid "Local Startup" msgstr "Локальний запуск" @@ -1876,13 +1947,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 +1967,7 @@ msgid "" "Localise hostname depending on the requesting subnet if multiple IPs are " "available" msgstr "" -"Локалізувати ім'я хоста залежно від запитуючої підмережі, якщо доступні " +"Локалізувати ім’я хоста залежно від запитуючої підмережі, якщо доступно " "кілька IP-адрес" msgid "Localise queries" @@ -1988,34 +2059,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 +2095,7 @@ msgid "Modem init timeout" msgstr "Тайм-аут ініціалізації модему" msgid "Monitor" -msgstr "Монітор" +msgstr "Диспетчер" msgid "Mount Entry" msgstr "Вхід монтування" @@ -2036,20 +2107,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 +2129,10 @@ msgid "Mount point" msgstr "Точка монтування" msgid "Mount swap not specifically configured" -msgstr "" +msgstr "Монтувати не конкретно налаштований своп" msgid "Mounted file systems" -msgstr "Змонтовані файлові системи" +msgstr "Змонтовано файлові системи" msgid "Move down" msgstr "Вниз" @@ -2091,16 +2162,16 @@ msgid "NT Domain" msgstr "" msgid "NTP server candidates" -msgstr "Кандидати для синхронізації NTP-сервера" +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 "Навігація" @@ -2124,7 +2195,7 @@ msgid "Next »" msgstr "Наступний »" msgid "No DHCP Server configured for this interface" -msgstr "Немає DHCP-сервера, настроєного для цього інтерфейсу" +msgstr "Немає DHCP-сервера, налаштованого для цього інтерфейсу" msgid "No NAT-T" msgstr "" @@ -2142,10 +2213,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 "Немає доступних списків пакетів" @@ -2157,22 +2228,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 "Жоден" @@ -2184,16 +2255,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 "Попередження" @@ -2202,7 +2273,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" @@ -2211,13 +2282,13 @@ msgid "OPKG-Configuration" msgstr "Конфігурація OPKG" msgid "Obfuscated Group Password" -msgstr "" +msgstr "Обфусований груповий пароль" msgid "Obfuscated Password" -msgstr "" +msgstr "Обфусований пароль" msgid "Obtain IPv6-Address" -msgstr "" +msgstr "Отримати IPv6-адресу" msgid "Off-State Delay" msgstr "Затримка Off-State" @@ -2230,18 +2301,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>-позначення " -"<samp>ІНТЕРФЕЙС.НОМЕР_VLAN</samp> (наприклад, <samp>eth0.1</samp>)." +"На цій сторінці ви можете налаштувати мережеві інтерфейси. Ви можете " +"об’єднати кілька інтерфейсів мостом, відзначивши поле \"Об’єднати інтерфейси " +"в міст\" та ввівши імена кількох мережевих інтерфейсів, розділені пробілами. " +"Також ви можете використовувати <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 +2321,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 +2330,7 @@ msgid "OpenConnect (CISCO AnyConnect)" msgstr "" msgid "Operating frequency" -msgstr "" +msgstr "Робоча частота" msgid "Option changed" msgstr "Опція змінена" @@ -2268,12 +2339,14 @@ msgid "Option removed" msgstr "Опція видалена" msgid "Optional" -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 " @@ -2281,25 +2354,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). " @@ -2308,6 +2390,8 @@ msgstr "" msgid "Optional. UDP port used for outgoing and incoming packets." msgstr "" +"Необов’язково. UDP-порт, який використовується для вихідних та вхідних " +"пакетів." msgid "Options" msgstr "Опції" @@ -2322,7 +2406,7 @@ msgid "Outbound:" msgstr "Вихідний:" msgid "Output Interface" -msgstr "" +msgstr "Вихідний інтерфейс" msgid "Override MAC address" msgstr "Перевизначити MAC-адресу" @@ -2331,13 +2415,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" @@ -2363,7 +2447,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>" @@ -2374,7 +2458,7 @@ msgstr "" "номер\">>PIN</abbr>" msgid "PMK R1 Push" -msgstr "" +msgstr "Проштовхуваня PMK R1" msgid "PPP" msgstr "PPP" @@ -2428,13 +2512,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 "Шлях до центру сертифікції" @@ -2446,25 +2530,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 "Виконати перезавантаження" @@ -2473,7 +2557,7 @@ msgid "Perform reset" msgstr "Відновити" msgid "Persistent Keep Alive" -msgstr "" +msgstr "Завжди тримати ввімкненим" msgid "Phy Rate:" msgstr "Фізична швидкість:" @@ -2488,7 +2572,7 @@ msgid "Pkts." msgstr "пакетів" msgid "Please enter your username and password." -msgstr "Введіть ім'я користувача і пароль" +msgstr "Введіть ім’я користувача і пароль" msgid "Policy" msgstr "Політика" @@ -2497,25 +2581,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 " @@ -2525,10 +2609,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" @@ -2561,10 +2645,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)" @@ -2582,10 +2666,10 @@ msgid "Quality" msgstr "Якість" msgid "R0 Key Lifetime" -msgstr "" +msgstr "Тривалість життя ключа R0" msgid "R1 Key Holder" -msgstr "" +msgstr "Власник ключа R1" msgid "RFC3947 NAT-T mode" msgstr "" @@ -2624,45 +2708,41 @@ 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?" 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 "Дійсно змінити протокол?" @@ -2683,10 +2763,10 @@ msgid "Realtime Wireless" msgstr "Бездротові мережі у реальному часі" msgid "Reassociation Deadline" -msgstr "" +msgstr "Кінцевий термін реассоціації" msgid "Rebind protection" -msgstr "Захист від переприв'язки" +msgstr "Захист від переприв’язки" msgid "Reboot" msgstr "Перезавантаження" @@ -2698,7 +2778,7 @@ msgid "Reboots the operating system of your device" msgstr "Перезавантажити операційну систему вашого пристрою" msgid "Receive" -msgstr "Прийом" +msgstr "Приймання" msgid "Receiver Antenna" msgstr "Антена приймача" @@ -2746,22 +2826,22 @@ msgid "Replace wireless configuration" msgstr "Замінити конфігурацію бездротової мережі" msgid "Request IPv6-address" -msgstr "" +msgstr "Запит IPv6-адреси" msgid "Request IPv6-prefix of length" -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 " @@ -2773,6 +2853,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 " @@ -2807,16 +2889,16 @@ msgid "Reveal/hide password" msgstr "Показати/приховати пароль" msgid "Revert" -msgstr "Скасувати зміни" +msgstr "Скасувати" msgid "Revert changes" -msgstr "" +msgstr "Скасувати зміни" msgid "Revert request failed with status <code>%h</code>" -msgstr "" +msgstr "Сталася помилка запиту на скасування зі статусом <code>%h</code>" msgid "Reverting configuration…" -msgstr "" +msgstr "Відкат конфігурації…" msgid "Root" msgstr "Корінь" @@ -2825,16 +2907,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 "" +msgstr "Тип маршруту" msgid "Router Advertisement-Service" -msgstr "" +msgstr "Служба оголошень маршрутизатора" msgid "Router Password" msgstr "Пароль маршрутизатора" @@ -2911,10 +2993,10 @@ msgid "Separate Clients" msgstr "Розділяти клієнтів" msgid "Server Settings" -msgstr "Настройки сервера" +msgstr "Налаштування сервера" msgid "Service Name" -msgstr "Назва (ім'я) сервісу" +msgstr "Назва (ім’я) сервісу" msgid "Service Type" msgstr "Тип сервісу" @@ -2926,13 +3008,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 "" @@ -2965,7 +3048,7 @@ msgid "Size (.ipk)" msgstr "" msgid "Size of DNS query cache" -msgstr "" +msgstr "Розмір кешу запитів DNS" msgid "Skip" msgstr "Пропустити" @@ -2989,7 +3072,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 "На жаль, на сервері сталася неочікувана помилка." @@ -2999,9 +3082,9 @@ msgid "" "flashed manually. Please refer to the wiki for device specific install " "instructions." msgstr "" -"На жаль, автоматичне оновлення системи не підтримується. Новий образ " -"прошивки повинен бути залитий вручну. Зверніться до Wiki за інструкцією з " -"інсталяції для конкретного пристрою." +"На жаль, оновлення системи не підтримується. Новий образ мікропрограми " +"слід прошити вручну. Зверніться до Wiki за інструкцією з інсталяції " +"для конкретного пристрою." msgid "Sort" msgstr "Сортування" @@ -3052,7 +3135,7 @@ msgid "Start priority" msgstr "Стартовий пріоритет" msgid "Starting configuration apply…" -msgstr "" +msgstr "Застосовується стартова конфігурація…" msgid "Startup" msgstr "Запуск" @@ -3070,7 +3153,7 @@ msgid "Static Routes" msgstr "Статичні маршрути" msgid "Static address" -msgstr "Статичні адреси" +msgstr "Статична адреса" msgid "" "Static leases are used to assign fixed IP addresses and symbolic hostnames " @@ -3083,7 +3166,7 @@ msgstr "" "орендою." msgid "Status" -msgstr "Статус" +msgstr "Стан" msgid "Stop" msgstr "Зупинити" @@ -3095,16 +3178,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 "Комутатор" @@ -3118,12 +3201,13 @@ 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 "Протокол комутатора" @@ -3150,7 +3234,7 @@ msgid "TCP:" msgstr "TCP:" msgid "TFTP Settings" -msgstr "Настройки TFTP" +msgstr "Налаштування TFTP" msgid "TFTP server root" msgstr "Корінь TFTP-сервера" @@ -3181,11 +3265,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 "" @@ -3193,7 +3277,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 " @@ -3207,13 +3291,13 @@ 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:" @@ -3228,18 +3312,24 @@ msgid "" "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>)" @@ -3248,18 +3338,18 @@ msgid "" "compare them with the original file to ensure data integrity.<br /> Click " "\"Proceed\" below to start the flash procedure." msgstr "" -"Образ завантажено. Нижче наведено контрольну суму і розмір файлу. Порівняйте " -"їх з вихідним файлом для забезпечення цілісності даних.<br /> Натисніть " -"\"Продовжити\", щоб розпочати процедуру оновлення прошивки." +"Образ завантажено. Нижче наведено контрольну суму та розмір файлу. Порівняйте " +"їх з вихідним файлом, шоб переконатися в цілісності даних.<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 "" @@ -3288,12 +3378,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хідний порт використовується для з’єднання з " "більшою мережею, такою наприклад, як Інтернет, а інші порти — для локальної " "мережі." @@ -3319,8 +3409,8 @@ msgid "" msgstr "" "Система перепрошивається.<br /> <strong>НЕ ВИМИКАЙТЕ ЖИВЛЕННЯ ПРИСТРОЮ!</" "strong><br /> Зачекайте кілька хвилин перед тим, як пробувати знову " -"з'єднатися. Залежно від ваших настройок, можливо, вам треба буде оновити " -"адресу вашого комп'ютера, щоб знову отримати доступ до пристрою." +"під’єднатися. Залежно від налаштувань, можливо, треба буде оновити " +"адресу вашого комп’ютера, щоб знову отримати доступ до пристрою." msgid "" "The uploaded image file does not contain a supported format. Make sure that " @@ -3333,10 +3423,10 @@ msgid "There are no active leases." msgstr "Активних оренд немає." msgid "There are no changes to apply." -msgstr "" +msgstr "Немає жодних змін до застосування!" msgid "There are no pending changes to revert!" -msgstr "Немає жодних змін до скасування!" +msgstr "Немає жодних очікуючих змін до скасування!" msgid "There are no pending changes!" msgstr "Немає жодних очікуючих змін!" @@ -3363,6 +3453,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 " @@ -3377,6 +3470,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 " @@ -3389,8 +3484,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</" @@ -3400,11 +3495,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 "" @@ -3414,15 +3511,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 "Ця сторінка надає огляд поточних активних мережних підключень." @@ -3434,7 +3530,7 @@ msgid "Time Synchronization" msgstr "Синхронізація часу" msgid "Time Synchronization is not configured yet." -msgstr "Синхронізація часу не настроєна." +msgstr "Синхронізацію часу не налаштовано." msgid "Timezone" msgstr "Часовий пояс" @@ -3447,7 +3543,7 @@ msgstr "" "архів резервної копії." msgid "Tone" -msgstr "" +msgstr "Тоновий" msgid "Total Available" msgstr "Усього доступно" @@ -3465,7 +3561,7 @@ msgid "Transmission Rate" msgstr "Швидкість передавання" msgid "Transmit" -msgstr "Передача" +msgstr "Передавання" msgid "Transmit Power" msgstr "Потужність передавача" @@ -3486,7 +3582,7 @@ msgid "Tunnel Interface" msgstr "Інтерфейс тунелю" msgid "Tunnel Link" -msgstr "" +msgstr "Посилання тунелю" msgid "Tx-Power" msgstr "Потужність передавача" @@ -3507,7 +3603,7 @@ msgid "USB Device" msgstr "USB-пристрій" msgid "USB Ports" -msgstr "" +msgstr "USB-порт" msgid "UUID" msgstr "UUID" @@ -3516,7 +3612,7 @@ msgid "Unable to dispatch" msgstr "Не вдалося опрацювати запит" msgid "Unavailable Seconds (UAS)" -msgstr "" +msgstr "Недоступні секунди (<abbr title=\"Unavailable Seconds\">UAS</abbr>)" msgid "Unknown" msgstr "Невідомо" @@ -3528,7 +3624,7 @@ msgid "Unmanaged" msgstr "Некерований" msgid "Unmount" -msgstr "" +msgstr "Демонтувати" msgid "Unsaved Changes" msgstr "Незбережені зміни" @@ -3544,9 +3640,9 @@ msgid "" "Check \"Keep settings\" to retain the current configuration (requires a " "compatible firmware image)." msgstr "" -"Відвантажити sysupgrade-сумісний образ, щоб замінити поточну прошивку. Для " -"збереження поточної конфігурації встановіть прапорець \"Зберегти настройки" -"\" (потрібен сумісний образ прошивки)." +"Відвантажити sysupgrade-сумісний образ, щоб замінити поточну мікропрограму. " +"Для збереження поточної конфігурації встановіть прапорець \"Зберегти " +"налаштування\" (потрібен сумісний образ мікропрограми)." msgid "Upload archive..." msgstr "Відвантажити архів..." @@ -3576,16 +3672,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-сервери" @@ -3608,8 +3704,8 @@ msgid "" msgstr "" "Використовуйте кнопку <em>Додати</em>, щоб додати новий запис оренди. " "<em>MAC-адреса</em> ідентифікує вузол, <em>IPv4-адреса</em> визначає " -"фіксовану адресу, яка буде використовуватися, а <em>Назва (ім'я) вузла</em> " -"призначає символічне ім'я вузла." +"фіксовану адресу, яка буде використовуватися, а <em>Назва (ім’я) вузла</em> " +"призначає символічне ім’я вузла." msgid "Used" msgstr "Використано" @@ -3621,21 +3717,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" @@ -3644,25 +3743,25 @@ 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" @@ -3686,7 +3785,7 @@ msgid "WEP passphrase" msgstr "Парольна фраза WEP" msgid "WMM Mode" -msgstr "Режим WMM" +msgstr "Режим <abbr title=\"Wi-Fi Multimedia\">WMM</abbr>" msgid "WPA passphrase" msgstr "Парольна фраза WPA" @@ -3705,27 +3804,29 @@ msgid "Waiting for command to complete..." msgstr "Очікуємо завершення виконання команди..." msgid "Waiting for configuration to get applied… %ds" -msgstr "" +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 "" +"При використанні PSK, PMK може бути створений локально без взаємодії між AP" msgid "Width" -msgstr "" +msgstr "Ширина" msgid "WireGuard VPN" -msgstr "" +msgstr "WireGuard VPN" msgid "Wireless" msgstr "Бездротові мережі" @@ -3743,19 +3844,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 "Бездротова мережа припинила роботу" @@ -3764,7 +3865,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 " @@ -3779,14 +3880,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 "будь-який" @@ -3798,13 +3902,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 "дБ" @@ -3816,7 +3923,7 @@ msgid "disable" msgstr "вимкнено" msgid "disabled" -msgstr "" +msgstr "вимкнено" msgid "expired" msgstr "минув" @@ -3829,7 +3936,7 @@ msgstr "" "Protocol — протокол динамічної конфігурації вузла\">DHCP</abbr>-оренди" msgid "forward" -msgstr "переслати" +msgstr "переспрямувати" msgid "full-duplex" msgstr "повний дуплекс" @@ -3844,7 +3951,7 @@ msgid "hidden" msgstr "прихований" msgid "hybrid mode" -msgstr "" +msgstr "гібридний режим" msgid "if target is a network" msgstr "якщо мета — мережа" @@ -3867,19 +3974,19 @@ msgstr "" "abbr>-файл" msgid "minutes" -msgstr "" +msgstr "хв." msgid "no" msgstr "ні" msgid "no link" -msgstr "нема з'єднання" +msgstr "нема з’єднання" msgid "none" msgstr "нема нічого" msgid "not present" -msgstr "" +msgstr "не присутній" msgid "off" msgstr "вимкнено" @@ -3890,35 +3997,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 "невідомий" @@ -3933,121 +4043,10 @@ msgid "unspecified -or- create:" msgstr "не визначено -або- створити" msgid "untagged" -msgstr "без позначки" +msgstr "не позначено" msgid "yes" msgstr "так" msgid "« Back" msgstr "« Назад" - -#~ msgid "Apply" -#~ msgstr "Застосувати" - -#~ msgid "Applying changes" -#~ msgstr "Застосування змін" - -#~ msgid "Configuration applied." -#~ msgstr "Конфігурація застосована." - -#~ msgid "Save & Apply" -#~ msgstr "Зберегти і застосувати" - -#~ msgid "The following changes have been committed" -#~ msgstr "Нижче наведені зміни були застосовані" - -#~ msgid "There are no pending changes to apply!" -#~ 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 b5e712ca36..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 "" @@ -385,6 +388,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -399,6 +405,9 @@ msgstr "" msgid "Associated Stations" msgstr "" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1253,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" @@ -1382,7 +1391,7 @@ msgstr "" msgid "IPv4 Firewall" msgstr "" -msgid "IPv4 WAN Status" +msgid "IPv4 Upstream" msgstr "" msgid "IPv4 address" @@ -1433,7 +1442,7 @@ msgstr "" msgid "IPv6 ULA-Prefix" msgstr "" -msgid "IPv6 WAN Status" +msgid "IPv6 Upstream" msgstr "" msgid "IPv6 address" @@ -2542,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 "" @@ -2555,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 "" @@ -3631,6 +3640,9 @@ msgstr "" msgid "bridged" msgstr "" +msgid "create" +msgstr "" + msgid "create:" msgstr "" @@ -3719,6 +3731,9 @@ msgstr "" msgid "open" msgstr "" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" diff --git a/modules/luci-base/po/zh-cn/base.po b/modules/luci-base/po/zh-cn/base.po index e0ef2eec71..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 分钟负载:" @@ -378,10 +381,13 @@ msgid "Any zone" msgstr "任意区域" msgid "Apply request failed with status <code>%h</code>" -msgstr "" +msgstr "应用请求失败,状态 <code>%h</code>" msgid "Apply unchecked" -msgstr "" +msgstr "应用未选中" + +msgid "Architecture" +msgstr "架构" msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" @@ -397,6 +403,9 @@ msgstr "将此十六进制子 ID 前缀分配给此接口" msgid "Associated Stations" msgstr "已连接站点" +msgid "Associations" +msgstr "关联数" + msgid "Auth Group" msgstr "认证组" @@ -555,10 +564,10 @@ msgid "Changes" msgstr "修改数" msgid "Changes applied." -msgstr "更改已应用" +msgstr "更改已应用。" msgid "Changes have been reverted." -msgstr "" +msgstr "更改已取消。" msgid "Changes the administrator password for accessing the device" msgstr "修改访问设备的管理员密码" @@ -569,7 +578,7 @@ msgstr "信道" msgid "" "Channel %d is not available in the %s regulatory domain and has been auto-" "adjusted to %d." -msgstr "" +msgstr "信道 %d 在 %s 监管区域内不可用并已自动调整到 %d。" msgid "Check" msgstr "检查" @@ -651,10 +660,10 @@ msgid "Configuration files will be kept." msgstr "配置文件将被保留。" msgid "Configuration has been applied." -msgstr "" +msgstr "配置已应用。" msgid "Configuration has been rolled back!" -msgstr "" +msgstr "配置已回滚!" msgid "Confirmation" msgstr "确认密码" @@ -676,6 +685,8 @@ msgid "" "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 "国家" @@ -846,7 +857,7 @@ msgid "Device unreachable" msgstr "无法连接到设备" msgid "Device unreachable!" -msgstr "" +msgstr "无法连接到设备!" msgid "Diagnostics" msgstr "网络诊断" @@ -883,7 +894,7 @@ msgid "Discard upstream RFC1918 responses" msgstr "丢弃 RFC1918 上行响应数据" msgid "Dismiss" -msgstr "" +msgstr "解除" msgid "Displaying only packages containing" msgstr "只显示有内容的软件包" @@ -997,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>" @@ -1057,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 " @@ -1138,7 +1149,7 @@ msgid "FT protocol" msgstr "FT 协议" msgid "Failed to confirm apply within %ds, waiting for rollback…" -msgstr "" +msgstr "在 %d 秒内确认应用失败,等待回滚..." msgid "File" msgstr "文件" @@ -1261,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" @@ -1390,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 地址" @@ -1441,8 +1452,8 @@ 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 地址" @@ -2152,7 +2163,7 @@ msgid "Obfuscated Password" msgstr "混淆密码" msgid "Obtain IPv6-Address" -msgstr "" +msgstr "获取 IPv6 地址" msgid "Off-State Delay" msgstr "关闭时间" @@ -2560,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删除此无线网络,可能导致无法再访问" @@ -2576,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如果您正在使用此接口连接路由器,关闭此网络可能导致" @@ -2736,16 +2747,16 @@ msgid "Reveal/hide password" msgstr "显示/隐藏 密码" msgid "Revert" -msgstr "放弃" +msgstr "恢复" msgid "Revert changes" -msgstr "" +msgstr "恢复更改" msgid "Revert request failed with status <code>%h</code>" -msgstr "" +msgstr "恢复请求失败,状态 <code>%h</code>" msgid "Reverting configuration…" -msgstr "" +msgstr "正在恢复配置..." msgid "Root" msgstr "Root" @@ -2810,7 +2821,7 @@ msgid "Save" msgstr "保存" msgid "Save & Apply" -msgstr "保存&应用" +msgstr "保存并应用" msgid "Scan" msgstr "扫描" @@ -2973,7 +2984,7 @@ msgid "Start priority" msgstr "启动优先级" msgid "Starting configuration apply…" -msgstr "" +msgstr "开始应用配置..." msgid "Startup" msgstr "启动项" @@ -3140,6 +3151,9 @@ msgid "" "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." @@ -3229,7 +3243,7 @@ msgid "There are no active leases." msgstr "没有已分配的租约。" msgid "There are no changes to apply." -msgstr "" +msgstr "没有待生效的更改。" msgid "There are no pending changes to revert!" msgstr "没有可放弃的更改!" @@ -3586,7 +3600,7 @@ msgid "Waiting for command to complete..." msgstr "等待命令执行完成..." msgid "Waiting for configuration to get applied… %ds" -msgstr "" +msgstr "等待应用配置... %d 秒" msgid "Waiting for device..." msgstr "等待设备..." @@ -3679,6 +3693,9 @@ msgstr "baseT" msgid "bridged" msgstr "桥接的" +msgid "create" +msgstr "" + msgid "create:" msgstr "创建:" @@ -3767,11 +3784,14 @@ msgstr "开" msgid "open" msgstr "开放式" +msgid "output" +msgstr "" + msgid "overlay" msgstr "覆盖" msgid "random" -msgstr "" +msgstr "随机" msgid "relay mode" msgstr "中继模式" @@ -3817,3 +3837,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/zh-tw/base.po b/modules/luci-base/po/zh-tw/base.po index 82415865a5..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分鐘負載" @@ -388,6 +391,9 @@ msgstr "" msgid "Apply unchecked" msgstr "" +msgid "Architecture" +msgstr "" + msgid "" "Assign a part of given length of every public IPv6-prefix to this interface" msgstr "" @@ -402,6 +408,9 @@ msgstr "" msgid "Associated Stations" msgstr "已連接站點" +msgid "Associations" +msgstr "" + msgid "Auth Group" msgstr "" @@ -1266,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" @@ -1393,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位址" @@ -1444,8 +1453,8 @@ msgstr "" msgid "IPv6 ULA-Prefix" msgstr "" -msgid "IPv6 WAN Status" -msgstr "IPv6寬頻連線狀態" +msgid "IPv6 Upstream" +msgstr "" msgid "IPv6 address" msgstr "IPv6位址" @@ -2547,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" @@ -2565,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" @@ -3668,6 +3677,9 @@ msgstr "baseT" msgid "bridged" msgstr "已橋接" +msgid "create" +msgstr "" + msgid "create:" msgstr "建立:" @@ -3756,6 +3768,9 @@ msgstr "開啟" msgid "open" msgstr "打開" +msgid "output" +msgstr "" + msgid "overlay" msgstr "" @@ -3807,6 +3822,12 @@ msgstr "是的" msgid "« Back" msgstr "« 倒退" +#~ msgid "IPv4 WAN Status" +#~ msgstr "IPv4寬頻連線狀態" + +#~ msgid "IPv6 WAN Status" +#~ msgstr "IPv6寬頻連線狀態" + #~ msgid "Apply" #~ msgstr "套用" 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/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/view/admin_network/iface_overview.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/iface_overview.htm index 14be401697..420e5879fa 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%>' }, 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 31f1fed81f..ceb810018b 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 %> @@ -138,7 +138,7 @@ 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 +176,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%>' }, 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 a71926141b..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,9 +238,9 @@ 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 %> |