Merge pull request #6121 from stangri/master-luci-app-simple-adblock

luci-app-simple-adblock: localizable error/warning messages
This commit is contained in:
Stan Grishin 2022-12-02 12:19:34 -07:00 committed by GitHub
commit c87ff603e8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 196 additions and 91 deletions

View file

@ -5,11 +5,11 @@ include $(TOPDIR)/rules.mk
PKG_LICENSE:=GPL-3.0-or-later PKG_LICENSE:=GPL-3.0-or-later
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca> PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
PKG_VERSION:=1.9.3-1 PKG_VERSION:=1.9.3-3
LUCI_TITLE:=Simple Adblock Web UI LUCI_TITLE:=Simple Adblock Web UI
LUCI_DESCRIPTION:=Provides Web UI for simple-adblock service. LUCI_DESCRIPTION:=Provides Web UI for simple-adblock service.
LUCI_DEPENDS:=+luci-mod-admin-full +simple-adblock +jsonfilter LUCI_DEPENDS:=+luci-base +simple-adblock +jsonfilter
LUCI_PKGARCH:=all LUCI_PKGARCH:=all
include ../../luci.mk include ../../luci.mk

View file

@ -83,62 +83,64 @@ var status = baseclass.extend({
]).then(function (data) { ]).then(function (data) {
var replyStatus = data[0]; var replyStatus = data[0];
var text =""; var text ="";
var status = replyStatus[pkg.Name]; var reply = replyStatus[pkg.Name];
var outputFile = status.outputFile; var outputFile = reply.outputFile;
var outputCache = status.outputCache; var outputCache = reply.outputCache;
var statusTable = { var statusTable = {
statusNoInstall: _("%s is not installed or not found").format(pkg.Name), statusNoInstall: _("%s is not installed or not found").format(pkg.Name),
statusStopped: _("Stopped"), statusStopped: _("Stopped"),
statusStarting: _("Starting"), statusStarting: _("Starting"),
statusRestarting: _("Restarting"), statusProcessing: _("Processing lists"),
statusForceReloading: _("Force Reloading"), statusRestarting: _("Restarting"),
statusDownloading: _("Downloading"), statusForceReloading: _("Force Reloading"),
statusError: _("Error"), statusDownloading: _("Downloading lists"),
statusWarning: _("Warning"), statusError: _("Error"),
statusFail: _("Fail"), statusWarning: _("Warning"),
statusSuccess: _("Active") statusFail: _("Fail"),
statusSuccess: _("Active")
}; };
var header = E('h2', {}, _("Simple AdBlock - Status")) var header = E('h2', {}, _("Simple AdBlock - Status"))
var statusTitle = E('label', { class: 'cbi-value-title' }, _("Service Status")); var statusTitle = E('label', { class: 'cbi-value-title' }, _("Service Status"));
if (status.version) { if (reply.version) {
text += _("Version: %s").format(status.version) + " - "; text += _("Version: %s").format(reply.version) + " - ";
switch (status.status) { switch (reply.status) {
case 'statusSuccess': case 'statusSuccess':
text += statusTable[status.status] + "."; text += statusTable[reply.status] + ".";
text += "<br />" + _("Blocking %s domains (with %s).").format(status.entries, status.dns); text += "<br />" + _("Blocking %s domains (with %s).").format(reply.entries, reply.dns);
if (status.outputGzipExists) { if (reply.outputGzipExists) {
text += "<br />" + _("Compressed cache file created."); text += "<br />" + _("Compressed cache file created.");
} }
if (status.force_dns_active) { if (reply.force_dns_active) {
text += "<br />" + _("Force DNS ports:"); text += "<br />" + _("Force DNS ports:");
status.force_dns_ports.forEach(element => { reply.force_dns_ports.forEach(element => {
text += " " + element; text += " " + element;
}); });
text += "."; text += ".";
} }
break; break;
case 'statusStopped': case 'statusStopped':
if (status.enabled) { if (reply.enabled) {
text += statusTable[status.status] + "."; text += statusTable[reply.status] + ".";
} }
else { else {
text += statusTable[status.status] + _("disabled") + "." text += statusTable[reply.status] + _("disabled") + "."
} }
if (status.outputCacheExists) { if (reply.outputCacheExists) {
text += "<br />" + _("Cache file found."); text += "<br />" + _("Cache file found.");
} }
else if (status.outputGzipExists) { else if (reply.outputGzipExists) {
text += "<br />" + _("Compressed cache file found."); text += "<br />" + _("Compressed cache file found.");
} }
break; break;
case 'statusRestarting': case 'statusRestarting':
case 'statusForceReloading': case 'statusForceReloading':
case 'statusDownloading': case 'statusDownloading':
text += statusTable[status.status] + "..."; case 'statusProcessing':
text += statusTable[reply.status] + "...";
break; break;
default: default:
text += statusTable[status.status] + "."; text += statusTable[reply.status] + ".";
break; break;
} }
} }
@ -150,16 +152,33 @@ var status = baseclass.extend({
var statusDiv = E('div', { class: 'cbi-value' }, [statusTitle, statusField]); var statusDiv = E('div', { class: 'cbi-value' }, [statusTitle, statusField]);
var warningsDiv = []; var warningsDiv = [];
if (status.warnings) { if (reply.warnings && reply.warnings.length) {
var warningTable = {
warningExternalDnsmasqConfig: _("use of external dnsmasq config file detected, please set '%s' option to '%s'").format("dns", "dnsmasq.conf"),
warningMissingRecommendedPackages: _("some recommended packages are missing")
}
var warningsTitle = E('label', { class: 'cbi-value-title' }, _("Service Warnings")); var warningsTitle = E('label', { class: 'cbi-value-title' }, _("Service Warnings"));
var warningsText = E('div', {}, status.warnings); var text = "";
(reply.warnings).forEach(element => {
text += (warningTable[element.id]).format(element.extra || ' ') + "<br />";
});
var warningsText = E('div', {}, text);
var warningsField = E('div', { class: 'cbi-value-field' }, warningsText); var warningsField = E('div', { class: 'cbi-value-field' }, warningsText);
warningsDiv = E('div', { class: 'cbi-value' }, [warningsTitle, warningsField]); warningsDiv = E('div', { class: 'cbi-value' }, [warningsTitle, warningsField]);
} }
var errorsDiv = []; var errorsDiv = [];
if ((status.errors).length) { if (reply.errors && reply.errors.length) {
var errorTable = { var errorTable = {
errorConfigValidationFail: _("Config (%s) validation failure!").format('/etc/config/' + pkg.Name),
errorServiceDisabled: _("%s is currently disabled").format(pkg.Name),
errorNoDnsmasqIpset: _("dnsmasq ipset support is enabled, but dnsmasq is either not installed or installed dnsmasq does not support ipset"),
errorNoIpset: _("dnsmasq ipset support is enabled, but ipset is either not installed or installed ipset does not support '%s' type").format("hash:net"),
errorNoDnsmasqNftset: _("dnsmasq nft set support is enabled, but dnsmasq is either not installed or installed dnsmasq does not support nft set"),
errorNoNft: _("dnsmasq nft sets support is enabled, but nft is not installed"),
errorMkdirFail: _("Unable to create directory for '%s'"),
errorNoWanGateway: _("The %s service failed to discover WAN gateway!").format(pkg.Name),
errorOutputDirCreate: _("failed to create directory for %s file"),
errorOutputFileCreate: _("failed to create '%s' file").format(outputFile), errorOutputFileCreate: _("failed to create '%s' file").format(outputFile),
errorFailDNSReload: _("failed to restart/reload DNS resolver"), errorFailDNSReload: _("failed to restart/reload DNS resolver"),
errorSharedMemory: _("failed to access shared memory"), errorSharedMemory: _("failed to access shared memory"),
@ -184,8 +203,8 @@ var status = baseclass.extend({
} }
var errorsTitle = E('label', { class: 'cbi-value-title' }, _("Service Errors")); var errorsTitle = E('label', { class: 'cbi-value-title' }, _("Service Errors"));
var text = ""; var text = "";
(status.errors).forEach(element => { (reply.errors).forEach(element => {
text += errorTable[element] + ".<br />"; text += (errorTable[element.id]).format(element.extra || ' ') + "<br />";
}); });
var errorsText = E('div', {}, text); var errorsText = E('div', {}, text);
var errorsField = E('div', { class: 'cbi-value-field' }, errorsText); var errorsField = E('div', { class: 'cbi-value-field' }, errorsText);
@ -250,10 +269,10 @@ var status = baseclass.extend({
} }
}, _('Disable')); }, _('Disable'));
if (status.enabled) { if (reply.enabled) {
btn_enable.disabled = true; btn_enable.disabled = true;
btn_disable.disabled = false; btn_disable.disabled = false;
switch (status.status) { switch (reply.status) {
case 'statusSuccess': case 'statusSuccess':
btn_start.disabled = true; btn_start.disabled = true;
btn_action.disabled = false; btn_action.disabled = false;
@ -285,7 +304,7 @@ var status = baseclass.extend({
var buttonsTitle = E('label', { class: 'cbi-value-title' }, _("Service Control")) var buttonsTitle = E('label', { class: 'cbi-value-title' }, _("Service Control"))
var buttonsText = E('div', {}, [btn_start, btn_gap, btn_action, btn_gap, btn_stop, btn_gap_long, btn_enable, btn_gap, btn_disable]); var buttonsText = E('div', {}, [btn_start, btn_gap, btn_action, btn_gap, btn_stop, btn_gap_long, btn_enable, btn_gap, btn_disable]);
var buttonsField = E('div', { class: 'cbi-value-field' }, buttonsText); var buttonsField = E('div', { class: 'cbi-value-field' }, buttonsText);
if (status.version) { if (reply.version) {
buttonsDiv = E('div', { class: 'cbi-value' }, [buttonsTitle, buttonsField]); buttonsDiv = E('div', { class: 'cbi-value' }, [buttonsTitle, buttonsField]);
} }

View file

@ -1,11 +1,15 @@
msgid "" msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8" msgstr "Content-Type: text/plain; charset=UTF-8"
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:174
msgid "%s is currently disabled"
msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:90 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:90
msgid "%s is not installed or not found" msgid "%s is not installed or not found"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:99 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:100
msgid "Active" msgid "Active"
msgstr "" msgstr ""
@ -58,22 +62,26 @@ msgstr ""
msgid "Blocked Hosts URLs" msgid "Blocked Hosts URLs"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:109 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:110
msgid "Blocking %s domains (with %s)." msgid "Blocking %s domains (with %s)."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:129 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:130
msgid "Cache file found." msgid "Cache file found."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:111 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:112
msgid "Compressed cache file created." msgid "Compressed cache file created."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:132 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:133
msgid "Compressed cache file found." msgid "Compressed cache file found."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:173
msgid "Config (%s) validation failure!"
msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:42 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:42
msgid "Controls system log and console output verbosity." msgid "Controls system log and console output verbosity."
msgstr "" msgstr ""
@ -94,7 +102,7 @@ msgstr ""
msgid "DNS resolution option, see the %sREADME%s for details." msgid "DNS resolution option, see the %sREADME%s for details."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:251 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:270
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:37 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:37
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:39 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:39
msgid "Disable" msgid "Disable"
@ -105,7 +113,7 @@ msgstr ""
msgid "Disable Debugging" msgid "Disable Debugging"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:247 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:266
msgid "Disabling %s service" msgid "Disabling %s service"
msgstr "" msgstr ""
@ -131,11 +139,11 @@ msgstr ""
msgid "Download time-out (in seconds)" msgid "Download time-out (in seconds)"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:95 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:96
msgid "Downloading" msgid "Downloading lists"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:240 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:259
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:38 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:38
msgid "Enable" msgid "Enable"
msgstr "" msgstr ""
@ -149,27 +157,27 @@ msgstr ""
msgid "Enables debug output to /tmp/simple-adblock.log." msgid "Enables debug output to /tmp/simple-adblock.log."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:236 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:255
msgid "Enabling %s service" msgid "Enabling %s service"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:96 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:97
msgid "Error" msgid "Error"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:98 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:99
msgid "Fail" msgid "Fail"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:114 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:115
msgid "Force DNS ports:" msgid "Force DNS ports:"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:218 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:237
msgid "Force Re-Download" msgid "Force Re-Download"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:94 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:95
msgid "Force Reloading" msgid "Force Reloading"
msgstr "" msgstr ""
@ -182,7 +190,7 @@ msgstr ""
msgid "Force Router DNS server to all local devices" msgid "Force Router DNS server to all local devices"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:214 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:233
msgid "Force re-downloading %s block lists" msgid "Force re-downloading %s block lists"
msgstr "" msgstr ""
@ -232,7 +240,7 @@ msgstr ""
msgid "Let local devices use their own DNS servers if set" msgid "Let local devices use their own DNS servers if set"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:146 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:148
msgid "Not installed or not found" msgid "Not installed or not found"
msgstr "" msgstr ""
@ -259,22 +267,26 @@ msgid "Please note that %s is not supported on this system."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:93 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:93
msgid "Processing lists"
msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:94
msgid "Restarting" msgid "Restarting"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:285 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:304
msgid "Service Control" msgid "Service Control"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:185 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:204
msgid "Service Errors" msgid "Service Errors"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:103 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:104
msgid "Service Status" msgid "Service Status"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:154 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:160
msgid "Service Warnings" msgid "Service Warnings"
msgstr "" msgstr ""
@ -286,7 +298,7 @@ msgstr ""
msgid "Simple AdBlock - Configuration" msgid "Simple AdBlock - Configuration"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:102 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:103
msgid "Simple AdBlock - Status" msgid "Simple AdBlock - Status"
msgstr "" msgstr ""
@ -298,7 +310,7 @@ msgstr ""
msgid "Some output" msgid "Some output"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:207 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:226
msgid "Start" msgid "Start"
msgstr "" msgstr ""
@ -306,11 +318,11 @@ msgstr ""
msgid "Starting" msgid "Starting"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:203 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:222
msgid "Starting %s service" msgid "Starting %s service"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:229 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:248
msgid "Stop" msgid "Stop"
msgstr "" msgstr ""
@ -322,7 +334,7 @@ msgstr ""
msgid "Stopped" msgid "Stopped"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:225 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:244
msgid "Stopping %s service" msgid "Stopping %s service"
msgstr "" msgstr ""
@ -338,6 +350,10 @@ msgstr ""
msgid "Suppress output" msgid "Suppress output"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:180
msgid "The %s service failed to discover WAN gateway!"
msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:148 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:148
msgid "" msgid ""
"URL to the external dnsmasq config file, see the %sREADME%s for details." "URL to the external dnsmasq config file, see the %sREADME%s for details."
@ -355,6 +371,10 @@ msgstr ""
msgid "URLs to lists of hosts to be blocked." msgid "URLs to lists of hosts to be blocked."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:179
msgid "Unable to create directory for '%s'"
msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:130 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:130
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:131 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:131
msgid "Use simultaneous processing" msgid "Use simultaneous processing"
@ -365,15 +385,15 @@ msgstr ""
msgid "Verbose output" msgid "Verbose output"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:105 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:106
msgid "Version: %s" msgid "Version: %s"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:97 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:98
msgid "Warning" msgid "Warning"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:126 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:127
msgid "disabled" msgid "disabled"
msgstr "" msgstr ""
@ -389,96 +409,122 @@ msgstr ""
msgid "dnsmasq ipset" msgid "dnsmasq ipset"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:175
msgid ""
"dnsmasq ipset support is enabled, but dnsmasq is either not installed or "
"installed dnsmasq does not support ipset"
msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:176
msgid ""
"dnsmasq ipset support is enabled, but ipset is either not installed or "
"installed ipset does not support '%s' type"
msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:93 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:93
msgid "dnsmasq nft set" msgid "dnsmasq nft set"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:177
msgid ""
"dnsmasq nft set support is enabled, but dnsmasq is either not installed or "
"installed dnsmasq does not support nft set"
msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:178
msgid "dnsmasq nft sets support is enabled, but nft is not installed"
msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:95 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:95
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:100 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:100
msgid "dnsmasq servers file" msgid "dnsmasq servers file"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:165 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:184
msgid "failed to access shared memory" msgid "failed to access shared memory"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:163 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:182
msgid "failed to create '%s' file" msgid "failed to create '%s' file"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:175 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:194
msgid "failed to create block-list or restart DNS resolver" msgid "failed to create block-list or restart DNS resolver"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:171 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:190
msgid "failed to create compressed cache" msgid "failed to create compressed cache"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:183 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:181
msgid "failed to create directory for %s file"
msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:202
msgid "failed to create output/cache/gzip file directory" msgid "failed to create output/cache/gzip file directory"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:179 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:198
msgid "failed to download" msgid "failed to download"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:178 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:197
msgid "failed to download Config Update file" msgid "failed to download Config Update file"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:169 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:188
msgid "failed to format data file" msgid "failed to format data file"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:174 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:193
msgid "failed to move '%s' to '%s'" msgid "failed to move '%s' to '%s'"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:170 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:189
msgid "failed to move temporary data file to '%s'" msgid "failed to move temporary data file to '%s'"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:167 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:186
msgid "failed to optimize data file" msgid "failed to optimize data file"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:181 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:200
msgid "failed to parse" msgid "failed to parse"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:180 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:199
msgid "failed to parse Config Update file" msgid "failed to parse Config Update file"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:168 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:187
msgid "failed to process allow-list" msgid "failed to process allow-list"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:177 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:196
msgid "failed to reload/restart DNS resolver" msgid "failed to reload/restart DNS resolver"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:172 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:191
msgid "failed to remove temporary files" msgid "failed to remove temporary files"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:164 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:183
msgid "failed to restart/reload DNS resolver" msgid "failed to restart/reload DNS resolver"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:166 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:185
msgid "failed to sort data file" msgid "failed to sort data file"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:176 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:195
msgid "failed to stop %s" msgid "failed to stop %s"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:173 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:192
msgid "failed to unpack compressed cache" msgid "failed to unpack compressed cache"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:182 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:201
msgid "no HTTPS/SSL support on device" msgid "no HTTPS/SSL support on device"
msgstr "" msgstr ""
@ -486,6 +532,15 @@ msgstr ""
msgid "none" msgid "none"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:158
msgid "some recommended packages are missing"
msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:98 #: applications/luci-app-simple-adblock/htdocs/luci-static/resources/view/simple-adblock/overview.js:98
msgid "unbound adblock list" msgid "unbound adblock list"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/htdocs/luci-static/resources/simple-adblock/status.js:157
msgid ""
"use of external dnsmasq config file detected, please set '%s' option to '%s'"
msgstr ""

View file

@ -163,9 +163,40 @@ get_init_status() {
fi fi
json_add_string 'version' "$(get_version "$name")" json_add_string 'version' "$(get_version "$name")"
json_add_array 'errors' json_add_array 'errors'
for i in $errors; do json_add_string '' "$i"; done if [ -n "$errors" ]; then
for i in $errors; do
if str_contains "$i" '|'; then
error_extra="${i##*|}"
error_id="${i%|*}"
else
error_id="$i"
unset error_extra
fi
json_add_object
json_add_string 'id' "$error_id"
json_add_string 'extra' "$error_extra"
json_close_object
done
fi
json_close_array json_close_array
# json_add_string 'warnings' "$warnings" json_add_array 'warnings'
if [ -n "$warnings" ]; then
for i in $warnings; do
if str_contains "$i" '|'; then
error_extra="${i##*|}"
error_id="${i%|*}"
else
error_id="$i"
unset error_extra
fi
json_add_object
json_add_string 'id' "$error_id"
json_add_string 'extra' "$error_extra"
json_close_object
done
fi
json_close_array
if [ -n "$ports" ]; then if [ -n "$ports" ]; then
json_add_boolean 'force_dns_active' '1' json_add_boolean 'force_dns_active' '1'
json_add_array 'force_dns_ports' json_add_array 'force_dns_ports'