mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-09-10 18:34:18 +08:00
🎉 Sync 2026-09-03 10:41:43
This commit is contained in:
@@ -17,7 +17,7 @@ LUCI_NAME:=luci-theme-footstrap
|
||||
FOOTSTRAP_VERSION?=
|
||||
ifneq ($(FOOTSTRAP_VERSION),)
|
||||
PKG_VERSION:=$(FOOTSTRAP_VERSION)
|
||||
PKG_RELEASE:=54
|
||||
PKG_RELEASE:=55
|
||||
endif
|
||||
|
||||
LUCI_TITLE:=Footstrap Theme
|
||||
|
||||
@@ -221,7 +221,7 @@ function colorControl(current, onPick, label, opts) {
|
||||
/* Build the whole form. Returns a promise for one element wire() appends to the stock page.
|
||||
*
|
||||
* Everything applies immediately and there is nothing to save: every axis is this browser's, in
|
||||
* localStorage, and the page repaints under the control as it moves. Only "Save as default" writes
|
||||
* localStorage, and the page repaints under the control as it moves. Only "Save to router" writes
|
||||
* anything, pushing the current look to the ROUTER for other browsers. That distinction is the
|
||||
* model (docs/design-system.md), and why this page has no Save/Reset footer of LuCI's own. */
|
||||
function render() {
|
||||
@@ -575,17 +575,21 @@ function build() {
|
||||
* the scoped uci ACL). It does not change this browser — localStorage keeps overriding — so the
|
||||
* saved default only shows on a fresh browser. The two Reset buttons below are the escape
|
||||
* hatches, and they do not land in the same place. */
|
||||
const saveBtn = E('button', { 'class': 'btn cbi-button-action', 'type': 'button' }, [ _('Save as default', 'footstrap') ]);
|
||||
const saveBtn = E('button', { 'class': 'btn cbi-button-action', 'type': 'button' }, [ _('Save to router', 'footstrap') ]);
|
||||
/* Two resets, because two things sit underneath a browser's tweaks (fs-prefs.js): "Reset to
|
||||
* saved" clears them and lets every axis fall back to whatever the router holds, while "Reset
|
||||
* to default" writes the theme's built-ins explicitly — the only way to say "as the theme
|
||||
* ships" on a router with a saved default of its own. Neither touches
|
||||
* /etc/config/footstrap. */
|
||||
const resetSavedBtn = E('button', { 'class': 'btn', 'type': 'button' }, [ _('Reset to saved', 'footstrap') ]);
|
||||
* router" clears them and lets every axis fall back to whatever the router holds, while "Reset
|
||||
* to built-in" writes the theme's built-ins explicitly — the only way to say "as the theme
|
||||
* ships" on a router that has a look of its own. Neither touches /etc/config/footstrap.
|
||||
*
|
||||
* ONE word per state, and "default" is not one of them: it used to name the router's look in
|
||||
* "Save as default" and the theme's in "Reset to default", while the router's look also
|
||||
* answered to "saved" — three names for two states, asked about on the forum (topic 251930,
|
||||
* post 92). The row now reads as one save and two resets, over `router` and `built-in`. */
|
||||
const resetSavedBtn = E('button', { 'class': 'btn', 'type': 'button' }, [ _('Reset to router', 'footstrap') ]);
|
||||
/* the stock destructive class, so the button discarding every local tweak is the red one
|
||||
* (theme/55-buttons.css). "Reset to saved" stays neutral: it steps back to the shared state
|
||||
* (theme/55-buttons.css). "Reset to router" stays neutral: it steps back to the shared state
|
||||
* rather than discarding. */
|
||||
const resetBtn = E('button', { 'class': 'btn cbi-button-negative', 'type': 'button' }, [ _('Reset to default', 'footstrap') ]);
|
||||
const resetBtn = E('button', { 'class': 'btn cbi-button-negative', 'type': 'button' }, [ _('Reset to built-in', 'footstrap') ]);
|
||||
/* Save's only visible failure surface. The realistic failure is the rpc rejecting — an expired
|
||||
* session (403), a missing ACL, ubus down. A DELETED config is not caught: rpcd stages the set
|
||||
* in the session and commit then no-ops without writing the file, returning success (measured
|
||||
@@ -603,14 +607,14 @@ function build() {
|
||||
function refreshSave() {
|
||||
if (prefs.storageBroken()) {
|
||||
saveBtn.disabled = false;
|
||||
saveBtn.textContent = _('Save as default', 'footstrap');
|
||||
saveBtn.textContent = _('Save to router', 'footstrap');
|
||||
saveErr.textContent = _('This browser is not storing preferences (site data is blocked), so a change here lasts until you reload. Saving as default still works and applies to every browser.', 'footstrap');
|
||||
saveErr.hidden = false;
|
||||
return;
|
||||
}
|
||||
const saved = axes.matchesSavedDefault();
|
||||
saveBtn.disabled = saved;
|
||||
saveBtn.textContent = saved ? _('Saved as default', 'footstrap') : _('Save as default', 'footstrap');
|
||||
saveBtn.textContent = saved ? _('Saved to router', 'footstrap') : _('Save to router', 'footstrap');
|
||||
}
|
||||
saveBtn.addEventListener('click', () => {
|
||||
saveBtn.disabled = true;
|
||||
@@ -651,8 +655,8 @@ function build() {
|
||||
location.reload();
|
||||
});
|
||||
}
|
||||
twoClick(resetSavedBtn, _('Reset to saved', 'footstrap'), axes.resetToSaved);
|
||||
twoClick(resetBtn, _('Reset to default', 'footstrap'), axes.resetToBuiltin);
|
||||
twoClick(resetSavedBtn, _('Reset to router', 'footstrap'), axes.resetToSaved);
|
||||
twoClick(resetBtn, _('Reset to built-in', 'footstrap'), axes.resetToBuiltin);
|
||||
refreshSave(); /* correct label and enabled state before the first paint */
|
||||
|
||||
const versionLink = E('a', {
|
||||
@@ -664,12 +668,31 @@ function build() {
|
||||
'rel': 'noreferrer'
|
||||
}, [ ver.label() ]);
|
||||
|
||||
/* One clause per button, in LuCI's own help-sentence idiom and under the buttons themselves,
|
||||
* because that is where the question is asked: with all three named "save"/"reset" and two of
|
||||
* them resets, the row does not say which state each lands in (forum topic 251930, post 90 —
|
||||
* "what is the difference on 'reset to saved' and 'reset to default'?"). Three lines rather
|
||||
* than a paragraph: three parts want a list, and each is read on its own.
|
||||
*
|
||||
* Text nodes separated by <br>, NOT a child per line: `.cbi-value-field *` in
|
||||
* theme/60-inputs.css hands mono to every descendant and excludes `.cbi-value-description`
|
||||
* itself, so a wrapped line becomes a descendant that the exclusion does not reach — measured,
|
||||
* all three lines came out monospace. Text nodes inherit the sans face from the container, and
|
||||
* one container also means one `?` glyph with every line aligned under it. */
|
||||
const buttonHelp = E('div', { 'class': 'cbi-value-description' }, [
|
||||
_('Save to router — store this look on the router. Browsers with a look of their own keep it.', 'footstrap'),
|
||||
E('br'),
|
||||
_('Reset to router — drop this browser\'s changes and follow the router.', 'footstrap'),
|
||||
E('br'),
|
||||
_('Reset to built-in — go back to the look the theme ships with.', 'footstrap')
|
||||
]);
|
||||
|
||||
const defaults = [
|
||||
/* the one row whose control is a pair of buttons, each named by its own text, so `make`
|
||||
* ignores the caption rather than re-using it as an aria-label */
|
||||
group(_('Router default', 'footstrap'),
|
||||
() => E('div', { 'class': 'fs-ap-actrow' }, [ saveBtn, resetSavedBtn, resetBtn ]),
|
||||
{ extra: saveErr })
|
||||
group(_('Saved look', 'footstrap'),
|
||||
() => E('div', { 'class': 'fs-ap-actrow' }, [ saveBtn, E('span', { 'class': 'fs-ap-actgap', 'aria-hidden': 'true' }), resetSavedBtn, resetBtn ]),
|
||||
{ extra: [ buttonHelp, saveErr ] })
|
||||
];
|
||||
|
||||
|
||||
@@ -768,8 +791,8 @@ function build() {
|
||||
* the misreading happens before anyone scrolls to Defaults. A bare `.alert-message`:
|
||||
* theme/35-alerts.css keeps the tinted variants for a STATUS and a flat panel for a note. */
|
||||
const note = E('div', { 'class': 'alert-message fs-ap-note' }, [
|
||||
E('p', {}, [ _('Changes apply at once and live in this browser.', 'footstrap') ]),
|
||||
E('p', {}, [ _('To keep them on the router, use Save as default under Defaults — not Save & Apply at the foot of the page.', 'footstrap') ])
|
||||
E('p', {}, [ _('Footstrap theme settings apply at once and are stored permanently in this browser.', 'footstrap') ]),
|
||||
E('p', {}, [ _('Save & Apply at the foot of the page belongs to the System form and does not store them.', 'footstrap') ])
|
||||
]);
|
||||
|
||||
/* Colours and Surfaces are one fold: the same job, split into two headings only because a
|
||||
@@ -781,7 +804,7 @@ function build() {
|
||||
colours.concat([ E('div', { 'class': 'fs-ap-head fs-ap-sub' }, [ E('h4', {}, [ _('Surfaces', 'footstrap') ]) ]) ], surfaces),
|
||||
'fs-ui-colours'),
|
||||
foldable(_('Background', 'footstrap'), wallpaper, 'fs-ui-background'),
|
||||
section(_('Defaults', 'footstrap'), defaults)
|
||||
section(_('Saving', 'footstrap'), defaults)
|
||||
]);
|
||||
|
||||
/* The first fill, deferred one microtask so the tree above is finished. It does not wait for
|
||||
|
||||
@@ -378,7 +378,7 @@ function resetToBuiltin() {
|
||||
* 0, which is "the palette's own".
|
||||
*
|
||||
* Stated as calls rather than carried in AXES: a fourth column of thunks measured 297 B against
|
||||
* this list, and a wrong value here is what the Save button's "Reset to default" shows on the
|
||||
* this list, and a wrong value here is what the Save button's "Reset to built-in" shows on the
|
||||
* first click — the one state no static gate can see and the live check does. */
|
||||
prefs.applyLayout('top');
|
||||
prefs.applyMode('auto');
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
*
|
||||
* ---- three layers, and the browser always wins ----
|
||||
* Every axis resolves as localStorage ?? router-default ?? built-in. The router default is
|
||||
* Appearance -> Save as default (written to /etc/config/footstrap, read back into window.__fsSD);
|
||||
* Appearance -> Save to router (written to /etc/config/footstrap, read back into window.__fsSD);
|
||||
* the built-in is a bare :root. A new browser inherits the router default; this browser's own
|
||||
* choice overrides it in either direction.
|
||||
*
|
||||
@@ -24,7 +24,7 @@
|
||||
/* A browser can refuse storage outright (blocked cookies, dom.storage.enabled=false, a partitioned
|
||||
* WebView) and then every access throws. The helpers below swallow it, because an axis that cannot
|
||||
* be remembered must still APPLY, but they record it: otherwise current*() reads null, falls back
|
||||
* to the router default, and the Save button sits disabled reading "Saved as default" over a page
|
||||
* to the router's look, and the Save button sits disabled reading "Saved to router" over a page
|
||||
* painted in axes the router default does not carry. */
|
||||
let _lsBroken = false;
|
||||
function storageBroken() { return _lsBroken; }
|
||||
@@ -331,7 +331,7 @@ function currentRail() {
|
||||
return document.documentElement.getAttribute('data-rail') === 'true';
|
||||
}
|
||||
|
||||
/* ---- Save as default: write the current effective axes to /etc/config/footstrap ----
|
||||
/* ---- Save to router: write the current effective axes to /etc/config/footstrap ----
|
||||
* The scoped rpcd ACL (config 'footstrap' only) lets the admin's session set and commit those
|
||||
* options; rpcd validates the config/section/option names, so no value reaches a shell. The server
|
||||
* reads them back on the next load and head.ut's sanitiser clamps each before it becomes
|
||||
|
||||
@@ -35,7 +35,7 @@ msgctxt "footstrap"
|
||||
msgid "Auto-collapse"
|
||||
msgstr "Colapso automático"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:783
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:806
|
||||
msgctxt "footstrap"
|
||||
msgid "Background"
|
||||
msgstr "Fondo"
|
||||
@@ -55,11 +55,6 @@ msgctxt "footstrap"
|
||||
msgid "Cards"
|
||||
msgstr "Tarjetas"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:771
|
||||
msgctxt "footstrap"
|
||||
msgid "Changes apply at once and live in this browser."
|
||||
msgstr "Los cambios se aplican al instante y viven en este navegador."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:454
|
||||
msgctxt "footstrap"
|
||||
msgid "Choose SVG"
|
||||
@@ -81,7 +76,7 @@ msgid "Collapse menu"
|
||||
msgstr "Contraer menú"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:465
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:780
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:803
|
||||
msgctxt "footstrap"
|
||||
msgid "Colours"
|
||||
msgstr "Colores"
|
||||
@@ -91,7 +86,7 @@ msgctxt "footstrap"
|
||||
msgid "Compact"
|
||||
msgstr "Compacto"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:644
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:648
|
||||
msgctxt "footstrap"
|
||||
msgid "Confirm reset"
|
||||
msgstr "Confirmar restablecimiento"
|
||||
@@ -111,7 +106,7 @@ msgctxt "footstrap"
|
||||
msgid "Could not process the image."
|
||||
msgstr "No se pudo procesar la imagen."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:624
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:628
|
||||
msgctxt "footstrap"
|
||||
msgid "Could not save the default. Reload the page and try again."
|
||||
msgstr ""
|
||||
@@ -128,11 +123,6 @@ msgctxt "footstrap"
|
||||
msgid "Dark"
|
||||
msgstr "Oscuro"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:784
|
||||
msgctxt "footstrap"
|
||||
msgid "Defaults"
|
||||
msgstr "Predeterminados"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:349
|
||||
msgctxt "footstrap"
|
||||
msgid "Density"
|
||||
@@ -160,11 +150,20 @@ msgstr "Archivo"
|
||||
|
||||
#: root/usr/share/rpcd/acl.d/luci-theme-footstrap.json:3
|
||||
msgid ""
|
||||
"Footstrap Appearance router-wide defaults (Save as default) and the login "
|
||||
"Footstrap Appearance router-wide look (Save to router) and the login "
|
||||
"background and pattern uploads"
|
||||
msgstr ""
|
||||
"Valores predeterminados de Apariencia de Footstrap para el router (Guardar "
|
||||
"como predeterminado) y subida del fondo de inicio de sesión y del patrón"
|
||||
"Aspecto de Footstrap para todo el router («Guardar en el router») y subida de "
|
||||
"la imagen de fondo y del patrón"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:794
|
||||
msgctxt "footstrap"
|
||||
msgid ""
|
||||
"Footstrap theme settings apply at once and are stored permanently in this "
|
||||
"browser."
|
||||
msgstr ""
|
||||
"Los ajustes del tema Footstrap se aplican al instante y se guardan de forma "
|
||||
"permanente en este navegador."
|
||||
|
||||
#: ucode/template/themes/footstrap/partials/notices.ut:24
|
||||
msgid "Go to firmware upgrade..."
|
||||
@@ -184,7 +183,7 @@ msgctxt "footstrap"
|
||||
msgid "Hard to read %s — large text only"
|
||||
msgstr "Se lee mal %s: solo texto grande"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:779
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:802
|
||||
msgctxt "footstrap"
|
||||
msgid "Interface"
|
||||
msgstr "Interfaz"
|
||||
@@ -208,7 +207,7 @@ msgid "Large"
|
||||
msgstr "Grande"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:328
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:700
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:723
|
||||
msgctxt "footstrap"
|
||||
msgid "Layout"
|
||||
msgstr "Diseño"
|
||||
@@ -314,39 +313,76 @@ msgctxt "footstrap"
|
||||
msgid "Remove"
|
||||
msgstr "Eliminar"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:588
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:655
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:592
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:659
|
||||
msgctxt "footstrap"
|
||||
msgid "Reset to default"
|
||||
msgstr "Restablecer a valores predeterminados"
|
||||
msgid "Reset to built-in"
|
||||
msgstr "Restablecer al integrado"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:584
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:654
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:687
|
||||
msgctxt "footstrap"
|
||||
msgid "Reset to saved"
|
||||
msgstr "Restablecer a lo guardado"
|
||||
msgid "Reset to built-in — go back to the look the theme ships with."
|
||||
msgstr ""
|
||||
"«Restablecer al integrado»: vuelve al aspecto con el que se distribuye el "
|
||||
"tema."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:588
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:658
|
||||
msgctxt "footstrap"
|
||||
msgid "Reset to router"
|
||||
msgstr "Restablecer al del router"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:685
|
||||
msgctxt "footstrap"
|
||||
msgid "Reset to router — drop this browser's changes and follow the router."
|
||||
msgstr ""
|
||||
"«Restablecer al del router»: descarta los cambios de este navegador y sigue "
|
||||
"al router."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:355
|
||||
msgctxt "footstrap"
|
||||
msgid "Rounding"
|
||||
msgstr "Redondeo"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:670
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:795
|
||||
msgctxt "footstrap"
|
||||
msgid "Router default"
|
||||
msgstr "Configuración predeterminada del enrutador"
|
||||
msgid ""
|
||||
"Save & Apply at the foot of the page belongs to the System form and does not "
|
||||
"store them."
|
||||
msgstr ""
|
||||
"El botón «Guardar y aplicar» al pie de la página pertenece al formulario del "
|
||||
"Sistema y no los guarda."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:578
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:606
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:613
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:610
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:617
|
||||
msgctxt "footstrap"
|
||||
msgid "Save as default"
|
||||
msgstr "Guardar como predeterminado"
|
||||
msgid "Save to router"
|
||||
msgstr "Guardar en el router"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:613
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:683
|
||||
msgctxt "footstrap"
|
||||
msgid "Saved as default"
|
||||
msgstr "Guardado como predeterminado"
|
||||
msgid ""
|
||||
"Save to router — store this look on the router. Browsers with a look of "
|
||||
"their own keep it."
|
||||
msgstr ""
|
||||
"«Guardar en el router»: guarda este aspecto en el router. Los navegadores con "
|
||||
"un aspecto propio lo conservan."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:693
|
||||
msgctxt "footstrap"
|
||||
msgid "Saved look"
|
||||
msgstr "Aspecto guardado"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:617
|
||||
msgctxt "footstrap"
|
||||
msgid "Saved to router"
|
||||
msgstr "Guardado en el router"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:807
|
||||
msgctxt "footstrap"
|
||||
msgid "Saving"
|
||||
msgstr "Guardado"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:463
|
||||
msgctxt "footstrap"
|
||||
@@ -402,7 +438,7 @@ msgctxt "footstrap"
|
||||
msgid "Submenus"
|
||||
msgstr "Submenús"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:781
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:804
|
||||
msgctxt "footstrap"
|
||||
msgid "Surfaces"
|
||||
msgstr "Superficies"
|
||||
@@ -471,7 +507,7 @@ msgstr ""
|
||||
"Este enrutador no tiene contraseña. Configure una contraseña de "
|
||||
"administrador para proteger la interfaz web."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:607
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:611
|
||||
msgctxt "footstrap"
|
||||
msgid ""
|
||||
"This browser is not storing preferences (site data is blocked), so a change "
|
||||
@@ -482,7 +518,7 @@ msgstr ""
|
||||
"bloqueados), así que un cambio aquí dura hasta que recargues. Guardar como "
|
||||
"predeterminado sigue funcionando y se aplica a todos los navegadores."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:702
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:725
|
||||
msgctxt "footstrap"
|
||||
msgid "This theme is not translated on this router yet."
|
||||
msgstr "Este tema aún no está traducido en este router."
|
||||
@@ -497,15 +533,6 @@ msgctxt "footstrap"
|
||||
msgid "Tint strength"
|
||||
msgstr "Intensidad del tinte"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:772
|
||||
msgctxt "footstrap"
|
||||
msgid ""
|
||||
"To keep them on the router, use Save as default under Defaults — not Save & "
|
||||
"Apply at the foot of the page."
|
||||
msgstr ""
|
||||
"Para guardarlos en el router, usa «Guardar como predeterminado» en "
|
||||
"Predeterminados, no «Guardar y aplicar» al pie de la página."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:190
|
||||
msgctxt "footstrap"
|
||||
msgid "Too faint to read %s"
|
||||
@@ -572,15 +599,33 @@ msgid ""
|
||||
"the uploaded file could not be removed either; it is still on the router."
|
||||
msgstr "tampoco se pudo eliminar el archivo subido; sigue en el router."
|
||||
|
||||
#~ msgctxt "footstrap"
|
||||
#~ msgid "Defaults"
|
||||
#~ msgstr "Predeterminados"
|
||||
|
||||
#~ msgctxt "footstrap"
|
||||
#~ msgid "Reset to saved"
|
||||
#~ msgstr "Restablecer a lo guardado"
|
||||
|
||||
#~ msgctxt "footstrap"
|
||||
#~ msgid "Router default"
|
||||
#~ msgstr "Configuración predeterminada del enrutador"
|
||||
|
||||
#~ msgctxt "footstrap"
|
||||
#~ msgid "Save as default"
|
||||
#~ msgstr "Guardar como predeterminado"
|
||||
|
||||
#~ msgctxt "footstrap"
|
||||
#~ msgid "Saved as default"
|
||||
#~ msgstr "Guardado como predeterminado"
|
||||
|
||||
#~ msgctxt "footstrap"
|
||||
#~ msgid ""
|
||||
#~ "Everything here applies the moment you change it and is remembered in "
|
||||
#~ "this browser only — the Save & Apply button at the foot of the page "
|
||||
#~ "belongs to the System form and does not store it."
|
||||
#~ "To keep them on the router, use Save as default under Defaults — not Save "
|
||||
#~ "& Apply at the foot of the page."
|
||||
#~ msgstr ""
|
||||
#~ "Todo lo de aquí se aplica en el momento en que lo cambias y se recuerda "
|
||||
#~ "solo en este navegador: el botón «Guardar y aplicar» del pie de la página "
|
||||
#~ "pertenece al formulario del Sistema y no lo guarda."
|
||||
#~ "Para guardarlos en el router, usa «Guardar como predeterminado» en "
|
||||
#~ "Predeterminados, no «Guardar y aplicar» al pie de la página."
|
||||
|
||||
#~ msgctxt "footstrap"
|
||||
#~ msgid ""
|
||||
|
||||
@@ -31,7 +31,7 @@ msgctxt "footstrap"
|
||||
msgid "Auto-collapse"
|
||||
msgstr "Сворачивать"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:783
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:806
|
||||
msgctxt "footstrap"
|
||||
msgid "Background"
|
||||
msgstr "Фон"
|
||||
@@ -51,11 +51,6 @@ msgctxt "footstrap"
|
||||
msgid "Cards"
|
||||
msgstr "Карточки"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:771
|
||||
msgctxt "footstrap"
|
||||
msgid "Changes apply at once and live in this browser."
|
||||
msgstr "Изменения применяются сразу и живут в этом браузере."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:454
|
||||
msgctxt "footstrap"
|
||||
msgid "Choose SVG"
|
||||
@@ -77,7 +72,7 @@ msgid "Collapse menu"
|
||||
msgstr "Свернуть меню"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:465
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:780
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:803
|
||||
msgctxt "footstrap"
|
||||
msgid "Colours"
|
||||
msgstr "Цвета"
|
||||
@@ -87,7 +82,7 @@ msgctxt "footstrap"
|
||||
msgid "Compact"
|
||||
msgstr "Компактно"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:644
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:648
|
||||
msgctxt "footstrap"
|
||||
msgid "Confirm reset"
|
||||
msgstr "Подтвердить сброс"
|
||||
@@ -107,7 +102,7 @@ msgctxt "footstrap"
|
||||
msgid "Could not process the image."
|
||||
msgstr "Не удалось обработать изображение."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:624
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:628
|
||||
msgctxt "footstrap"
|
||||
msgid "Could not save the default. Reload the page and try again."
|
||||
msgstr "Не удалось сохранить умолчание. Обновите страницу и повторите."
|
||||
@@ -122,11 +117,6 @@ msgctxt "footstrap"
|
||||
msgid "Dark"
|
||||
msgstr "Тёмная"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:784
|
||||
msgctxt "footstrap"
|
||||
msgid "Defaults"
|
||||
msgstr "Умолчания"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:349
|
||||
msgctxt "footstrap"
|
||||
msgid "Density"
|
||||
@@ -154,11 +144,20 @@ msgstr "Файл"
|
||||
|
||||
#: root/usr/share/rpcd/acl.d/luci-theme-footstrap.json:3
|
||||
msgid ""
|
||||
"Footstrap Appearance router-wide defaults (Save as default) and the login "
|
||||
"Footstrap Appearance router-wide look (Save to router) and the login "
|
||||
"background and pattern uploads"
|
||||
msgstr ""
|
||||
"Общие настройки внешнего вида Footstrap для роутера (Сохранить как "
|
||||
"умолчание), загрузка фонового изображения и узора"
|
||||
"Общий для роутера вид Footstrap («Сохранить на роутер»), а также загрузка "
|
||||
"фонового изображения и узора"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:794
|
||||
msgctxt "footstrap"
|
||||
msgid ""
|
||||
"Footstrap theme settings apply at once and are stored permanently in this "
|
||||
"browser."
|
||||
msgstr ""
|
||||
"Настройки темы Footstrap применяются сразу и сохраняются в этом браузере "
|
||||
"навсегда."
|
||||
|
||||
#: ucode/template/themes/footstrap/partials/notices.ut:24
|
||||
msgid "Go to firmware upgrade..."
|
||||
@@ -178,7 +177,7 @@ msgctxt "footstrap"
|
||||
msgid "Hard to read %s — large text only"
|
||||
msgstr "Плохо читается %s — только крупный текст"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:779
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:802
|
||||
msgctxt "footstrap"
|
||||
msgid "Interface"
|
||||
msgstr "Интерфейс"
|
||||
@@ -202,7 +201,7 @@ msgid "Large"
|
||||
msgstr "Крупно"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:328
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:700
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:723
|
||||
msgctxt "footstrap"
|
||||
msgid "Layout"
|
||||
msgstr "Раскладка"
|
||||
@@ -307,39 +306,75 @@ msgctxt "footstrap"
|
||||
msgid "Remove"
|
||||
msgstr "Убрать"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:588
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:655
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:592
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:659
|
||||
msgctxt "footstrap"
|
||||
msgid "Reset to default"
|
||||
msgstr "Сбросить к умолчанию"
|
||||
msgid "Reset to built-in"
|
||||
msgstr "Сбросить к встроенному"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:584
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:654
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:687
|
||||
msgctxt "footstrap"
|
||||
msgid "Reset to saved"
|
||||
msgstr "Сбросить к сохранённым"
|
||||
msgid "Reset to built-in — go back to the look the theme ships with."
|
||||
msgstr ""
|
||||
"«Сбросить к встроенному» — вернуть вид, с которым поставляется тема."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:588
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:658
|
||||
msgctxt "footstrap"
|
||||
msgid "Reset to router"
|
||||
msgstr "Сбросить к виду роутера"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:685
|
||||
msgctxt "footstrap"
|
||||
msgid "Reset to router — drop this browser's changes and follow the router."
|
||||
msgstr ""
|
||||
"«Сбросить к виду роутера» — отменить правки этого браузера и следовать "
|
||||
"роутеру."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:355
|
||||
msgctxt "footstrap"
|
||||
msgid "Rounding"
|
||||
msgstr "Скругление"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:670
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:795
|
||||
msgctxt "footstrap"
|
||||
msgid "Router default"
|
||||
msgstr "По умолчанию для роутера"
|
||||
msgid ""
|
||||
"Save & Apply at the foot of the page belongs to the System form and does not "
|
||||
"store them."
|
||||
msgstr ""
|
||||
"Кнопка «Сохранить и применить» внизу страницы принадлежит форме «Система» и "
|
||||
"их не сохраняет."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:578
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:606
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:613
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:610
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:617
|
||||
msgctxt "footstrap"
|
||||
msgid "Save as default"
|
||||
msgstr "Сохранить по умолчанию"
|
||||
msgid "Save to router"
|
||||
msgstr "Сохранить на роутер"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:613
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:683
|
||||
msgctxt "footstrap"
|
||||
msgid "Saved as default"
|
||||
msgstr "Сохранено по умолчанию"
|
||||
msgid ""
|
||||
"Save to router — store this look on the router. Browsers with a look of "
|
||||
"their own keep it."
|
||||
msgstr ""
|
||||
"«Сохранить на роутер» — записать этот вид на роутер. Браузеры со своим видом "
|
||||
"его сохранят."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:693
|
||||
msgctxt "footstrap"
|
||||
msgid "Saved look"
|
||||
msgstr "Сохранённый вид"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:617
|
||||
msgctxt "footstrap"
|
||||
msgid "Saved to router"
|
||||
msgstr "Сохранено на роутере"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:807
|
||||
msgctxt "footstrap"
|
||||
msgid "Saving"
|
||||
msgstr "Сохранение"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:463
|
||||
msgctxt "footstrap"
|
||||
@@ -395,7 +430,7 @@ msgctxt "footstrap"
|
||||
msgid "Submenus"
|
||||
msgstr "Подменю"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:781
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:804
|
||||
msgctxt "footstrap"
|
||||
msgid "Surfaces"
|
||||
msgstr "Поверхности"
|
||||
@@ -464,7 +499,7 @@ msgstr ""
|
||||
"На этом роутере не задан пароль. Установите пароль root, чтобы защитить веб-"
|
||||
"интерфейс."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:607
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:611
|
||||
msgctxt "footstrap"
|
||||
msgid ""
|
||||
"This browser is not storing preferences (site data is blocked), so a change "
|
||||
@@ -475,7 +510,7 @@ msgstr ""
|
||||
"изменение здесь действует до перезагрузки страницы. «Сохранить как "
|
||||
"умолчание» по-прежнему работает и применяется ко всем браузерам."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:702
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:725
|
||||
msgctxt "footstrap"
|
||||
msgid "This theme is not translated on this router yet."
|
||||
msgstr "Тема ещё не переведена на этом роутере."
|
||||
@@ -490,15 +525,6 @@ msgctxt "footstrap"
|
||||
msgid "Tint strength"
|
||||
msgstr "Насыщенность оттенка"
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:772
|
||||
msgctxt "footstrap"
|
||||
msgid ""
|
||||
"To keep them on the router, use Save as default under Defaults — not Save & "
|
||||
"Apply at the foot of the page."
|
||||
msgstr ""
|
||||
"Чтобы сохранить их на роутере, нажмите «Сохранить по умолчанию» в разделе «По "
|
||||
"умолчанию», а не «Сохранить и применить» внизу страницы."
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:190
|
||||
msgctxt "footstrap"
|
||||
msgid "Too faint to read %s"
|
||||
@@ -565,15 +591,33 @@ msgid ""
|
||||
"the uploaded file could not be removed either; it is still on the router."
|
||||
msgstr "загруженный файл тоже не удалось удалить — он остался на роутере."
|
||||
|
||||
#~ msgctxt "footstrap"
|
||||
#~ msgid "Defaults"
|
||||
#~ msgstr "Умолчания"
|
||||
|
||||
#~ msgctxt "footstrap"
|
||||
#~ msgid "Reset to saved"
|
||||
#~ msgstr "Сбросить к сохранённым"
|
||||
|
||||
#~ msgctxt "footstrap"
|
||||
#~ msgid "Router default"
|
||||
#~ msgstr "По умолчанию для роутера"
|
||||
|
||||
#~ msgctxt "footstrap"
|
||||
#~ msgid "Save as default"
|
||||
#~ msgstr "Сохранить по умолчанию"
|
||||
|
||||
#~ msgctxt "footstrap"
|
||||
#~ msgid "Saved as default"
|
||||
#~ msgstr "Сохранено по умолчанию"
|
||||
|
||||
#~ msgctxt "footstrap"
|
||||
#~ msgid ""
|
||||
#~ "Everything here applies the moment you change it and is remembered in "
|
||||
#~ "this browser only — the Save & Apply button at the foot of the page "
|
||||
#~ "belongs to the System form and does not store it."
|
||||
#~ "To keep them on the router, use Save as default under Defaults — not Save "
|
||||
#~ "& Apply at the foot of the page."
|
||||
#~ msgstr ""
|
||||
#~ "Всё на этой странице применяется в момент изменения и запоминается только "
|
||||
#~ "в этом браузере — кнопка «Сохранить и применить» внизу страницы "
|
||||
#~ "принадлежит форме «Система» и настройки внешнего вида не сохраняет."
|
||||
#~ "Чтобы сохранить их на роутере, нажмите «Сохранить по умолчанию» в разделе "
|
||||
#~ "«По умолчанию», а не «Сохранить и применить» внизу страницы."
|
||||
|
||||
#~ msgctxt "footstrap"
|
||||
#~ msgid ""
|
||||
|
||||
@@ -25,7 +25,7 @@ msgctxt "footstrap"
|
||||
msgid "Auto-collapse"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:783
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:806
|
||||
msgctxt "footstrap"
|
||||
msgid "Background"
|
||||
msgstr ""
|
||||
@@ -45,11 +45,6 @@ msgctxt "footstrap"
|
||||
msgid "Cards"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:771
|
||||
msgctxt "footstrap"
|
||||
msgid "Changes apply at once and live in this browser."
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:454
|
||||
msgctxt "footstrap"
|
||||
msgid "Choose SVG"
|
||||
@@ -71,7 +66,7 @@ msgid "Collapse menu"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:465
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:780
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:803
|
||||
msgctxt "footstrap"
|
||||
msgid "Colours"
|
||||
msgstr ""
|
||||
@@ -81,7 +76,7 @@ msgctxt "footstrap"
|
||||
msgid "Compact"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:644
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:648
|
||||
msgctxt "footstrap"
|
||||
msgid "Confirm reset"
|
||||
msgstr ""
|
||||
@@ -101,7 +96,7 @@ msgctxt "footstrap"
|
||||
msgid "Could not process the image."
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:624
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:628
|
||||
msgctxt "footstrap"
|
||||
msgid "Could not save the default. Reload the page and try again."
|
||||
msgstr ""
|
||||
@@ -116,11 +111,6 @@ msgctxt "footstrap"
|
||||
msgid "Dark"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:784
|
||||
msgctxt "footstrap"
|
||||
msgid "Defaults"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:349
|
||||
msgctxt "footstrap"
|
||||
msgid "Density"
|
||||
@@ -148,10 +138,17 @@ msgstr ""
|
||||
|
||||
#: root/usr/share/rpcd/acl.d/luci-theme-footstrap.json:3
|
||||
msgid ""
|
||||
"Footstrap Appearance router-wide defaults (Save as default) and the login "
|
||||
"Footstrap Appearance router-wide look (Save to router) and the login "
|
||||
"background and pattern uploads"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:794
|
||||
msgctxt "footstrap"
|
||||
msgid ""
|
||||
"Footstrap theme settings apply at once and are stored permanently in this "
|
||||
"browser."
|
||||
msgstr ""
|
||||
|
||||
#: ucode/template/themes/footstrap/partials/notices.ut:24
|
||||
msgid "Go to firmware upgrade..."
|
||||
msgstr ""
|
||||
@@ -170,7 +167,7 @@ msgctxt "footstrap"
|
||||
msgid "Hard to read %s — large text only"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:779
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:802
|
||||
msgctxt "footstrap"
|
||||
msgid "Interface"
|
||||
msgstr ""
|
||||
@@ -194,7 +191,7 @@ msgid "Large"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:328
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:700
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:723
|
||||
msgctxt "footstrap"
|
||||
msgid "Layout"
|
||||
msgstr ""
|
||||
@@ -297,16 +294,26 @@ msgctxt "footstrap"
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:588
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:655
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:592
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:659
|
||||
msgctxt "footstrap"
|
||||
msgid "Reset to default"
|
||||
msgid "Reset to built-in"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:584
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:654
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:687
|
||||
msgctxt "footstrap"
|
||||
msgid "Reset to saved"
|
||||
msgid "Reset to built-in — go back to the look the theme ships with."
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:588
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:658
|
||||
msgctxt "footstrap"
|
||||
msgid "Reset to router"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:685
|
||||
msgctxt "footstrap"
|
||||
msgid "Reset to router — drop this browser's changes and follow the router."
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:355
|
||||
@@ -314,21 +321,40 @@ msgctxt "footstrap"
|
||||
msgid "Rounding"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:670
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:795
|
||||
msgctxt "footstrap"
|
||||
msgid "Router default"
|
||||
msgid ""
|
||||
"Save & Apply at the foot of the page belongs to the System form and does not "
|
||||
"store them."
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:578
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:606
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:613
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:610
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:617
|
||||
msgctxt "footstrap"
|
||||
msgid "Save as default"
|
||||
msgid "Save to router"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:613
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:683
|
||||
msgctxt "footstrap"
|
||||
msgid "Saved as default"
|
||||
msgid ""
|
||||
"Save to router — store this look on the router. Browsers with a look of "
|
||||
"their own keep it."
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:693
|
||||
msgctxt "footstrap"
|
||||
msgid "Saved look"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:617
|
||||
msgctxt "footstrap"
|
||||
msgid "Saved to router"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:807
|
||||
msgctxt "footstrap"
|
||||
msgid "Saving"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:463
|
||||
@@ -385,7 +411,7 @@ msgctxt "footstrap"
|
||||
msgid "Submenus"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:781
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:804
|
||||
msgctxt "footstrap"
|
||||
msgid "Surfaces"
|
||||
msgstr ""
|
||||
@@ -451,7 +477,7 @@ msgid ""
|
||||
"protect the web interface."
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:607
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:611
|
||||
msgctxt "footstrap"
|
||||
msgid ""
|
||||
"This browser is not storing preferences (site data is blocked), so a change "
|
||||
@@ -459,7 +485,7 @@ msgid ""
|
||||
"every browser."
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:702
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:725
|
||||
msgctxt "footstrap"
|
||||
msgid "This theme is not translated on this router yet."
|
||||
msgstr ""
|
||||
@@ -474,13 +500,6 @@ msgctxt "footstrap"
|
||||
msgid "Tint strength"
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:772
|
||||
msgctxt "footstrap"
|
||||
msgid ""
|
||||
"To keep them on the router, use Save as default under Defaults — not Save & "
|
||||
"Apply at the foot of the page."
|
||||
msgstr ""
|
||||
|
||||
#: htdocs/luci-static/resources/fs-appearance.js:190
|
||||
msgctxt "footstrap"
|
||||
msgid "Too faint to read %s"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"luci-theme-footstrap": {
|
||||
"description": "Footstrap Appearance router-wide defaults (Save as default) and the login background and pattern uploads",
|
||||
"description": "Footstrap Appearance router-wide look (Save to router) and the login background and pattern uploads",
|
||||
"read": {
|
||||
"uci": [
|
||||
"footstrap"
|
||||
|
||||
@@ -100,6 +100,10 @@
|
||||
* an item that cannot fit moves to the next line instead of hanging past the edge, which on a
|
||||
* flex row is silent. */
|
||||
.fs-ap-actrow { display: flex; flex-wrap: wrap; gap: var(--fs-space-2); }
|
||||
/* Save and the two resets differ by one word and sit in one row, which is the shape a
|
||||
* destructive click lands on by accident. The gap says they are two groups; both resets also
|
||||
* ask for a second click. Zero-width, so it costs no height when the row wraps on a phone. */
|
||||
.fs-ap-actgap { flex: 0 0 var(--fs-space-4); }
|
||||
.fs-ap-actrow .btn { font-size: var(--fs-type); padding: var(--fs-space-2) var(--fs-space-2-5); cursor: pointer; }
|
||||
.fs-ap-actrow .btn:disabled { cursor: default; }
|
||||
/* the primed Reset (second click confirms) reads as the destructive action it is */
|
||||
|
||||
@@ -33,8 +33,8 @@
|
||||
already loaded. */
|
||||
const fsd = uci.get_all('footstrap', 'settings') ?? {};
|
||||
/* Every option saveAsDefault() writes, listed once and read back in a loop. A hand-written
|
||||
* literal with one line per axis drops an axis silently: Save as default reports success, the
|
||||
* file on disk is correct, and "Reset to saved" lands on the BUILT-IN default because the value
|
||||
* literal with one line per axis drops an axis silently: Save to router reports success, the
|
||||
* file on disk is correct, and "Reset to router" lands on the BUILT-IN look because the value
|
||||
* the server hands the client was never there. tools/axes.mjs checks this list against
|
||||
* snapshotAxes().
|
||||
*
|
||||
|
||||
+23
-4
@@ -43,11 +43,11 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=wwand
|
||||
PKG_RELEASE:=19
|
||||
PKG_RELEASE:=20
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/ddimension/wwand.git
|
||||
PKG_SOURCE_VERSION:=fb4a8ff34967a5ae1d6e882dcd78b8339f5f99d1
|
||||
PKG_SOURCE_VERSION:=6ed882e3b53544c9e42f2cc681780d99205141eb
|
||||
PKG_SOURCE_DATE:=2026-09-02
|
||||
PKG_MIRROR_HASH:=skip
|
||||
|
||||
@@ -300,8 +300,18 @@ define Package/wwand-ncm
|
||||
TITLE:=NCM/ECM backend for wwand
|
||||
# +kmod-usb-net-rndis: the RNDIS datapath (rndis_host) used by e.g. the
|
||||
# Fibocom FM350-GL (MediaTek T700) — same AT-driven backend, RNDIS netdev.
|
||||
DEPENDS:=+wwand +USB_SUPPORT:kmod-usb-net-cdc-ncm \
|
||||
+USB_SUPPORT:kmod-usb-net-cdc-ether +USB_SUPPORT:kmod-usb-net-rndis
|
||||
# These three stay UNCONDITIONAL, unlike the USB kmods of wwand-qmi and
|
||||
# wwand-mbim. Those two have a non-USB transport behind them — QMI keeps
|
||||
# +kmod-rmnet unconditional and reaches a modem over MHI, MBIM gets
|
||||
# kmod-mhi-wwan-mbim through wwand-mhi — so gating their USB kmod still
|
||||
# leaves a package that works on a PCIe-only target. NCM has no such path:
|
||||
# it drives a single cdc_ncm/cdc_ether netdev and the only variant it
|
||||
# recognises is rndis_host, all USB. Gating these on USB_SUPPORT would leave
|
||||
# the package selectable on a !USB_SUPPORT target while pulling no datapath
|
||||
# driver at all — installable and inert. The hard dependency is what keeps it
|
||||
# unselectable there. (Raised in review on openwrt/packages#30185.)
|
||||
DEPENDS:=+wwand +kmod-usb-net-cdc-ncm +kmod-usb-net-cdc-ether \
|
||||
+kmod-usb-net-rndis
|
||||
# coexists with the stock OpenWrt NCM stack (netifd `ncm` proto, package
|
||||
# comgt-ncm): wwand drives an AT/NCM modem only once its interface has been
|
||||
# migrated to `proto wwand` (LuCI modem list / migrate CLI), so both stacks can
|
||||
@@ -446,6 +456,15 @@ define Package/wwand-datapath-rmnet_nss/description
|
||||
moment it creates each child, so a module loaded afterwards leaves them
|
||||
without an NSS context; that case is logged and shown on the status page.
|
||||
|
||||
That constraint belongs to the STOCK driver, not to NSS itself: the single
|
||||
nss_create() attempt can be turned into a bounded delayed-work retry, and the
|
||||
child then attaches whenever the NSS data plane comes up, in any order. If you
|
||||
build the vendor driver yourself, kuncy7/aw1000-nss-builder carries such a
|
||||
patch (package-patches/quectel-qmi-wwan/950-rmnet-nss-deferred-attach.patch).
|
||||
It is a change to the quectel-qmi-wwan kernel module, not to wwand, so nothing
|
||||
here can apply it for you — but it removes the ordering requirement at its
|
||||
source rather than working around it.
|
||||
|
||||
Install it on a box with the vendor qmi_wwan_q driver; anywhere else it probes
|
||||
false and changes nothing.
|
||||
endef
|
||||
|
||||
Reference in New Issue
Block a user