Merge pull request #6159 from stangri/master-luci-app-pbr
luci-app-pbr: update to 1.0.1-1
This commit is contained in:
commit
592836113f
4 changed files with 252 additions and 141 deletions
|
@ -5,7 +5,7 @@ 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.0.0-2
|
PKG_VERSION:=1.0.1-1
|
||||||
|
|
||||||
LUCI_TITLE:=Policy Based Routing Service Web UI
|
LUCI_TITLE:=Policy Based Routing Service Web UI
|
||||||
LUCI_DESCRIPTION:=Provides Web UI for Policy Based Routing Service.
|
LUCI_DESCRIPTION:=Provides Web UI for Policy Based Routing Service.
|
||||||
|
|
|
@ -111,8 +111,25 @@ var status = baseclass.extend({
|
||||||
]).then(function (data) {
|
]).then(function (data) {
|
||||||
// var replyStatus = data[0];
|
// var replyStatus = data[0];
|
||||||
// var replyGateways = data[1];
|
// var replyGateways = data[1];
|
||||||
var reply = data[0][pkg.Name];
|
var reply;
|
||||||
var text;
|
var text;
|
||||||
|
|
||||||
|
if (data[0] && data[0][pkg.Name]) {
|
||||||
|
reply = data[0][pkg.Name];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
reply = {
|
||||||
|
enabled: null,
|
||||||
|
running: null,
|
||||||
|
running_iptables: null,
|
||||||
|
running_nft: null,
|
||||||
|
version: null,
|
||||||
|
gateways: null,
|
||||||
|
errors: [],
|
||||||
|
warnings: [],
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
var header = E('h2', {}, _("Policy Based Routing - Status"));
|
var header = E('h2', {}, _("Policy Based Routing - Status"));
|
||||||
var statusTitle = E('label', { class: 'cbi-value-title' }, _("Service Status"));
|
var statusTitle = E('label', { class: 'cbi-value-title' }, _("Service Status"));
|
||||||
if (reply.version) {
|
if (reply.version) {
|
||||||
|
@ -159,14 +176,20 @@ var status = baseclass.extend({
|
||||||
var textLabelsTable = {
|
var textLabelsTable = {
|
||||||
warningResolverNotSupported: _("Resolver set (%s) is not supported on this system.").format(uci.get(pkg.Name, 'config', 'resolver_set')),
|
warningResolverNotSupported: _("Resolver set (%s) is not supported on this system.").format(uci.get(pkg.Name, 'config', 'resolver_set')),
|
||||||
warningAGHVersionTooLow: _("Installed AdGuardHome (%s) doesn't support 'ipset_file' option."),
|
warningAGHVersionTooLow: _("Installed AdGuardHome (%s) doesn't support 'ipset_file' option."),
|
||||||
warningPolicyProcess: _("%s")
|
warningPolicyProcessCMD: _("%s"),
|
||||||
|
warningTorUnsetParams: _("Please unset 'src_addr', 'src_port' and 'dest_port' for policy '%s'"),
|
||||||
|
warningTorUnsetProto: _("Please unset 'proto' or set 'proto' to 'all' for policy '%s'"),
|
||||||
|
warningTorUnsetChainIpt: _("Please unset 'chain' or set 'chain' to 'PREROUTING' for policy '%s'"),
|
||||||
|
warningTorUnsetChainNft: _("Please unset 'chain' or set 'chain' to 'prerouting' for policy '%s'"),
|
||||||
};
|
};
|
||||||
var warningsTitle = E('label', { class: 'cbi-value-title' }, _("Service Warnings"));
|
var warningsTitle = E('label', { class: 'cbi-value-title' }, _("Service Warnings"));
|
||||||
var text = "";
|
var text = "";
|
||||||
(reply.warnings).forEach(element => {
|
(reply.warnings).forEach(element => {
|
||||||
if (element.id && textLabelsTable[element.id]) {
|
if (element.id && textLabelsTable[element.id]) {
|
||||||
|
if (element.id !== 'warningPolicyProcessCMD') {
|
||||||
text += (textLabelsTable[element.id]).format(element.extra || ' ') + "<br />";
|
text += (textLabelsTable[element.id]).format(element.extra || ' ') + "<br />";
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
text += _("Unknown Warning!") + "<br />";
|
text += _("Unknown Warning!") + "<br />";
|
||||||
}
|
}
|
||||||
|
@ -180,8 +203,8 @@ var status = baseclass.extend({
|
||||||
if (reply.errors && reply.errors.length) {
|
if (reply.errors && reply.errors.length) {
|
||||||
var textLabelsTable = {
|
var textLabelsTable = {
|
||||||
errorConfigValidation: _("Config (%s) validation failure!").format('/etc/config/' + pkg.Name),
|
errorConfigValidation: _("Config (%s) validation failure!").format('/etc/config/' + pkg.Name),
|
||||||
errorNoIpFull: _("%s binary cannot be found!").formate('ip-full'),
|
errorNoIpFull: _("%s binary cannot be found!").format('ip-full'),
|
||||||
errorNoIptables: _("%s binary cannot be found!").formate('iptables'),
|
errorNoIptables: _("%s binary cannot be found!").format('iptables'),
|
||||||
errorNoIpset: _("Resolver set support (%s) requires ipset, but ipset binary cannot be found!").format(uci.get(pkg.Name, 'config', 'resolver_set')),
|
errorNoIpset: _("Resolver set support (%s) requires ipset, but ipset binary cannot be found!").format(uci.get(pkg.Name, 'config', 'resolver_set')),
|
||||||
errorNoNft: _("Resolver set support (%s) requires nftables, but nft binary cannot be found!").format(uci.get(pkg.Name, 'config', 'resolver_set')),
|
errorNoNft: _("Resolver set support (%s) requires nftables, but nft binary cannot be found!").format(uci.get(pkg.Name, 'config', 'resolver_set')),
|
||||||
errorResolverNotSupported: _("Resolver set (%s) is not supported on this system!").format(uci.get(pkg.Name, 'config', 'resolver_set')),
|
errorResolverNotSupported: _("Resolver set (%s) is not supported on this system!").format(uci.get(pkg.Name, 'config', 'resolver_set')),
|
||||||
|
@ -193,21 +216,30 @@ var status = baseclass.extend({
|
||||||
errorPolicyNoSrcDest: _("Policy '%s' has no source/destination parameters!"),
|
errorPolicyNoSrcDest: _("Policy '%s' has no source/destination parameters!"),
|
||||||
errorPolicyNoInterface: _("Policy '%s' has no assigned interface!"),
|
errorPolicyNoInterface: _("Policy '%s' has no assigned interface!"),
|
||||||
errorPolicyUnknownInterface: _("Policy '%s' has an unknown interface!"),
|
errorPolicyUnknownInterface: _("Policy '%s' has an unknown interface!"),
|
||||||
errorPolicyProcess: _("Policy processing error (%s)!"),
|
errorPolicyProcessCMD: _("%s"),
|
||||||
errorFailedSetup: _("Failed to set up '%s'!"),
|
errorFailedSetup: _("Failed to set up '%s'!"),
|
||||||
errorFailedReload: _("Failed to reload '%s'!"),
|
errorFailedReload: _("Failed to reload '%s'!"),
|
||||||
errorUserFileNotFound: _("Custom user file '%s' not found or empty!"),
|
errorUserFileNotFound: _("Custom user file '%s' not found or empty!"),
|
||||||
ererrorUserFileSyntax: _("Syntax error in custom user file '%s'!"),
|
ererrorUserFileSyntax: _("Syntax error in custom user file '%s'!"),
|
||||||
errorUserFileRunning: _("Error running custom user file '%s'!"),
|
errorUserFileRunning: _("Error running custom user file '%s'!"),
|
||||||
errorUserFileNoCurl: _("Use of 'curl' is detected in custom user file '%s', but 'curl' isn't installed!"),
|
errorUserFileNoCurl: _("Use of 'curl' is detected in custom user file '%s', but 'curl' isn't installed!"),
|
||||||
errorNoGateways: _("Failed to set up any gateway!")
|
errorNoGateways: _("Failed to set up any gateway!"),
|
||||||
|
errorResolver: _("Resolver %s"),
|
||||||
|
errorPolicyProcessNoIpv6: _("Skipping IPv6 policy '%s' as IPv6 support is disabled"),
|
||||||
|
errorPolicyProcessUnknownFwmark: _("Unknown packet mark for interface '%s'"),
|
||||||
|
errorPolicyProcessMismatchFamily: _("Mismatched IP family between in policy %s"),
|
||||||
|
errorPolicyProcessUnknownProtocol: _("Unknown protocol in policy %s"),
|
||||||
|
errorPolicyProcessInsertionFailed: _("Insertion failed for both IPv4 and IPv6 for policy %s"),
|
||||||
|
errorPolicyProcessInsertionFailedIpv4: _("Insertion failed for IPv4 for policy %s"),
|
||||||
};
|
};
|
||||||
var errorsTitle = E('label', { class: 'cbi-value-title' }, _("Service Errors"));
|
var errorsTitle = E('label', { class: 'cbi-value-title' }, _("Service Errors"));
|
||||||
var text = "";
|
var text = "";
|
||||||
(reply.errors).forEach(element => {
|
(reply.errors).forEach(element => {
|
||||||
if (element.id && textLabelsTable[element.id]) {
|
if (element.id && textLabelsTable[element.id]) {
|
||||||
|
if (element.id !== 'errorPolicyProcessCMD') {
|
||||||
text += (textLabelsTable[element.id]).format(element.extra || ' ') + "<br />";
|
text += (textLabelsTable[element.id]).format(element.extra || ' ') + "<br />";
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
text += _("Unknown Error!") + "<br />";
|
text += _("Unknown Error!") + "<br />";
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,10 +25,33 @@ return view.extend({
|
||||||
L.resolveDefault(pbr.getInterfaces(), {}),
|
L.resolveDefault(pbr.getInterfaces(), {}),
|
||||||
L.resolveDefault(pbr.getPlatformSupport(), {}),
|
L.resolveDefault(pbr.getPlatformSupport(), {}),
|
||||||
]).then(function (data) {
|
]).then(function (data) {
|
||||||
var arrInterfaces = data[0][pkg.Name].interfaces;
|
var arrInterfaces;
|
||||||
var replyPlatform = data[1][pkg.Name];
|
var replyPlatform;
|
||||||
var status, m, s, o;
|
var status, m, s, o;
|
||||||
|
|
||||||
|
if (data[0] && data[0][pkg.Name] && data[0][pkg.Name].interfaces) {
|
||||||
|
arrInterfaces = data[0][pkg.Name].interfaces;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
arrInterfaces = ["wan"];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data[1] && data[1][pkg.Name]) {
|
||||||
|
replyPlatform = data[1][pkg.Name];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
replyPlatform = {
|
||||||
|
ipset_installed: null,
|
||||||
|
nft_installed: null,
|
||||||
|
adguardhome_installed: null,
|
||||||
|
dnsmasq_installed: null,
|
||||||
|
unbound_installed: null,
|
||||||
|
adguardhome_ipset_support: null,
|
||||||
|
dnsmasq_ipset_support: null,
|
||||||
|
dnsmasq_nftset_support: null,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
status = new pbr.status();
|
status = new pbr.status();
|
||||||
m = new form.Map(pkg.Name, _("Policy Based Routing - Configuration"));
|
m = new form.Map(pkg.Name, _("Policy Based Routing - Configuration"));
|
||||||
|
|
||||||
|
@ -56,13 +79,22 @@ return view.extend({
|
||||||
o.default = "1";
|
o.default = "1";
|
||||||
|
|
||||||
var text = "";
|
var text = "";
|
||||||
if (!(replyPlatform.adguardhome_ipset_support)) {
|
if (replyPlatform.adguardhome_ipset_support === null) {
|
||||||
|
text += _("The %s support is unknown.").format("<i>adguardhome.ipset</i>") + "<br />"
|
||||||
|
}
|
||||||
|
else if (!(replyPlatform.adguardhome_ipset_support)) {
|
||||||
text += _("The %s is not supported on this system.").format("<i>adguardhome.ipset</i>") + "<br />"
|
text += _("The %s is not supported on this system.").format("<i>adguardhome.ipset</i>") + "<br />"
|
||||||
}
|
}
|
||||||
if (!(replyPlatform.dnsmasq_ipset_support)) {
|
if (replyPlatform.dnsmasq_ipset_support === null) {
|
||||||
|
text += _("The %s support is unknown.").format("<i>dnsmasq.ipset</i>") + "<br />"
|
||||||
|
}
|
||||||
|
else if (!(replyPlatform.dnsmasq_ipset_support)) {
|
||||||
text += _("The %s is not supported on this system.").format("<i>dnsmasq.ipset</i>") + "<br />"
|
text += _("The %s is not supported on this system.").format("<i>dnsmasq.ipset</i>") + "<br />"
|
||||||
}
|
}
|
||||||
if (!(replyPlatform.dnsmasq_nftset_support)) {
|
if (replyPlatform.dnsmasq_nftset_support === null) {
|
||||||
|
text += _("The %s support is unknown.").format("<i>dnsmasq.nftset</i>") + "<br />"
|
||||||
|
}
|
||||||
|
else if (!(replyPlatform.dnsmasq_nftset_support)) {
|
||||||
text += _("The %s is not supported on this system.").format("<i>dnsmasq.nftset</i>") + "<br />"
|
text += _("The %s is not supported on this system.").format("<i>dnsmasq.nftset</i>") + "<br />"
|
||||||
}
|
}
|
||||||
text += _("Please check the %sREADME%s before changing this option.").format(
|
text += _("Please check the %sREADME%s before changing this option.").format(
|
||||||
|
|
|
@ -1,169 +1,170 @@
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr "Content-Type: text/plain; charset=UTF-8"
|
msgstr "Content-Type: text/plain; charset=UTF-8"
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:162
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:179
|
||||||
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:219
|
||||||
msgid "%s"
|
msgid "%s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:183
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:184
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
|
||||||
msgid "%s binary cannot be found!"
|
msgid "%s binary cannot be found!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:38
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
|
||||||
msgid ""
|
msgid ""
|
||||||
"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
|
"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
|
||||||
"anything in this section! Change any of the settings below with extreme "
|
"anything in this section! Change any of the settings below with extreme "
|
||||||
"caution!%s"
|
"caution!%s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:73
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:105
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:106
|
||||||
msgid "AdGuardHome ipset"
|
msgid "AdGuardHome ipset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:101
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:136
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
|
||||||
msgid "Add Ignore Target"
|
msgid "Add Ignore Target"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
|
||||||
msgid ""
|
msgid ""
|
||||||
"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
|
"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
|
||||||
"details."
|
"details."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:37
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
|
||||||
msgid "Advanced Configuration"
|
msgid "Advanced Configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:90
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
|
||||||
msgid ""
|
msgid ""
|
||||||
"Allows to specify the list of interface names (in lower case) to be "
|
"Allows to specify the list of interface names (in lower case) to be "
|
||||||
"explicitly supported by the service. Can be useful if your OpenVPN tunnels "
|
"explicitly supported by the service. Can be useful if your OpenVPN tunnels "
|
||||||
"have dev option other than tun* or tap*."
|
"have dev option other than tun* or tap*."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:95
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
|
||||||
msgid ""
|
msgid ""
|
||||||
"Allows to specify the list of interface names (in lower case) to be ignored "
|
"Allows to specify the list of interface names (in lower case) to be ignored "
|
||||||
"by the service. Can be useful if running both VPN server and VPN client on "
|
"by the service. Can be useful if running both VPN server and VPN client on "
|
||||||
"the router."
|
"the router."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:36
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
|
||||||
msgid "Basic Configuration"
|
msgid "Basic Configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:201
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
|
||||||
msgid "Chain"
|
msgid "Chain"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:47
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
|
||||||
msgid "Condensed output"
|
msgid "Condensed output"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:182
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
|
||||||
msgid "Config (%s) validation failure!"
|
msgid "Config (%s) validation failure!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:45
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
|
||||||
msgid "Controls both system log and console output verbosity."
|
msgid "Controls both system log and console output verbosity."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:227
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
|
||||||
msgid "Custom User File Includes"
|
msgid "Custom User File Includes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:199
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
|
||||||
msgid "Custom user file '%s' not found or empty!"
|
msgid "Custom user file '%s' not found or empty!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:222
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
|
||||||
msgid "DSCP Tag"
|
msgid "DSCP Tag"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
|
||||||
msgid "DSCP Tagging"
|
msgid "DSCP Tagging"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:105
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
|
||||||
msgid "Default ICMP Interface"
|
msgid "Default ICMP Interface"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:276
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
|
||||||
msgid "Disable"
|
msgid "Disable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:103
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:86
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:118
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
|
||||||
msgid "Disabled"
|
msgid "Disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:272
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
|
||||||
msgid "Disabling %s service"
|
msgid "Disabling %s service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:145
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
|
||||||
msgid "Display these protocols in protocol column in Web UI."
|
msgid "Display these protocols in protocol column in Web UI."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:109
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:110
|
||||||
msgid "Dnsmasq ipset"
|
msgid "Dnsmasq ipset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:81
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:113
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:82
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:114
|
||||||
msgid "Dnsmasq nft set"
|
msgid "Dnsmasq nft set"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:54
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
|
||||||
msgid "Do not enforce policies when their gateway is down"
|
msgid "Do not enforce policies when their gateway is down"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:265
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
|
||||||
msgid "Enable"
|
msgid "Enable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:87
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:119
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:140
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:172
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:157
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:189
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:235
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:267
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:261
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
|
||||||
msgid "Enabling %s service"
|
msgid "Enabling %s service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:201
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
|
||||||
msgid "Error running custom user file '%s'!"
|
msgid "Error running custom user file '%s'!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:130
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
|
||||||
msgid ""
|
msgid ""
|
||||||
"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
|
"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
|
||||||
"QoS. Change with caution together with"
|
"QoS. Change with caution together with"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:198
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
|
||||||
msgid "Failed to reload '%s'!"
|
msgid "Failed to reload '%s'!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:197
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
|
||||||
msgid "Failed to set up '%s'!"
|
msgid "Failed to set up '%s'!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:203
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
|
||||||
msgid "Failed to set up any gateway!"
|
msgid "Failed to set up any gateway!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:106
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
|
||||||
msgid "Force the ICMP protocol interface."
|
msgid "Force the ICMP protocol interface."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -171,39 +172,51 @@ msgstr ""
|
||||||
msgid "Grant UCI and file access for luci-app-pbr"
|
msgid "Grant UCI and file access for luci-app-pbr"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:85
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
|
||||||
msgid "IPv6 Support"
|
msgid "IPv6 Support"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:94
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
|
||||||
msgid "Ignored Interfaces"
|
msgid "Ignored Interfaces"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
|
||||||
msgid "Insert"
|
msgid "Insert"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:161
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:233
|
||||||
|
msgid "Insertion failed for IPv4 for policy %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:232
|
||||||
|
msgid "Insertion failed for both IPv4 and IPv6 for policy %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:178
|
||||||
msgid "Installed AdGuardHome (%s) doesn't support 'ipset_file' option."
|
msgid "Installed AdGuardHome (%s) doesn't support 'ipset_file' option."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:210
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
|
||||||
msgid "Interface"
|
msgid "Interface"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:163
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
|
||||||
msgid "Local addresses / devices"
|
msgid "Local addresses / devices"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
|
||||||
msgid "Local ports"
|
msgid "Local ports"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:161
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:230
|
||||||
|
msgid "Mismatched IP family between in policy %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:193
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:149
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
|
||||||
msgid ""
|
msgid ""
|
||||||
"Name, interface and at least one other field are required. Multiple local "
|
"Name, interface and at least one other field are required. Multiple local "
|
||||||
"and remote addresses/devices/domains and ports can be space separated. "
|
"and remote addresses/devices/domains and ports can be space separated. "
|
||||||
|
@ -211,47 +224,63 @@ msgid ""
|
||||||
"fields are left blank."
|
"fields are left blank."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:107
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
|
||||||
msgid "No Change"
|
msgid "No Change"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:140
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
|
||||||
msgid "Not installed or not found"
|
msgid "Not installed or not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:44
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
|
||||||
msgid "Output verbosity"
|
msgid "Output verbosity"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:239
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
|
||||||
msgid "Path"
|
msgid "Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
|
||||||
msgid "Please check the %sREADME%s before changing this option."
|
msgid "Please check the %sREADME%s before changing this option."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:148
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:182
|
||||||
|
msgid "Please unset 'chain' or set 'chain' to 'PREROUTING' for policy '%s'"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:183
|
||||||
|
msgid "Please unset 'chain' or set 'chain' to 'prerouting' for policy '%s'"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:181
|
||||||
|
msgid "Please unset 'proto' or set 'proto' to 'all' for policy '%s'"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:180
|
||||||
|
msgid "Please unset 'src_addr', 'src_port' and 'dest_port' for policy '%s'"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:180
|
||||||
msgid "Policies"
|
msgid "Policies"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:195
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
|
||||||
msgid "Policy '%s' has an unknown interface!"
|
msgid "Policy '%s' has an unknown interface!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
|
||||||
msgid "Policy '%s' has no assigned interface!"
|
msgid "Policy '%s' has no assigned interface!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:193
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
|
||||||
msgid "Policy '%s' has no source/destination parameters!"
|
msgid "Policy '%s' has no source/destination parameters!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:33
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
|
||||||
msgid "Policy Based Routing - Configuration"
|
msgid "Policy Based Routing - Configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:116
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
|
||||||
msgid "Policy Based Routing - Status"
|
msgid "Policy Based Routing - Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -259,233 +288,251 @@ msgstr ""
|
||||||
msgid "Policy Routing"
|
msgid "Policy Routing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:196
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
|
||||||
msgid "Policy processing error (%s)!"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:185
|
|
||||||
msgid "Protocol"
|
msgid "Protocol"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:174
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
|
||||||
msgid "Remote addresses / domains"
|
msgid "Remote addresses / domains"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:179
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
|
||||||
msgid "Remote ports"
|
msgid "Remote ports"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:187
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:227
|
||||||
|
msgid "Resolver %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:210
|
||||||
msgid "Resolver set (%s) is not supported on this system!"
|
msgid "Resolver set (%s) is not supported on this system!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:160
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
|
||||||
msgid "Resolver set (%s) is not supported on this system."
|
msgid "Resolver set (%s) is not supported on this system."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
|
||||||
msgid ""
|
msgid ""
|
||||||
"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
|
"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:186
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
|
||||||
msgid ""
|
msgid ""
|
||||||
"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
|
"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:243
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
|
||||||
msgid "Restart"
|
msgid "Restart"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:239
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
|
||||||
msgid "Restarting %s service"
|
msgid "Restarting %s service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:99
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
|
||||||
msgid "Rule Create option"
|
msgid "Rule Create option"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:228
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
|
||||||
msgid ""
|
msgid ""
|
||||||
"Run the following user files after setting up but before restarting DNSMASQ. "
|
"Run the following user files after setting up but before restarting DNSMASQ. "
|
||||||
"See the %sREADME%s for details."
|
"See the %sREADME%s for details."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:121
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
|
||||||
msgid "Running (version: %s using iptables)"
|
msgid "Running (version: %s using iptables)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:124
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
|
||||||
msgid "Running (version: %s using nft)"
|
msgid "Running (version: %s using nft)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:127
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
|
||||||
msgid "Running (version: %s)"
|
msgid "Running (version: %s)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:52
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
|
||||||
msgid "See the %sREADME%s for details."
|
msgid "See the %sREADME%s for details."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
|
||||||
msgid "Select Add for -A/add and Insert for -I/Insert."
|
msgid "Select Add for -A/add and Insert for -I/Insert."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:300
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
|
||||||
msgid "Service Control"
|
msgid "Service Control"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
|
||||||
msgid "Service Errors"
|
msgid "Service Errors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:124
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:156
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:129
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:161
|
||||||
msgid "Service FW Mask"
|
msgid "Service FW Mask"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:148
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
|
||||||
msgid "Service Gateways"
|
msgid "Service Gateways"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:117
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
|
||||||
msgid "Service Status"
|
msgid "Service Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:164
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
|
||||||
msgid "Service Warnings"
|
msgid "Service Warnings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:218
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
|
||||||
msgid ""
|
msgid ""
|
||||||
"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
|
"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
|
||||||
"%sREADME%s for details."
|
"%sREADME%s for details."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:232
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:228
|
||||||
|
msgid "Skipping IPv6 policy '%s' as IPv6 support is disabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:264
|
||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:228
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
|
||||||
msgid "Starting %s service"
|
msgid "Starting %s service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
|
||||||
msgid ""
|
msgid ""
|
||||||
"Starting (WAN) FW Mark for marks used by the service. High starting mark is "
|
"Starting (WAN) FW Mark for marks used by the service. High starting mark is "
|
||||||
"used to avoid conflict with SQM/QoS. Change with caution together with"
|
"used to avoid conflict with SQM/QoS. Change with caution together with"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:116
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:148
|
||||||
msgid "Starting (WAN) Table ID number for tables created by the service."
|
msgid "Starting (WAN) Table ID number for tables created by the service."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:254
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:135
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
|
||||||
msgid "Stopped (Disabled)"
|
msgid "Stopped (Disabled)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:132
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
|
||||||
msgid "Stopped (version: %s)"
|
msgid "Stopped (version: %s)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:250
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
|
||||||
msgid "Stopping %s service"
|
msgid "Stopping %s service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:51
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
|
||||||
msgid "Strict enforcement"
|
msgid "Strict enforcement"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:55
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
|
||||||
msgid "Strictly enforce policies when their gateway is down"
|
msgid "Strictly enforce policies when their gateway is down"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:89
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
|
||||||
msgid "Supported Interfaces"
|
msgid "Supported Interfaces"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:144
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
|
||||||
msgid "Supported Protocols"
|
msgid "Supported Protocols"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:46
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
|
||||||
msgid "Suppress/No output"
|
msgid "Suppress/No output"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:200
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
|
||||||
msgid "Syntax error in custom user file '%s'!"
|
msgid "Syntax error in custom user file '%s'!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
|
||||||
msgid "The %s indicates default gateway. See the %sREADME%s for details."
|
msgid "The %s indicates default gateway. See the %sREADME%s for details."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:86
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:63
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:92
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:66
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
|
||||||
msgid "The %s is not supported on this system."
|
msgid "The %s is not supported on this system."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:189
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
|
||||||
msgid "The %s service failed to discover WAN gateway!"
|
msgid "The %s service failed to discover WAN gateway!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:188
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
|
||||||
msgid "The %s service is currently disabled!"
|
msgid "The %s service is currently disabled!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:190
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:83
|
||||||
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:89
|
||||||
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:95
|
||||||
|
msgid "The %s support is unknown."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:213
|
||||||
msgid "The ipset name '%s' is longer than allowed 31 characters!"
|
msgid "The ipset name '%s' is longer than allowed 31 characters!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:191
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
|
||||||
msgid "The nft set name '%s' is longer than allowed 31 characters!"
|
msgid "The nft set name '%s' is longer than allowed 31 characters!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:192
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
|
||||||
msgid "Unexpected exit or service termination: '%s'!"
|
msgid "Unexpected exit or service termination: '%s'!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
|
||||||
msgid "Unknown Error!"
|
msgid "Unknown Error!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:171
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
|
||||||
msgid "Unknown Warning!"
|
msgid "Unknown Warning!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:202
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:229
|
||||||
|
msgid "Unknown packet mark for interface '%s'"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:231
|
||||||
|
msgid "Unknown protocol in policy %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:225
|
||||||
msgid ""
|
msgid ""
|
||||||
"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
|
"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
|
||||||
"installed!"
|
"installed!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
|
||||||
msgid "Use resolver set support for domains"
|
msgid "Use resolver set support for domains"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:48
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
|
||||||
msgid "Verbose output"
|
msgid "Verbose output"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:153
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:163
|
||||||
msgid "WAN Table FW Mark"
|
msgid "WAN Table FW Mark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:115
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
|
||||||
msgid "WAN Table ID"
|
msgid "WAN Table ID"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:42
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
|
||||||
msgid "Web UI Configuration"
|
msgid "Web UI Configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:192
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:224
|
||||||
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:193
|
#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:225
|
||||||
msgid "all"
|
msgid "all"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
Loading…
Reference in a new issue