summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-pbr
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-pbr')
-rw-r--r--applications/luci-app-pbr/Makefile17
-rw-r--r--applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js358
-rw-r--r--applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js278
-rw-r--r--applications/luci-app-pbr/po/ar/pbr.po569
-rw-r--r--applications/luci-app-pbr/po/bg/pbr.po559
-rw-r--r--applications/luci-app-pbr/po/bn_BD/pbr.po550
-rw-r--r--applications/luci-app-pbr/po/ca/pbr.po556
-rw-r--r--applications/luci-app-pbr/po/cs/pbr.po562
-rw-r--r--applications/luci-app-pbr/po/da/pbr.po578
-rw-r--r--applications/luci-app-pbr/po/de/pbr.po779
-rw-r--r--applications/luci-app-pbr/po/el/pbr.po556
-rw-r--r--applications/luci-app-pbr/po/en/pbr.po547
-rw-r--r--applications/luci-app-pbr/po/es/pbr.po890
-rw-r--r--applications/luci-app-pbr/po/fi/pbr.po565
-rw-r--r--applications/luci-app-pbr/po/fr/pbr.po736
-rw-r--r--applications/luci-app-pbr/po/he/pbr.po551
-rw-r--r--applications/luci-app-pbr/po/hi/pbr.po550
-rw-r--r--applications/luci-app-pbr/po/hu/pbr.po587
-rw-r--r--applications/luci-app-pbr/po/it/pbr.po562
-rw-r--r--applications/luci-app-pbr/po/ja/pbr.po574
-rw-r--r--applications/luci-app-pbr/po/ko/pbr.po565
-rw-r--r--applications/luci-app-pbr/po/mr/pbr.po571
-rw-r--r--applications/luci-app-pbr/po/ms/pbr.po553
-rw-r--r--applications/luci-app-pbr/po/nb_NO/pbr.po581
-rw-r--r--applications/luci-app-pbr/po/pl/pbr.po865
-rw-r--r--applications/luci-app-pbr/po/pt/pbr.po784
-rw-r--r--applications/luci-app-pbr/po/pt_BR/pbr.po870
-rw-r--r--applications/luci-app-pbr/po/ro/pbr.po707
-rw-r--r--applications/luci-app-pbr/po/ru/pbr.po725
-rw-r--r--applications/luci-app-pbr/po/sk/pbr.po560
-rw-r--r--applications/luci-app-pbr/po/sv/pbr.po571
-rw-r--r--applications/luci-app-pbr/po/templates/pbr.pot546
-rw-r--r--applications/luci-app-pbr/po/tr/pbr.po708
-rw-r--r--applications/luci-app-pbr/po/uk/pbr.po566
-rw-r--r--applications/luci-app-pbr/po/vi/pbr.po553
-rw-r--r--applications/luci-app-pbr/po/zh_Hans/pbr.po724
-rw-r--r--applications/luci-app-pbr/po/zh_Hans/zh-cn/pbr.po553
-rw-r--r--applications/luci-app-pbr/po/zh_Hant/pbr.po719
-rw-r--r--applications/luci-app-pbr/po/zh_Hant/zh-tw/pbr.po550
-rw-r--r--applications/luci-app-pbr/root/etc/uci-defaults/40_luci-pbr4
-rwxr-xr-xapplications/luci-app-pbr/root/usr/libexec/rpcd/luci.pbr373
-rw-r--r--applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json15
-rw-r--r--applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json29
43 files changed, 23616 insertions, 0 deletions
diff --git a/applications/luci-app-pbr/Makefile b/applications/luci-app-pbr/Makefile
new file mode 100644
index 0000000000..1d7eeeddab
--- /dev/null
+++ b/applications/luci-app-pbr/Makefile
@@ -0,0 +1,17 @@
+# Copyright 2017-2022 Stan Grishin (stangri@melmac.ca)
+# This is free software, licensed under the GNU General Public License v3.
+
+include $(TOPDIR)/rules.mk
+
+PKG_LICENSE:=GPL-3.0-or-later
+PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
+PKG_VERSION:=1.0.1-10
+
+LUCI_TITLE:=Policy Based Routing Service Web UI
+LUCI_DESCRIPTION:=Provides Web UI for Policy Based Routing Service.
+LUCI_DEPENDS:=+luci-base +jsonfilter +pbr
+LUCI_PKGARCH:=all
+
+include ../../luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
diff --git a/applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js b/applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js
new file mode 100644
index 0000000000..dcb3c3ec50
--- /dev/null
+++ b/applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js
@@ -0,0 +1,358 @@
+// Copyright 2022 Stan Grishin <stangri@melmac.ca>
+// This code wouldn't have been possible without help from [@vsviridov](https://github.com/vsviridov)
+
+"require ui";
+"require rpc";
+"require uci";
+"require form";
+"require baseclass";
+
+var pkg = {
+ get Name() {
+ return "pbr";
+ },
+ get URL() {
+ return "https://docs.openwrt.melmac.net/" + pkg.Name + "/";
+ },
+};
+
+var getGateways = rpc.declare({
+ object: "luci." + pkg.Name,
+ method: "getGateways",
+ params: ["name"],
+});
+
+var getInitList = rpc.declare({
+ object: "luci." + pkg.Name,
+ method: "getInitList",
+ params: ["name"],
+});
+
+var getInitStatus = rpc.declare({
+ object: "luci." + pkg.Name,
+ method: "getInitStatus",
+ params: ["name"],
+});
+
+var getInterfaces = rpc.declare({
+ object: "luci." + pkg.Name,
+ method: "getInterfaces",
+ params: ["name"],
+});
+
+var getPlatformSupport = rpc.declare({
+ object: "luci." + pkg.Name,
+ method: "getPlatformSupport",
+ params: ["name"],
+});
+
+var _setInitAction = rpc.declare({
+ object: "luci." + pkg.Name,
+ method: "setInitAction",
+ params: ["name", "action"],
+ expect: { result: false },
+});
+
+var RPC = {
+ listeners: [],
+ on: function on(event, callback) {
+ var pair = { event: event, callback: callback }
+ this.listeners.push(pair);
+ return function unsubscribe() {
+ this.listeners = this.listeners.filter(function (listener) {
+ return listener !== pair;
+ });
+ }.bind(this);
+ },
+ emit: function emit(event, data) {
+ this.listeners.forEach(function (listener) {
+ if (listener.event === event) {
+ listener.callback(data);
+ }
+ });
+ },
+ getInitList: function getInitList(name) {
+ getInitList(name).then(function (result) {
+ this.emit('getInitList', result);
+ }.bind(this));
+ },
+ getInitStatus: function getInitStatus(name) {
+ getInitStatus(name).then(function (result) {
+ this.emit('getInitStatus', result);
+ }.bind(this));
+ },
+ getGateways: function getGateways(name) {
+ getGateways(name).then(function (result) {
+ this.emit('getGateways', result);
+ }.bind(this));
+ },
+ getPlatformSupport: function getPlatformSupport(name) {
+ getPlatformSupport(name).then(function (result) {
+ this.emit('getPlatformSupport', result);
+ }.bind(this));
+ },
+ getInterfaces: function getInterfaces(name) {
+ getInterfaces(name).then(function (result) {
+ this.emit('getInterfaces', result);
+ }.bind(this));
+ },
+ setInitAction: function setInitAction(name, action) {
+ _setInitAction(name, action).then(function (result) {
+ this.emit('setInitAction', result);
+ }.bind(this));
+ },
+}
+
+var status = baseclass.extend({
+ render: function () {
+ return Promise.all([
+ L.resolveDefault(getInitStatus(), {}),
+// L.resolveDefault(getGateways(), {}),
+ ]).then(function (data) {
+// var replyStatus = data[0];
+// var replyGateways = data[1];
+ var reply;
+ 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 statusTitle = E('label', { class: 'cbi-value-title' }, _("Service Status"));
+ if (reply.version) {
+ if (reply.running) {
+ if (reply.running_iptables) {
+ text = _("Running (version: %s using iptables)").format(reply.version);
+ }
+ else if (reply.running_nft) {
+ text = _("Running (version: %s using nft)").format(reply.version);
+ }
+ else {
+ text = _("Running (version: %s)").format(reply.version);
+ }
+ }
+ else {
+ if (reply.enabled) {
+ text = _("Stopped (version: %s)").format(reply.version);
+ }
+ else {
+ text = _("Stopped (Disabled)");
+ }
+ }
+ }
+ else {
+ text = _("Not installed or not found");
+ }
+ var statusText = E('div', {}, text);
+ var statusField = E('div', { class: 'cbi-value-field' }, statusText);
+ var statusDiv = E('div', { class: 'cbi-value' }, [statusTitle, statusField]);
+
+ var gatewaysDiv = [];
+ if (reply.gateways) {
+ var gatewaysTitle = E('label', { class: 'cbi-value-title' }, _("Service Gateways"));
+ text = _("The %s indicates default gateway. See the %sREADME%s for details.").format("<strong>✓</strong>",
+ "<a href=\"" + pkg.URL + "#a-word-about-default-routing \" target=\"_blank\">", "</a>")
+ var gatewaysDescr = E('div', { class: 'cbi-value-description' }, text);
+ var gatewaysText = E('div', {}, reply.gateways);
+ var gatewaysField = E('div', { class: 'cbi-value-field' }, [gatewaysText, gatewaysDescr]);
+ gatewaysDiv = E('div', { class: 'cbi-value' }, [gatewaysTitle, gatewaysField]);
+ }
+
+ var warningsDiv = [];
+ if (reply.warnings && reply.warnings.length) {
+ var textLabelsTable = {
+ 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."),
+ 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 text = "";
+ (reply.warnings).forEach(element => {
+ if (element.id && textLabelsTable[element.id]) {
+ if (element.id !== 'warningPolicyProcessCMD') {
+ text += (textLabelsTable[element.id]).format(element.extra || ' ') + "<br />";
+ }
+ }
+ else {
+ text += _("Unknown Warning!") + "<br />";
+ }
+ });
+ var warningsText = E('div', {}, text);
+ var warningsField = E('div', { class: 'cbi-value-field' }, warningsText);
+ warningsDiv = E('div', { class: 'cbi-value' }, [warningsTitle, warningsField]);
+ }
+
+ var errorsDiv = [];
+ if (reply.errors && reply.errors.length) {
+ var textLabelsTable = {
+ errorConfigValidation: _("Config (%s) validation failure!").format('/etc/config/' + pkg.Name),
+ errorNoIpFull: _("%s binary cannot be found!").format('ip-full'),
+ 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')),
+ 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')),
+ errorServiceDisabled: _("The %s service is currently disabled!").format(pkg.Name),
+ errorNoWanGateway: _("The %s service failed to discover WAN gateway!").format(pkg.Name),
+ errorIpsetNameTooLong: _("The ipset name '%s' is longer than allowed 31 characters!"),
+ errorNftsetNameTooLong: _("The nft set name '%s' is longer than allowed 31 characters!"),
+ errorUnexpectedExit: _("Unexpected exit or service termination: '%s'!"),
+ errorPolicyNoSrcDest: _("Policy '%s' has no source/destination parameters!"),
+ errorPolicyNoInterface: _("Policy '%s' has no assigned interface!"),
+ errorPolicyUnknownInterface: _("Policy '%s' has an unknown interface!"),
+ errorPolicyProcessCMD: _("%s"),
+ errorFailedSetup: _("Failed to set up '%s'!"),
+ errorFailedReload: _("Failed to reload '%s'!"),
+ errorUserFileNotFound: _("Custom user file '%s' not found or empty!"),
+ ererrorUserFileSyntax: _("Syntax error in 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!"),
+ 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"),
+ errorInterfaceRoutingEmptyValues: _("Received empty tid/mark or interface name when setting up routing"),
+ errorFailedToResolve: _("Failed to resolve %s"),
+ };
+ var errorsTitle = E('label', { class: 'cbi-value-title' }, _("Service Errors"));
+ var text = "";
+ (reply.errors).forEach(element => {
+ if (element.id && textLabelsTable[element.id]) {
+ if (element.id !== 'errorPolicyProcessCMD') {
+ text += (textLabelsTable[element.id]).format(element.extra || ' ') + "<br />";
+ }
+ }
+ else {
+ text += _("Unknown Error!") + "<br />";
+ }
+ });
+ var errorsText = E('div', {}, text);
+ var errorsField = E('div', { class: 'cbi-value-field' }, errorsText);
+ errorsDiv = E('div', { class: 'cbi-value' }, [errorsTitle, errorsField]);
+ }
+
+ var btn_gap = E('span', {}, '&#160;&#160;');
+ var btn_gap_long = E('span', {}, '&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;');
+
+ var btn_start = E('button', {
+ 'class': 'btn cbi-button cbi-button-apply',
+ disabled: true,
+ click: function (ev) {
+ ui.showModal(null, [
+ E('p', { 'class': 'spinning' }, _('Starting %s service').format(pkg.Name))
+ ]);
+ return RPC.setInitAction(pkg.Name, 'start');
+ }
+ }, _('Start'));
+
+ var btn_action = E('button', {
+ 'class': 'btn cbi-button cbi-button-apply',
+ disabled: true,
+ click: function (ev) {
+ ui.showModal(null, [
+ E('p', { 'class': 'spinning' }, _('Restarting %s service').format(pkg.Name))
+ ]);
+ return RPC.setInitAction(pkg.Name, 'restart');
+ }
+ }, _('Restart'));
+
+ var btn_stop = E('button', {
+ 'class': 'btn cbi-button cbi-button-reset',
+ disabled: true,
+ click: function (ev) {
+ ui.showModal(null, [
+ E('p', { 'class': 'spinning' }, _('Stopping %s service').format(pkg.Name))
+ ]);
+ return RPC.setInitAction(pkg.Name, 'stop');
+ }
+ }, _('Stop'));
+
+ var btn_enable = E('button', {
+ 'class': 'btn cbi-button cbi-button-apply',
+ disabled: true,
+ click: function (ev) {
+ ui.showModal(null, [
+ E('p', { 'class': 'spinning' }, _('Enabling %s service').format(pkg.Name))
+ ]);
+ return RPC.setInitAction(pkg.Name, 'enable');
+ }
+ }, _('Enable'));
+
+ var btn_disable = E('button', {
+ 'class': 'btn cbi-button cbi-button-reset',
+ disabled: true,
+ click: function (ev) {
+ ui.showModal(null, [
+ E('p', { 'class': 'spinning' }, _('Disabling %s service').format(pkg.Name))
+ ]);
+ return RPC.setInitAction(pkg.Name, 'disable');
+ }
+ }, _('Disable'));
+
+ if (reply.enabled) {
+ btn_enable.disabled = true;
+ btn_disable.disabled = false;
+ if (reply.running) {
+ btn_start.disabled = true;
+ btn_action.disabled = false;
+ btn_stop.disabled = false;
+ }
+ else {
+ btn_start.disabled = false;
+ btn_action.disabled = true;
+ btn_stop.disabled = true;
+ }
+ }
+ else {
+ btn_start.disabled = true;
+ btn_action.disabled = true;
+ btn_stop.disabled = true;
+ btn_enable.disabled = false;
+ btn_disable.disabled = true;
+ }
+
+ 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 buttonsField = E('div', { class: 'cbi-value-field' }, buttonsText);
+ if (reply.version) {
+ var buttonsDiv = E('div', { class: 'cbi-value' }, [buttonsTitle, buttonsField]);
+ }
+ else {
+ var buttonsDiv = [];
+ }
+
+ return E('div', {}, [header, statusDiv, gatewaysDiv, warningsDiv, errorsDiv, buttonsDiv]);
+ });
+ },
+});
+
+RPC.on('setInitAction', function (reply) {
+ ui.hideModal();
+ location.reload();
+});
+
+return L.Class.extend({
+ status: status,
+ getInterfaces: getInterfaces,
+ getPlatformSupport: getPlatformSupport
+});
diff --git a/applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js b/applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js
new file mode 100644
index 0000000000..e2d9d7b9b2
--- /dev/null
+++ b/applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js
@@ -0,0 +1,278 @@
+// Copyright 2022 Stan Grishin <stangri@melmac.ca>
+// This code wouldn't have been possible without help from [@vsviridov](https://github.com/vsviridov)
+
+'use strict';
+'require form';
+'require rpc';
+'require uci';
+'require view';
+'require pbr.status as pbr';
+
+var pkg = {
+ get Name() { return 'pbr'; },
+ get URL() { return 'https://docs.openwrt.melmac.net/' + pkg.Name + '/'; }
+};
+
+return view.extend({
+ load: function () {
+ return Promise.all([
+ uci.load(pkg.Name)
+ ]);
+ },
+
+ render: function () {
+ return Promise.all([
+ L.resolveDefault(pbr.getInterfaces(), {}),
+ L.resolveDefault(pbr.getPlatformSupport(), {}),
+ ]).then(function (data) {
+ var arrInterfaces;
+ var replyPlatform;
+ 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();
+ m = new form.Map(pkg.Name, _("Policy Based Routing - Configuration"));
+
+ s = m.section(form.NamedSection, 'config', pkg.Name);
+ s.tab("tab_basic", _("Basic Configuration"));
+ s.tab("tab_advanced", _("Advanced Configuration"),
+ _("%sWARNING:%s Please make sure to check the %sREADME%s before changing anything in this section! " +
+ "Change any of the settings below with extreme caution!%s").format(
+ "<br/>&#160;&#160;&#160;&#160;<b>", "</b>",
+ "<a href=\"" + pkg.URL + "#service-configuration-settings \" target=\"_blank\">", "</a>", "<br/><br/>"));
+ s.tab("tab_webui", _("Web UI Configuration"))
+
+ o = s.taboption("tab_basic", form.ListValue, "verbosity", _("Output verbosity"),
+ _("Controls both system log and console output verbosity."));
+ o.value("0", _("Suppress/No output"));
+ o.value("1", _("Condensed output"));
+ o.value("2", _("Verbose output"));
+ o.default = "2";
+
+ o = s.taboption("tab_basic", form.ListValue, "strict_enforcement", _("Strict enforcement"),
+ _("See the %sREADME%s for details.").format(
+ "<a href=\"" + pkg.URL + "#strict-enforcement\" target=\"_blank\">", "</a>"));
+ o.value("0", _("Do not enforce policies when their gateway is down"));
+ o.value("1", _("Strictly enforce policies when their gateway is down"));
+ o.default = "1";
+
+ var text = "";
+ 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 />"
+ }
+ 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 />"
+ }
+ 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 += _("Please check the %sREADME%s before changing this option.").format(
+ "<a href=\"" + pkg.URL + "#use-resolvers-set-support\" target=\"_blank\">", "</a>");
+ o = s.taboption("tab_basic", form.ListValue, "resolver_set", _("Use resolver set support for domains"), text);
+ o.value("none", _("Disabled"));
+ if (replyPlatform.adguardhome_ipset_support) {
+ o.value("adguardhome.ipset", _("AdGuardHome ipset"));
+ o.default = ("adguardhome.ipset", _("AdGuardHome ipset"));
+ }
+ if (replyPlatform.dnsmasq_ipset_support) {
+ o.value("dnsmasq.ipset", _("Dnsmasq ipset"));
+ o.default = ("dnsmasq.ipset", _("Dnsmasq ipset"));
+ }
+ if (replyPlatform.dnsmasq_nftset_support) {
+ o.value("dnsmasq.nftset", _("Dnsmasq nft set"));
+ o.default = ("dnsmasq.nftset", _("Dnsmasq nft set"));
+ }
+
+ o = s.taboption("tab_basic", form.ListValue, "ipv6_enabled", _("IPv6 Support"));
+ o.value("0", _("Disabled"));
+ o.value("1", _("Enabled"));
+
+ o = s.taboption("tab_advanced", form.DynamicList, "supported_interface", _("Supported Interfaces"),
+ _("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 have dev option other than tun* or tap*."));
+ o.optional = false;
+
+ o = s.taboption("tab_advanced", form.DynamicList, "ignored_interface", _("Ignored Interfaces"),
+ _("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 the router."));
+ o.optional = false;
+
+ o = s.taboption("tab_advanced", form.ListValue, "rule_create_option", _("Rule Create option"),
+ _("Select Add for -A/add and Insert for -I/Insert."));
+ o.value("add", _("Add"));
+ o.value("insert", _("Insert"));
+ o.default = "add";
+
+ o = s.taboption("tab_advanced", form.ListValue, "icmp_interface", _("Default ICMP Interface"),
+ _("Force the ICMP protocol interface."));
+ o.value("", _("No Change"));
+ arrInterfaces.forEach(element => {
+ if (element.toLowerCase() !== "ignore") {
+ o.value(element);
+ }
+ });
+ o.rmempty = true;
+
+ o = s.taboption("tab_advanced", form.Value, "wan_tid", _("WAN Table ID"),
+ _("Starting (WAN) Table ID number for tables created by the service."));
+ o.rmempty = true;
+ o.placeholder = "201";
+ o.datatype = "and(uinteger, min(201))";
+
+ o = s.taboption("tab_advanced", form.Value, "wan_mark", _("WAN Table FW Mark"),
+ _("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") +
+ " " + _("Service FW Mask") + ".");
+ o.rmempty = true;
+ o.placeholder = "010000";
+ o.datatype = "hexstring";
+
+ o = s.taboption("tab_advanced", form.Value, "fw_mask", _("Service FW Mask"),
+ _("FW Mask used by the service. High mask is used to avoid conflict with SQM/QoS. " +
+ "Change with caution together with") + " " + _("WAN Table FW Mark") + ".");
+ o.rmempty = true;
+ o.placeholder = "ff0000";
+ o.datatype = "hexstring";
+
+ o = s.taboption("tab_webui", form.ListValue, "webui_show_ignore_target", _("Add Ignore Target"),
+ _("Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for details.").format(
+ "<a href=\"" + pkg.URL + "#ignore-target\" target=\"_blank\">", "</a>"));
+ o.value("0", _("Disabled"))
+ o.value("1", _("Enabled"))
+ o.default = "0";
+ o.optional = false;
+
+ o = s.taboption("tab_webui", form.DynamicList, "webui_supported_protocol", _("Supported Protocols"),
+ _("Display these protocols in protocol column in Web UI."));
+ o.optional = false;
+
+ s = m.section(form.GridSection, 'policy', _('Policies'),
+ _("Name, interface and at least one other field are required. Multiple local and remote " +
+ "addresses/devices/domains and ports can be space separated. Placeholders below represent just " +
+ "the format/syntax and will not be used if fields are left blank."));
+ s.rowcolors = true;
+ s.sortable = true;
+ s.anonymous = true;
+ s.addremove = true;
+
+ o = s.option(form.Flag, "enabled", _("Enabled"));
+ o.default = "1";
+ o.editable = true;
+
+ o = s.option(form.Value, "name", _("Name"));
+
+ o = s.option(form.Value, "src_addr", _("Local addresses / devices"));
+ o.datatype = "list(neg(or(cidr,host,ipmask,ipaddr,macaddr,network)))";
+ o.rmempty = true;
+ o.default = "";
+
+ o = s.option(form.Value, "src_port", _("Local ports"));
+ o.datatype = "list(neg(or(portrange,port)))";
+ o.placeholder = "0-65535";
+ o.rmempty = true;
+ o.default = "";
+
+ o = s.option(form.Value, "dest_addr", _("Remote addresses / domains"));
+ o.datatype = "list(neg(or(cidr,host,ipmask,ipaddr,macaddr,network)))";
+ o.rmempty = true;
+ o.default = "";
+
+ o = s.option(form.Value, "dest_port", _("Remote ports"));
+ o.datatype = "list(neg(or(portrange,port)))";
+ o.placeholder = "0-65535";
+ o.rmempty = true;
+ o.default = "";
+
+ o = s.option(form.ListValue, "proto", _("Protocol"));
+ var proto = L.toArray(uci.get(pkg.Name, "config", "webui_supported_protocol"));
+ if (!proto.length) {
+ proto = ["all", "tcp", "udp", "tcp udp", "icmp"]
+ }
+ proto.forEach(element => {
+ if (element === "all") {
+ o.value("", _("all"));
+ o.default = ("", _("all"));
+ }
+ else {
+ o.value(element.toLowerCase());
+ }
+ });
+ o.rmempty = true;
+
+ o = s.option(form.ListValue, "chain", _("Chain"));
+ o.value("", "prerouting");
+ o.value("forward", "forward");
+ o.value("input", "input");
+ o.value("output", "output");
+ o.value("postrouting", "postrouting");
+ o.default = ("", "prerouting");
+ o.rmempty = true;
+
+ o = s.option(form.ListValue, "interface", _("Interface"));
+ arrInterfaces.forEach(element => {
+ o.value(element);
+ });
+ o.datatype = "network";
+ o.rmempty = false;
+
+ s = m.section(form.NamedSection, 'config', pkg.Name, _("DSCP Tagging"),
+ _("Set DSCP tags (in range between 1 and 63) for specific interfaces. See the %sREADME%s for details.").format(
+ "<a href=\"" + pkg.URL + "#dscp-tag-based-policies" + "\" target=\"_blank\">", "</a>"));
+ arrInterfaces.forEach(element => {
+ if (element.toLowerCase() !== "ignore") {
+ o = s.option(form.Value, element + "_dscp", element.toUpperCase() + " " + _("DSCP Tag"));
+ o.datatype = "and(uinteger, min(1), max(63))";
+ }
+ });
+
+ s = m.section(form.GridSection, 'include', _("Custom User File Includes"),
+ _("Run the following user files after setting up but before restarting DNSMASQ. " +
+ "See the %sREADME%s for details.").format(
+ "<a href=\"" + pkg.URL + "#custom-user-files\" target=\"_blank\">", "</a>"));
+ s.sortable = true;
+ s.anonymous = true;
+ s.addremove = true;
+
+ o = s.option(form.Flag, "enabled", _("Enabled"));
+ o.optional = false;
+ o.editable = true;
+
+ o = s.option(form.Value, "path", _("Path"));
+ o.optional = false;
+ o.editable = true;
+
+ return Promise.all([status.render(), m.render()]);
+ })
+ }
+});
diff --git a/applications/luci-app-pbr/po/ar/pbr.po b/applications/luci-app-pbr/po/ar/pbr.po
new file mode 100644
index 0000000000..48c8905326
--- /dev/null
+++ b/applications/luci-app-pbr/po/ar/pbr.po
@@ -0,0 +1,569 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-10-22 18:07+0000\n"
+"Last-Translator: Abdullah AlShaikh <abdullah@alshai5.com>\n"
+"Language-Team: Arabic <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/ar/>\n"
+"Language: ar\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
+"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
+"X-Generator: Weblate 4.14.2-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "سلسلة"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "تعطيل"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "غير مفعل"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "شغل"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "مفعل"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "واجهه"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr "اسم"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "مسار"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "بروتوكول"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "إعادة تشغيل"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr "بداية"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "قف"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "%s (disabled)"
+#~ msgstr "%s (غير مفعّل)"
+
+#~ msgid "Comment"
+#~ msgstr "تعليق"
+
+#~ msgid "Configuration"
+#~ msgstr "إعدادات"
+
+#~ msgid "Loading"
+#~ msgstr "جار التحميل"
+
+#~ msgid "Running"
+#~ msgstr "قيد التشغيل"
+
+#~ msgid "Stopped"
+#~ msgstr "توقفت"
+
+#~ msgid "VPN"
+#~ msgstr "شبكة خاصة افتراضية VPN"
diff --git a/applications/luci-app-pbr/po/bg/pbr.po b/applications/luci-app-pbr/po/bg/pbr.po
new file mode 100644
index 0000000000..b215b7a86e
--- /dev/null
+++ b/applications/luci-app-pbr/po/bg/pbr.po
@@ -0,0 +1,559 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2021-09-22 00:01+0000\n"
+"Last-Translator: Iskren Mihaylov <iskren.mihaylov91@gmail.com>\n"
+"Language-Team: Bulgarian <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/bg/>\n"
+"Language: bg\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.9-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "Чейн"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "Забрани"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Забранен"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Разрешаване"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Разрешен"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Интерфейс"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Протокол"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "Comment"
+#~ msgstr "Коментар"
+
+#~ msgid "Configuration"
+#~ msgstr "Конфигурация"
+
+#~ msgid "Loading"
+#~ msgstr "Зареждане"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
diff --git a/applications/luci-app-pbr/po/bn_BD/pbr.po b/applications/luci-app-pbr/po/bn_BD/pbr.po
new file mode 100644
index 0000000000..4c533b00a4
--- /dev/null
+++ b/applications/luci-app-pbr/po/bn_BD/pbr.po
@@ -0,0 +1,550 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2021-10-08 17:53+0000\n"
+"Last-Translator: Rayhan Nabi <rayhanjanam@gmail.com>\n"
+"Language-Team: Bengali (Bangladesh) <https://hosted.weblate.org/projects/"
+"openwrt/luciapplicationspbr/bn_BD/>\n"
+"Language: bn_BD\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.9-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr ""
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "নিষ্ক্রিয়"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "সক্রিয় করুন"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "সক্রিয়"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "ইন্টারফেস"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "প্রোটোকল"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr "শুরু করুন"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "Configuration"
+#~ msgstr "কনফিগারেশন"
diff --git a/applications/luci-app-pbr/po/ca/pbr.po b/applications/luci-app-pbr/po/ca/pbr.po
new file mode 100644
index 0000000000..0d393662d8
--- /dev/null
+++ b/applications/luci-app-pbr/po/ca/pbr.po
@@ -0,0 +1,556 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-07-25 17:15+0000\n"
+"Last-Translator: dtalens <databio@gmail.com>\n"
+"Language-Team: Catalan <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/ca/>\n"
+"Language: ca\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.14-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr ""
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr ""
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Activat"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Interfície"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Camí"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "Reiniciar"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "Comment"
+#~ msgstr "Commentari"
+
+#~ msgid "Configuration"
+#~ msgstr "Configuració"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
diff --git a/applications/luci-app-pbr/po/cs/pbr.po b/applications/luci-app-pbr/po/cs/pbr.po
new file mode 100644
index 0000000000..86210e519a
--- /dev/null
+++ b/applications/luci-app-pbr/po/cs/pbr.po
@@ -0,0 +1,562 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2021-04-09 08:05+0000\n"
+"Last-Translator: Pavel Pernička <pernicka.pa@gmail.com>\n"
+"Language-Team: Czech <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/cs/>\n"
+"Language: cs\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Generator: Weblate 4.6-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr ""
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Povolit"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Zapnuto"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Rozhraní"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Protokol"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr "Start"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "Zastavit"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "%s (disabled)"
+#~ msgstr "%s (zakázáno)"
+
+#~ msgid "%s (strict mode)"
+#~ msgstr "%s (přísný režim)"
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s není nainstalován nebo nenalezen"
+
+#~ msgid "Configuration"
+#~ msgstr "Nastavení"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
diff --git a/applications/luci-app-pbr/po/da/pbr.po b/applications/luci-app-pbr/po/da/pbr.po
new file mode 100644
index 0000000000..a439351465
--- /dev/null
+++ b/applications/luci-app-pbr/po/da/pbr.po
@@ -0,0 +1,578 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-01-01 13:21+0000\n"
+"Last-Translator: drax red <drax@outlook.dk>\n"
+"Language-Team: Danish <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/da/>\n"
+"Language: da\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.15.1-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "Avanceret konfiguration"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr "Grundlæggende konfiguration"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr "Konfig (%s) valideringsfejl!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr ""
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Deaktiveret"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr "Deaktiverer %s tjenesten"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Aktiver"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Aktiveret"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr "Aktiverer %s tjeneste"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "IPv6-understøttelse"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Interface"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr "Navn"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr "Ikke installeret eller ikke fundet"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Sti"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Protokol"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "Genstart"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr "Kontrol af tjenesten"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr "Fejl i tjenesten"
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "Tjenestestatus"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr "Tjeneste Advarsler"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr "Start"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr "Starter %s tjeneste"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "Stop"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr "Stopper tjenesten %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr "Tjenesten %s kunne ikke finde WAN gatewayen!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr "Verbose output"
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "%s (disabled)"
+#~ msgstr "%s (deaktiveret)"
+
+#~ msgid "%s (strict mode)"
+#~ msgstr "%s (streng tilstand)"
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s er ikke installeret eller ikke fundet"
+
+#~ msgid "Add IGNORE Target"
+#~ msgstr "Tilføj IGNORE Target"
+
+#~ msgid ""
+#~ "Adds `IGNORE` to the list of interfaces for policies, allowing you to "
+#~ "skip further processing by VPN Policy Routing."
+#~ msgstr ""
+#~ "Tilføjer `IGNORE` til listen over interfaces for politikker, så du kan "
+#~ "springe yderligere behandling af VPN Policy Routing over."
+
+#~ msgid "Loading"
+#~ msgstr "Indlæser"
+
+#~ msgid "Service Status [%s %s]"
+#~ msgstr "Tjenestestatus [%s %s]"
+
+#~ msgid "Stopped"
+#~ msgstr "Stoppet"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
diff --git a/applications/luci-app-pbr/po/de/pbr.po b/applications/luci-app-pbr/po/de/pbr.po
new file mode 100644
index 0000000000..abcc999b2e
--- /dev/null
+++ b/applications/luci-app-pbr/po/de/pbr.po
@@ -0,0 +1,779 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-01-01 13:21+0000\n"
+"Last-Translator: ssantos <ssantos@web.de>\n"
+"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/de/>\n"
+"Language: de\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.15.1-dev\n"
+
+#: 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"
+msgstr "%s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr "%s binary kann nicht gefunden werden!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+msgstr ""
+"%sWARNUNG.%s Bitte lies die %sREADME%s bevor du diesen Abschnitt "
+"bearbeitest! Ändere alle Einstellungen mit extremer Vorsicht!%s"
+
+#: 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:106
+msgid "AdGuardHome ipset"
+msgstr "AdGuardHome-ipset"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr "Hinzufügen"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr "Ziel ignorieren hinzufügen"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+"Fügt \"ignore\" zur Liste der Schnittstellen für Richtlinien hinzu. Siehe "
+"die %sREADME%s für Details."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "Erweiterte Konfiguration"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+"Ermöglicht die Angabe der Liste der Schnittstellennamen (in "
+"Kleinbuchstaben), die vom Dienst explizit unterstützt werden sollen. Es kann "
+"nützlich sein, wenn deine OpenVPN-Tunnel eine andere dev-Option als tun* "
+"oder tap* haben."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+"Ermöglicht die Liste der Schnittstellennamen (in Kleinbuchstaben), die vom "
+"Dienst ignoriert werden sollen, anzugeben. Es kann nützlich sein, sowohl VPN-"
+"Server als auch VPN-Client auf dem Router auszuführen."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr "Grundlegende Konfiguration"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "Kette"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr "Gekürzte Ausgabe"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr "Validierungsfehler der Konfiguration (%s)!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr "Steuert die Ausführlichkeit der Systemprotokoll- und Konsolenausgabe."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr "Benutzerdefinierte Datei enthält"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr "Benutzerdefinierte Datei '%s' kann nicht gefunden werden oder ist leer!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr "DSCP-Tag"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr "DSCP-Tagging"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr "Standard ICMP Schnittstelle"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "Deaktivieren"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Deaktiviert"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr "Deaktiviere Service %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+"Diese Protokolle in der Protokollspalte der Web-Benutzeroberfläche anzeigen."
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr "Dnsmasq ipset"
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr "Dnsmasq nft set"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+"Ignoriere bestehende Regeln, wenn das dazugehörige Gateway nicht erreichbar "
+"ist"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Aktivieren"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Aktiviert"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr "Aktiviere Service %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr "Fehler bei Ausführung der benutzerdefinierten Datei '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+"FW-Maske wird vom Dienst benutzt. Hoch-Maske verhindert Konflikte mit SQM/"
+"QoS. Behutsam ändern zusammen mit"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr "'%s' konnte nicht neu geladen werden!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr "'%s' konnte nicht eingerichtet werden!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr "Es konnte kein Gateway eingerichtet werden!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr "Erzwinge die ICMP-Protokoll-Schnittstelle."
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr "UCI- und Dateizugriff für luci-app-pbr gewähren"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "IPv6 Unterstützung"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr "Ignorierte Schnittstelle"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr "Einsetzen"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:233
+msgid "Insertion failed for IPv4 for policy %s"
+msgstr "Fehler beim Einfügen für IPv4 für Richtlinie %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:232
+msgid "Insertion failed for both IPv4 and IPv6 for policy %s"
+msgstr "Fehler beim Einfügen für IPv4 und IPv6 für Richtlinie %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:178
+msgid "Installed AdGuardHome (%s) doesn't support 'ipset_file' option."
+msgstr ""
+"Das installierte AdGuardHome (%s) unterstützt die Option 'ipset_file' nicht."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Schnittstelle"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr "Lokale Adressen / Geräte"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr "Lokale Ports"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:230
+#, fuzzy
+msgid "Mismatched IP family between in policy %s"
+msgstr "Nicht übereinstimmende IP-Familie zwischen in Richtlinie %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:193
+msgid "Name"
+msgstr "Name"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+"Name, Schnittstelle und mindestens ein weiteres Feld sind erforderlich. "
+"Mehrere lokale und entfernte Adressen/Geräte/Domänen und Ports können durch "
+"Leerzeichen getrennt werden. Die Platzhalter unten geben nur das Format/die "
+"Syntax an und werden nicht verwendet, wenn Felder leer gelassen werden."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr "Keine Änderung"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr "Nicht installiert oder nicht gefunden"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr "Ausführlichkeit der Ausgabe"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Pfad"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr "Vor Änderung dieser Einstellung %sREADME%s lesen."
+
+#: 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 ""
+"Bitte deaktivieren Sie 'chain' oder setzen Sie 'chain' auf 'PREROUTING' für "
+"die Richtlinie '%s'"
+
+#: 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 ""
+"Bitte deaktivieren Sie 'chain' oder setzen Sie 'chain' auf 'prerouting' für "
+"die Richtlinie '%s'"
+
+#: 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 ""
+"Bitte deaktivieren Sie 'proto' oder setzen Sie 'proto' auf 'all' für die "
+"Richtlinie '%s'"
+
+#: 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 ""
+"Deaktivieren Sie 'src_addr', 'src_port' und 'dest_port' für die Richtlinie "
+"'%s'"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:180
+msgid "Policies"
+msgstr "Richtlinien"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr "Richtlinie '%s' hat eine unbekannte Schnittstelle!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr "Richtlinie '%s' hat keine zugewiesene Schnittstelle!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr "Richtlinie '%s' hat keine Quell-/Zielparameter!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr "Richtlinienbasiertes Routing - Konfiguration"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr "Richtlinienbasiertes Routing – Status"
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr "Richtlinien-Routing"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Protokoll"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr "Entfernte Adressen / Domänen"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr "Entfernte Ports"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:227
+msgid "Resolver %s"
+msgstr "Resolver %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:210
+msgid "Resolver set (%s) is not supported on this system!"
+msgstr "Resolver-Set (%s) wird auf diesem System nicht unterstützt!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr "Resolver-Set (%s) wird auf diesem System nicht unterstützt."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+"Resolver-Set-Unterstützung (%s) erfordert ipset, aber ipset binary kann "
+"nicht gefunden werden!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+"Resolver-Set-Unterstützung (%s) erfordert nftables, aber nft-Binary kann "
+"nicht gefunden werden!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "Neustart"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr "Neustart des Dienstes %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr "Regelerstellungsoption"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+"Führen Sie die folgenden Benutzerdateien nach dem Einrichten, aber vor dem "
+"Neustart von DNSMASQ aus. Siehe %sREADME%s für Details."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr "Läuft (Version: %s unter Verwendung von iptables)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr "Läuft (Version: %s unter Verwendung von nft)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr "Läuft (Version: %s)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr "Siehe %sREADME%s für Details."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr "Wählen Sie Hinzufügen für -A/add und Einfügen für -I/Insert."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr "Dienstverwaltung"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr "Dienstfehler"
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr "Dienst FW-Maske"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr "Dienst-Gateways"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "Dienststatus"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr "Dienstwarnungen"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+"Setzen Sie DSCP-Tags (im Bereich zwischen 1 und 63) für bestimmte "
+"Schnittstellen. Siehe %sREADME%s für Details."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:228
+msgid "Skipping IPv6 policy '%s' as IPv6 support is disabled"
+msgstr ""
+"Die IPv6-Richtlinie '%s' wird übersprungen, da die IPv6-Unterstützung "
+"deaktiviert ist"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:264
+msgid "Start"
+msgstr "Start"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr "Dienst %s wird gestartet"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+"(WAN) FW Markierungen für die vom Dienst verwendete Markierungen. Eine hohe "
+"Startmarkierung wird verwendet, um Konflikte mit SQM/QoS zu vermeiden. "
+"Ändern Sie diese mit Bedacht zusammen mit"
+
+#: 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."
+msgstr ""
+"Anfangs- (WAN) Tabellen-ID-Nummer für die vom Dienst erstellten Tabellen."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "Stopp"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr "Angehalten (deaktiviert)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr "Angehalten (Version: %s)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr "Dienst %s wird angehalten"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr "Strikte Durchsetzung"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+"Strenge Durchsetzung von Richtlinien, wenn deren Gateway ausgefallen ist"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr "Unterstützte Schnittstellen"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr "Unterstützte Protokolle"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr "Ausgabe unterdrücken/Keine Ausgabe"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr "Syntaxfehler in benutzerdefinierter Benutzerdatei '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr "Das %s steht für das Standard-Gateway. Siehe %sREADME%s für Details."
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr "%s wird auf diesem System nicht unterstützt."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr "Der %s-Dienst konnte das WAN-Gateway nicht erkennen!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr "Der %s-Dienst ist derzeit deaktiviert!"
+
+#: 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 "Die %s-Unterstützung ist unbekannt."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:213
+msgid "The ipset name '%s' is longer than allowed 31 characters!"
+msgstr "Der ipset-Name '%s' ist länger als die erlaubten 31 Zeichen!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr "Der nft-Set-Name '%s' ist länger als die erlaubten 31 Zeichen!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr "Unerwartete Beendigung oder Abbruch des Dienstes: '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr "Unbekannter Fehler!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr "Unbekannte Warnung!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:229
+msgid "Unknown packet mark for interface '%s'"
+msgstr "Unbekannte Paketmarkierung für Schnittstelle '%s'"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:231
+msgid "Unknown protocol in policy %s"
+msgstr "Unbekanntes Protokoll in Richtlinie %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:225
+msgid ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+"Die Verwendung von 'curl' wird in der benutzerdefinierten Benutzerdatei '%s' "
+"erkannt, aber 'curl' ist nicht installiert!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr "Unterstützung von Resolver-Sets für Domänen verwenden"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr "Ausführliche Ausgabe"
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr "WAN-Tabellen-FW-Markierung"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr "WAN-Tabellen-ID"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr "Web-UI-Konfiguration"
+
+#: 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:225
+msgid "all"
+msgstr "alle"
+
+#~ msgid "%s (disabled)"
+#~ msgstr "%s (deaktiviert)"
+
+#~ msgid "%s (strict mode)"
+#~ msgstr "%s (Strikter Modus)"
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s ist nicht installiert oder konnte nicht gefunden werden"
+
+#~ msgid "Add IGNORE Target"
+#~ msgstr "IGNORE-Ziel hinzufügen"
+
+#~ msgid ""
+#~ "Adds `IGNORE` to the list of interfaces for policies, allowing you to "
+#~ "skip further processing by VPN Policy Routing."
+#~ msgstr ""
+#~ "Fügt `IGNORE` zur Liste der Schnittstellen für Richtlinien hinzu, so dass "
+#~ "Sie die weitere Verarbeitung durch VPN Policy Routing überspringen können."
+
+#~ msgid "Append"
+#~ msgstr "Anhängen"
+
+#~ msgid "Boot Time-out"
+#~ msgstr "Boot-Timeout"
+
+#~ msgid "Comment"
+#~ msgstr "Kommentar"
+
+#~ msgid ""
+#~ "Comment, interface and at least one other field are required. Multiple "
+#~ "local and remote addresses/devices/domains and ports can be space "
+#~ "separated. Placeholders below represent just the format/syntax and will "
+#~ "not be used if fields are left blank."
+#~ msgstr ""
+#~ "Kommentar, Schnittstelle und mindestens ein weiteres Feld sind "
+#~ "erforderlich. Mehrere lokale und entfernte Adressen/Geräte/Domänen und "
+#~ "Ports können durch Leerzeichen getrennt werden. Die Platzhalter unten "
+#~ "stellen nur das Format/die Syntax dar und werden nicht verwendet, wenn "
+#~ "Felder leer gelassen werden."
+
+#~ msgid "Configuration"
+#~ msgstr "Konfiguration"
+
+#~ msgid "DNSMASQ ipset"
+#~ msgstr "DNSMASQ-ipset"
+
+#~ msgid "Grant UCI and file access for luci-app-vpn-policy-routing"
+#~ msgstr "UCI- und Dateizugriff für luci-app-vpn-policy-routing gewähren"
+
+#~ msgid "IPTables rule option"
+#~ msgstr "IP-Tabellenregel-Option"
+
+#~ msgid "Loading"
+#~ msgstr "Lade"
+
+#~ msgid "Running"
+#~ msgstr "Laufend"
+
+#~ msgid "Select Append for -A and Insert for -I."
+#~ msgstr "Wählen Sie Anhängen für -A und Einfügen für -I."
+
+#~ msgid "Service Status [%s %s]"
+#~ msgstr "Servicestatus [%s %s]"
+
+#~ msgid "Show Chain Column"
+#~ msgstr "Kettenspalte anzeigen"
+
+#~ msgid "Show Enable Column"
+#~ msgstr "Aktivierungsspalte anzeigen"
+
+#~ msgid "Show Protocol Column"
+#~ msgstr "Protokollspalte anzeigen"
+
+#~ msgid "Show Up/Down Buttons"
+#~ msgstr "Auf/Ab-Schaltflächen anzeigen"
+
+#~ msgid ""
+#~ "Shows the Up/Down buttons for policies, allowing you to move a policy up "
+#~ "or down in the list."
+#~ msgstr ""
+#~ "Zeigt die Schaltflächen Auf/Ab für Richtlinien an, mit denen Sie eine "
+#~ "Richtlinie in der Liste nach oben oder unten verschieben können."
+
+#~ msgid ""
+#~ "Shows the chain column for policies, allowing you to assign a PREROUTING, "
+#~ "FORWARD, INPUT or OUTPUT chain to a policy."
+#~ msgstr ""
+#~ "Zeigt die Kettenspalte für Richtlinien an, so dass Sie einer Richtlinie "
+#~ "eine PREROUTING-, FORWARD-, INPUT- oder OUTPUT-Kette zuweisen können."
+
+#~ msgid ""
+#~ "Shows the enable checkbox column for policies, allowing you to quickly "
+#~ "enable/disable specific policy without deleting it."
+#~ msgstr ""
+#~ "Zeigt die Spalte mit den aktivierten Kontrollkästchen für Richtlinien an, "
+#~ "so dass Sie eine bestimmte Richtlinie schnell aktivieren/deaktivieren "
+#~ "können, ohne sie zu löschen."
+
+#~ msgid ""
+#~ "Shows the protocol column for policies, allowing you to assign a specific "
+#~ "protocol to a policy."
+#~ msgstr ""
+#~ "Zeigt die Protokollspalte für Richtlinien an, so dass Sie einer "
+#~ "Richtlinie ein bestimmtes Protokoll zuweisen können."
+
+#~ msgid "Stopped"
+#~ msgstr "Angehalten"
+
+#~ msgid "The ipset option for local policies"
+#~ msgstr "Die Option ipset für lokale Richtlinien"
+
+#~ msgid "The ipset option for remote policies"
+#~ msgstr "Die Option ipset für entfernte Richtlinien"
+
+#~ msgid ""
+#~ "Time (in seconds) for service to wait for WAN gateway discovery on boot."
+#~ msgstr ""
+#~ "Zeit (in Sekunden), die der Dienst beim Booten auf die Erkennung des WAN-"
+#~ "Gateways wartet."
+
+#, fuzzy
+#~ msgid "Use ipset command"
+#~ msgstr "Verwenden Sie den Befehl ipset"
+
+#, fuzzy
+#~ msgid "Use resolver's ipset for domains"
+#~ msgstr "Verwenden Sie das ipset des Resolvers für Domänen"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
+
+#~ msgid "VPN Policy Routing"
+#~ msgstr "VPN-Richtlinien-Routing"
+
+#~ msgid "VPN and WAN Policy-Based Routing"
+#~ msgstr "Richtlinienbasiertes VPN- und WAN-Routing"
+
+#~ msgid "WAN"
+#~ msgstr "WAN"
+
+#, fuzzy
+#~ msgid ""
+#~ "Add an ip rule, not an iptables entry for policies with just the local "
+#~ "address. Use with caution to manipulte policies priorities."
+#~ msgstr ""
+#~ "Füge eine IP Regel, nicht einen iptables Eintrag als Regel mit "
+#~ "ausschließlich lokalen Adressen hinzu. Ändere die Prioritäten der Regeln "
+#~ "mit Vorischt."
+
+#~ msgid "Append local IP Tables rules"
+#~ msgstr "Fügt lokale IP-Tabellen hinzu"
+
+#~ msgid "Append remote IP Tables rules"
+#~ msgstr "Fügt entfernte IP-Tabellen hinzu"
+
+#~ msgid "IP Rules Support"
+#~ msgstr "IP-Regeln Unterstützung"
+
+#~ msgid ""
+#~ "Checkmark represents the default gateway. See the %sREADME%s for details."
+#~ msgstr ""
+#~ "Ein Haken steht für den Standardgateway. Lies die %sREADME%s für "
+#~ "Einzelheiten."
+
+#~ msgid "Grant UCI access for luci-app-vpn-policy-routing"
+#~ msgstr "Gewähre UCI Zugriff auf luci-app-vpn-policy-routing"
+
+#~ msgid "(strict mode)"
+#~ msgstr "(strikter Modus)"
+
+#~ msgid "Checkmark represents the default gateway. See the"
+#~ msgstr "Häkchen stellt das Standardgateway dar. Siehe die"
+
+#~ msgid "README"
+#~ msgstr "README"
+
+#~ msgid "Reload"
+#~ msgstr "Neu laden"
+
+#~ msgid "for details."
+#~ msgstr "für Einzelheiten."
+
+#~ msgid "is not installed or not found"
+#~ msgstr "ist nicht installiert oder nicht gefunden"
diff --git a/applications/luci-app-pbr/po/el/pbr.po b/applications/luci-app-pbr/po/el/pbr.po
new file mode 100644
index 0000000000..e4f20fceb4
--- /dev/null
+++ b/applications/luci-app-pbr/po/el/pbr.po
@@ -0,0 +1,556 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-10-03 08:34+0000\n"
+"Last-Translator: TakissX <pxatzidakis@gmail.com>\n"
+"Language-Team: Greek <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/el/>\n"
+"Language: el\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.14.1\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "Αλυσίδα"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr ""
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Ενεργοποίηση"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Ενεργοποιήθηκε"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Διεπαφή"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr "Ονομα"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Διαδρομή"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Πρωτόκολλο"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "Comment"
+#~ msgstr "Σχόλιο"
+
+#~ msgid "Configuration"
+#~ msgstr "Διαμόρφωση"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
diff --git a/applications/luci-app-pbr/po/en/pbr.po b/applications/luci-app-pbr/po/en/pbr.po
new file mode 100644
index 0000000000..57ac5275ae
--- /dev/null
+++ b/applications/luci-app-pbr/po/en/pbr.po
@@ -0,0 +1,547 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-07-03 10:18+0000\n"
+"Last-Translator: Hannu Nyman <hannu.nyman@iki.fi>\n"
+"Language-Team: English <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/en/>\n"
+"Language: en\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.13.1-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr ""
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr ""
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Enabled"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
diff --git a/applications/luci-app-pbr/po/es/pbr.po b/applications/luci-app-pbr/po/es/pbr.po
new file mode 100644
index 0000000000..633033c2b2
--- /dev/null
+++ b/applications/luci-app-pbr/po/es/pbr.po
@@ -0,0 +1,890 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2022-12-28 07:01+0000\n"
+"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
+"Language-Team: Spanish <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/es/>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.15.1-dev\n"
+
+#: 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"
+msgstr "%s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr "¡No se puede encontrar el binario %s!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+msgstr ""
+"%sADVERTENCIA:%s ¡Asegúrese de verificar %sREADME%s antes de cambiar "
+"cualquier cosa en esta sección! ¡Cambie cualquiera de las configuraciones a "
+"continuación con extrema precaución!%S"
+
+#: 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:106
+#, fuzzy
+msgid "AdGuardHome ipset"
+msgstr "Conjunto de ip de AdGuardHome"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr "Añadir"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr "Añadir ignorar objetivo"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+"Agrega 'ignorar' a la lista de interfaces para políticas. Vea el %sREADME%s "
+"para más detalles."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "Configuración avanzada"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+"Permite especificar la lista de nombres de interfaz (en minúsculas) que el "
+"servicio debe admitir explícitamente. Puede ser útil si sus túneles OpenVPN "
+"tienen una opción de desarrollo que no sea tun* o tap*."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+"Permite especificar la lista de nombres de interfaz (en minúsculas) que el "
+"servicio debe ignorar. Puede ser útil si ejecuta tanto el servidor VPN como "
+"el cliente VPN en el enrutador."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr "Configuración básica"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "Cadena"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr "Salida condensada"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr "¡Error de validación de configuración (%s)!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+"Controla el registro del sistema y la verbosidad de salida de la consola."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr "El archivo de usuario personalizado incluye"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr "¡No se encontró el archivo de usuario personalizado '%s' o está vacío!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr "Etiqueta DSCP"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr "Etiquetado DSCP"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr "Interfaz ICMP predeterminada"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "Desactivar"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Desactivado"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr "Desactivando el servicio %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr "Mostrar estos protocolos en la columna de protocolo en la Web UI."
+
+#: 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:110
+#, fuzzy
+msgid "Dnsmasq ipset"
+msgstr "Dnsmasq ipset"
+
+#: 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:114
+#, fuzzy
+msgid "Dnsmasq nft set"
+msgstr "conjunto nft dnsmasq"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr "No aplique políticas cuando su puerta de enlace esté inactiva"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Activar"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Activado"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr "Activando el servicio %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr "¡Error al ejecutar el archivo de usuario personalizado '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+"FW Mask utilizada por el servicio. La máscara alta se usa para evitar "
+"conflictos con SQM/QoS. Cambiar con precaución junto con"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr "¡Error al recargar '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr "¡Error al configurar '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr "¡No se pudo configurar ninguna puerta de enlace!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr "Forzar la interfaz del protocolo ICMP."
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+#, fuzzy
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr "Otorgar acceso UCI y a archivos para luci-app-pbr"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "Soporte IPv6"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr "Interfaces ignoradas"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr "Insertar"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:233
+msgid "Insertion failed for IPv4 for policy %s"
+msgstr "La inserción falló para IPv4 para la política %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:232
+msgid "Insertion failed for both IPv4 and IPv6 for policy %s"
+msgstr "La inserción falló tanto para IPv4 como para IPv6 para la política %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:178
+msgid "Installed AdGuardHome (%s) doesn't support 'ipset_file' option."
+msgstr ""
+"AdGuardHome instalado (%s) no es compatible con la opción 'ipset_file'."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Interfaz"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr "Direcciones/Dispositivos locales"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr "Puertos locales"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:230
+msgid "Mismatched IP family between in policy %s"
+msgstr "Familia de IP no coincidente entre la política %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:193
+msgid "Name"
+msgstr "Nombre"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+"El nombre, la interfaz y al menos otro campo son obligatorios. Múltiples "
+"direcciones/dispositivos/dominios y puertos locales y remotos pueden estar "
+"separados por espacios. Los marcadores de posición a continuación "
+"representan solo el formato/sintaxis y no se utilizarán si los campos se "
+"dejan en blanco."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr "Ningún cambio"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr "No instalado o no encontrado"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr "Verbosidad de salida"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Ruta"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr "Verifique %sREADME%s antes de cambiar esta opción."
+
+#: 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 ""
+"Desactive 'cadena' o configure 'cadena' en 'PREROUTING' para la política '%s'"
+
+#: 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 ""
+"Desactive 'cadena' o configure 'cadena' en 'prerouting' para la política '%s'"
+
+#: 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 "Desactive 'proto' o configure 'proto' en 'all' para la política '%s'"
+
+#: 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 "Desactive 'src_addr', 'src_port' y 'dest_port' para la política '%s'"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:180
+msgid "Policies"
+msgstr "Políticas"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr "¡La política '%s' tiene una interfaz desconocida!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr "¡La política '%s' no tiene una interfaz asignada!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr "¡La política '%s' no tiene parámetros de origen/destino!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr "Enrutamiento basado en políticas - Configuración"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr "Enrutamiento basado en políticas - Estado"
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+#, fuzzy
+msgid "Policy Routing"
+msgstr "Políticas de enrutamiento"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Protocolo"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr "Direcciones/Dominios remotos"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr "Puertos remotos"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:227
+#, fuzzy
+msgid "Resolver %s"
+msgstr "Resolutor %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:210
+msgid "Resolver set (%s) is not supported on this system!"
+msgstr "¡Este sistema no admite el conjunto de resolución (%s)!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr "El conjunto de resolución (%s) no es compatible con este sistema."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+"La compatibilidad con el conjunto de resolución (%s) requiere ipset, ¡pero "
+"no se puede encontrar el binario de ipset!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+"La compatibilidad con el conjunto de resolución (%s) requiere nftables, "
+"¡pero no se puede encontrar el binario nft!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "Reiniciar"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr "Reiniciando el servicio %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+#, fuzzy
+msgid "Rule Create option"
+msgstr "Opción Crear regla"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+"Ejecute los siguientes archivos de usuario después de la configuración pero "
+"antes de reiniciar DNSMASQ. Ver %sREADME%s para más detalles."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr "En ejecución (versión: %s usando iptables)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr "En ejecución (versión: %s usando nft)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr "En ejecución (versión: %s)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr "Ver %sREADME%s para más detalles."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+#, fuzzy
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr "Seleccione Agregar para -A/agregar e Insertar para -I/Insertar."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr "Control de servicio"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr "Errores de servicio"
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr "Servicio FW Mask"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr "Puertas de enlace del servicio"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "Estado del servicio"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr "Advertencias de servicio"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+"Establezca etiquetas DSCP (en el rango entre 1 y 63) para interfaces "
+"específicas. Ver %sREADME%s para más detalles."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:228
+msgid "Skipping IPv6 policy '%s' as IPv6 support is disabled"
+msgstr ""
+"Omitiendo la política de IPv6 '%s' ya que la compatibilidad con IPv6 está "
+"desactivada"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:264
+msgid "Start"
+msgstr "Iniciar"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr "Iniciando el servicio %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+"Marca de inicio (WAN) FW para las marcas utilizadas por el servicio. La "
+"marca de inicio alta se usa para evitar conflictos con SQM/QoS. Cambiar con "
+"precaución junto con"
+
+#: 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."
+msgstr ""
+"Número de ID de tabla de inicio (WAN) para tablas creadas por el servicio."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "Detener"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr "Detenido (desactivado)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr "Detenido (versión: %s)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr "Deteniendo el servicio %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr "Aplicación estricta"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+"Cumplir estrictamente las políticas cuando su puerta de enlace esté inactiva"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr "Interfaces soportadas"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr "Protocolos soportados"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr "Suprimir/Sin salida"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr "¡Error de sintaxis en el archivo de usuario personalizado '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+"El %s indica la puerta de enlace predeterminada. Consulte %sREADME%s para "
+"obtener más detalles."
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr "El %s no es compatible con este sistema."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr "¡El servicio %s no pudo descubrir la puerta de enlace WAN!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr "¡El servicio %s está actualmente desactivado!"
+
+#: 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 "Se desconoce el soporte de %s."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:213
+msgid "The ipset name '%s' is longer than allowed 31 characters!"
+msgstr ""
+"¡El nombre del ipset '%s' es más largo que los 31 caracteres permitidos!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+"¡El nombre del conjunto nft '%s' es más largo que los 31 caracteres "
+"permitidos!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr "Salida inesperada o terminación del servicio: '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr "¡Error desconocido!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr "¡Advertencia desconocida!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:229
+msgid "Unknown packet mark for interface '%s'"
+msgstr "Marca de paquete desconocido para la interfaz '%s'"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:231
+msgid "Unknown protocol in policy %s"
+msgstr "Protocolo desconocido en la política %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:225
+msgid ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+"Se detecta el uso de 'curl' en el archivo de usuario personalizado '%s', "
+"¡pero 'curl' no está instalado!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr "Usar soporte de conjunto de resolución para dominios"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr "Salida detallada"
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr "Tabla WAN Marca FW"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr "ID de tabla WAN"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr "Configuración de Web UI"
+
+#: 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:225
+msgid "all"
+msgstr "todos"
+
+#~ msgid "%s (disabled)"
+#~ msgstr "%s (desactivado)"
+
+#~ msgid "%s (strict mode)"
+#~ msgstr "%s (modo estricto)"
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s no está instalado o no se encuentra"
+
+#~ msgid "Add IGNORE Target"
+#~ msgstr "Agregar destino IGNORE"
+
+#~ msgid ""
+#~ "Adds `IGNORE` to the list of interfaces for policies, allowing you to "
+#~ "skip further processing by VPN Policy Routing."
+#~ msgstr ""
+#~ "Agrega \"IGNORE\" a la lista de interfaces para políticas, lo que le "
+#~ "permite omitir el procesamiento adicional mediante el enrutamiento por "
+#~ "políticas de VPN."
+
+#~ msgid "Append"
+#~ msgstr "Adjuntar"
+
+#~ msgid "Boot Time-out"
+#~ msgstr "Tiempo de arranque"
+
+#~ msgid "Comment"
+#~ msgstr "Comentario"
+
+#~ msgid ""
+#~ "Comment, interface and at least one other field are required. Multiple "
+#~ "local and remote addresses/devices/domains and ports can be space "
+#~ "separated. Placeholders below represent just the format/syntax and will "
+#~ "not be used if fields are left blank."
+#~ msgstr ""
+#~ "Se requieren comentarios, interfaz y al menos otro campo. Múltiples "
+#~ "direcciones/dispositivos/dominios y puertos locales y remotos pueden "
+#~ "estar separados por espacios. Los marcadores de posición a continuación "
+#~ "representan solo el formato/sintaxis y no se utilizarán si los campos se "
+#~ "dejan en blanco."
+
+#~ msgid "Configuration"
+#~ msgstr "Configuración"
+
+#~ msgid "DNSMASQ ipset"
+#~ msgstr "IPset DNSMASQ"
+
+#~ msgid "Grant UCI and file access for luci-app-vpn-policy-routing"
+#~ msgstr "Conceder acceso a archivos y UCI para luci-app-vpn-policy-routing"
+
+#~ msgid "IPTables rule option"
+#~ msgstr "Opción de regla de IPTables"
+
+#~ msgid "Loading"
+#~ msgstr "Cargando"
+
+#~ msgid "Running"
+#~ msgstr "Corriendo"
+
+#~ msgid "Select Append for -A and Insert for -I."
+#~ msgstr "Seleccione Agregar para -A e Insertar para -I."
+
+#~ msgid "Service Status [%s %s]"
+#~ msgstr "Estado del servicio [%s %s]"
+
+#~ msgid "Show Chain Column"
+#~ msgstr "Mostrar columna de cadena"
+
+#~ msgid "Show Enable Column"
+#~ msgstr "Mostrar columna de Activar"
+
+#~ msgid "Show Protocol Column"
+#~ msgstr "Mostrar columna de protocolo"
+
+#~ msgid "Show Up/Down Buttons"
+#~ msgstr "Mostrar botones Subir/Bajar"
+
+#~ msgid ""
+#~ "Shows the Up/Down buttons for policies, allowing you to move a policy up "
+#~ "or down in the list."
+#~ msgstr ""
+#~ "Muestra los botones Subir/Bajar para políticas, lo que le permite mover "
+#~ "una política hacia arriba o hacia abajo en la lista."
+
+#~ msgid ""
+#~ "Shows the chain column for policies, allowing you to assign a PREROUTING, "
+#~ "FORWARD, INPUT or OUTPUT chain to a policy."
+#~ msgstr ""
+#~ "Muestra la columna de cadena para políticas, permitiéndole asignar una "
+#~ "cadena PREROUTING, FORWARD, INPUT o OUTPUT a una política."
+
+#~ msgid ""
+#~ "Shows the enable checkbox column for policies, allowing you to quickly "
+#~ "enable/disable specific policy without deleting it."
+#~ msgstr ""
+#~ "Muestra la columna de casilla de verificación Activar para políticas, lo "
+#~ "que le permite Activar/Desactivar rápidamente políticas específicas sin "
+#~ "eliminarlas."
+
+#~ msgid ""
+#~ "Shows the protocol column for policies, allowing you to assign a specific "
+#~ "protocol to a policy."
+#~ msgstr ""
+#~ "Muestra la columna de protocolo para políticas, lo que le permite asignar "
+#~ "un protocolo específico a una política."
+
+#~ msgid "Stopped"
+#~ msgstr "Detenido"
+
+#~ msgid "The ipset option for local policies"
+#~ msgstr "La opción ipset para políticas locales"
+
+#~ msgid "The ipset option for remote policies"
+#~ msgstr "La opción ipset para políticas remotas"
+
+#~ msgid ""
+#~ "Time (in seconds) for service to wait for WAN gateway discovery on boot."
+#~ msgstr ""
+#~ "Tiempo (en segundos) para que el servicio espere el descubrimiento de la "
+#~ "puerta de enlace WAN en el arranque."
+
+#~ msgid "Use ipset command"
+#~ msgstr "Usar el comando ipset"
+
+#~ msgid "Use resolver's ipset for domains"
+#~ msgstr "Utilice el ipset del solucionador para los dominios"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
+
+#~ msgid "VPN Policy Routing"
+#~ msgstr "Enrutamiento por políticas de VPN"
+
+#~ msgid "VPN and WAN Policy-Based Routing"
+#~ msgstr "Enrutamiento basado en políticas de VPN y WAN"
+
+#~ msgid "WAN"
+#~ msgstr "WAN"
+
+#~ msgid ""
+#~ "Add an ip rule, not an iptables entry for policies with just the local "
+#~ "address. Use with caution to manipulte policies priorities."
+#~ msgstr ""
+#~ "Agregue una regla de ip, no una entrada de iptables para políticas con "
+#~ "solo la dirección local. Úselo con precaución para manipular las "
+#~ "prioridades de las políticas."
+
+#~ msgid "Append local IP Tables rules"
+#~ msgstr "Adjuntar reglas locales de IPTables"
+
+#~ msgid "Append remote IP Tables rules"
+#~ msgstr "Adjuntar reglas remotas de IPTables"
+
+#~ msgid "IP Rules Support"
+#~ msgstr "Soporte de reglas de IP"
+
+#~ msgid ""
+#~ "Special instructions to append iptables rules for local IPs/netmasks/"
+#~ "devices."
+#~ msgstr ""
+#~ "Instrucciones especiales para agregar reglas de iptables para IPs/"
+#~ "máscaras de red/dispositivos locales."
+
+#~ msgid ""
+#~ "Special instructions to append iptables rules for remote IPs/netmasks."
+#~ msgstr ""
+#~ "Instrucciones especiales para agregar reglas de iptables para IP remotas/"
+#~ "máscaras de red."
+
+#~ msgid ""
+#~ "The %s represents the default gateway. See the %sREADME%s for details."
+#~ msgstr ""
+#~ "El %s representa la puerta de enlace predeterminada. Consulte %sREADME%s "
+#~ "para más detalles."
+
+#~ msgid "Use DNSMASQ ipset"
+#~ msgstr "Usar DNSMASQ ipset"
+
+#~ msgid ""
+#~ "Checkmark represents the default gateway. See the %sREADME%s for details."
+#~ msgstr ""
+#~ "La marca de verificación representa la puerta de enlace predeterminada. "
+#~ "Ver %sREADME% s para más detalles."
+
+#~ msgid "Grant UCI access for luci-app-vpn-policy-routing"
+#~ msgstr "Conceder acceso a UCI para luci-app-vpn-policy-routing"
+
+#~ msgid ""
+#~ "%sWARNING:%s Please make sure to check the <a href=\"%s\" "
+#~ "target=\"_blank\">README</a> before changing anything in this section! "
+#~ "Change any of the settings below with extreme caution!%s"
+#~ msgstr ""
+#~ "%sADVERTENCIA:%s ¡Asegúrese de verificar el <a href=\"%s\" "
+#~ "target=\"_blank\">LÉEME</a> antes de cambiar cualquier cosa en esta "
+#~ "sección! ¡Cambie cualquiera de las configuraciones a continuación con "
+#~ "extrema precaución!%s"
+
+#~ msgid ""
+#~ "Checkmark represents the default gateway. See the <a href=\"%s\" "
+#~ "target=\"_blank\">README</a> for details."
+#~ msgstr ""
+#~ "La marca de verificación representa la puerta de enlace predeterminada. "
+#~ "Consulte el <a href=\"%s\" target=\"_blank\">LÉEME</a> para obtener más "
+#~ "detalles."
+
+#~ msgid ""
+#~ "Please check the <a href=\"%s\" target=\"_blank\">README</a> before "
+#~ "changing this option."
+#~ msgstr ""
+#~ "Verifique el <a href=\"%s\" target=\"_blank\">LÉEME</a> antes de cambiar "
+#~ "esta opción."
+
+#~ msgid ""
+#~ "Run the following user files after setting up but before restarting "
+#~ "DNSMASQ. See the <a href=\"%s\" target=\"_blank\">README</a> for details."
+#~ msgstr ""
+#~ "Ejecute los siguientes archivos de usuario después de la configuración "
+#~ "pero antes de reiniciar DNSMASQ. Consulte el <a href=\"%s\" "
+#~ "target=\"_blank\">LÉEME</a> para obtener más detalles."
+
+#~ msgid "See the <a href=\"%s\" target=\"_blank\">README</a> for details."
+#~ msgstr ""
+#~ "Consulte el <a href=\"%s\" target=\"_blank\">LÉEME</a> para obtener más "
+#~ "detalles."
+
+#~ msgid ""
+#~ "Set DSCP tags (in range between 1 and 63) for specific interfaces. See "
+#~ "the <a href=\"%s\" target=\"_blank\">README</a> for details."
+#~ msgstr ""
+#~ "Establezca etiquetas DSCP (en el rango entre 1 y 63) para interfaces "
+#~ "específicas. Consulte el <a href=\"%s\" target=\"_blank\">LÉEME</a> para "
+#~ "obtener más detalles."
+
+#~ msgid "(strict mode)"
+#~ msgstr "(modo estricto)"
+
+#~ msgid "Checkmark represents the default gateway. See the"
+#~ msgstr ""
+#~ "La marca de verificación representa la puerta de enlace predeterminada. "
+#~ "Ver el"
+
+#~ msgid "Please check the"
+#~ msgstr "Por favor, verifique el"
+
+#~ msgid "Please make sure to check the"
+#~ msgstr "Por favor, asegúrese de verificar el"
+
+#~ msgid "README"
+#~ msgstr "LÉEME"
+
+#~ msgid "Reload"
+#~ msgstr "Recargar"
+
+#~ msgid ""
+#~ "Run the following user files after setting up but before restarting "
+#~ "DNSMASQ. See the"
+#~ msgstr ""
+#~ "Ejecute los siguientes archivos de usuario después de la configuración "
+#~ "pero antes de reiniciar DNSMASQ. Ver el"
+
+#~ msgid "See the"
+#~ msgstr "Ver el"
+
+#~ msgid ""
+#~ "Set DSCP tags (in range between 1 and 63) for specific interfaces. See the"
+#~ msgstr ""
+#~ "Establezca etiquetas DSCP (en el rango entre 1 y 63) para interfaces "
+#~ "específicas. Ver el"
+
+#~ msgid "WARNING:"
+#~ msgstr "ADVERTENCIA:"
+
+#~ msgid ""
+#~ "before changing anything in this section! Change any of the settings "
+#~ "below with extreme caution!"
+#~ msgstr ""
+#~ "antes de cambiar cualquier cosa en esta sección, ¡Cambie cualquiera de "
+#~ "las configuraciones a continuación con extrema precaución!"
+
+#~ msgid "before changing this option."
+#~ msgstr "antes de cambiar esta opción."
+
+#~ msgid "for details."
+#~ msgstr "para detalles."
+
+#~ msgid "is not installed or not found"
+#~ msgstr "no está instalado o no se encuentra"
diff --git a/applications/luci-app-pbr/po/fi/pbr.po b/applications/luci-app-pbr/po/fi/pbr.po
new file mode 100644
index 0000000000..0d1fb50b9e
--- /dev/null
+++ b/applications/luci-app-pbr/po/fi/pbr.po
@@ -0,0 +1,565 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-03-12 13:29+0000\n"
+"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
+"Language-Team: Finnish <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/fi/>\n"
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.12-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "Ketju"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "Poista käytöstä"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Pois käytöstä"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Ota käyttöön"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Käytössä"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "IPv6-tuki"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Sovitin"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr "Nimi"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Polku"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Protokolla"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "Käynnistä uudelleen"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr "Aloita"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "Pysäytä"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "Comment"
+#~ msgstr "Kommentti"
+
+#~ msgid "Configuration"
+#~ msgstr "Kokoonpano"
+
+#~ msgid "Loading"
+#~ msgstr "Ladataan"
+
+#~ msgid "Running"
+#~ msgstr "Käynnissä"
+
+#~ msgid "Stopped"
+#~ msgstr "Pysäytetty"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
diff --git a/applications/luci-app-pbr/po/fr/pbr.po b/applications/luci-app-pbr/po/fr/pbr.po
new file mode 100644
index 0000000000..12a5a378e7
--- /dev/null
+++ b/applications/luci-app-pbr/po/fr/pbr.po
@@ -0,0 +1,736 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2021-11-21 18:56+0000\n"
+"Last-Translator: Felix Braun <f.bhelicopter@gmail.com>\n"
+"Language-Team: French <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/fr/>\n"
+"Language: fr\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.10-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "Configuration avancée"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+"Permet de spécifier la liste des noms d'interfaces (en minuscules) qui "
+"doivent être explicitement pris en charge par le service. Peut être utile si "
+"vos tunnels OpenVPN ont une option dev autre que tun* ou tap*."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+"Permet de spécifier la liste des noms d'interfaces (en minuscules) à ignorer "
+"par le service. Peut être utile si le serveur VPN et le client VPN "
+"fonctionnent tous deux sur le routeur."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr "Configuration de Base"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "Chaîne"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+#, fuzzy
+msgid "Condensed output"
+msgstr "Résultats condensés"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+#, fuzzy
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+"Contrôle à la fois le journal système et la verbosité de sortie de console."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+#, fuzzy
+msgid "Custom User File Includes"
+msgstr "Le fichier utilisateur personnalisé comprend"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr "Champ DSCP"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr "Marquage DSCP"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr "Interface ICMP par défaut"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "Désactiver"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Désactivé"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+"Affichez protocoles dans la colonne des protocoles de l'interface UI Web."
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr "N'appliquez pas de stratégies lorsque leur passerelle est en panne"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Activer"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Activé"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+#, fuzzy
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+"Masque FW utilisé par le service. Le masque haut est utilisé pour éviter les "
+"conflits avec le SQM/QoS. A changer avec précaution en même temps que"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr "Forcez l'interface du protocole ICMP."
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "Support IPv6"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr "Interfaces ignorées"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr "Insérer"
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Interface"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr "Adresses locales / appareils"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr "Ports locaux"
+
+#: 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"
+msgstr "Nom"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr "Aucun changement"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr "Verbosité de sortie"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Chemin"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr "Stratégies"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Protocole"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr "Adresses / domaines distants"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr "Ports distants"
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "Redémarrer"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr "Contrôle de service"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr "Erreurs de service"
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr "Service FW Masque"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr "Passerelles De Services"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "Statut du service"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr "Service D'Avertissements"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr "Démarrer"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+#, fuzzy
+msgid ""
+"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"
+msgstr ""
+"Démarrage (WAN) FW Mark pour les marques utilisées par le service. Une note "
+"de départ élevée est utilisée pour éviter les conflits avec SQM / QoS. "
+"Changer avec prudence avec"
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "Arrêter"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr "Sortie verbeuse"
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "%s (disabled)"
+#~ msgstr "%s (désactivé)"
+
+#~ msgid "%s (strict mode)"
+#~ msgstr "%s (mode strict)"
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s n'est pas installé ou introuvable"
+
+#~ msgid "Append"
+#~ msgstr "Ajouter"
+
+#~ msgid "Boot Time-out"
+#~ msgstr "Épuisement de délai de démarrage"
+
+#~ msgid "Comment"
+#~ msgstr "Commentaire"
+
+#, fuzzy
+#~ msgid ""
+#~ "Comment, interface and at least one other field are required. Multiple "
+#~ "local and remote addresses/devices/domains and ports can be space "
+#~ "separated. Placeholders below represent just the format/syntax and will "
+#~ "not be used if fields are left blank."
+#~ msgstr ""
+#~ "Le commentaire, l'interface et au moins un autre champ sont obligatoires. "
+#~ "Plusieurs adresses/dispositifs/domaines et ports locaux et distants "
+#~ "peuvent être séparés par des espaces. Les espaces ci-dessous représentent "
+#~ "uniquement le format/la syntaxe et ne seront pas utilisés si les champs "
+#~ "sont laissés vides."
+
+#~ msgid "Configuration"
+#~ msgstr "Configuration"
+
+#~ msgid "Grant UCI and file access for luci-app-vpn-policy-routing"
+#~ msgstr "Accorde les accès UCI et fichier à luci-app-vpn-policy-routing"
+
+#~ msgid "IPTables rule option"
+#~ msgstr "Option de la règle IPTables"
+
+#~ msgid "Loading"
+#~ msgstr "Chargement"
+
+#~ msgid "Running"
+#~ msgstr "En cours d'exécution"
+
+#~ msgid "Service Status [%s %s]"
+#~ msgstr "État du service [%s %s]"
+
+#~ msgid "Show Chain Column"
+#~ msgstr "Afficher la colonne de chaîne"
+
+#~ msgid "Show Enable Column"
+#~ msgstr "Afficher Activez la colonne"
+
+#~ msgid "Show Protocol Column"
+#~ msgstr "Afficher la colonne de protocole"
+
+#~ msgid "Show Up/Down Buttons"
+#~ msgstr "Afficher les boutons haut / bas"
+
+#~ msgid ""
+#~ "Shows the chain column for policies, allowing you to assign a PREROUTING, "
+#~ "FORWARD, INPUT or OUTPUT chain to a policy."
+#~ msgstr ""
+#~ "Affiche la colonne de chaîne pour les politiques, vous permettant "
+#~ "d'affecter une chaîne PREROUTING, FORWARD, INPUT ou OUTPUT à une "
+#~ "politique."
+
+#~ msgid ""
+#~ "Shows the enable checkbox column for policies, allowing you to quickly "
+#~ "enable/disable specific policy without deleting it."
+#~ msgstr ""
+#~ "Affiche la colonne d'activation des politiques, vous permettant d'activer/"
+#~ "désactiver rapidement une politique spécifique sans la supprimer."
+
+#~ msgid ""
+#~ "Shows the protocol column for policies, allowing you to assign a specific "
+#~ "protocol to a policy."
+#~ msgstr ""
+#~ "Affiche la colonne de protocole pour les stratégies, vous permettant "
+#~ "d’attribuer un protocole spécifique à une stratégie."
+
+#~ msgid "Stopped"
+#~ msgstr "Arrêté"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
+
+#~ msgid ""
+#~ "Add an ip rule, not an iptables entry for policies with just the local "
+#~ "address. Use with caution to manipulte policies priorities."
+#~ msgstr ""
+#~ "Ajoutez une règle ip, et non une entrée iptables pour les politiques avec "
+#~ "seulement l'adresse locale. A utiliser avec prudence pour manipuler les "
+#~ "priorités des politiques."
+
+#, fuzzy
+#~ msgid "Append local IP Tables rules"
+#~ msgstr "Ajouter des règles de tables IP locales"
+
+#, fuzzy
+#~ msgid "Append remote IP Tables rules"
+#~ msgstr "Ajouter des règles de tables IP distantes"
+
+#~ msgid ""
+#~ "Special instructions to append iptables rules for local IPs/netmasks/"
+#~ "devices."
+#~ msgstr ""
+#~ "Instructions spéciales pour ajouter des règles iptables pour les IP/"
+#~ "netmasks/appareils locaux."
+
+#~ msgid ""
+#~ "Special instructions to append iptables rules for remote IPs/netmasks."
+#~ msgstr ""
+#~ "Instructions spéciales pour ajouter des règles iptables pour les IP / "
+#~ "netmasks distants."
+
+#~ msgid ""
+#~ "%sWARNING:%s Please make sure to check the <a href=\"%s\" "
+#~ "target=\"_blank\">README</a> before changing anything in this section! "
+#~ "Change any of the settings below with extreme caution!%s"
+#~ msgstr ""
+#~ "%sWARNING:%s Veuillez vérifier le <a href=\"%s\" "
+#~ "target=\"_blank\">LISEZMOI</a> avant de modifier quoi que ce soit dans "
+#~ "cette section ! Modifiez tous les paramètres ci-dessous avec une extrême "
+#~ "prudence!%s"
+
+#~ msgid ""
+#~ "Checkmark represents the default gateway. See the <a href=\"%s\" "
+#~ "target=\"_blank\">README</a> for details."
+#~ msgstr ""
+#~ "Checkmark représente la passerelle par défaut. Voir le <a href=\"%s\" "
+#~ "target=\"_blank\">LISEZMOI</a> pour plus de détails."
+
+#~ msgid ""
+#~ "Please check the <a href=\"%s\" target=\"_blank\">README</a> before "
+#~ "changing this option."
+#~ msgstr ""
+#~ "Veuillez vérifier le <a href=\"%s\" target=\"_blank\">LISEZMOI</a> avant "
+#~ "de modifier cette option."
+
+#, fuzzy
+#~ msgid ""
+#~ "Run the following user files after setting up but before restarting "
+#~ "DNSMASQ. See the <a href=\"%s\" target=\"_blank\">README</a> for details."
+#~ msgstr ""
+#~ "Exécutez les fichiers utilisateurs suivants après la configuration mais "
+#~ "avant de redémarrer DNSMASQ. Voir le <a href=\"%s\" "
+#~ "target=\"_blank\">LISEZMOI</a> pour plus de détails."
+
+#~ msgid "See the <a href=\"%s\" target=\"_blank\">README</a> for details."
+#~ msgstr ""
+#~ "Voir le <a href=\"%s\" target=\"_blank\"> LISEZMOI </a> pour plus de "
+#~ "détails."
+
+#~ msgid "(strict mode)"
+#~ msgstr "(mode strict)"
+
+#~ msgid "README"
+#~ msgstr "README"
+
+#~ msgid "Reload"
+#~ msgstr "Recharger"
+
+#~ msgid "for details."
+#~ msgstr "pour détails."
+
+#~ msgid "is not installed or not found"
+#~ msgstr "n'est pas installé ou introuvable"
diff --git a/applications/luci-app-pbr/po/he/pbr.po b/applications/luci-app-pbr/po/he/pbr.po
new file mode 100644
index 0000000000..388f37fe0e
--- /dev/null
+++ b/applications/luci-app-pbr/po/he/pbr.po
@@ -0,0 +1,551 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-11-17 18:57+0000\n"
+"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
+"Language-Team: Hebrew <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/he/>\n"
+"Language: he\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
+"n % 10 == 0) ? 2 : 3));\n"
+"X-Generator: Weblate 4.15-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr ""
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr ""
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "מנשק"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "פרוטוקול"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "Configuration"
+#~ msgstr "הגדרות"
diff --git a/applications/luci-app-pbr/po/hi/pbr.po b/applications/luci-app-pbr/po/hi/pbr.po
new file mode 100644
index 0000000000..b14435e21b
--- /dev/null
+++ b/applications/luci-app-pbr/po/hi/pbr.po
@@ -0,0 +1,550 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-01-14 15:23+0000\n"
+"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
+"Language-Team: Hindi <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/hi/>\n"
+"Language: hi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 3.11-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr ""
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr ""
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
diff --git a/applications/luci-app-pbr/po/hu/pbr.po b/applications/luci-app-pbr/po/hu/pbr.po
new file mode 100644
index 0000000000..7fce20b595
--- /dev/null
+++ b/applications/luci-app-pbr/po/hu/pbr.po
@@ -0,0 +1,587 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2021-08-12 12:55+0000\n"
+"Last-Translator: Tudós Péter <tudi.sk@gmail.com>\n"
+"Language-Team: Hungarian <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/hu/>\n"
+"Language: hu\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.8-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "Speciális beállítások"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr "Alapszintű beállítások"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "Lánc"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "Letiltás"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Letiltva"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Engedélyezés"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Engedélyezve"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "IPv6 támogatás"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Csatoló"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr "Név"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Útvonal"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr "Házirendek"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Protokol"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "Újraindítás"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "Szolgáltatás állapota"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr "Indítás"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "Megállítás"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr "Részletes kimenet"
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s nincs telepítve vagy nem található"
+
+#~ msgid "Comment"
+#~ msgstr "Megjegyzés"
+
+#~ msgid "Configuration"
+#~ msgstr "Beállítás"
+
+#~ msgid "Loading"
+#~ msgstr "Betöltés"
+
+#~ msgid "Running"
+#~ msgstr "Fut"
+
+#, fuzzy
+#~ msgid "Service Status [%s %s]"
+#~ msgstr "Szolgáltatás státusz [%s %s]"
+
+#~ msgid "Stopped"
+#~ msgstr "Megállítva"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
+
+#~ msgid "README"
+#~ msgstr "README"
+
+#~ msgid "Reload"
+#~ msgstr "Újratöltés"
+
+#~ msgid "WARNING:"
+#~ msgstr "FIGYELMEZTETÉS:"
+
+#~ msgid "for details."
+#~ msgstr "fájlt a részletekért."
+
+#~ msgid "is not installed or not found"
+#~ msgstr "nincs telepítve vagy nem található"
diff --git a/applications/luci-app-pbr/po/it/pbr.po b/applications/luci-app-pbr/po/it/pbr.po
new file mode 100644
index 0000000000..865e5dcf7b
--- /dev/null
+++ b/applications/luci-app-pbr/po/it/pbr.po
@@ -0,0 +1,562 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-12-31 11:08+0000\n"
+"Last-Translator: Paul Spooren <mail@aparcar.org>\n"
+"Language-Team: Italian <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/it/>\n"
+"Language: it\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.15.1-dev\n"
+
+#: 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"
+msgstr "%s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+msgstr ""
+"%sATTENZIONE:%s Assicurati di controllare il %sREADME%s prima di modificare "
+"qualcosa in questa sezione! Modifica qualsiasi impostazione di seguito con "
+"estrema cautela!%s"
+
+#: 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:106
+msgid "AdGuardHome ipset"
+msgstr "AdGuardHome ipset"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "Configurazione Avanzata"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "Disabilita"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Disabilitato"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Abilita"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Abilitato"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Interfaccia"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr "Nome"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Percorso"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Protocollo"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "Riavvia"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr "Avvia"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "Comment"
+#~ msgstr "Commento"
+
+#~ msgid "Configuration"
+#~ msgstr "Configurazione"
+
+#~ msgid "Loading"
+#~ msgstr "Caricamento"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
diff --git a/applications/luci-app-pbr/po/ja/pbr.po b/applications/luci-app-pbr/po/ja/pbr.po
new file mode 100644
index 0000000000..78b333d1c5
--- /dev/null
+++ b/applications/luci-app-pbr/po/ja/pbr.po
@@ -0,0 +1,574 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-09-04 03:20+0000\n"
+"Last-Translator: yamaken <k-yamada@yamaken.jp>\n"
+"Language-Team: Japanese <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/ja/>\n"
+"Language: ja\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 4.14.1-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "詳細設定"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr "基本設定"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "チェイン"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "無効"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "無効"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "有効化"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "有効"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "IPv6 サポート"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "インターフェース"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr "名前"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "パス"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr "ポリシー"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "プロトコル"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "再起動"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "サービス ステータス"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr "開始"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "停止"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr "詳細出力"
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "%s (disabled)"
+#~ msgstr "%s (無効)"
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s は未インストールかまたは見つかりません"
+
+#~ msgid "Comment"
+#~ msgstr "コメント"
+
+#~ msgid "Configuration"
+#~ msgstr "設定"
+
+#~ msgid "Loading"
+#~ msgstr "読み込み中"
+
+#~ msgid "Running"
+#~ msgstr "実行中"
+
+#~ msgid "Service Status [%s %s]"
+#~ msgstr "サービス・ステータス [%s %s]"
+
+#~ msgid "Stopped"
+#~ msgstr "停止済"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
diff --git a/applications/luci-app-pbr/po/ko/pbr.po b/applications/luci-app-pbr/po/ko/pbr.po
new file mode 100644
index 0000000000..3cd25890d0
--- /dev/null
+++ b/applications/luci-app-pbr/po/ko/pbr.po
@@ -0,0 +1,565 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-01-10 10:51+0000\n"
+"Last-Translator: TheNoFace <fprhqkrtk303@naver.com>\n"
+"Language-Team: Korean <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/ko/>\n"
+"Language: ko\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 4.15.1-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "비활성화"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "활성화"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "활성화"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "인터페이스"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr "이름"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "경로"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "프로토콜"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr "시작"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr "모두"
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s가 설치되지 않았거나 찾을 수 없습니다"
+
+#~ msgid "Configuration"
+#~ msgstr "설정"
+
+#~ msgid "Loading"
+#~ msgstr "로드 중"
+
+#~ msgid "Running"
+#~ msgstr "실행 중"
+
+#~ msgid "Stopped"
+#~ msgstr "중지됨"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
diff --git a/applications/luci-app-pbr/po/mr/pbr.po b/applications/luci-app-pbr/po/mr/pbr.po
new file mode 100644
index 0000000000..ebe3c8558e
--- /dev/null
+++ b/applications/luci-app-pbr/po/mr/pbr.po
@@ -0,0 +1,571 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-02-07 09:19+0000\n"
+"Last-Translator: Prachi Joshi <josprachi@yahoo.com>\n"
+"Language-Team: Marathi <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/mr/>\n"
+"Language: mr\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 3.11-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "अक्षम करा"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "अक्षम"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "सक्षम करा"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "सक्षम केले"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "इंटरफेस"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr "नाव"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "प्रोटोकॉल"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "सेवा स्थिती"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr "प्रारंभ करा"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "थांबा"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "Comment"
+#~ msgstr "टिप्पणी"
+
+#~ msgid "Configuration"
+#~ msgstr "कॉन्फिगरेशन"
+
+#~ msgid "Loading"
+#~ msgstr "लोड करीत आहे"
+
+#~ msgid "Running"
+#~ msgstr "चालू आहे"
+
+#~ msgid "Stopped"
+#~ msgstr "बंद"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
+
+#~ msgid "Reload"
+#~ msgstr "रीलोड करा"
+
+#~ msgid "is not installed or not found"
+#~ msgstr "स्थापित केलेले नाही किंवा सापडले नाही"
diff --git a/applications/luci-app-pbr/po/ms/pbr.po b/applications/luci-app-pbr/po/ms/pbr.po
new file mode 100644
index 0000000000..3df896dbcc
--- /dev/null
+++ b/applications/luci-app-pbr/po/ms/pbr.po
@@ -0,0 +1,553 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2021-03-31 12:26+0000\n"
+"Last-Translator: Faruki Ramly <farukiramly45@gmail.com>\n"
+"Language-Team: Malay <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/ms/>\n"
+"Language: ms\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 4.6-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr ""
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr ""
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "Configuration"
+#~ msgstr "Konfigurasi"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
diff --git a/applications/luci-app-pbr/po/nb_NO/pbr.po b/applications/luci-app-pbr/po/nb_NO/pbr.po
new file mode 100644
index 0000000000..429fdf393b
--- /dev/null
+++ b/applications/luci-app-pbr/po/nb_NO/pbr.po
@@ -0,0 +1,581 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-12-06 01:48+0000\n"
+"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
+"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/nb_NO/>\n"
+"Language: nb_NO\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.15-dev\n"
+
+#: 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"
+msgstr "%s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr "Legg til"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "Avansert oppsett"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr "Grunnleggende oppsett"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+#, fuzzy
+msgid "Chain"
+msgstr "Kjede"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr "Forvalgt ICMP-grensesnitt"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "Skru av"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Avskrudd"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Skru på"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Påskrudd"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "IPv6-støtte"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr "Sett inn"
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Grensesnitt"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr "Lokale adresser/enheter"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr "Lokale porter"
+
+#: 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"
+msgstr "Navn"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr "Ingen endring"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr "Ikke installert, eller ble ikke funnet"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Sti"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Protokoll"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "Omstart"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr "Tjenestekontroll"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr "Tjenestefeil"
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "Tjenestestatus"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr "Tjenesteadvarsler"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr "Start"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "Stopp"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr "Støttede grensesnitt"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr "Støttede protokoller"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr "Syntaksfeil i egendefinert brukerfil «%s»!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr "%s indikterer forvalgt portner. Sjekk %sREADME%s for detaljer."
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr "Sirlig utdata"
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "%s (disabled)"
+#~ msgstr "%s (avskrudd)"
+
+#~ msgid "%s (strict mode)"
+#~ msgstr "%s (strengt modus)"
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s er ikke installert, eller ble ikke funnet"
+
+#~ msgid "Boot Time-out"
+#~ msgstr "Oppstarts-tidsavbrudd"
+
+#~ msgid "Comment"
+#~ msgstr "Kommentar"
+
+#~ msgid "Configuration"
+#~ msgstr "Oppsett"
+
+#~ msgid "Loading"
+#~ msgstr "Laster inn"
+
+#~ msgid "Running"
+#~ msgstr "Kjører"
+
+#~ msgid "Service Status [%s %s]"
+#~ msgstr "Tjenestestatus [%s %s]"
+
+#~ msgid "Stopped"
+#~ msgstr "Stoppet"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
diff --git a/applications/luci-app-pbr/po/pl/pbr.po b/applications/luci-app-pbr/po/pl/pbr.po
new file mode 100644
index 0000000000..4d18c763e5
--- /dev/null
+++ b/applications/luci-app-pbr/po/pl/pbr.po
@@ -0,0 +1,865 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-01-11 19:14+0000\n"
+"Last-Translator: Matthaiks <kitynska@gmail.com>\n"
+"Language-Team: Polish <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/pl/>\n"
+"Language: pl\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.15.1-dev\n"
+
+#: 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"
+msgstr "%s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr "Nie można znaleźć binarnego %s!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+msgstr ""
+"%sOSTRZEŻENIE:%s Przed zmianą czegokolwiek w tej sekcji należy sprawdzić "
+"%sREADME%s! Zmień dowolne z poniższych ustawień z najwyższą ostrożnością!%s"
+
+#: 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:106
+msgid "AdGuardHome ipset"
+msgstr "ipset AdGuardHome"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr "Dodaj"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr "Dodaj ignoruj cel"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+"Dodaje 'ignoruj' do listy interfejsów zasad. Zobacz %sREADME%s po szczegóły."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "Zaawansowana konfiguracja"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+"Pozwala określić listę nazw interfejsów (pisanych małymi literami), które "
+"mają być jawnie obsługiwane przez usługę. Może być przydatne, jeśli tunele "
+"OpenVPN mają opcję dev inną niż tun* lub tap*."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+"Pozwala określić listę nazw interfejsów (pisanych małymi literami), które "
+"mają być ignorowane przez usługę. Może być przydatne, jeśli na routerze "
+"działa zarówno serwer VPN, jak i klient VPN."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr "Podstawowa konfiguracja"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "Łańcuch"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr "Skondensowane wyjście"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr "Błąd sprawdzania poprawności konfiguracji (%s)!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+"Kontroluje szczegółowość dziennika systemowego i danych wyjściowych konsoli."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr "Zawiera własny plik użytkownika"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+"Niestandardowy plik użytkownika '%s' nie został znaleziony lub jest pusty!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr "Znacznik DSCP"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr "Oznaczanie DSCP"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr "Domyślny interfejs ICMP"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "Wyłącz"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Wyłączone"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr "Wyłączanie usługi %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr "Wyświetl te protokoły w kolumnie w interfejsie Web UI."
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr "ipset Dnsmasq"
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr "nft set Dnsmasq"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr "Nie egzekwuj zasad, gdy ich brama nie działa"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Włącz"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Włączone"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr "Włączanie usługi %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr "Błąd podczas uruchamiania niestandardowego pliku użytkownika '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+"FW maska używana przez usługę. Wysoka maska służy do uniknięcia konfliktu z "
+"SQM/QoS. Ostrożnie zmieniać wraz z"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr "Nie udało się załadować ponownie '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr "Nie udało się ustawić '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr "Nie udało się skonfigurować żadnej bramy!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr "Wymuszenie interfejsu protokołu ICMP."
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr "Przyznaj UCI oraz dostęp do plików luci-app-pbr"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "Obsługa IPv6"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr "Ignorowane interfejsy"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr "Wstaw"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:233
+msgid "Insertion failed for IPv4 for policy %s"
+msgstr "Wstawienie nie powiodło się dla IPv4 dla zasady %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:232
+msgid "Insertion failed for both IPv4 and IPv6 for policy %s"
+msgstr "Wstawienie nie powiodło się zarówno dla IPv4, jak i IPv6 dla zasady %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:178
+msgid "Installed AdGuardHome (%s) doesn't support 'ipset_file' option."
+msgstr "Zainstalowany AdGuardHome (%s) nie obsługuje opcji 'ipset_file'."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Interfejs"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr "Lokalne adresy/urządzenia"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr "Porty lokalne"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:230
+msgid "Mismatched IP family between in policy %s"
+msgstr "Niezgodna rodzina adresów IP w zasadach %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:193
+msgid "Name"
+msgstr "Nazwa"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+"Nazwa, interfejs i co najmniej jedno dodatkowe pole są wymagane. Wiele "
+"lokalnych i zdalnych adresów/urządzeń/domen i portów można oddzielić "
+"spacjami. Poniższe symbole zastępcze reprezentują tylko format/składnię i "
+"nie będą używane, jeśli pola pozostaną puste."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr "Bez zmian"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr "Nie zainstalowano lub nie znaleziono"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr "Szczegółowość danych wyjściowych"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Ścieżka"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr "Sprawdź %sREADME%s przed zmianą tej opcji."
+
+#: 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 "Usuń 'chain' lub ustaw 'chain' na 'PREROUTING' dla zasady '%s'"
+
+#: 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 "Usuń 'chain' lub ustaw 'chain' na 'PREROUTING' dla zasady '%s'"
+
+#: 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 "Usuń 'proto' lub ustaw 'proto' na 'all' dla zasady '%s'"
+
+#: 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 "Usuń 'src_addr', 'src_port' i 'dest_port' dla zasady '%s'"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:180
+msgid "Policies"
+msgstr "Zasady"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr "Zasada '%s' ma nieznany interfejs!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr "Zasada '%s' nie ma przypisanego interfejsu!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr "Zasada '%s' nie ma parametrów źródła/przeznaczenia!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr "Trasowanie oparte na zasadach - Konfiguracja"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr "Trasowanie oparte na zasadach - Stan"
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr "Trasowanie wg zasad"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Protokół"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr "Zdalne adresy/domeny"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr "Porty zdalne"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:227
+msgid "Resolver %s"
+msgstr "Resolwer %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:210
+msgid "Resolver set (%s) is not supported on this system!"
+msgstr "set resolwera (%s) nie jest obsługiwany w tym systemie!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr "set resolwera (%s) nie jest obsługiwany w tym systemie."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+"Obsługa set resolwera (%s) wymaga ipset, ale nie można znaleźć pliku "
+"binarnego ipset!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+"Obsługa set resolwera (%s) wymaga nftables, ale nie można znaleźć pliku "
+"binarnego nft!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "Restartuj"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr "Ponowne uruchamianie usługi %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr "Opcja tworzenia reguł"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+"Uruchom następujące pliki użytkownika po skonfigurowaniu, ale przed ponownym "
+"uruchomieniem DNSMASQ. Zobacz %sREADME%s, aby uzyskać szczegółowe informacje."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr "Uruchomiona (wersja: %s z użyciem iptables)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr "Uruchomiona (wersja: %s z użyciem nft)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr "Uruchomiona (wersja: %s)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr "Zobacz %sREADME%s, aby uzyskać szczegółowe informacje."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr "Wybierz Dodaj dla -A/add oraz Wstaw dla -I/Insert."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr "Kontrola usługi"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr "Błędy usługi"
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr "Maska FW usługi"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr "Bramy usług"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "Status usługi"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr "Ostrzeżenia usługi"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+"Ustaw tagi DSCP (w zakresie od 1 do 63) dla określonych interfejsów. Zobacz "
+"%sREADME%s, aby uzyskać szczegółowe informacje."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:228
+msgid "Skipping IPv6 policy '%s' as IPv6 support is disabled"
+msgstr "Pominięto zasadę IPv6 '%s', ponieważ obsługa IPv6 jest wyłączona"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:264
+msgid "Start"
+msgstr "Uruchom"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr "Uruchamianie usługi %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+"Początkowy (WAN) znacznik FW dla znaczników używanych przez usługę. Wysoki "
+"znak początkowy jest używany, aby uniknąć konfliktu z SQM/QoS. Ostrożnie "
+"zmieniać wraz z"
+
+#: 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."
+msgstr ""
+"Początkowy (WAN) numer identyfikatora tabeli dla tabel utworzonych przez "
+"usługę."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "Zatrzymaj"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr "Zatrzymana (wyłączona)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr "Zatrzymana (wersja: %s)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr "Zatrzymywanie usługi %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr "Ścisłe egzekwowanie"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr "Ściśle egzekwuj zasady, gdy ich brama nie działa"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr "Obsługiwane interfejsy"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr "Wspierane protokoły"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr "Tłumienie/Brak wyjścia"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr "Błąd składni w niestandardowym pliku użytkownika '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+"%s oznacza domyślną bramę. Zobacz %sREADME%s w celu uzyskania szczegółowych "
+"informacji."
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr "Funkcja %s nie jest obsługiwana w tym systemie."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr "Usługa %s nie wykryła bramy WAN!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr "Usługa %s jest obecnie wyłączona!"
+
+#: 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 "Obsługa %s jest nieznana."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:213
+msgid "The ipset name '%s' is longer than allowed 31 characters!"
+msgstr "Nazwa ipset '%s' jest dłuższa niż dozwolone 31 znaków!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr "Nazwa nft set '%s' jest dłuższa niż dozwolone 31 znaków!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr "Nieoczekiwane wyjście lub zakończenie usługi: '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr "Nieznany błąd!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr "Nieznane ostrzeżenie!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:229
+msgid "Unknown packet mark for interface '%s'"
+msgstr "Nieznany znacznik pakietu dla interfejsu '%s'"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:231
+msgid "Unknown protocol in policy %s"
+msgstr "Nieznany protokół w zasadzie %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:225
+msgid ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+"Użycie 'curl' zostało wykryte w niestandardowym pliku użytkownika '%s', ale "
+"'curl' nie jest zainstalowany!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr "Użyj obsługi set resolwera dla domen"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr "Pełne wyjście"
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr "Znacznik FW tabeli WAN"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr "Identyfikator tabeli WAN"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr "Konfiguracja Web UI"
+
+#: 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:225
+msgid "all"
+msgstr "wszystko"
+
+#~ msgid "ip-full binary cannot be found!"
+#~ msgstr "Nie można znaleźć pliku binarnego ip-full!"
+
+#~ msgid "%s (disabled)"
+#~ msgstr "%s (wyłączone)"
+
+#~ msgid "%s (strict mode)"
+#~ msgstr "%s (tryb ścisły)"
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s nie jest zainstalowany lub nie znaleziono"
+
+#~ msgid "Add IGNORE Target"
+#~ msgstr "Dodaj cel IGNORE"
+
+#~ msgid ""
+#~ "Adds `IGNORE` to the list of interfaces for policies, allowing you to "
+#~ "skip further processing by VPN Policy Routing."
+#~ msgstr ""
+#~ "Dodaje `IGNORE` do listy interfejsów dla polityk, pozwalając na "
+#~ "pominięcie dalszego przetwarzania przez VPN Policy Routing."
+
+#~ msgid "Append"
+#~ msgstr "Dodaj"
+
+#~ msgid "Boot Time-out"
+#~ msgstr "Limit czasu rozruchu"
+
+#~ msgid "Comment"
+#~ msgstr "Komentarz"
+
+#~ msgid ""
+#~ "Comment, interface and at least one other field are required. Multiple "
+#~ "local and remote addresses/devices/domains and ports can be space "
+#~ "separated. Placeholders below represent just the format/syntax and will "
+#~ "not be used if fields are left blank."
+#~ msgstr ""
+#~ "Komentarz, interfejs i co najmniej jedno inne pole są wymagane. Wiele "
+#~ "lokalnych i zdalnych adresów/urządzeń/domen i portów może być "
+#~ "oddzielonych spacją. Poniższe pola przedstawiają tylko format/składnie i "
+#~ "nie będą używane, jeśli pola pozostaną puste."
+
+#~ msgid "Configuration"
+#~ msgstr "Konfiguracja"
+
+#~ msgid "DNSMASQ ipset"
+#~ msgstr "DNSMASQ ipset"
+
+#~ msgid "Grant UCI and file access for luci-app-vpn-policy-routing"
+#~ msgstr "Przyznaj dostęp do plików i UCI dla luci-app-vpn-policy-routing"
+
+#~ msgid "IPTables rule option"
+#~ msgstr "Opcja reguł IPTables"
+
+#~ msgid "Loading"
+#~ msgstr "Ładowanie"
+
+#~ msgid "Running"
+#~ msgstr "Działa"
+
+#~ msgid "Select Append for -A and Insert for -I."
+#~ msgstr "Wybierz opcję Dołącz do -A i Wstaw dla -I."
+
+#~ msgid "Service Status [%s %s]"
+#~ msgstr "Stan usługi [%s %s]"
+
+#~ msgid "Show Chain Column"
+#~ msgstr "Pokaż kolumnę łańcucha"
+
+#~ msgid "Show Enable Column"
+#~ msgstr "Pokaż kolumnę włączenia"
+
+#~ msgid "Show Protocol Column"
+#~ msgstr "Pokaż kolumnę protokołu"
+
+#~ msgid "Show Up/Down Buttons"
+#~ msgstr "Pokaż przyciski w górę/w dół"
+
+#~ msgid ""
+#~ "Shows the Up/Down buttons for policies, allowing you to move a policy up "
+#~ "or down in the list."
+#~ msgstr ""
+#~ "Pokazuje przyciski w górę/w dół dla zasad, umożliwiając przenoszenie "
+#~ "zasad w górę lub w dół na liście."
+
+#~ msgid ""
+#~ "Shows the chain column for policies, allowing you to assign a PREROUTING, "
+#~ "FORWARD, INPUT or OUTPUT chain to a policy."
+#~ msgstr ""
+#~ "Pokazuje kolumnę łańcucha dla zasad, umożliwiając przypisanie do zasad "
+#~ "łańcucha PREROUTING, FORWARD, INPUT lub OUTPUT."
+
+#~ msgid ""
+#~ "Shows the enable checkbox column for policies, allowing you to quickly "
+#~ "enable/disable specific policy without deleting it."
+#~ msgstr ""
+#~ "Pokazuje kolumnę pola wyboru włączania dla polityk, pozwalając na szybkie "
+#~ "włączenie/wyłączenie konkretnej polityki bez jej usuwania."
+
+#~ msgid ""
+#~ "Shows the protocol column for policies, allowing you to assign a specific "
+#~ "protocol to a policy."
+#~ msgstr ""
+#~ "Pokazuje kolumnę protokołu dla polityk, pozwalając na przypisanie "
+#~ "konkretnego protokołu do danej polityki."
+
+#~ msgid "Stopped"
+#~ msgstr "Zatrzymany"
+
+#~ msgid "The ipset option for local policies"
+#~ msgstr "Opcja ipset dla zasad lokalnych"
+
+#~ msgid "The ipset option for remote policies"
+#~ msgstr "Opcja ipset dla zasad zdalnych"
+
+#~ msgid ""
+#~ "Time (in seconds) for service to wait for WAN gateway discovery on boot."
+#~ msgstr ""
+#~ "Czas (w sekundach) oczekiwania serwisu na wykrycie bramy WAN podczas "
+#~ "rozruchu."
+
+#~ msgid "Use ipset command"
+#~ msgstr "Użyj polecenia ipset"
+
+#~ msgid "Use resolver's ipset for domains"
+#~ msgstr "Użyj ipset narzędzia do rozpoznawania nazw dla domen"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
+
+#~ msgid "VPN Policy Routing"
+#~ msgstr "Polityka trasowania sieci VPN"
+
+#~ msgid "VPN and WAN Policy-Based Routing"
+#~ msgstr "Polityka trasowania oparta na VPN i WAN"
+
+#~ msgid "WAN"
+#~ msgstr "WAN"
+
+#~ msgid ""
+#~ "Add an ip rule, not an iptables entry for policies with just the local "
+#~ "address. Use with caution to manipulte policies priorities."
+#~ msgstr ""
+#~ "Dodaj regułę IP, a nie wpis iptables dla zasad z tylko adresem lokalnym. "
+#~ "Używaj ostrożnie, aby manipulować priorytetami polityk."
+
+#~ msgid "Append local IP Tables rules"
+#~ msgstr "Dodaj lokalne zasady dotyczące tabel IP"
+
+#~ msgid "Append remote IP Tables rules"
+#~ msgstr "Dodaj reguły zdalnych tabel IP"
+
+#~ msgid "IP Rules Support"
+#~ msgstr "Obsługa reguł IP"
+
+#~ msgid ""
+#~ "Special instructions to append iptables rules for local IPs/netmasks/"
+#~ "devices."
+#~ msgstr ""
+#~ "Specjalne instrukcje dotyczące dołączania reguł iptables dla lokalnych IP/"
+#~ "masek-sieci/urządzeń."
+
+#~ msgid ""
+#~ "Special instructions to append iptables rules for remote IPs/netmasks."
+#~ msgstr ""
+#~ "Specjalne instrukcje dotyczące dołączania reguł iptables dla zdalnych IP/"
+#~ "masek sieciowych."
+
+#~ msgid ""
+#~ "The %s represents the default gateway. See the %sREADME%s for details."
+#~ msgstr ""
+#~ "%s reprezentuje bramę domyślną. Szczegółowe informacje można znaleźć w "
+#~ "%sREADME%s."
+
+#~ msgid "Use DNSMASQ ipset"
+#~ msgstr "Użyj DNSMASQ ipset"
+
+#~ msgid ""
+#~ "Checkmark represents the default gateway. See the %sREADME%s for details."
+#~ msgstr ""
+#~ "Znacznik wyboru reprezentuje bramę domyślną. Zobacz%sREADME%s aby uzyskać "
+#~ "szczegółowe informacje."
+
+#~ msgid "Grant UCI access for luci-app-vpn-policy-routing"
+#~ msgstr "Przyznaj dostęp UCI do routingu luci-app-vpn-policy-routing"
+
+#~ msgid ""
+#~ "%sWARNING:%s Please make sure to check the <a href=\"%s\" "
+#~ "target=\"_blank\">README</a> before changing anything in this section! "
+#~ "Change any of the settings below with extreme caution!%s"
+#~ msgstr ""
+#~ "%sOSTRZEŻENIE:%s Proszę sprawdzić <a href=\"%s\" "
+#~ "target=\"_blank\">README</a> przed zmianą czegokolwiek w tej sekcji! "
+#~ "Zmień którekolwiek z poniższych ustawień z wielką ostrożnością! %s"
+
+#~ msgid ""
+#~ "Checkmark represents the default gateway. See the <a href=\"%s\" "
+#~ "target=\"_blank\">README</a> for details."
+#~ msgstr ""
+#~ "Znacznik wyboru reprezentuje bramę domyślną. Zobacz <a href=\"%s\" "
+#~ "target=\"_blank\">README</a> aby uzyskać szczegółowe informacje."
+
+#~ msgid ""
+#~ "Please check the <a href=\"%s\" target=\"_blank\">README</a> before "
+#~ "changing this option."
+#~ msgstr ""
+#~ "Proszę sprawdzić <a href=\"%s\" target=\"_blank\">README</a> przed zmianą "
+#~ "tej opcji."
+
+#~ msgid ""
+#~ "Run the following user files after setting up but before restarting "
+#~ "DNSMASQ. See the <a href=\"%s\" target=\"_blank\">README</a> for details."
+#~ msgstr ""
+#~ "Po skonfigurowaniu, ale przed ponownym uruchomieniem DNSMASQ, należy "
+#~ "uruchomić następujące pliki użytkownika. Zobacz <a href=\"%s\" "
+#~ "target=\"_blank\">README</a> po szczegóły."
+
+#~ msgid "See the <a href=\"%s\" target=\"_blank\">README</a> for details."
+#~ msgstr ""
+#~ "Zobacz <a href=\"%s\" target=\"_blank\">README</a> aby uzyskać "
+#~ "szczegółowe informacje."
+
+#~ msgid ""
+#~ "Set DSCP tags (in range between 1 and 63) for specific interfaces. See "
+#~ "the <a href=\"%s\" target=\"_blank\">README</a> for details."
+#~ msgstr ""
+#~ "Ustaw znaczniki DSCP (w zakresie od 1 do 63) dla określonych interfejsów. "
+#~ "Szczegółowe informacje można znaleźć w polu <a href=\"%s\" "
+#~ "target=\"_blank\">README</a>."
+
+#~ msgid "(strict mode)"
+#~ msgstr "(tryb ścisły)"
+
+#~ msgid "Checkmark represents the default gateway. See the"
+#~ msgstr "Znacznik wyboru reprezentuje bramę domyślną. Patrz"
+
+#~ msgid "Please check the"
+#~ msgstr "Proszę sprawdzić"
+
+#~ msgid "Please make sure to check the"
+#~ msgstr "Upewnij się, że należy sprawdzić"
+
+#~ msgid "README"
+#~ msgstr "Plik readme"
+
+#~ msgid "Reload"
+#~ msgstr "Przeładuj"
+
+#~ msgid ""
+#~ "Run the following user files after setting up but before restarting "
+#~ "DNSMASQ. See the"
+#~ msgstr ""
+#~ "Uruchom następujące pliki użytkownika po skonfigurowaniu, ale przed "
+#~ "ponownym uruchomieniem DNSMASQ. Patrz"
+
+#~ msgid "See the"
+#~ msgstr "Zobacz"
+
+#~ msgid ""
+#~ "Set DSCP tags (in range between 1 and 63) for specific interfaces. See the"
+#~ msgstr ""
+#~ "Ustaw znaczniki DSCP (w zakresie od 1 do 63) dla określonych interfejsów. "
+#~ "Patrz"
+
+#~ msgid "WARNING:"
+#~ msgstr "OSTRZEŻENIE:"
+
+#~ msgid ""
+#~ "before changing anything in this section! Change any of the settings "
+#~ "below with extreme caution!"
+#~ msgstr ""
+#~ "przed zmianą czegokolwiek w tej sekcji! Z wielką ostrożnością zmień "
+#~ "którekolwiek z poniższych ustawień!"
+
+#~ msgid "before changing this option."
+#~ msgstr "przed zmianą tej opcji."
+
+#~ msgid "for details."
+#~ msgstr "dla szczegółów."
+
+#~ msgid "is not installed or not found"
+#~ msgstr "nie jest zainstalowany lub nie znaleziono"
diff --git a/applications/luci-app-pbr/po/pt/pbr.po b/applications/luci-app-pbr/po/pt/pbr.po
new file mode 100644
index 0000000000..b9f3ba2c15
--- /dev/null
+++ b/applications/luci-app-pbr/po/pt/pbr.po
@@ -0,0 +1,784 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-12-29 23:53+0000\n"
+"Last-Translator: ssantos <ssantos@web.de>\n"
+"Language-Team: Portuguese <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/pt/>\n"
+"Language: pt\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.15.1-dev\n"
+
+#: 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"
+msgstr "%s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr "O binário %s não pode ser encontrado!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+msgstr ""
+"%sADVERTÊNCIA:%s Consulte o %sREADME%s antes de alterar qualquer coisa nesta "
+"secção! Altere qualquer uma das configurações abaixo com extrema cautela!%s"
+
+#: 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:106
+msgid "AdGuardHome ipset"
+msgstr "Conjunto de IPs do AdGuardHome"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr "Adicionar"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr "Adiciona ignorar ao alvo"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+"Adiciona a política 'ignorar' à lista das interfaces. Consulte %sREADME%s "
+"para obter mais informações."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "Configurações Avançadas"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+"Permite especificar a lista de nomes das interfaces (em minúsculas) para "
+"serem explicitamente compatíveis pelo serviço. Pode ser útil se seus túneis "
+"OpenVPN tiverem opção dev diferente de tun* ou tap*."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+"Permite especificar a lista de nomes das interfaces (em minúsculas), que "
+"serão ignoradas pelo serviço. Pode ser útil se estiver executando ambos os "
+"VPN servidor e cliente no roteador."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr "Configurações Básicas"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "Cadeia"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr "Saída condensada"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr "Houve uma falha na validação da configuração (%s)!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr "Controla tanto a verbosidade de saída do sistema quanto do console."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr "Ficheiros Personalizados do Utilizador Incluem"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+"O ficheiro personalizado '%s' do utilizador não foi encontrado ou está vazio!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr "Etiqueta DSCP"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr "Marcação DSCP"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr "Interface ICMP Predefinido"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "Desativar"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Desativado"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr "Desativando o serviço %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr "Exibir esses protocolos na coluna de protocolo na Interface Web."
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr "Conjunto de IPs do Dnsmasq"
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr "Conjunto nft do dnsmasq"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr "Não aplique as políticas quando o seu gateway estiver inoperante"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Ativar"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Ativado"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr "Ativando o serviço %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+"Houve um erro ao executar um ficheiro personalizado do utilizador '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+"Máscara FW usada pelo serviço. A máscara alta é usada para evitar conflitos "
+"com o SQM/QoS. Mude com cautela em conjunto com"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr "Houve uma falha ao recarregar '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr "Houve uma falha ao configurar '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr "Houve uma falha ao configurar qualquer gateway!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr "Impor o protocolo ICMP na interface."
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr "Conceda acesso ao ficheiro e ao UCI para o luci-app-pbr"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "Suporte de IPv6"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr "Interfaces ignoradas"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr "Inserir"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:233
+msgid "Insertion failed for IPv4 for policy %s"
+msgstr "Houve uma falha na inserção da política %s para o IPv4"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:232
+msgid "Insertion failed for both IPv4 and IPv6 for policy %s"
+msgstr "Houve uma falha na inserção da política %s para ambos IPv4 e IPv6"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:178
+msgid "Installed AdGuardHome (%s) doesn't support 'ipset_file' option."
+msgstr ""
+"O AdGuardHome (%s) instalado não é compatível com a opção 'ipset_file'."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Interface"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr "Endereços locais / aparelhos"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr "Portas locais"
+
+#: 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"
+msgstr "Nome"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+"O nome, a interface e pelo menos um outro campo são obrigatórios. Vários "
+"endereços/aparelhos/domínios locais, remotos e portas podem ser separados "
+"por espaço. Os espaços reservados abaixo representam apenas o formato/"
+"sintaxe e não serão usados caso os campos sejam deixados em branco."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr "Sem Alterações"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr "Não está instalado ou não foi encontrado"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr "Verbosidade de saída"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Caminho"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr "Por favor, consulte o %sREADME%s antes de alterar esta opção."
+
+#: 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 ""
+"Desmarque 'chain' ou defina 'chain' como 'PREROUTING' para a política '%s'"
+
+#: 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 ""
+"Desmarque 'cadeia' ou defina 'cadeia' como 'prerouting' para a política '%s'"
+
+#: 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 "Desmarque 'proto' ou defina 'proto' como 'all' para a política '%s'"
+
+#: 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 "Desmarque 'src_addr', 'src_port' e 'dest_port' para a política '%s'"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:180
+msgid "Policies"
+msgstr "Políticas"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr "A política '%s' tem uma interface desconhecida!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr "A política '%s' não tem uma interface atribuída!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr "A política '%s' não tem parâmetros de origem/destino!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr "Roteamento com base em políticas - Configuração"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr "Roteamento com base em políticas - Condição geral"
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr "Política de roteamento"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Protocolo"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr "Endereços / domínios remotos"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr "Portas remotas"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:227
+msgid "Resolver %s"
+msgstr "Resolvedor %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:210
+msgid "Resolver set (%s) is not supported on this system!"
+msgstr "O conjunto de resolvedores (%s) não é suportado neste sistema!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr "O conjunto de resolvedores (%s) não é suportado neste sistema."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+"O suporte ao conjunto de resolvedores (%s) requer um conjunto de IPs, porém, "
+"o executável ipset não pode ser encontrado!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+"O suporte ao conjunto de resolvedores (%s) requer nftables, porém, o "
+"executável nft não pode ser encontrado!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "Reiniciar"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr "Reiniciando o serviço %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr "Opção de criação das regras"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+"Execute os seguintes ficheiros do utilizador após a configuração, porém "
+"antes de reiniciar o DNSMASQ. Consulte o %sREADME%s para mais informações."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr "Executando (versão: %s usando iptables)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr "Executando (versão: %s usando nft)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr "Executando (versão: %s)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr "Consulte o %sREADME%s para mais informações."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr "Selecione adicionar para -A/add e inserir para -I/Insert."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr "Controle de serviços"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr "Erros de Serviço"
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr "Serviço Máscara FW"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr "Serviço de Gateways"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "Estado do Serviço"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr "Avisos de Serviço"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+"Defina as tags do DSCP (no intervalo entre 1 e 63) para as interfaces "
+"específicas. Consulte o %sREADME%s para mais informações."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:228
+msgid "Skipping IPv6 policy '%s' as IPv6 support is disabled"
+msgstr ""
+"Ignorando a política IPv6 '%s' à medida que o suporte a IPv6 está desativado"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:264
+msgid "Start"
+msgstr "Iniciar"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr "Iniciando o serviço %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+"Começando Marcações FW (WAN) para marcas usadas pelo serviço. Uma marcação "
+"alta é usada para evitar conflitos com o SQM/QoS. Mudar com cautela junto com"
+
+#: 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."
+msgstr ""
+"Iniciando o número do ID da Tabela (WAN) de tabelas criadas pelo serviço."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "Parar"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr "Parado (Desativado)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr "Parado (versão: %s)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr "Parando o serviço %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr "Aplicação rigorosa"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+"Impor rigorosamente as políticas quando o gateway não estiver a funcionar"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr "Interfaces Compatíveis"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr "Protocolos Compatíveis"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr "Suprimir/Nenhuma saída"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr "Há um erro de sintaxe no ficheiro personalizado do utilizador '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr "O %s indica o gateway padrão. Veja %sREADME%s para mais detalhes."
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr "Não há suporte para %s neste sistema."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr "O serviço %s não conseguiu descobrir o gateway WAN!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr "No momento, o serviço %s está desativado!"
+
+#: 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 "O suporte de %s é desconhecido."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:213
+msgid "The ipset name '%s' is longer than allowed 31 characters!"
+msgstr "O nome do conjunto de IPs '%s' ultrapassa os 31 caracteres permitidos!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr "O nome do conjunto de IPs '%s' ultrapassa os 31 caracteres permitidos!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr "Houve um encerramento inesperado ou um término do serviço: '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr "Erro desconhecido!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr "Aviso desconhecido!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:229
+msgid "Unknown packet mark for interface '%s'"
+msgstr "Marca de pacote desconhecida para a interface '%s'"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:231
+msgid "Unknown protocol in policy %s"
+msgstr "Protocolo desconhecido na política %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:225
+msgid ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+"O uso do 'curl' é detectado no ficheiro personalizado do utilizador '%s', "
+"porém, o 'curl' não está instalado!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr "Use o suporte do conjunto de resolvedores nos domínios"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr "Detalhado"
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr "Tabela WAN com Marca FW"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr "ID da Tabela WAN"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr "Configuração da Interface Web do Utilizador"
+
+#: 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:225
+msgid "all"
+msgstr "todos"
+
+#~ msgid "%s (disabled)"
+#~ msgstr "%s (desativado)"
+
+#~ msgid "%s (strict mode)"
+#~ msgstr "%s (modo estrito)"
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s não está instalado ou não foi encontrado"
+
+#~ msgid "Add IGNORE Target"
+#~ msgstr "Adicionar alvo IGNORE"
+
+#~ msgid ""
+#~ "Adds `IGNORE` to the list of interfaces for policies, allowing you to "
+#~ "skip further processing by VPN Policy Routing."
+#~ msgstr ""
+#~ "Adiciona `IGNORE` à lista de interfaces para políticas, a permitir-lhe "
+#~ "saltar o processamento posterior por VPN Policy Routing."
+
+#~ msgid "Append"
+#~ msgstr "Adicionar"
+
+#~ msgid "Boot Time-out"
+#~ msgstr "Tempo limite de inicialização"
+
+#~ msgid "Comment"
+#~ msgstr "Comentário"
+
+#~ msgid ""
+#~ "Comment, interface and at least one other field are required. Multiple "
+#~ "local and remote addresses/devices/domains and ports can be space "
+#~ "separated. Placeholders below represent just the format/syntax and will "
+#~ "not be used if fields are left blank."
+#~ msgstr ""
+#~ "Comentário, ao menos uma interface e um outro campo são necessários. "
+#~ "Vários endereços locais e endereços remotos/aparelhos/domínios e portas "
+#~ "podem ser separadas por um espaço. Marcadores abaixo representam apenas o "
+#~ "formato/sintaxe, eles não serão usados se os campos forem deixados em "
+#~ "branco."
+
+#~ msgid "Configuration"
+#~ msgstr "Configuração"
+
+#~ msgid "DNSMASQ ipset"
+#~ msgstr "Ipset DNSMASQ"
+
+#~ msgid "Grant UCI and file access for luci-app-vpn-policy-routing"
+#~ msgstr ""
+#~ "Conceder acesso a UCI e a ficheiros para luci-app-vpn-policy-routing"
+
+#~ msgid "IPTables rule option"
+#~ msgstr "Opção das regras IPTables"
+
+#~ msgid "Loading"
+#~ msgstr "A carregar"
+
+#~ msgid "Running"
+#~ msgstr "Executando"
+
+#~ msgid "Select Append for -A and Insert for -I."
+#~ msgstr "Selecione Adicionar para -A e Insira para -I."
+
+#~ msgid "Service Status [%s %s]"
+#~ msgstr "Estado do Serviço [%s %s]"
+
+#~ msgid "Show Chain Column"
+#~ msgstr "Exibir a Coluna de Correntes"
+
+#~ msgid "Show Enable Column"
+#~ msgstr "Exibir as Colunas Ativas"
+
+#~ msgid "Show Protocol Column"
+#~ msgstr "Exibir a Coluna de Protocolos"
+
+#~ msgid "Show Up/Down Buttons"
+#~ msgstr "Exibir os Botões Cima/Baixo"
+
+#~ msgid ""
+#~ "Shows the Up/Down buttons for policies, allowing you to move a policy up "
+#~ "or down in the list."
+#~ msgstr ""
+#~ "Exibe os botões Cima/Baixo para as políticas, permitindo que mova as "
+#~ "políticas na lista para cima ou para baixo."
+
+#~ msgid ""
+#~ "Shows the chain column for policies, allowing you to assign a PREROUTING, "
+#~ "FORWARD, INPUT or OUTPUT chain to a policy."
+#~ msgstr ""
+#~ "Exibe a coluna de políticas de corrente, permitindo que atribue as "
+#~ "políticas de PREROUTING, FORWARD, INPUT or OUTPUT."
+
+#~ msgid ""
+#~ "Shows the enable checkbox column for policies, allowing you to quickly "
+#~ "enable/disable specific policy without deleting it."
+#~ msgstr ""
+#~ "Exibe a caixa de seleção na coluna de políticas, permitindo uma "
+#~ "atribuição rápida para ativar/desativar certas políticas em específico "
+#~ "sem apagá-las."
+
+#~ msgid ""
+#~ "Shows the protocol column for policies, allowing you to assign a specific "
+#~ "protocol to a policy."
+#~ msgstr ""
+#~ "Exibe a coluna de protocolos das políticas, permitindo que você atribua "
+#~ "um protocolo em determinada política."
+
+#~ msgid "Stopped"
+#~ msgstr "Parado"
+
+#~ msgid "The ipset option for local policies"
+#~ msgstr "Opções ipset para as políticas locais"
+
+#~ msgid "The ipset option for remote policies"
+#~ msgstr "Opções ipset para as políticas remotas"
+
+#~ msgid ""
+#~ "Time (in seconds) for service to wait for WAN gateway discovery on boot."
+#~ msgstr ""
+#~ "Tempo de espera (em segundos) para o serviço de descoberta do WAN gateway "
+#~ "durante a inicialização."
+
+#~ msgid "Use ipset command"
+#~ msgstr "Use o comando ipset"
+
+#~ msgid "Use resolver's ipset for domains"
+#~ msgstr "Use o ipset do resolvedor para domínios"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
+
+#~ msgid "VPN Policy Routing"
+#~ msgstr "Política de Roteamento VPN"
+
+#~ msgid "VPN and WAN Policy-Based Routing"
+#~ msgstr "Roteamento Baseado em Políticas VPN e WAN"
+
+#~ msgid "WAN"
+#~ msgstr "WAN"
+
+#~ msgid ""
+#~ "Add an ip rule, not an iptables entry for policies with just the local "
+#~ "address. Use with caution to manipulte policies priorities."
+#~ msgstr ""
+#~ "Adicione uma regra ip, não uma entrada iptables para políticas apenas com "
+#~ "o endereço local. Use com cuidado para manipular as prioridades das "
+#~ "políticas."
+
+#~ msgid "Append local IP Tables rules"
+#~ msgstr "Acrescentar as regras das Tabelas de IP locais"
+
+#~ msgid "Append remote IP Tables rules"
+#~ msgstr "Acrescentar as regras das Tabelas de IP remoto"
+
+#~ msgid "IP Rules Support"
+#~ msgstr "Suporte as Regras de IP"
+
+#~ msgid ""
+#~ "Special instructions to append iptables rules for local IPs/netmasks/"
+#~ "devices."
+#~ msgstr ""
+#~ "Instruções especiais para anexar regras iptables para IPs/netmasks/"
+#~ "aparelhos locais."
+
+#~ msgid ""
+#~ "Special instructions to append iptables rules for remote IPs/netmasks."
+#~ msgstr ""
+#~ "Instruções especiais para anexar regras iptables para IPs/netmasks "
+#~ "remotos."
+
+#~ msgid ""
+#~ "The %s represents the default gateway. See the %sREADME%s for details."
+#~ msgstr ""
+#~ "O %s representa o gateway padrão. Veja a %sREADME%s para mais detalhes."
+
+#~ msgid "Use DNSMASQ ipset"
+#~ msgstr "Use o DNSMASQ ipset"
+
+#~ msgid ""
+#~ "Checkmark represents the default gateway. See the %sREADME%s for details."
+#~ msgstr ""
+#~ "A marca de seleção representa o gateway predefinido. Consulte o "
+#~ "%sREADME%s para mais informações."
+
+#~ msgid "Grant UCI access for luci-app-vpn-policy-routing"
+#~ msgstr "Conceder acesso UCI ao luci-app-vpn-policy-routing"
+
+#~ msgid "(strict mode)"
+#~ msgstr "(modo estrito)"
+
+#~ msgid "README"
+#~ msgstr "LEIAME"
+
+#~ msgid "Reload"
+#~ msgstr "Recarregar"
+
+#~ msgid "for details."
+#~ msgstr "para detalhes."
+
+#~ msgid "is not installed or not found"
+#~ msgstr "não está instalado ou não foi encontrado"
diff --git a/applications/luci-app-pbr/po/pt_BR/pbr.po b/applications/luci-app-pbr/po/pt_BR/pbr.po
new file mode 100644
index 0000000000..30dca4c98c
--- /dev/null
+++ b/applications/luci-app-pbr/po/pt_BR/pbr.po
@@ -0,0 +1,870 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-12-28 07:01+0000\n"
+"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
+"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
+"openwrt/luciapplicationspbr/pt_BR/>\n"
+"Language: pt_BR\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.15.1-dev\n"
+
+#: 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"
+msgstr "%s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr "O binário %s não pode ser encontrado!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+msgstr ""
+"%sADVERTÊNCIA:%s Consulte o %sREADME%s antes de alterar qualquer coisa nesta "
+"seção! Altere qualquer uma das configurações abaixo com extrema cautela!%s"
+
+#: 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:106
+msgid "AdGuardHome ipset"
+msgstr "Conjunto de IPs do AdGuardHome"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr "Adicionar"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr "Adiciona ignorar ao alvo"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+"Adiciona a política 'ignorar' à lista das interfaces. Consulte %sREADME%s "
+"para obter mais informações."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "Configurações avançadas"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+"Permite especificar a lista de nomes das interfaces (em minúsculas) para "
+"serem explicitamente compatíveis pelo serviço. Pode ser útil se seus túneis "
+"OpenVPN tiverem opção dev diferente de tun* ou tap*."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+"Permite especificar lista de nomes das interfaces (em minúsculas), que serão "
+"ignorados pelo serviço. Pode ser útil se estiver rodando ambos os VPN "
+"servidor e cliente no roteador."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr "Configurações Básicas"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "Corrente"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr "Saída condensada"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr "Houve uma falha na validação da configuração (%s)!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr "Controla tanto a verbosidade de saída do sistema quanto do console."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr "Arquivos Personalizados do Usuário Incluem"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+"O arquivo personalizado '%s' do usuário não foi encontrado ou está vazio!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr "Etiqueta DSCP"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr "Marcação DSCP"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr "Interface ICMP Padrão"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "Desativar"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Desativado"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr "Desativando o serviço %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr "Exibir esses protocolos na coluna de protocolo na Interface Web."
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr "Conjunto de IPs do Dnsmasq"
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr "Conjunto nft do dnsmasq"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr "Não aplique as políticas quando o seu gateway estiver inoperante"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Ativar"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Ativado"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr "Ativando o serviço %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr "Houve um erro ao executar um arquivo personalizado do usuário '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+"Máscara FW usada pelo serviço. A máscara alta é usada para evitar conflitos "
+"com o SQM/QoS. Mude com cautela em conjunto com"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr "Houve uma falha ao recarregar '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr "Houve uma falha ao configurar '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr "Houve uma falha ao configurar qualquer gateway!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr "Impor o protocolo ICMP na interface."
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr "Conceda acesso ao arquivo e ao UCI para o luci-app-pbr"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "Suporte ao IPv6"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr "Interfaces ignoradas"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr "Inserir"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:233
+msgid "Insertion failed for IPv4 for policy %s"
+msgstr "Houve uma falha na inserção da política %s para o IPv4"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:232
+msgid "Insertion failed for both IPv4 and IPv6 for policy %s"
+msgstr "Houve uma falha na inserção da política %s para ambos IPv4 e IPv6"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:178
+msgid "Installed AdGuardHome (%s) doesn't support 'ipset_file' option."
+msgstr ""
+"O AdGuardHome (%s) instalado não é compatível com a opção 'ipset_file'."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Interface"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr "Endereços locais / dispositivos"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr "Portas locais"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:230
+msgid "Mismatched IP family between in policy %s"
+msgstr "Família de IP incompatível com a política %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:193
+msgid "Name"
+msgstr "Nome"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+"O nome, a interface e pelo menos um outro campo são obrigatórios. Vários "
+"endereços/dispositivos/domínios locais, remotos e portas podem ser separados "
+"por espaço. Os espaços reservados abaixo representam apenas o formato/"
+"sintaxe e não serão usados caso os campos sejam deixados em branco."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr "Sem Alterações"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr "Não está instalado ou não foi encontrado"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr "Verbosidade de saída"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Caminho"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr "Por favor, consulte o %sREADME%s antes de alterar esta opção."
+
+#: 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 ""
+"Desmarque 'chain' ou defina 'chain' como 'PREROUTING' para a política '%s'"
+
+#: 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 ""
+"Desmarque 'chain' ou defina 'chain' como 'prerouting' para a política '%s'"
+
+#: 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 "Desmarque 'proto' ou defina 'proto' como 'all' para a política '%s'"
+
+#: 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 "Desmarque 'src_addr', 'src_port' e 'dest_port' para a política '%s'"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:180
+msgid "Policies"
+msgstr "Políticas"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr "A política '%s' tem uma interface desconhecida!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr "A política '%s' não tem uma interface atribuída!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr "A política '%s' não tem parâmetros de origem/destino!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr "Roteamento com base em políticas - Configuração"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr "Roteamento com base em políticas - Condição geral"
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr "Política de roteamento"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Protocolo"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr "Endereços remotos / domínios"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr "Portas remotas"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:227
+msgid "Resolver %s"
+msgstr "Resolvedor %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:210
+msgid "Resolver set (%s) is not supported on this system!"
+msgstr "O conjunto de resolvedores (%s) não é suportado neste sistema!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr "O conjunto de resolvedores (%s) não é suportado neste sistema."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+"O suporte ao conjunto de resolvedores (%s) requer um conjunto de IPs, porém, "
+"o executável ipset não pode ser encontrado!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+"O suporte ao conjunto de resolvedores (%s) requer nftables, porém, o "
+"executável nft não pode ser encontrado!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "Reiniciar"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr "Reiniciando o serviço %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr "Opção de criação das regras"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+"Execute os seguintes arquivos do usuário após a configuração, porém antes de "
+"reiniciar o DNSMASQ. Consulte o %sREADME%s para mais informações."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr "Executando (versão: %s usando iptables)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr "Executando (versão: %s usando nft)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr "Executando (versão: %s)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr "Consulte o %sREADME%s para mais informações."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr "Selecione adicionar para -A/add e inserir para -I/Insert."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr "Controle do Serviço"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr "Erros do serviço"
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr "Serviço Máscara FW"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr "Serviço de Gateways"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "Condição do Serviço"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr "Avisos do serviço"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+"Defina as tags do DSCP (no intervalo entre 1 e 63) para as interfaces "
+"específicas. Consulte o %sREADME%s para mais informações."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:228
+msgid "Skipping IPv6 policy '%s' as IPv6 support is disabled"
+msgstr "Ignorando a política IPv6 '%s' pois o suporte ao IPv6 está desativado"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:264
+msgid "Start"
+msgstr "Início"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr "Iniciando o serviço %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+"Começando Máscara FW (WAN) para marcas usadas pelo serviço. A máscara alta é "
+"usada para evitar conflitos com o SQM/QoS. Mudar com cautela junto com"
+
+#: 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."
+msgstr ""
+"Iniciando Tabela ID (WAN) para a quantidade de tabelas criadas pelo serviço."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "Parar"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr "Parado (Desativado)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr "Parado (versão: %s)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr "Parando o serviço %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr "Aplicação rigorosa"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr "Impor rigorosamente as políticas quando o gateway não estiver de pé"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr "Interfaces Compatíveis"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr "Protocolos Compatíveis"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr "Suprimir ou não a saída"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr "Há um erro de sintaxe no arquivo personalizado do usuário '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+"O %s indica o gateway padrão. Consulte os %sREADME%s para obter mais "
+"detalhes."
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr "Não há suporte para %s neste sistema."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr "O serviço %s falhou ao descobrir o gateway WAN!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr "No momento, o serviço %s está desativado!"
+
+#: 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 "O suporte ao %s é desconhecido."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:213
+msgid "The ipset name '%s' is longer than allowed 31 characters!"
+msgstr "O nome do conjunto de IPs '%s' ultrapassa os 31 caracteres permitidos!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr "O nome do conjunto de IPs '%s' ultrapassa os 31 caracteres permitidos!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr "Houve um encerramento inesperado ou um término do serviço: '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr "Erro desconhecido!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr "Aviso desconhecido!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:229
+msgid "Unknown packet mark for interface '%s'"
+msgstr "Pacote com marca desconhecida para interface '%s'"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:231
+msgid "Unknown protocol in policy %s"
+msgstr "Protocolo desconhecido na política %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:225
+msgid ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+"O uso do 'curl' é detectado no arquivo personalizado do usuário '%s', porém, "
+"o 'curl' não está instalado!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr "Use o suporte do conjunto de resolvedores nos domínios"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr "Saída detalhada"
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr "Tabela WAN com Marca FW"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr "ID da Tabela WAN"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr "Configuração da Interface Web do Usuário"
+
+#: 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:225
+msgid "all"
+msgstr "todos"
+
+#~ msgid "ip-full binary cannot be found!"
+#~ msgstr "o executável ip-full não pode ser encontrado!"
+
+#~ msgid "%s (disabled)"
+#~ msgstr "%s (desativado)"
+
+#~ msgid "%s (strict mode)"
+#~ msgstr "%s (modo estrito)"
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s não está instalado ou não foi encontrado"
+
+#~ msgid "Add IGNORE Target"
+#~ msgstr "Adicione IGNORAR ao alvo"
+
+#~ msgid ""
+#~ "Adds `IGNORE` to the list of interfaces for policies, allowing you to "
+#~ "skip further processing by VPN Policy Routing."
+#~ msgstr ""
+#~ "Adiciona 'IGNORAR' à lista das políticas para as interfaces, permitindo "
+#~ "que você ignore o processamento feito pelas políticas de roteamento da "
+#~ "VPN."
+
+#~ msgid "Append"
+#~ msgstr "Acrescentar"
+
+#~ msgid "Boot Time-out"
+#~ msgstr "Tempo limite de inicialização"
+
+#~ msgid "Comment"
+#~ msgstr "Comentário"
+
+#~ msgid ""
+#~ "Comment, interface and at least one other field are required. Multiple "
+#~ "local and remote addresses/devices/domains and ports can be space "
+#~ "separated. Placeholders below represent just the format/syntax and will "
+#~ "not be used if fields are left blank."
+#~ msgstr ""
+#~ "Comentário, ao menos uma interface e um outro campo são necessários. "
+#~ "Vários endereços locais e endereços remotos/dispositivos/domínios e "
+#~ "portas podem ser separadas por um espaço. Marcadores abaixo representam "
+#~ "apenas o formato/sintaxe, eles não serão usados se os campos forem "
+#~ "deixados em branco."
+
+#~ msgid "Configuration"
+#~ msgstr "Configuração"
+
+#~ msgid "DNSMASQ ipset"
+#~ msgstr "Ipset DNSMASQ"
+
+#~ msgid "Grant UCI and file access for luci-app-vpn-policy-routing"
+#~ msgstr ""
+#~ "Conceda acesso ao arquivo e ao UCI para o luci-app-vpn-policy-routing"
+
+#~ msgid "IPTables rule option"
+#~ msgstr "Opção das regras IPTables"
+
+#~ msgid "Loading"
+#~ msgstr "Carregando"
+
+#~ msgid "Running"
+#~ msgstr "Em execução"
+
+#~ msgid "Select Append for -A and Insert for -I."
+#~ msgstr "Selecione Adicionar para -A e Insira para -I."
+
+#~ msgid "Service Status [%s %s]"
+#~ msgstr "Condição Geral do Serviço [%s %s]"
+
+#~ msgid "Show Chain Column"
+#~ msgstr "Exibir a Coluna de Correntes"
+
+#~ msgid "Show Enable Column"
+#~ msgstr "Exibir as Colunas Ativas"
+
+#~ msgid "Show Protocol Column"
+#~ msgstr "Exibir a Coluna de Protocolos"
+
+#~ msgid "Show Up/Down Buttons"
+#~ msgstr "Exibir os Botões Cima/Baixo"
+
+#~ msgid ""
+#~ "Shows the Up/Down buttons for policies, allowing you to move a policy up "
+#~ "or down in the list."
+#~ msgstr ""
+#~ "Exibe os botões Cima/Baixo para as políticas, permitindo que você mova as "
+#~ "políticas na lista para cima ou para baixo."
+
+#~ msgid ""
+#~ "Shows the chain column for policies, allowing you to assign a PREROUTING, "
+#~ "FORWARD, INPUT or OUTPUT chain to a policy."
+#~ msgstr ""
+#~ "Exibe a coluna de políticas de corrente, permitindo que você atribua as "
+#~ "políticas de PREROUTING, FORWARD, INPUT or OUTPUT."
+
+#~ msgid ""
+#~ "Shows the enable checkbox column for policies, allowing you to quickly "
+#~ "enable/disable specific policy without deleting it."
+#~ msgstr ""
+#~ "Exibe a caixa de seleção na coluna de políticas, permitindo uma "
+#~ "atribuição rápida para habilitar/desabilitar certas políticas em "
+#~ "específico sem deletá-las."
+
+#~ msgid ""
+#~ "Shows the protocol column for policies, allowing you to assign a specific "
+#~ "protocol to a policy."
+#~ msgstr ""
+#~ "Exibe a coluna de protocolos das políticas, permitindo que você atribua "
+#~ "um protocolo em determinada política."
+
+#~ msgid "Stopped"
+#~ msgstr "Parado"
+
+#~ msgid "The ipset option for local policies"
+#~ msgstr "Opções ipset para as políticas locais"
+
+#~ msgid "The ipset option for remote policies"
+#~ msgstr "Opções ipset para as políticas remotas"
+
+#~ msgid ""
+#~ "Time (in seconds) for service to wait for WAN gateway discovery on boot."
+#~ msgstr ""
+#~ "Tempo de espera (em segundos) para o serviço de descoberta do WAN gateway "
+#~ "durante a inicialização."
+
+#~ msgid "Use ipset command"
+#~ msgstr "Use o comando ipset"
+
+#~ msgid "Use resolver's ipset for domains"
+#~ msgstr "Use o ipset do resolvedor para os domínios"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
+
+#~ msgid "VPN Policy Routing"
+#~ msgstr "Política de Roteamento VPN"
+
+#~ msgid "VPN and WAN Policy-Based Routing"
+#~ msgstr "Roteamento Baseado em Políticas VPN e WAN"
+
+#~ msgid "WAN"
+#~ msgstr "WAN"
+
+#~ msgid ""
+#~ "Add an ip rule, not an iptables entry for policies with just the local "
+#~ "address. Use with caution to manipulte policies priorities."
+#~ msgstr ""
+#~ "Adicione uma regra de ip, não uma entrada iptables apenas para as "
+#~ "políticas com o endereço local. Use com cautela ao manipular as "
+#~ "prioridade das políticas."
+
+#~ msgid "Append local IP Tables rules"
+#~ msgstr "Acrescentar as regras das Tabelas de IP locais"
+
+#~ msgid "Append remote IP Tables rules"
+#~ msgstr "Acrescentar as regras das Tabelas de IP remoto"
+
+#~ msgid "IP Rules Support"
+#~ msgstr "Suporte as Regras de IP"
+
+#~ msgid ""
+#~ "Special instructions to append iptables rules for local IPs/netmasks/"
+#~ "devices."
+#~ msgstr ""
+#~ "Instruções especiais para anexar regras iptables para IPs/netmasks/"
+#~ "dispositivos locais."
+
+#~ msgid ""
+#~ "Special instructions to append iptables rules for remote IPs/netmasks."
+#~ msgstr ""
+#~ "Instruções especiais para anexar regras iptables para IPs/netmasks "
+#~ "remotos."
+
+#~ msgid ""
+#~ "The %s represents the default gateway. See the %sREADME%s for details."
+#~ msgstr ""
+#~ "O %s representa o gateway padrão. Veja o %sREADME%s para obter mais "
+#~ "informações."
+
+#~ msgid "Use DNSMASQ ipset"
+#~ msgstr "Use o DNSMASQ ipset"
+
+#~ msgid ""
+#~ "Checkmark represents the default gateway. See the %sREADME%s for details."
+#~ msgstr ""
+#~ "A marca de seleção representa o gateway padrão. Consulte o %sREADME%s "
+#~ "para mais informações."
+
+#~ msgid "Grant UCI access for luci-app-vpn-policy-routing"
+#~ msgstr "Conceda acesso UCI ao luci-app-vpn-policy-routing"
+
+#~ msgid ""
+#~ "%sWARNING:%s Please make sure to check the <a href=\"%s\" "
+#~ "target=\"_blank\">README</a> before changing anything in this section! "
+#~ "Change any of the settings below with extreme caution!%s"
+#~ msgstr ""
+#~ "%sAVISO:%s Certifique-se de verificar o <a href=\"%s\" "
+#~ "target=\"_blank\">LEIA-ME</a> antes de mudar qualquer coisa nesta seção! "
+#~ "Altere qualquer uma das configurações abaixo com extrema cautela!%s"
+
+#~ msgid ""
+#~ "Checkmark represents the default gateway. See the <a href=\"%s\" "
+#~ "target=\"_blank\">README</a> for details."
+#~ msgstr ""
+#~ "O sinal de confirmação representa o gateway padrão. Consulte o <a "
+#~ "href=\"%s\" target=\"_blank\">README</a> para obter mais detalhes."
+
+#~ msgid ""
+#~ "Please check the <a href=\"%s\" target=\"_blank\">README</a> before "
+#~ "changing this option."
+#~ msgstr ""
+#~ "Por favor, verifique o <a href=\"%s\" target=\"_blank\">README</a> antes "
+#~ "de alterar esta opção."
+
+#~ msgid ""
+#~ "Run the following user files after setting up but before restarting "
+#~ "DNSMASQ. See the <a href=\"%s\" target=\"_blank\">README</a> for details."
+#~ msgstr ""
+#~ "Execute os seguintes arquivos do usuário após a configuração, mas antes "
+#~ "de reiniciar o DNSMASQ. Consulte o <a href=\"%s\" "
+#~ "target=\"_blank\">README</a> para obter mais detalhes."
+
+#~ msgid "See the <a href=\"%s\" target=\"_blank\">README</a> for details."
+#~ msgstr ""
+#~ "Consulte o <a href=\"%s\" target=\"_blank\">README</a> para obter mais "
+#~ "detalhes."
+
+#~ msgid ""
+#~ "Set DSCP tags (in range between 1 and 63) for specific interfaces. See "
+#~ "the <a href=\"%s\" target=\"_blank\">README</a> for details."
+#~ msgstr ""
+#~ "Defina as tags DSCP (no intervalo entre 1 e 63) nas interfaces "
+#~ "específicas. Consulte o <a href=\"%s\" target=\"_blank\">README</a> para "
+#~ "obter mais detalhes."
+
+#~ msgid "(strict mode)"
+#~ msgstr "(modo rigoroso)"
+
+#~ msgid "Checkmark represents the default gateway. See the"
+#~ msgstr "A marca de seleção representa o gateway padrão. Veja o"
+
+#~ msgid "Please check the"
+#~ msgstr "Por favor, verifique o"
+
+#~ msgid "Please make sure to check the"
+#~ msgstr "Por favor, certifique-se de verificar o"
+
+#~ msgid "README"
+#~ msgstr "LEIA-ME"
+
+#~ msgid "Reload"
+#~ msgstr "Recarregar"
+
+#~ msgid ""
+#~ "Run the following user files after setting up but before restarting "
+#~ "DNSMASQ. See the"
+#~ msgstr ""
+#~ "Execute os seguintes arquivos de usuário após a configuração, porém antes "
+#~ "de reiniciar o DNSMASQ. Veja o"
+
+#~ msgid "See the"
+#~ msgstr "Veja o"
+
+#~ msgid ""
+#~ "Set DSCP tags (in range between 1 and 63) for specific interfaces. See the"
+#~ msgstr ""
+#~ "Defina as etiquetas DSCP (no intervalo entre 1 e 63) em interfaces "
+#~ "específicas. Veja o"
+
+#~ msgid "WARNING:"
+#~ msgstr "AVISO:"
+
+#~ msgid ""
+#~ "before changing anything in this section! Change any of the settings "
+#~ "below with extreme caution!"
+#~ msgstr ""
+#~ "antes de mudar qualquer coisa nesta seção! Altere qualquer uma das "
+#~ "configurações abaixo com extrema cautela!"
+
+#~ msgid "before changing this option."
+#~ msgstr "antes de mudar esta opção."
+
+#~ msgid "for details."
+#~ msgstr "para mais detalhes."
+
+#~ msgid "is not installed or not found"
+#~ msgstr "não está instalado ou não foi encontrado"
diff --git a/applications/luci-app-pbr/po/ro/pbr.po b/applications/luci-app-pbr/po/ro/pbr.po
new file mode 100644
index 0000000000..cb57324e5a
--- /dev/null
+++ b/applications/luci-app-pbr/po/ro/pbr.po
@@ -0,0 +1,707 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-01-08 05:48+0000\n"
+"Last-Translator: CRISTIAN ANDREI <cristianvdr@gmail.com>\n"
+"Language-Team: Romanian <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/ro/>\n"
+"Language: ro\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2;\n"
+"X-Generator: Weblate 4.15.1-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+msgstr ""
+"%sWARNING:%s Vă rugăm să verificați %sREADME%s înainte de a modifica ceva în "
+"această secțiune! Schimbați oricare dintre setările de mai jos cu mare "
+"precauție!%s"
+
+#: 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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "Configurație avansată"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+"Permite specificarea listei de nume de interfețe (în minuscule) care trebuie "
+"să fie acceptate în mod explicit de către serviciu. Poate fi util dacă "
+"tunelurile OpenVPN au opțiunea dev, alta decât tun* sau tap*."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+"Permite specificarea listei de nume de interfețe (în minuscule) care trebuie "
+"ignorate de serviciu. Poate fi util dacă se execută atât serverul VPN, cât "
+"și clientul VPN pe router."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr "Configurație de Bază"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "Legătură"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr "Ieșire condensată"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+"Controlează atât jurnalul de sistem, cât și verbalitatea ieșirii în consolă."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr "Fișierul de utilizator personalizat include"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr "Etichetă DSCP"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr "Etichetarea DSCP"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr "Interfață ICMP implicită"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "Dezactivați"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Dezactivat"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr "Afișați aceste protocoale în coloana Protocol din Web UI."
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr "Nu aplicați politicile atunci când gateway-ul lor este oprit"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Activați"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Activat"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+"FW Masca utilizată de serviciu. Masca înaltă este utilizată pentru a evita "
+"conflictul cu SQM/QoS. Modificați cu prudență împreună cu"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr "Forțează interfața protocolului ICMP."
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "Suport IPv6"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr "Interfețe ignorate"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr "Introduceți"
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Interfață"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr "Adrese / dispozitive locale"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr "Porturi locale"
+
+#: 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"
+msgstr "Nume"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr "Nici o schimbare"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr "Verbalizarea ieșirii"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Cale"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+"Vă rugăm să verificați %sREADME%s înainte de a modifica această opțiune."
+
+#: 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"
+msgstr "Politici"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Protocol"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr "Adrese / domenii la distanță"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr "Porturi la distanță"
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "Reporniți"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+"Rulați următoarele fișiere de utilizator după configurarea, dar înainte de a "
+"reporni DNSMASQ. Consultați %sREADME%s pentru detalii."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr "Consultați %sREADME%s pentru detalii."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr "Controlul serviciilor"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr "Erori de serviciu"
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr "Masca de serviciu FW"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr "Porți de serviciu"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "Starea serviciului"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr "Avertismente de serviciu"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+"Setați etichetele DSCP (în intervalul 1-63) pentru anumite interfețe. "
+"Consultați %sREADME%s pentru detalii."
+
+#: 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"
+msgstr "Porniți"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+"Starting (WAN) FW Mark pentru mărcile utilizate de serviciu. Marca de "
+"pornire ridicată este utilizată pentru a evita conflictul cu SQM/QoS. "
+"Modificați cu prudență împreună cu"
+
+#: 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."
+msgstr ""
+"Starting (WAN) Numărul de identificare a tabelului pentru tabelele create de "
+"serviciu."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "Opriți"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr "Se operște servciul %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr "Aplicarea strictă a legii"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr "Aplică cu strictețe politicile atunci când gateway-ul lor este oprit"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr "Interfețe acceptate"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr "Protocoale acceptate"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr "Suprimare/Nicio ieșire"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr "%s indică gateway-ul implicit. Consultați %sREADME%s pentru detalii."
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr "Ieșire abundentă"
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr "Tabel WAN FW Mark"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr "ID-ul tabelului WAN"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr "Configurarea interfeței web"
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "%s (disabled)"
+#~ msgstr "%s (dezactivat)"
+
+#~ msgid "%s (strict mode)"
+#~ msgstr "%s (mod strict)"
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s nu este instalat sau nu este găsit"
+
+#~ msgid "Add IGNORE Target"
+#~ msgstr "Adăugați țintă IGNORE"
+
+#~ msgid ""
+#~ "Adds `IGNORE` to the list of interfaces for policies, allowing you to "
+#~ "skip further processing by VPN Policy Routing."
+#~ msgstr ""
+#~ "Adaugă `IGNORE` la lista de interfețe pentru politici, permițându-vă să "
+#~ "săriți peste procesarea ulterioară de către VPN Policy Routing."
+
+#~ msgid "Append"
+#~ msgstr "Adăugați"
+
+#~ msgid "Boot Time-out"
+#~ msgstr "Timp de așteptare la boot"
+
+#~ msgid "Comment"
+#~ msgstr "Comentariu"
+
+#~ msgid ""
+#~ "Comment, interface and at least one other field are required. Multiple "
+#~ "local and remote addresses/devices/domains and ports can be space "
+#~ "separated. Placeholders below represent just the format/syntax and will "
+#~ "not be used if fields are left blank."
+#~ msgstr ""
+#~ "Comentariul, interfața și cel puțin un alt câmp sunt obligatorii. Mai "
+#~ "multe adrese/dispozitive/domenii și porturi locale și la distanță pot fi "
+#~ "separate prin spații. Semnele de poziție de mai jos reprezintă doar "
+#~ "formatul/sintaxa și nu vor fi utilizate dacă câmpurile sunt lăsate goale."
+
+#~ msgid "Configuration"
+#~ msgstr "Configurație"
+
+#~ msgid "DNSMASQ ipset"
+#~ msgstr "DNSMASQ ipset"
+
+#~ msgid "Grant UCI and file access for luci-app-vpn-policy-routing"
+#~ msgstr "Acordă UCI și acces la fișiere pentru luci-app-vpn-policy-routing"
+
+#~ msgid "IPTables rule option"
+#~ msgstr "Opțiunea de regulă IPTables"
+
+#~ msgid "Loading"
+#~ msgstr "Încărcare"
+
+#~ msgid "Running"
+#~ msgstr "Rulare"
+
+#~ msgid "Select Append for -A and Insert for -I."
+#~ msgstr "Selectați Append pentru -A și Insert pentru -I."
+
+#~ msgid "Service Status [%s %s]"
+#~ msgstr "Starea serviciului [%s %s]"
+
+#~ msgid "Show Chain Column"
+#~ msgstr "Afișare coloană lanț"
+
+#~ msgid "Show Enable Column"
+#~ msgstr "Afișare coloană de activare"
+
+#~ msgid "Show Protocol Column"
+#~ msgstr "Afișați coloana de protocol"
+
+#~ msgid "Show Up/Down Buttons"
+#~ msgstr "Afișați butoanele sus/jos"
+
+#~ msgid ""
+#~ "Shows the Up/Down buttons for policies, allowing you to move a policy up "
+#~ "or down in the list."
+#~ msgstr ""
+#~ "Afișează butoanele sus/jos pentru politici, permițându-vă să mutați o "
+#~ "politică în sus sau în jos în listă."
+
+#~ msgid ""
+#~ "Shows the chain column for policies, allowing you to assign a PREROUTING, "
+#~ "FORWARD, INPUT or OUTPUT chain to a policy."
+#~ msgstr ""
+#~ "Afișează coloana de lanț pentru politici, permițându-vă să atribuiți un "
+#~ "lanț PREROUTING, FORWARD, INPUT sau OUTPUT unei politici."
+
+#~ msgid ""
+#~ "Shows the enable checkbox column for policies, allowing you to quickly "
+#~ "enable/disable specific policy without deleting it."
+#~ msgstr ""
+#~ "Afișează coloana de activare a casetei de selectare pentru politici, "
+#~ "permițându-vă să activați/dezactivați rapid o politică specifică fără a o "
+#~ "șterge."
+
+#~ msgid ""
+#~ "Shows the protocol column for policies, allowing you to assign a specific "
+#~ "protocol to a policy."
+#~ msgstr ""
+#~ "Afișează coloana de protocol pentru politici, permițându-vă să atribuiți "
+#~ "un protocol specific unei politici."
+
+#~ msgid "Stopped"
+#~ msgstr "S-a oprit"
+
+#~ msgid "The ipset option for local policies"
+#~ msgstr "Opțiunea ipset pentru politicile locale"
+
+#~ msgid "The ipset option for remote policies"
+#~ msgstr "Opțiunea ipset pentru politicile la distanță"
+
+#~ msgid ""
+#~ "Time (in seconds) for service to wait for WAN gateway discovery on boot."
+#~ msgstr ""
+#~ "Timpul (în secunde) de așteptare a serviciului pentru descoperirea "
+#~ "gateway-ului WAN la pornire."
+
+#~ msgid "Use ipset command"
+#~ msgstr "Utilizați comanda ipset"
+
+#~ msgid "Use resolver's ipset for domains"
+#~ msgstr "Utilizați ipset-ul rezolvatorului pentru domenii"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
+
+#~ msgid "VPN Policy Routing"
+#~ msgstr "Politica de rutare VPN"
+
+#~ msgid "VPN and WAN Policy-Based Routing"
+#~ msgstr "Rutarea bazată pe politici VPN și WAN"
+
+#~ msgid "WAN"
+#~ msgstr "WAN"
diff --git a/applications/luci-app-pbr/po/ru/pbr.po b/applications/luci-app-pbr/po/ru/pbr.po
new file mode 100644
index 0000000000..af0a9c9d65
--- /dev/null
+++ b/applications/luci-app-pbr/po/ru/pbr.po
@@ -0,0 +1,725 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-12-28 07:01+0000\n"
+"Last-Translator: sergio <sergio+it@outerface.net>\n"
+"Language-Team: Russian <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/ru/>\n"
+"Language: ru\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.15.1-dev\n"
+
+#: 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"
+msgstr "%s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr "Бинарный файл %s не найден!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+msgstr ""
+"%sWARNING:%s Пожалуйста ознакомьтесь с %sREADME%s перед любыми изменениями в "
+"этой секции! Любые изменения в настройках ниже проводите с предельной "
+"осторожностью!%s"
+
+#: 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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr "Добавить"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+"Добавляет 'ignore' в список интерфейсов для политик. Подробности см. в "
+"%sREADME%s."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "Расширенные настройки"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+"Позволяет указать список имен интерфейсов (в нижнем регистре) для явной "
+"поддержки службой. Может быть полезно если OpenVPN тоннели создаются с "
+"именем интерфейса (параметр dev) отличным от tun* или tap*."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+"Позволяет указать список имен интерфейсов (в нижнем регистре) для "
+"игнорирования службой. Может быть полезно если VPN сервер и VPN клиент "
+"запущены на одном маршрутизаторе."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr "Основная конфигурация"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "Цепочка"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr "Сжатый вывод"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+"Управляет уровнем подробности для системного журнала и вывода в консоль."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr "Добавить пользовательский файл"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr "Метка DSCP"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr "Добавление тегов DSCP"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr "Интерфейс ICMP по умолчанию"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "Отключить"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Отключено"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr "Отображать эти протоколы в строке протоколов Web UI."
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr "Не применять политики когда их шлюз отключен"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Включить"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Включено"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+"Маска FW, используемая службой. Большое значение маски используется, чтобы "
+"избежать конфликта с SQM / QoS. Меняйте осторожно вместе с"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr "Принудительно использовать интерфейс протокола ICMP."
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "Поддержка IPv6"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr "Игнорируемые интерфейсы"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr "Вставить"
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Интерфейс"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr "Локальные адреса / устройства"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr "Локальные порты"
+
+#: 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"
+msgstr "Название"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr "Без изменений"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr "Подробность вывода"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Путь"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr "Пожалуйста ознакомьтесь с %sREADME%s прежде чем менять эту опцию."
+
+#: 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"
+msgstr "Политики"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Протокол"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr "Удалённые адреса / домены"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr "Удалённые порты"
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "Перезапустить"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+"После настройки, но перед перезапуском DNSMASQ, запустить следующие "
+"пользовательские файлы. См. %sREADME%s."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr "См. %sREADME%s."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr "Управление службой"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr "Ошибки службы"
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr "Маска FW службы"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr "Шлюзы сервиса"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "Статус службы"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr "Предупреждения службы"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+"Установить DSCP метки (в диапазоне между 1 и 63) для конкретных интерфейсов. "
+"См. %sREADME%s."
+
+#: 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"
+msgstr "Запустить"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+"Начальная (WAN) метка FW, используемая службой. Большое значение метки "
+"используется, чтобы избежать конфликта с SQM / QoS. Меняйте осторожно вместе "
+"с"
+
+#: 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."
+msgstr "Начальный (WAN) ID таблицы для таблиц созданных службой."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "Остановить"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr "Строгое применение"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr "Строго применять политики, когда их шлюз не работает"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr "Поддерживаемые интерфейсы"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr "Поддерживаемые протоколы"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr "Заглушить/Без вывода"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr "%s обозначает шлюз по умолчанию. См. %sREADME%s."
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr "Подробный вывод"
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr "Метка FW WAN таблицы"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr "ID таблицы WAN"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr "Параметры веб-интерфейса"
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "%s (disabled)"
+#~ msgstr "%s (отключено)"
+
+#~ msgid "%s (strict mode)"
+#~ msgstr "%s (строгий режим)"
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s не установлен или не найден"
+
+#~ msgid "Add IGNORE Target"
+#~ msgstr "Добавить IGNORE к цели"
+
+#~ msgid ""
+#~ "Adds `IGNORE` to the list of interfaces for policies, allowing you to "
+#~ "skip further processing by VPN Policy Routing."
+#~ msgstr ""
+#~ "Добавляет `IGNORE` в список интерфейсов для политик, позволяя вам "
+#~ "пропустить дальнейшую обработку VPN Policy Routing."
+
+#~ msgid "Append"
+#~ msgstr "Добавить"
+
+#~ msgid "Boot Time-out"
+#~ msgstr "Время ожидания загрузки"
+
+#~ msgid "Comment"
+#~ msgstr "Комментарий"
+
+#~ msgid ""
+#~ "Comment, interface and at least one other field are required. Multiple "
+#~ "local and remote addresses/devices/domains and ports can be space "
+#~ "separated. Placeholders below represent just the format/syntax and will "
+#~ "not be used if fields are left blank."
+#~ msgstr ""
+#~ "Необходимо заполнить Название, Интерфейс и не менее одного другого поля. "
+#~ "Множественные адреса (локальные и удалённые), устройства, домены и порты "
+#~ "разделяются пробелами. Заглушки показывают только синтаксис полей и не "
+#~ "используются, если поле не заполнено явно."
+
+#~ msgid "Configuration"
+#~ msgstr "Конфигурация"
+
+#~ msgid "DNSMASQ ipset"
+#~ msgstr "ipset DNSMASQ"
+
+#~ msgid "Grant UCI and file access for luci-app-vpn-policy-routing"
+#~ msgstr "Предоставить доступ к UCI и файлам для luci-app-vpn-policy-routing"
+
+#~ msgid "IPTables rule option"
+#~ msgstr "Параметр правил IPTables"
+
+#~ msgid "Loading"
+#~ msgstr "Загрузка"
+
+#~ msgid "Running"
+#~ msgstr "Запущенные"
+
+#~ msgid "Select Append for -A and Insert for -I."
+#~ msgstr "Выберите Добавить для -A и Вставить для -I."
+
+#~ msgid "Service Status [%s %s]"
+#~ msgstr "Статус службы [%s %s]"
+
+#~ msgid "Show Chain Column"
+#~ msgstr "Показать столбец Цепочки"
+
+#~ msgid "Show Enable Column"
+#~ msgstr "Показать столбец Включить"
+
+#~ msgid "Show Protocol Column"
+#~ msgstr "Показать столбец Протокол"
+
+#~ msgid "Show Up/Down Buttons"
+#~ msgstr "Показать кнопки Вверх/Вниз"
+
+#~ msgid ""
+#~ "Shows the Up/Down buttons for policies, allowing you to move a policy up "
+#~ "or down in the list."
+#~ msgstr ""
+#~ "Показать кнопки Вверх/Вниз для политик, позволяя вам перемещать политики "
+#~ "вверх или вниз списка."
+
+#~ msgid ""
+#~ "Shows the chain column for policies, allowing you to assign a PREROUTING, "
+#~ "FORWARD, INPUT or OUTPUT chain to a policy."
+#~ msgstr ""
+#~ "Показать столбец Цепочки для политик, позволяет вам применять цепочки "
+#~ "PREROUTING, FORWARD, INPUT или OUTPUT к политике."
+
+#~ msgid ""
+#~ "Shows the enable checkbox column for policies, allowing you to quickly "
+#~ "enable/disable specific policy without deleting it."
+#~ msgstr ""
+#~ "Показывает столбец флажка включения для политик, позволяющий быстро "
+#~ "включать / отключать определенную политику, не удаляя ее."
+
+#~ msgid ""
+#~ "Shows the protocol column for policies, allowing you to assign a specific "
+#~ "protocol to a policy."
+#~ msgstr ""
+#~ "Показать столбец протокола для политик, позволяющий вам применять "
+#~ "конкретный протокол к политике."
+
+#~ msgid "Stopped"
+#~ msgstr "Остановлена"
+
+#~ msgid "The ipset option for local policies"
+#~ msgstr "Параметры ipset для локальных политик"
+
+#~ msgid "The ipset option for remote policies"
+#~ msgstr "Параметры ipset для удалённых политик"
+
+#~ msgid ""
+#~ "Time (in seconds) for service to wait for WAN gateway discovery on boot."
+#~ msgstr ""
+#~ "Время (в секундах) ожидания обнаружения WAN шлюза сервисом при загрузке."
+
+#~ msgid "Use ipset command"
+#~ msgstr "Использовать ipset команду"
+
+#~ msgid "Use resolver's ipset for domains"
+#~ msgstr "Использовать ipset резолвера для доменов"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
+
+#~ msgid "VPN Policy Routing"
+#~ msgstr "Политика маршрутизации VPN"
+
+#~ msgid "VPN and WAN Policy-Based Routing"
+#~ msgstr "Машрутизация VPN и WAN на основе политик"
+
+#~ msgid "WAN"
+#~ msgstr "WAN"
+
+#~ msgid "Append local IP Tables rules"
+#~ msgstr "Добавить локальные правила IP Tables"
+
+#~ msgid "Append remote IP Tables rules"
+#~ msgstr "Добавить удалённые правила IP Tables"
+
+#~ msgid "Grant UCI access for luci-app-vpn-policy-routing"
+#~ msgstr "Предоставить UCI доступ для luci-app-vpn-policy-routing"
+
+#~ msgid "README"
+#~ msgstr "Описание"
+
+#~ msgid "Reload"
+#~ msgstr "Перезапустить"
+
+#~ msgid "for details."
+#~ msgstr "для деталей."
+
+#~ msgid "is not installed or not found"
+#~ msgstr "не установлен или не найден"
diff --git a/applications/luci-app-pbr/po/sk/pbr.po b/applications/luci-app-pbr/po/sk/pbr.po
new file mode 100644
index 0000000000..a226bac361
--- /dev/null
+++ b/applications/luci-app-pbr/po/sk/pbr.po
@@ -0,0 +1,560 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-10-30 16:50+0000\n"
+"Last-Translator: MaycoH <hudec.marian@hotmail.com>\n"
+"Language-Team: Slovak <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/sk/>\n"
+"Language: sk\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Generator: Weblate 4.14.2-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "Reťaz"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "Zakázať"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Zakázané"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Zapnúť"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Zapnuté"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Rozhranie"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr "Názov"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Cesta"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Protokol"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr "Spustiť"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "Zastaviť"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "Comment"
+#~ msgstr "Komentár"
+
+#~ msgid "Configuration"
+#~ msgstr "Konfigurácia"
+
+#, fuzzy
+#~ msgid "Loading"
+#~ msgstr "Načítava sa"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
diff --git a/applications/luci-app-pbr/po/sv/pbr.po b/applications/luci-app-pbr/po/sv/pbr.po
new file mode 100644
index 0000000000..e9aa3b0778
--- /dev/null
+++ b/applications/luci-app-pbr/po/sv/pbr.po
@@ -0,0 +1,571 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-12-06 15:41+0000\n"
+"Last-Translator: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>\n"
+"Language-Team: Swedish <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/sv/>\n"
+"Language: sv\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.15-dev\n"
+
+#: 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"
+msgstr "%s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr "Lägg till"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "Avancerad konfiguration"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr "Standardkonfiguration"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "Inaktivera"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Avaktiverad"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Aktivera"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Aktiverad"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "IPv6-stöd"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Gränssnitt"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr "Namn"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Genväg"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Protokoll"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "Starta om"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr "Tjänstkontroll"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "Status för tjänsten"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr "Starta"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "Stopp"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "%s (disabled)"
+#~ msgstr "%s (inaktiverad)"
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s är inte installerat eller kunde inte hittas"
+
+#~ msgid "Configuration"
+#~ msgstr "Konfiguration"
+
+#~ msgid "Loading"
+#~ msgstr "Laddar"
+
+#~ msgid "Running"
+#~ msgstr "Igång"
+
+#~ msgid "Service Status [%s %s]"
+#~ msgstr "Status för tjänsten [%s %s]"
+
+#~ msgid "Stopped"
+#~ msgstr "Stoppad"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
diff --git a/applications/luci-app-pbr/po/templates/pbr.pot b/applications/luci-app-pbr/po/templates/pbr.pot
new file mode 100644
index 0000000000..f8959174e8
--- /dev/null
+++ b/applications/luci-app-pbr/po/templates/pbr.pot
@@ -0,0 +1,546 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:310
+msgid "Disable"
+msgstr ""
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:306
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:299
+msgid "Enable"
+msgstr ""
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:295
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Failed to resolve %s"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:234
+msgid "Received empty tid/mark or interface name when setting up routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:277
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:273
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:334
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:237
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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:266
+msgid "Start"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:262
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:288
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:284
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:246
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
diff --git a/applications/luci-app-pbr/po/tr/pbr.po b/applications/luci-app-pbr/po/tr/pbr.po
new file mode 100644
index 0000000000..1cb4e9d493
--- /dev/null
+++ b/applications/luci-app-pbr/po/tr/pbr.po
@@ -0,0 +1,708 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-12-27 19:24+0000\n"
+"Last-Translator: Oğuz Ersen <oguz@ersen.moe>\n"
+"Language-Team: Turkish <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/tr/>\n"
+"Language: tr\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.15.1-dev\n"
+
+#: 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"
+msgstr "%s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+msgstr ""
+"%sUYARI:%s Lütfen bu bölümdeki herhangi bir şeyi değiştirmeden önce "
+"%sREADME%s 'yi kontrol ettiğinizden emin olun! Aşağıdaki ayarlardan herhangi "
+"birini çok dikkatli değiştirin!%s"
+
+#: 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:106
+msgid "AdGuardHome ipset"
+msgstr "AdGuardHome ipset"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr "Ekle"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "Gelişmiş Yapılandırma"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+"Hizmet tarafından açıkça desteklenecek arabirim adları listesinin (küçük "
+"harflerle) belirtilmesine izin verir. OpenVPN tünellerinizde tun * veya tap "
+"* dışında geliştirme seçeneği varsa faydalı olabilir."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+"Servis tarafından göz ardı edilecek arayüz adlarının listesini (küçük "
+"harflerle) belirlemeye izin verir. Yönlendiricide hem VPN sunucusu hem de "
+"VPN istemcisi çalıştırılıyorsa yararlı olabilir."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr "Temel Yapılandırma"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "Zincir"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr "Yoğunlaşmış çıktı"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr "Yapılandırma (%s) doğrulama hatası!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+"Hem sistem günlüğünü hem de konsol çıktı ayrıntı düzeyini kontrol eder."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr "Özel Kullanıcı Dosyası İçerir"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr "DSCP Etiketi"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr "DSCP Etiketleme"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr "Varsayılan ICMP Arayüzü"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "Devre dışı bırak"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Devre dışı"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr "%s hizmeti devre dışı bırakılıyor"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+"Bu protokolleri Web kullanıcı arayüzündeki protokol sütununda görüntüleyin."
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr "Dnsmasq ipset"
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr "Dnsmasq nft kümesi"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr "Ağ geçidi kapalıyken politikaları zorlamayın"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Etkinleştir"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Etkin"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr "%s hizmeti etkinleştiriliyor"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr "Özel kullanıcı dosyası '%s' çalıştırılırken hata oluştu!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+"Hizmet tarafından kullanılan FW Maskesi. SQM / QoS ile çakışmayı önlemek "
+"için yüksek maske kullanılır. Dikkatli bir şekilde değiştirin"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr "'%s' yeniden yüklenemedi!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr "'%s' ayarlanamadı!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr "Herhangi bir ağ geçidi ayarlanamadı!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr "ICMP protokol arayüzünü zorla."
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr "luci-app-pbr için UCI ve dosya erişimi verin"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "IPv6 Desteği"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr "Yoksayılan Arayüzler"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr "Ekle"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:233
+msgid "Insertion failed for IPv4 for policy %s"
+msgstr "%s politikası için IPv4 ekleme başarısız oldu"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:232
+msgid "Insertion failed for both IPv4 and IPv6 for policy %s"
+msgstr "%s politikası için hem IPv4 hem de IPv6 için ekleme başarısız oldu"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:178
+msgid "Installed AdGuardHome (%s) doesn't support 'ipset_file' option."
+msgstr "Kurulu AdGuardHome (%s) 'ipset_file' seçeneğini desteklemiyor."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Arayüz"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr "Yerel adresler / cihazlar"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr "Yerel bağlantı noktaları"
+
+#: 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"
+msgstr "Ad"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr "Değişiklik yok"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr "Kurulu değil veya bulunamadı"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr "Çıktı ayrıntı düzeyi"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Yol"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr "Lütfen bu seçeneği değiştirmeden önce %sREADME%s bakın."
+
+#: 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"
+msgstr "Politikalar"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Protokol"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr "Uzak adresler / alanlar"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr "Uzak bağlantı noktaları"
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "Yeniden başlat"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr "%s hizmeti yeniden başlatılıyor"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+"Aşağıdaki kullanıcı dosyalarını kurduktan sonra ancak DNSMASQ'ı yeniden "
+"başlatmadan önce çalıştırın. Ayrıntılar için %sREADME%s bakın."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr "Ayrıntılar için %sREADME%s bakın."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr "Hizmet Kontrolü"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr "Hizmet Hataları"
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr "Hizmet FW Maskesi"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr "Hizmet Ağ Geçitleri"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "Hizmet Durumu"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr "Hizmet Uyarıları"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+"Belirli arayüzler için DSCP etiketleri (1 ile 63 arasında) ayarlayın. "
+"Ayrıntılar için %sREADME%s bakın."
+
+#: 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"
+msgstr "Başlat"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr "%s hizmeti başlatılıyor"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+"Hizmet tarafından kullanılan işaretler için Başlatma (WAN) FW İşareti. SQM / "
+"QoS ile çakışmayı önlemek için yüksek başlangıç işareti kullanılır. Dikkatli "
+"bir şekilde değiştirin"
+
+#: 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."
+msgstr ""
+"Hizmet tarafından oluşturulan tablolar için Başlatma (WAN) Tablo kimlik "
+"numarası."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "Durdur"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr "Durduruldu (Devre dışı)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr "Durduruldu (sürüm: %s)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr "%s hizmeti durduruluyor"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr "Sıkı yaptırım"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr "Ağ geçidi kapalıyken politikaları katı bir şekilde uygulayın"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr "Desteklenen Arayüzler"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr "Desteklenen Protokoller"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr "Bastır / Çıktı yok"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr "'%s' özel kullanıcı dosyasında söz dizimi hatası!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr "%s varsayılan ağ geçidini gösterir. Ayrıntılar için %sREADME%s bakın."
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr "%s bu sistemde desteklenmiyor."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr "%s hizmeti WAN ağ geçidini bulamadı!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr "%s hizmeti şu anda devre dışı!"
+
+#: 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 "%s desteği bilinmiyor."
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:213
+msgid "The ipset name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr "Beklenmeyen çıkış veya hizmet sonlandırması: '%s'!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr "Bilinmeyen Hata!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr "Bilinmeyen Uyarı!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:229
+msgid "Unknown packet mark for interface '%s'"
+msgstr "'%s' arayüzü için bilinmeyen paket işareti"
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+"'%s' özel kullanıcı dosyasında 'curl' kullanımı algılandı, ancak 'curl' "
+"kurulu değil!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr "Ayrıntılı çıktı"
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr "WAN Tablosu FW İşareti"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr "WAN Tablo Kimliği"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr "Web UI Yapılandırması"
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "%s (disabled)"
+#~ msgstr "%s (devre dışı)"
+
+#~ msgid "%s (strict mode)"
+#~ msgstr "%s (katı mod)"
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s yüklenmemiş ya da bulunamadı"
+
+#~ msgid "Add IGNORE Target"
+#~ msgstr "Göz ardı et hedefi ekle"
+
+#~ msgid ""
+#~ "Adds `IGNORE` to the list of interfaces for policies, allowing you to "
+#~ "skip further processing by VPN Policy Routing."
+#~ msgstr ""
+#~ "Politikalar için arayüzler listesine `IGNORE` ekler ve VPN Policy Routing "
+#~ "ile daha fazla işlemeyi atlamanıza olanak tanır."
+
+#~ msgid "Append"
+#~ msgstr "Ekle"
+
+#~ msgid "Boot Time-out"
+#~ msgstr "Önyükleme Zaman Aşımı"
+
+#~ msgid "Comment"
+#~ msgstr "Yorum"
+
+#~ msgid ""
+#~ "Comment, interface and at least one other field are required. Multiple "
+#~ "local and remote addresses/devices/domains and ports can be space "
+#~ "separated. Placeholders below represent just the format/syntax and will "
+#~ "not be used if fields are left blank."
+#~ msgstr ""
+#~ "Yorum, arayüz ve en az bir başka alan gereklidir. Birden çok yerel ve "
+#~ "uzak adres / cihaz / etki alanı ve bağlantı noktası boşlukla ayrılabilir. "
+#~ "Aşağıdaki yer tutucular yalnızca biçimi / sözdizimini temsil eder ve "
+#~ "alanlar boş bırakılırsa kullanılmaz."
+
+#~ msgid "Configuration"
+#~ msgstr "Yapılandırma"
+
+#~ msgid "DNSMASQ ipset"
+#~ msgstr "DNSMASQ ipset"
+
+#~ msgid "Grant UCI and file access for luci-app-vpn-policy-routing"
+#~ msgstr "luci-app-vpn-policy-routing için UCI ve dosya erişimi verin"
+
+#~ msgid "IPTables rule option"
+#~ msgstr "IPTables kural seçeneği"
+
+#~ msgid "Loading"
+#~ msgstr "Yükleniyor"
+
+#~ msgid "Running"
+#~ msgstr "Çalışıyor"
+
+#~ msgid "Select Append for -A and Insert for -I."
+#~ msgstr "Eklemek için -A için 'yi ve girmek için -I yi seçin."
+
+#~ msgid "Service Status [%s %s]"
+#~ msgstr "Hizmet Durumu [%s %s]"
+
+#~ msgid "Show Chain Column"
+#~ msgstr "Zincir Sütununu Göster"
+
+#~ msgid "Show Enable Column"
+#~ msgstr "Etkin Sütununu Göster"
+
+#~ msgid "Show Protocol Column"
+#~ msgstr "Protokol Sütununu Göster"
+
+#~ msgid "Show Up/Down Buttons"
+#~ msgstr "Yukarı / Aşağı Düğmelerini Göster"
+
+#~ msgid ""
+#~ "Shows the Up/Down buttons for policies, allowing you to move a policy up "
+#~ "or down in the list."
+#~ msgstr ""
+#~ "Politikalar için Yukarı / Aşağı düğmelerini göstererek, bir politikayı "
+#~ "listede yukarı veya aşağı taşımanıza olanak tanır."
+
+#~ msgid ""
+#~ "Shows the chain column for policies, allowing you to assign a PREROUTING, "
+#~ "FORWARD, INPUT or OUTPUT chain to a policy."
+#~ msgstr ""
+#~ "İlkeler için zincir sütununu gösterir ve bir ilkeye PREROUTING, FORWARD, "
+#~ "INPUT veya OUTPUT zinciri atamanıza olanak tanır."
+
+#~ msgid ""
+#~ "Shows the enable checkbox column for policies, allowing you to quickly "
+#~ "enable/disable specific policy without deleting it."
+#~ msgstr ""
+#~ "Politikalar için etkinleştir onay kutusu sütununu göstererek, belirli bir "
+#~ "politikayı silmeden hızlı bir şekilde etkinleştirmenize / devre dışı "
+#~ "bırakmanıza olanak tanır."
+
+#~ msgid ""
+#~ "Shows the protocol column for policies, allowing you to assign a specific "
+#~ "protocol to a policy."
+#~ msgstr ""
+#~ "Bir politikaya belirli bir protokol atamanıza olanak tanıyan politikalar "
+#~ "için protokol sütununu gösterir."
+
+#~ msgid "Stopped"
+#~ msgstr "Durduruldu"
+
+#~ msgid "The ipset option for local policies"
+#~ msgstr "Yerel politikalar için ipset seçeneği"
+
+#~ msgid "The ipset option for remote policies"
+#~ msgstr "Uzak politikalar için ipset seçeneği"
+
+#~ msgid ""
+#~ "Time (in seconds) for service to wait for WAN gateway discovery on boot."
+#~ msgstr ""
+#~ "Hizmetin önyüklemede WAN ağ geçidi keşfini beklemesi için gereken süre "
+#~ "(saniye cinsinden)."
+
+#~ msgid "Use ipset command"
+#~ msgstr "İpset komutunu kullan"
+
+#~ msgid "Use resolver's ipset for domains"
+#~ msgstr "Alanlar için çözümleyicinin ipset'ini kullanın"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
+
+#~ msgid "VPN Policy Routing"
+#~ msgstr "VPN Politika Yönlendirme"
+
+#~ msgid "VPN and WAN Policy-Based Routing"
+#~ msgstr "VPN ve WAN Politikası Tabanlı Yönlendirme"
+
+#~ msgid "WAN"
+#~ msgstr "WAN"
diff --git a/applications/luci-app-pbr/po/uk/pbr.po b/applications/luci-app-pbr/po/uk/pbr.po
new file mode 100644
index 0000000000..7fba1b0b5f
--- /dev/null
+++ b/applications/luci-app-pbr/po/uk/pbr.po
@@ -0,0 +1,566 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-04-20 06:16+0000\n"
+"Last-Translator: Vladdrako <vladdrako007@gmail.com>\n"
+"Language-Team: Ukrainian <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/uk/>\n"
+"Language: uk\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.12-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "Розширена конфігурація"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr "Базова конфігурація"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "Ланцюжок"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "Вимкнути"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "Вимкнено"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "Увімкнути"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Увімкнено"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "Підтримка IPv6"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "Інтерфейс"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr "Назва"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "Шлях"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Протокол"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "Перезапустити"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "Стан сервісу"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr "Запустити"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "Зупинити"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "Comment"
+#~ msgstr "Примітка"
+
+#~ msgid "Configuration"
+#~ msgstr "Конфігурація"
+
+#~ msgid "Loading"
+#~ msgstr "Завантаження"
+
+#~ msgid "Stopped"
+#~ msgstr "Зупинено"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
+
+#~ msgid "is not installed or not found"
+#~ msgstr "не встановлено, або не знайдено"
diff --git a/applications/luci-app-pbr/po/vi/pbr.po b/applications/luci-app-pbr/po/vi/pbr.po
new file mode 100644
index 0000000000..0838548fef
--- /dev/null
+++ b/applications/luci-app-pbr/po/vi/pbr.po
@@ -0,0 +1,553 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-11-21 12:21+0000\n"
+"Last-Translator: Darias <DariasLuc@gmail.com>\n"
+"Language-Team: Vietnamese <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationspbr/vi/>\n"
+"Language: vi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 4.4-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr ""
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr ""
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "Bật"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "Giao thức"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "Configuration"
+#~ msgstr "Cấu hình"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
diff --git a/applications/luci-app-pbr/po/zh_Hans/pbr.po b/applications/luci-app-pbr/po/zh_Hans/pbr.po
new file mode 100644
index 0000000000..657c6734ef
--- /dev/null
+++ b/applications/luci-app-pbr/po/zh_Hans/pbr.po
@@ -0,0 +1,724 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-12-28 11:28+0000\n"
+"Last-Translator: Eric <hamburger2048@users.noreply.hosted.weblate.org>\n"
+"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
+"openwrt/luciapplicationspbr/zh_Hans/>\n"
+"Language: zh_Hans\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 4.15.1-dev\n"
+
+#: 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"
+msgstr "%s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr "找不到二进制%s!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+msgstr ""
+"%s警告:%s在更改本节任何内容之前,请确保检查 %sREADME%s !请非常谨慎地更改以"
+"下任何设置!%s"
+
+#: 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:106
+msgid "AdGuardHome ipset"
+msgstr "AdGuardHome ip集"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr "添加"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr "添加忽略目标"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr "将“忽略”添加到策略接口列表中。 有关详细信息,请参阅 %sREADME%s。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "高级配置"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+"允许指定服务明确支持的接口名称列表(小写)。如果您的OpenVPN隧道具有tun *或"
+"tap *以外的dev选项,则可能很有用。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+"允许指定服务将忽略的接口名称列表(小写)。如果在路由器上同时运行VPN服务器和"
+"VPN客户端,则很有用。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr "基本配置"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "链"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr "冷凝输出"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr "配置(%s)验证失败!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr "控制系统日志和控制台输出的详细程度。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr "自定义用户文件包括"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr "自定义用户文件“%s”未找到或为空!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr "DSCP标签"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr "DSCP标记"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr "默认ICMP接口"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "禁用"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "已禁用"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr "正在禁用 %s 服务"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr "在Web UI 的协议栏中显示这些协议。"
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr "Dnsmasq ip集"
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr "Dnsmasq nft 集"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr "当网关关闭时不要执行策略"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "启用"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "已启用"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr "正在启用 %s 服务"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr "运行自定义用户文件“%s”时出错!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr "服务使用的FW掩码。高掩码用于避免与SQM / QoS冲突。谨慎更改"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr "未能重新加载“%s”!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr "设置“%s” 失败!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr "未能设置任何网关!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr "强制ICMP协议接口。"
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr "授予 luci-app-pbr UCI 和文件访问权限"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "IPv6 支持"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr "忽略的接口"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr "插入"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:233
+msgid "Insertion failed for IPv4 for policy %s"
+msgstr "策略 %s IPv4 插入失败"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:232
+msgid "Insertion failed for both IPv4 and IPv6 for policy %s"
+msgstr "策略 %s IPv4 和 IPv6 均插入失败"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:178
+msgid "Installed AdGuardHome (%s) doesn't support 'ipset_file' option."
+msgstr "安装的 AdGuardHome (%s) 不支持 'ipset_file' 选项。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "接口"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr "本地地址/设备"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr "本地端口"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:230
+msgid "Mismatched IP family between in policy %s"
+msgstr "策略 %s 中的 IP 族不匹配"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:193
+msgid "Name"
+msgstr "名称"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+"名称、接口和至少一个其他字段是必需的。 多个本地和远程地址/设备/域和端口可以用"
+"空格分隔。 下面的占位符仅代表格式/语法,如果字段留空则不会使用。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr "无更改"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr "未安装或未找到"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr "输出详细程度"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "路径"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr "更改此选项之前,请检查 %sREADME%s 。"
+
+#: 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 "请取消设置 'chain' 或将策略 '%s' 的 'chain' 设为 'PREROUTING'"
+
+#: 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 "请取消设置 'chain' 或将策略 '%s' 的 'chain' 设为 'prerouting'"
+
+#: 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 "请取消设置 'proto' 或将策略 '%s' 的 'proto' 设为 'all'"
+
+#: 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 "请取消设置策略 '%s' 的 'src_addr'、 'src_port' 和 'dest_port'"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:180
+msgid "Policies"
+msgstr "策略"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr "策略“%s”有一个未知接口!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr "策略“%s”有未分配的接口!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr "策略“%s”没有源/目标参数!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr "基于策略的路由 - 配置"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr "基于策略的路由 - 状态"
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr "策略路由"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "协议"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr "远程地址/域"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr "远程端口"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:227
+msgid "Resolver %s"
+msgstr "解析器 %s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:210
+msgid "Resolver set (%s) is not supported on this system!"
+msgstr "此系统不支持解析器集 (%s)!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr "此系统不支持解析器集 (%s)。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr "解析器集支持(%s)需要 ipset,但找不到 ipset 二进制文件!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr "解析器集支持(%s)需要 nftables,但找不到 nft 二进制文件!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "重启"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr "重新启动 %s 服务"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr "规则创建选项"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+"设置后但重新启动DNSMASQ之前,请运行以下用户文件。有关详细信息,请参见 "
+"%sREADME%s。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr "正在运行(版本:%s 使用 iptables)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr "正在运行(版本:%s 使用 nft)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr "正在运行(版本:%s)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr "有关详细信息,请参见 %sREADME%s。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr "选择 -A/add 表示添加,I/Insert 表示插入。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr "服务控制"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr "服务错误"
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr "FW 服务掩码"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr "服务网关"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "服务状态"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr "服务警告"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+"设置特定接口的DSCP标签(范围在1到63之间)。有关详细信息,请参见 %sREADME%s 。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:228
+msgid "Skipping IPv6 policy '%s' as IPv6 support is disabled"
+msgstr "因禁用 IPv6 支持而跳过 IPv6 策略 '%s'"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:264
+msgid "Start"
+msgstr "启动"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr "正在启动 %s 服务"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+"启动(WAN)FW标记服务使用的标记。高起始标记用于避免与SQM / QoS冲突。谨慎更改"
+
+#: 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."
+msgstr "服务创建的表的起始(WAN)表ID号。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "停止"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr "已停止(禁用)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr "已停止(版本:%s)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr "正在停止 %s 服务"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr "严格执行"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr "当网关关闭时严格执行策略"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr "支持的接口"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr "支持的协议"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr "抑制/无输出"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr "自定义用户文件“%s”中有语法错误!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr "%s 表示默认网关。详情见 %sREADME%s。"
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr "此系统不支持 %s。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr "%s service 未能发现 WAN 网关!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr "%s 服务当前被禁用!"
+
+#: 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 "不清楚是否支持 %s。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:213
+msgid "The ipset name '%s' is longer than allowed 31 characters!"
+msgstr "ipset 名称“%s”超过允许的 31 个字符长度!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr "nft 集名称“%s”超过允许的 31 个字符长度!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr "意外退出或服务终止:“%s”!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr "未知错误!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr "未知警告!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:229
+msgid "Unknown packet mark for interface '%s'"
+msgstr "接口 '%s' 的未知数据包标记"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:231
+msgid "Unknown protocol in policy %s"
+msgstr "策略 %s 中未知的协议"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:225
+msgid ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr "在自定义用户文件“%s”中检测到使用“curl”,但未安装“curl”!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr "对域使用解析器集支持"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr "详细输出"
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr "WAN 表 FW 标记"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr "WAN表ID"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr "Web UI配置"
+
+#: 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:225
+msgid "all"
+msgstr "所有"
+
+#~ msgid "ip-full binary cannot be found!"
+#~ msgstr "找不到 ip-full 二进制文件!"
+
+#~ msgid "%s (disabled)"
+#~ msgstr "%s (已禁用)"
+
+#~ msgid "%s (strict mode)"
+#~ msgstr "%s(严格模式)"
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s 未安装或未找到"
+
+#~ msgid "Add IGNORE Target"
+#~ msgstr "添加忽略目标"
+
+#~ msgid ""
+#~ "Adds `IGNORE` to the list of interfaces for policies, allowing you to "
+#~ "skip further processing by VPN Policy Routing."
+#~ msgstr ""
+#~ "将 `IGNORE`添加到策略接口列表中,允许你通过 VPN 策略路由跳过后续处理。"
+
+#~ msgid "Append"
+#~ msgstr "附加"
+
+#~ msgid "Boot Time-out"
+#~ msgstr "启动超时"
+
+#~ msgid "Comment"
+#~ msgstr "备注"
+
+#~ msgid ""
+#~ "Comment, interface and at least one other field are required. Multiple "
+#~ "local and remote addresses/devices/domains and ports can be space "
+#~ "separated. Placeholders below represent just the format/syntax and will "
+#~ "not be used if fields are left blank."
+#~ msgstr ""
+#~ "注释,界面和至少一个其他字段是必需的。多个本地和远程地址/设备/域和端口可以"
+#~ "用空格分隔。下面的占位符仅表示格式/语法,如果字段为空,则不会使用。"
+
+#~ msgid "Configuration"
+#~ msgstr "配置"
+
+#~ msgid "DNSMASQ ipset"
+#~ msgstr "DNSMASQ ipset"
+
+#~ msgid "Grant UCI and file access for luci-app-vpn-policy-routing"
+#~ msgstr "为luci-app-vpn-policy-routing授予UCI和文件访问权限"
+
+#~ msgid "IPTables rule option"
+#~ msgstr "IPTables规则选项"
+
+#~ msgid "Loading"
+#~ msgstr "加载中"
+
+#~ msgid "Running"
+#~ msgstr "运行中"
+
+#~ msgid "Select Append for -A and Insert for -I."
+#~ msgstr "选择-A追加,-I插入。"
+
+#~ msgid "Service Status [%s %s]"
+#~ msgstr "服务状态 [%s %s]"
+
+#~ msgid "Show Chain Column"
+#~ msgstr "显示链列"
+
+#~ msgid "Show Enable Column"
+#~ msgstr "显示启用列"
+
+#~ msgid "Show Protocol Column"
+#~ msgstr "显示协议列"
+
+#~ msgid "Show Up/Down Buttons"
+#~ msgstr "显示向上/向下按钮"
+
+#~ msgid ""
+#~ "Shows the Up/Down buttons for policies, allowing you to move a policy up "
+#~ "or down in the list."
+#~ msgstr "显示策略的\"向上/向下\"按钮,使您可以在列表中上移或下移策略。"
+
+#~ msgid ""
+#~ "Shows the chain column for policies, allowing you to assign a PREROUTING, "
+#~ "FORWARD, INPUT or OUTPUT chain to a policy."
+#~ msgstr ""
+#~ "显示策略的链列,使您可以为策略分配PREROUTING,FORWARD,INPUT或OUTPUT链。"
+
+#~ msgid ""
+#~ "Shows the enable checkbox column for policies, allowing you to quickly "
+#~ "enable/disable specific policy without deleting it."
+#~ msgstr "显示策略的启用复选框列,使您可以快速启用/禁用特定策略而不删除它。"
+
+#~ msgid ""
+#~ "Shows the protocol column for policies, allowing you to assign a specific "
+#~ "protocol to a policy."
+#~ msgstr "显示策略的协议列,允许您将特定协议分配给策略。"
+
+#~ msgid "Stopped"
+#~ msgstr "已停止"
+
+#~ msgid "The ipset option for local policies"
+#~ msgstr "本地策略的ipset选项"
+
+#~ msgid "The ipset option for remote policies"
+#~ msgstr "远程策略的ipset选项"
+
+#~ msgid ""
+#~ "Time (in seconds) for service to wait for WAN gateway discovery on boot."
+#~ msgstr "服务等待启动时等待WAN网关发现的时间(以秒为单位)。"
+
+#~ msgid "Use ipset command"
+#~ msgstr "使用ipset命令"
+
+#~ msgid "Use resolver's ipset for domains"
+#~ msgstr "对域名使用解析器的 ipset"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
+
+#~ msgid "VPN Policy Routing"
+#~ msgstr "VPN策略路由"
+
+#~ msgid "VPN and WAN Policy-Based Routing"
+#~ msgstr "基于VPN和WAN策略的路由"
+
+#~ msgid "WAN"
+#~ msgstr "WAN"
+
+#~ msgid ""
+#~ "Add an ip rule, not an iptables entry for policies with just the local "
+#~ "address. Use with caution to manipulte policies priorities."
+#~ msgstr ""
+#~ "为仅具有本地地址的策略添加ip规则,而不是iptables条目。谨慎使用以操纵政策优"
+#~ "先级。"
+
+#~ msgid "Append local IP Tables rules"
+#~ msgstr "附加本地IP表规则"
+
+#~ msgid "Append remote IP Tables rules"
+#~ msgstr "附加远程IP表规则"
+
+#~ msgid "IP Rules Support"
+#~ msgstr "IP规则支持"
+
+#~ msgid ""
+#~ "Special instructions to append iptables rules for local IPs/netmasks/"
+#~ "devices."
+#~ msgstr "为本地IP /网络掩码/设备添加iptables规则的特殊说明。"
+
+#~ msgid ""
+#~ "Special instructions to append iptables rules for remote IPs/netmasks."
+#~ msgstr "为远程IP /网络掩码附加iptables规则的特殊说明。"
+
+#~ msgid ""
+#~ "The %s represents the default gateway. See the %sREADME%s for details."
+#~ msgstr "%s代表默认网关。有关详细信息,请参见%sREADME%s。"
+
+#~ msgid "Use DNSMASQ ipset"
+#~ msgstr "使用DNSMASQ ipset"
+
+#~ msgid "Reload"
+#~ msgstr "重新载入"
+
+#~ msgid "is not installed or not found"
+#~ msgstr "未安装或未找到"
diff --git a/applications/luci-app-pbr/po/zh_Hans/zh-cn/pbr.po b/applications/luci-app-pbr/po/zh_Hans/zh-cn/pbr.po
new file mode 100644
index 0000000000..f9366f99f1
--- /dev/null
+++ b/applications/luci-app-pbr/po/zh_Hans/zh-cn/pbr.po
@@ -0,0 +1,553 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-01-14 15:23+0000\n"
+"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
+"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
+"openwrt/luciapplicationspbr/zh_Hans/>\n"
+"Language: zh-cn\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 3.11-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr ""
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr ""
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "已启用"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "Loading"
+#~ msgstr "加载中"
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
diff --git a/applications/luci-app-pbr/po/zh_Hant/pbr.po b/applications/luci-app-pbr/po/zh_Hant/pbr.po
new file mode 100644
index 0000000000..6d0c649a8f
--- /dev/null
+++ b/applications/luci-app-pbr/po/zh_Hant/pbr.po
@@ -0,0 +1,719 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-12-25 07:50+0000\n"
+"Last-Translator: Hulen <shift0106@gmail.com>\n"
+"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
+"openwrt/luciapplicationspbr/zh_Hant/>\n"
+"Language: zh_Hant\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 4.15.1-dev\n"
+
+#: 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"
+msgstr "%s"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+msgstr ""
+"%s警告:%s變更此部分的任何設定前,請確保已參閱 %sREADME%s!要變更下面的任何設"
+"定應格外小心!%s"
+
+#: 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:106
+msgid "AdGuardHome ipset"
+msgstr "AdGuardHome ip集"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr "加入"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr "加入忽略目標"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr "將「忽略」加入到原則介面清單中。有關詳細資訊,請參閱 %sREADME%s。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr "進階組態"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+"允許指定服務明確支持的界面名稱列表(小寫)。如果您的OpenVPN隧道具有tun* 或 "
+"tap*以外的dev選項,則可能很有用。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+"允許指定服務將忽略的界面名稱列表(小寫)。如果在路由器上同時運行VPN伺服器和"
+"VPN客戶端,則很有用。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr "基本配置"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr "鏈"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr "凝練輸出"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr "設定 (%s) 驗證失敗!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr "控制系統日誌和主控台輸出的詳細程度。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr "自定義用戶文件包括"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr "自訂使用者檔案「%s」未找到或是空的!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr "DSCP標籤"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr "DSCP標記"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr "預設ICMP界面"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr "停用"
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr "已停用"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr "正在停用 %s 服務"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr "在Web UI的協定列中顯示這些協定。"
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr "Dnsmasq ip集"
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr "Dnsmasq nft 集"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr "當匝道關閉時不要執行政策"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr "啟用"
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr "啟用"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr "正在啟用 %s 服務"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr "執行自訂使用者檔案「%s」時發生錯誤!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr "服務使用的防火牆遮罩。高遮罩用於避免與SQM / QoS衝突。謹慎更改"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr "未能重新載入「%s」!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr "設定「%s」 失敗!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr "未能設定任何閘道!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr "強制ICMP協定界面。"
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr "授予 luci-app-pbr UCI 和檔案存取權限"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr "支援 IPv6"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr "忽略的界面"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr "插入"
+
+#: 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."
+msgstr "安裝的 AdGuardHome (%s) 不支援 'ipset_file' 選項。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr "介面"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr "本地位址/設備"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr "本地端埠號"
+
+#: 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"
+msgstr "名稱"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+"名稱、介面和至少一個其他欄位是必需的。多個本地和遠端位址/裝置/網域和連接埠可"
+"以用空格分隔。下面的預留位置僅代表格式/語法,如果欄位留空則不會使用。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr "沒變更"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr "未安裝或未找到"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr "輸出詳細程度"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr "路徑"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr "變更此選項前,請參閱 %sREADME%s。"
+
+#: 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"
+msgstr "政策"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr "原則「%s」有一個未知介面!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr "原則「%s」有未分配的介面!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr "原則「%s」沒有來源/目的參數!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr "基於原則的路由 - 設定"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr "基於原則的路由 - 狀態"
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr "原則路由"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr "協定"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr "遠端位址/網域"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr "遠端埠號"
+
+#: 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!"
+msgstr "此系統不支援解析器集 (%s)!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr "此系統不支援解析器集 (%s)。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr "解析器集支援 (%s) 需要 ipset,但找不到 ipset 二進位檔案!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr "解析器集支援 (%s) 需要 nftables,但找不到 nft 二進位檔案!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr "重新啟動"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr "正在重新啟動 %s 服務"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr "規則建立選項"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+"設定後請先執行以下使用者檔案,然後再重新啟動 Dnsmasq;請參閱 %sREADME%s 以獲"
+"得詳細資訊。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr "正在執行 (版本:%s 使用 iptables)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr "正在執行 (版本:%s 使用 nft)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr "正在執行 (版本:%s)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr "請參閱 %sREADME%s 以獲得詳細資訊。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr "選擇 -A/add 表示加入, -I/Insert 表示插入。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr "服務控制"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr "服務出錯"
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr "防火牆遮罩服務"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr "服務匝道器"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr "服務狀態"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr "服務警告"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+"設定特定介面的 DSCP 標籤(取值範圍:1-63);請參閱 %sREADME%s 以獲得詳細資"
+"訊。"
+
+#: 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"
+msgstr "啟動"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr "正在啟動 %s 服務"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+"啟動(WAN)FW標記服務使用的標記。高起始標記用於避免與SQM / QoS衝突。謹慎更改"
+
+#: 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."
+msgstr "服務創建的表的起始(WAN)表ID號碼。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr "停止"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr "已停止 (停用)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr "已停止 (版本:%s)"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr "正在停止 %s 服務"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr "嚴格執行"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr "當匝道器關閉時嚴格執行策略"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr "已支援的界面"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr "已支援的協定"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr "抑制/無輸出"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr "自訂使用者檔案「%s」中有語法錯誤!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr "%s 表示預設閘道。詳情見 %sREADME%s。"
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr "此系統不支援 %s。"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr "%s 服務未能發現 WAN 閘道!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr "%s 服務目前被停用!"
+
+#: 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!"
+msgstr "ipset 名稱「%s」超過允許的 31 個字元長度!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr "nft 集名稱「%s」超過允許的 31 個字元長度!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr "意外退出或服務終止:「%s」!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr "在自訂使用者檔案「%s」中偵測到使用「curl」,但未安裝「curl」!"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr "對網域使用解析器集支援"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr "詳細輸出"
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr "WAN表格防火牆標記"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr "WAN表格ID"
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr "Web UI配置"
+
+#: 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:225
+msgid "all"
+msgstr "所有"
+
+#~ msgid "%s (disabled)"
+#~ msgstr "%s(已停用)"
+
+#~ msgid "%s (strict mode)"
+#~ msgstr "%s(嚴格模式)"
+
+#~ msgid "%s is not installed or not found"
+#~ msgstr "%s 未安裝或找不到"
+
+#~ msgid "Add IGNORE Target"
+#~ msgstr "加入忽略目標"
+
+#~ msgid ""
+#~ "Adds `IGNORE` to the list of interfaces for policies, allowing you to "
+#~ "skip further processing by VPN Policy Routing."
+#~ msgstr ""
+#~ "將 `IGNORE`加入到原則介面清單中,允許您透過 VPN 原則路由略過後續處理。"
+
+#~ msgid "Append"
+#~ msgstr "附加"
+
+#~ msgid "Boot Time-out"
+#~ msgstr "啟動逾時"
+
+#~ msgid "Comment"
+#~ msgstr "註解"
+
+#~ msgid ""
+#~ "Comment, interface and at least one other field are required. Multiple "
+#~ "local and remote addresses/devices/domains and ports can be space "
+#~ "separated. Placeholders below represent just the format/syntax and will "
+#~ "not be used if fields are left blank."
+#~ msgstr ""
+#~ "註釋,界面和至少一個其它欄位是必需的。多個本地和遠端位址/設備/網域和埠號可"
+#~ "以用空格分隔。下面的佔位符僅表示格式/語法,如果欄位為空,則不會使用。"
+
+#~ msgid "Configuration"
+#~ msgstr "組態"
+
+#~ msgid "DNSMASQ ipset"
+#~ msgstr "DNSMASQ IP 集"
+
+#~ msgid "Grant UCI and file access for luci-app-vpn-policy-routing"
+#~ msgstr "授予 luci-app-vpn-policy-routing 擁有 UCI 和檔案存取的權限"
+
+#~ msgid "IPTables rule option"
+#~ msgstr "IPTables規則選項"
+
+#~ msgid "Loading"
+#~ msgstr "正在載入中"
+
+#~ msgid "Running"
+#~ msgstr "執行中"
+
+#~ msgid "Select Append for -A and Insert for -I."
+#~ msgstr "選擇-A追加,-I插入。"
+
+#~ msgid "Service Status [%s %s]"
+#~ msgstr "服務狀態 [%s %s]"
+
+#~ msgid "Show Chain Column"
+#~ msgstr "顯示鏈列"
+
+#~ msgid "Show Enable Column"
+#~ msgstr "顯示啟用列"
+
+#~ msgid "Show Protocol Column"
+#~ msgstr "顯示協定列"
+
+#~ msgid "Show Up/Down Buttons"
+#~ msgstr "顯示上/下按鈕"
+
+#~ msgid ""
+#~ "Shows the Up/Down buttons for policies, allowing you to move a policy up "
+#~ "or down in the list."
+#~ msgstr "顯示策略的上/下按鈕,使您可以在列表中上移或下移策略。"
+
+#~ msgid ""
+#~ "Shows the chain column for policies, allowing you to assign a PREROUTING, "
+#~ "FORWARD, INPUT or OUTPUT chain to a policy."
+#~ msgstr ""
+#~ "顯示策略的鏈列,使您可以為策略分配PREROUTING,FORWARD,INPUT或OUTPUT鏈。"
+
+#~ msgid ""
+#~ "Shows the enable checkbox column for policies, allowing you to quickly "
+#~ "enable/disable specific policy without deleting it."
+#~ msgstr "顯示策略的啟用複選框列,使您可以快速啟用/禁用特定策略而不刪除它。"
+
+#~ msgid ""
+#~ "Shows the protocol column for policies, allowing you to assign a specific "
+#~ "protocol to a policy."
+#~ msgstr "顯示策略的協定列,允許您將特定協定分配給策略。"
+
+#~ msgid "Stopped"
+#~ msgstr "已停止"
+
+#~ msgid "The ipset option for local policies"
+#~ msgstr "本地政策的 ipset 選項"
+
+#~ msgid "The ipset option for remote policies"
+#~ msgstr "遠端政策的 ipset 選項"
+
+#~ msgid ""
+#~ "Time (in seconds) for service to wait for WAN gateway discovery on boot."
+#~ msgstr "服務等待啟動時等待WAN匝道器發現的時間(以秒為單位)。"
+
+#~ msgid "Use ipset command"
+#~ msgstr "使用 ipset 命令"
+
+#~ msgid "Use resolver's ipset for domains"
+#~ msgstr "對網域使用解析程式的 ipset"
+
+#~ msgid "VPN"
+#~ msgstr "VPN用戶端"
+
+#~ msgid "VPN Policy Routing"
+#~ msgstr "VPN策略路由"
+
+#~ msgid "VPN and WAN Policy-Based Routing"
+#~ msgstr "基於VPN和WAN策略的路由"
+
+#~ msgid "WAN"
+#~ msgstr "WAN"
+
+#~ msgid ""
+#~ "Add an ip rule, not an iptables entry for policies with just the local "
+#~ "address. Use with caution to manipulte policies priorities."
+#~ msgstr ""
+#~ "為僅具有本地位址的策略添加ip規則,而不是iptables條目。謹慎使用以操縱政策優"
+#~ "先級別。"
+
+#~ msgid "Append local IP Tables rules"
+#~ msgstr "附加本地端 IP規則表"
+
+#~ msgid "Append remote IP Tables rules"
+#~ msgstr "附加遠端 IP規則表"
+
+#~ msgid "IP Rules Support"
+#~ msgstr "支援的 IP規則"
+
+#~ msgid ""
+#~ "Special instructions to append iptables rules for local IPs/netmasks/"
+#~ "devices."
+#~ msgstr "為本地端 IP/子網絡遮罩/設備添加iptables規則的特殊說明。"
+
+#~ msgid ""
+#~ "Special instructions to append iptables rules for remote IPs/netmasks."
+#~ msgstr "為遠端 IP/子網絡遮罩附加iptables規則的特殊說明。"
+
+#~ msgid ""
+#~ "The %s represents the default gateway. See the %sREADME%s for details."
+#~ msgstr "%s 表示預設的閘道器;請參閱 %sREADME%s 以獲得詳細資訊。"
+
+#~ msgid "Use DNSMASQ ipset"
+#~ msgstr "使用 Dnsmasq ipset"
+
+#~ msgid "Reload"
+#~ msgstr "重新載入"
diff --git a/applications/luci-app-pbr/po/zh_Hant/zh-tw/pbr.po b/applications/luci-app-pbr/po/zh_Hant/zh-tw/pbr.po
new file mode 100644
index 0000000000..e9369b12fc
--- /dev/null
+++ b/applications/luci-app-pbr/po/zh_Hant/zh-tw/pbr.po
@@ -0,0 +1,550 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-01-14 15:23+0000\n"
+"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
+"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
+"openwrt/luciapplicationspbr/zh_Hant/>\n"
+"Language: zh-tw\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 3.11-dev\n"
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:206
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:207
+msgid "%s binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:61
+msgid ""
+"%sWARNING:%s Please make sure to check the %sREADME%s before changing "
+"anything in this section! Change any of the settings below with extreme "
+"caution!%s"
+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:106
+msgid "AdGuardHome ipset"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:133
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:168
+msgid "Add Ignore Target"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:169
+msgid ""
+"Adds 'ignore' to the list of interfaces for policies. See the %sREADME%s for "
+"details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:60
+msgid "Advanced Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:122
+msgid ""
+"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 "
+"have dev option other than tun* or tap*."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:127
+msgid ""
+"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 "
+"the router."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:59
+msgid "Basic Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:233
+msgid "Chain"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:70
+msgid "Condensed output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:205
+msgid "Config (%s) validation failure!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:68
+msgid "Controls both system log and console output verbosity."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:259
+msgid "Custom User File Includes"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:222
+msgid "Custom user file '%s' not found or empty!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:254
+msgid "DSCP Tag"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:249
+msgid "DSCP Tagging"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:137
+msgid "Default ICMP Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:308
+msgid "Disable"
+msgstr ""
+
+#: 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:118
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:171
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:304
+msgid "Disabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:177
+msgid "Display these protocols in protocol column in Web UI."
+msgstr ""
+
+#: 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:110
+msgid "Dnsmasq ipset"
+msgstr ""
+
+#: 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:114
+msgid "Dnsmasq nft set"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:77
+msgid "Do not enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:297
+msgid "Enable"
+msgstr ""
+
+#: 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:172
+#: 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:267
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:293
+msgid "Enabling %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:224
+msgid "Error running custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:162
+msgid ""
+"FW Mask used by the service. High mask is used to avoid conflict with SQM/"
+"QoS. Change with caution together with"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:221
+msgid "Failed to reload '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:220
+msgid "Failed to set up '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:226
+msgid "Failed to set up any gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:138
+msgid "Force the ICMP protocol interface."
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json:3
+msgid "Grant UCI and file access for luci-app-pbr"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:117
+msgid "IPv6 Support"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:126
+msgid "Ignored Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:134
+msgid "Insert"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:242
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:195
+msgid "Local addresses / devices"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:200
+msgid "Local ports"
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:181
+msgid ""
+"Name, interface and at least one other field are required. Multiple local "
+"and remote addresses/devices/domains and ports can be space separated. "
+"Placeholders below represent just the format/syntax and will not be used if "
+"fields are left blank."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:139
+msgid "No Change"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:157
+msgid "Not installed or not found"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:67
+msgid "Output verbosity"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:271
+msgid "Path"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:100
+msgid "Please check the %sREADME%s before changing this option."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:218
+msgid "Policy '%s' has an unknown interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:217
+msgid "Policy '%s' has no assigned interface!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:216
+msgid "Policy '%s' has no source/destination parameters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:56
+msgid "Policy Based Routing - Configuration"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:133
+msgid "Policy Based Routing - Status"
+msgstr ""
+
+#: applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json:3
+msgid "Policy Routing"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:217
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:206
+msgid "Remote addresses / domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:211
+msgid "Remote ports"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:177
+msgid "Resolver set (%s) is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:208
+msgid ""
+"Resolver set support (%s) requires ipset, but ipset binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:209
+msgid ""
+"Resolver set support (%s) requires nftables, but nft binary cannot be found!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:275
+msgid "Restart"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:271
+msgid "Restarting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:131
+msgid "Rule Create option"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:260
+msgid ""
+"Run the following user files after setting up but before restarting DNSMASQ. "
+"See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:138
+msgid "Running (version: %s using iptables)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:141
+msgid "Running (version: %s using nft)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:144
+msgid "Running (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:75
+msgid "See the %sREADME%s for details."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:132
+msgid "Select Add for -A/add and Insert for -I/Insert."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:332
+msgid "Service Control"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:235
+msgid "Service Errors"
+msgstr ""
+
+#: 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:161
+msgid "Service FW Mask"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:165
+msgid "Service Gateways"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:134
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:185
+msgid "Service Warnings"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:250
+msgid ""
+"Set DSCP tags (in range between 1 and 63) for specific interfaces. See the "
+"%sREADME%s for details."
+msgstr ""
+
+#: 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"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:260
+msgid "Starting %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:154
+msgid ""
+"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"
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:286
+msgid "Stop"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:152
+msgid "Stopped (Disabled)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:149
+msgid "Stopped (version: %s)"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:282
+msgid "Stopping %s service"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:74
+msgid "Strict enforcement"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:78
+msgid "Strictly enforce policies when their gateway is down"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:121
+msgid "Supported Interfaces"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:176
+msgid "Supported Protocols"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:69
+msgid "Suppress/No output"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:223
+msgid "Syntax error in custom user file '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:166
+msgid "The %s indicates default gateway. See the %sREADME%s for details."
+msgstr ""
+
+#: 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:92
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:98
+msgid "The %s is not supported on this system."
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:212
+msgid "The %s service failed to discover WAN gateway!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:211
+msgid "The %s service is currently disabled!"
+msgstr ""
+
+#: 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!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:214
+msgid "The nft set name '%s' is longer than allowed 31 characters!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:215
+msgid "Unexpected exit or service termination: '%s'!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:244
+msgid "Unknown Error!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/pbr/status.js:194
+msgid "Unknown Warning!"
+msgstr ""
+
+#: 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 ""
+"Use of 'curl' is detected in custom user file '%s', but 'curl' isn't "
+"installed!"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:102
+msgid "Use resolver set support for domains"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:71
+msgid "Verbose output"
+msgstr ""
+
+#: 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:163
+msgid "WAN Table FW Mark"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:147
+msgid "WAN Table ID"
+msgstr ""
+
+#: applications/luci-app-pbr/htdocs/luci-static/resources/view/pbr/overview.js:65
+msgid "Web UI Configuration"
+msgstr ""
+
+#: 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:225
+msgid "all"
+msgstr ""
+
+#~ msgid "VPN"
+#~ msgstr "VPN"
diff --git a/applications/luci-app-pbr/root/etc/uci-defaults/40_luci-pbr b/applications/luci-app-pbr/root/etc/uci-defaults/40_luci-pbr
new file mode 100644
index 0000000000..080086891a
--- /dev/null
+++ b/applications/luci-app-pbr/root/etc/uci-defaults/40_luci-pbr
@@ -0,0 +1,4 @@
+#!/bin/sh
+rm -rf /var/luci-modulecache/; rm -f /var/luci-indexcache;
+[ -x /etc/init.d/rpcd ] && /etc/init.d/rpcd reload;
+exit 0
diff --git a/applications/luci-app-pbr/root/usr/libexec/rpcd/luci.pbr b/applications/luci-app-pbr/root/usr/libexec/rpcd/luci.pbr
new file mode 100755
index 0000000000..bd7700c277
--- /dev/null
+++ b/applications/luci-app-pbr/root/usr/libexec/rpcd/luci.pbr
@@ -0,0 +1,373 @@
+#!/bin/sh
+# Copyright 2022 Stan Grishin (stangri@melmac.ca)
+# shellcheck disable=SC1091,SC2018,SC2019,SC2039,SC3043,SC3057,SC3060
+
+# TechRef: https://openwrt.org/docs/techref/rpcd
+# TESTS
+# ubus -v list luci.pbr
+# ubus -S call luci.pbr getInitList '{"name": "pbr" }'
+# ubus -S call luci.pbr getInitStatus '{"name": "pbr" }'
+# ubus -S call luci.pbr getPlatformSupport '{"name": "pbr" }'
+# ubus -S call luci.pbr getGateways '{"name": "pbr" }'
+# ubus -S call luci.pbr getInterfaces '{"name": "pbr" }'
+
+. /lib/functions.sh
+. /lib/functions/network.sh
+. /usr/share/libubox/jshn.sh
+
+readonly packageName="pbr"
+# shellcheck disable=SC2155
+readonly ipset="$(command -v ipset)"
+# shellcheck disable=SC2155
+readonly agh="$(command -v AdGuardHome)"
+readonly aghConfigFile='/etc/adguardhome.yaml'
+# shellcheck disable=SC2155
+readonly nft="$(command -v nft)"
+
+is_enabled() { uci -q get "${1}.config.enabled"; }
+is_running_iptables() { iptables -t mangle -L | grep -q PBR_PREROUTING >/dev/null 2>&1; }
+is_running_nft() { "$nft" list table inet fw4 | grep chain | grep -q pbr_mark_ >/dev/null 2>&1; }
+is_running() { is_running_iptables || is_running_nft; }
+get_version() { grep -m1 -A2 -w "^Package: $1$" /usr/lib/opkg/status | sed -n 's/Version: //p'; }
+print_json_bool() { json_init; json_add_boolean "$1" "$2"; json_dump; json_cleanup; }
+print_json_string() { json_init; json_add_string "$1" "$2"; json_dump; json_cleanup; }
+logger() { /usr/bin/logger -t "$packageName" "$@"; }
+ubus_get_status() { ubus call service list "{ 'name': '$packageName' }" | jsonfilter -e "@['${packageName}'].instances.main.data.status.${1}"; }
+ubus_get_gateway() { ubus call service list "{ 'name': '$packageName' }" | jsonfilter -e "@['${packageName}'].instances.main.data.gateways[@.name='${1}']${2:+.$2}"; }
+is_greater_or_equal() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" = "$2"; }
+
+get_init_list() {
+ local name
+ name="$(basename "$1")"
+ name="${name:-$packageName}"
+ json_init
+ json_add_object "$name"
+ json_add_boolean 'enabled' "$(is_enabled "$name")"
+ if is_running "$name"; then
+ json_add_boolean 'running' '1'
+ else
+ json_add_boolean 'running' '0'
+ fi
+ json_close_object
+ json_dump
+ json_cleanup
+}
+
+set_init_action() {
+ local name action="$2" cmd
+ name="$(basename "$1")"
+ name="${name:-$packageName}"
+ if [ ! -f "/etc/init.d/$name" ]; then
+ print_json_string 'error' 'Init script not found!'
+ return
+ fi
+ case $action in
+ enable)
+ cmd="uci -q set ${name}.config.enabled=1 && uci commit $name";;
+ disable)
+ cmd="uci -q set ${name}.config.enabled=0 && uci commit $name";;
+ start|stop|reload|restart)
+ cmd="/etc/init.d/${name} ${action}";;
+ esac
+ if [ -n "$cmd" ] && eval "${cmd}" 1>/dev/null 2>&1; then
+ print_json_bool "result" '1'
+ else
+ print_json_bool "result" '0'
+ fi
+}
+
+get_init_status() {
+ local name
+ name="$(basename "$1")"
+ name="${name:-$packageName}"
+ local version gateways warnings errors
+ [ -z "$version" ] && version="$(get_version "$name")"
+ [ -z "$version" ] && version="$(get_version "${name}-iptables")"
+ [ -z "$version" ] && version="$(get_version "${name}-netifd")"
+ gateways="$(ubus_get_status gateways | sed "s|\\\n|<br />|g;s|\(\\\033[^<]*\)|✓|g;")"
+ warnings="$(ubus_get_status warnings)"
+ errors="$(ubus_get_status errors)"
+ json_init
+ json_add_object "$name"
+ json_add_boolean 'enabled' "$(is_enabled "$name")"
+ if is_running "$name"; then
+ json_add_boolean 'running' '1'
+ else
+ json_add_boolean 'running' '0'
+ fi
+ if is_running_iptables "$name"; then
+ json_add_boolean 'running_iptables' '1'
+ else
+ json_add_boolean 'running_iptables' '0'
+ fi
+ if is_running_nft "$name"; then
+ json_add_boolean 'running_nft' '1'
+ else
+ json_add_boolean 'running_nft' '0'
+ fi
+ json_add_string 'version' "$version"
+ json_add_string 'gateways' "$gateways"
+ json_add_array 'errors'
+ if [ -n "$errors" ]; then
+ while read -r line; do
+ if str_contains "$line" ' '; then
+ error_id="${line% *}"
+ error_extra="${line#* }"
+ else
+ error_id="$line"
+ unset error_extra
+ fi
+ json_add_object
+ json_add_string 'id' "$error_id"
+ json_add_string 'extra' "$error_extra"
+ json_close_object
+ done <<EOF
+$(echo "$errors" | tr \# \\n)
+EOF
+ fi
+ json_close_array
+ json_add_array 'warnings'
+ if [ -n "$warnings" ]; then
+ while read -r line; do
+ if str_contains "$line" ' '; then
+ error_id="${line% *}"
+ error_extra="${line#* }"
+ else
+ error_id="$line"
+ unset error_extra
+ fi
+ json_add_object
+ json_add_string 'id' "$error_id"
+ json_add_string 'extra' "$error_extra"
+ json_close_object
+ done <<EOF
+$(echo "$warnings" | tr \# \\n)
+EOF
+ fi
+ json_close_array
+ json_close_object
+ json_dump
+ json_cleanup
+}
+
+check_ipset() { { [ -n "$ipset" ] && "$ipset" help hash:net; } >/dev/null 2>&1; }
+check_nft() { [ -n "$nft" ]; }
+check_agh() { [ -n "$agh" ] && [ -s "$aghConfigFile" ]; }
+check_dnsmasq() { command -v dnsmasq >/dev/null 2>&1; }
+check_unbound() { command -v unbound >/dev/null 2>&1; }
+check_agh_ipset() {
+ check_ipset || return 1
+ check_agh || return 1
+ is_greater_or_equal "$($agh --version | sed 's|AdGuard Home, version v\(.*\)|\1|')" '0.107.13'
+}
+check_dnsmasq_ipset() {
+ local o;
+ check_ipset || return 1
+ check_dnsmasq || return 1
+ o="$(dnsmasq -v 2>/dev/null)"
+ ! echo "$o" | grep -q 'no-ipset' && echo "$o" | grep -q 'ipset'
+}
+check_dnsmasq_nftset() {
+ local o;
+ check_nft || return 1
+ check_dnsmasq || return 1
+ o="$(dnsmasq -v 2>/dev/null)"
+ ! echo "$o" | grep -q 'no-nftset' && echo "$o" | grep -q 'nftset'
+}
+
+get_platform_support() {
+ local name
+ name="$(basename "$1")"
+ name="${name:-$packageName}"
+ json_init
+ json_add_object "$name"
+ if check_ipset; then
+ json_add_boolean 'ipset_installed' '1'
+ else
+ json_add_boolean 'ipset_installed' '0'
+ fi
+ if check_nft; then
+ json_add_boolean 'nft_installed' '1'
+ else
+ json_add_boolean 'nft_installed' '0'
+ fi
+ if check_agh; then
+ json_add_boolean 'adguardhome_installed' '1'
+ else
+ json_add_boolean 'adguardhome_installed' '0'
+ fi
+ if check_dnsmasq; then
+ json_add_boolean 'dnsmasq_installed' '1'
+ else
+ json_add_boolean 'dnsmasq_installed' '0'
+ fi
+ if check_unbound; then
+ json_add_boolean 'unbound_installed' '1'
+ else
+ json_add_boolean 'unbound_installed' '0'
+ fi
+ if check_agh_ipset; then
+ json_add_boolean 'adguardhome_ipset_support' '1'
+ else
+ json_add_boolean 'adguardhome_ipset_support' '0'
+ fi
+ if check_dnsmasq_ipset; then
+ json_add_boolean 'dnsmasq_ipset_support' '1'
+ else
+ json_add_boolean 'dnsmasq_ipset_support' '0'
+ fi
+ if check_dnsmasq_nftset; then
+ json_add_boolean 'dnsmasq_nftset_support' '1'
+ else
+ json_add_boolean 'dnsmasq_nftset_support' '0'
+ fi
+ json_close_object
+ json_dump
+ json_cleanup
+}
+
+# shellcheck disable=SC3037
+get_gateways() {
+ local name="${1:-$packageName}"
+ echo -en "{\"$name\":{\"gateways\":"
+ ubus call service list "{ 'name': '$name' }" | jsonfilter -e "@.${name}.instances.main.data.gateways"
+ echo -en "}}"
+}
+
+str_contains() { [ -n "$1" ] &&[ -n "$2" ] && [ "${1//$2}" != "$1" ]; }
+str_contains_word() { echo "$1" | grep -q -w "$2"; }
+str_to_lower() { echo "$1" | tr 'A-Z' 'a-z'; }
+str_to_upper() { echo "$1" | tr 'a-z' 'A-Z'; }
+is_ignore_target() { [ "$(str_to_lower "$1")" = 'ignore' ]; }
+is_dslite() { local proto; proto=$(uci -q get network."$1".proto); [ "${proto:0:6}" = "dslite" ]; }
+is_l2tp() { local proto; proto=$(uci -q get network."$1".proto); [ "${proto:0:4}" = "l2tp" ]; }
+is_oc() { local proto; proto=$(uci -q get network."$1".proto); [ "${proto:0:11}" = "openconnect" ]; }
+is_ovpn() { local dev; network_get_device dev "$1"; [ "${dev:0:3}" = "tun" ] || [ "${dev:0:3}" = "tap" ] || [ -f "/sys/devices/virtual/net/${dev}/tun_flags" ]; }
+is_pptp() { local proto; proto=$(uci -q get network."$1".proto); [ "${proto:0:4}" = "pptp" ]; }
+is_softether() { local dev; network_get_device dev "$1"; [ "${dev:0:4}" = "vpn_" ]; }
+is_tor() { [ "$(str_to_lower "$1")" = "tor" ]; }
+is_wg() { local proto; proto=$(uci -q get network."$1".proto); [ "${proto:0:9}" = "wireguard" ]; }
+is_tunnel() { is_dslite "$1" || is_l2tp "$1" || is_oc "$1" || is_ovpn "$1" || is_pptp "$1" || is_softether "$1" || is_tor "$1" || is_wg "$1"; }
+is_wan() { [ "$1" = "$wanIface4" ] || { [ "${1##wan}" != "$1" ] && [ "${1##wan6}" = "$1" ]; } || [ "${1%%wan}" != "$1" ]; }
+is_wan6() { [ -n "$wanIface6" ] && [ "$1" = "$wanIface6" ] || [ "${1/#wan6}" != "$1" ] || [ "${1/%wan6}" != "$1" ]; }
+is_ignored_interface() { str_contains_word "$ignored_interface" "$1"; }
+is_supported_interface() { str_contains_word "$supported_interface" "$1" || { ! is_ignored_interface "$1" && { is_wan "$1" || is_wan6 "$1" || is_tunnel "$1"; }; } || is_ignore_target "$1"; }
+pbr_find_iface() {
+ local iface i param="$2"
+ [ "$param" = 'wan6' ] || param='wan'
+ "network_find_${param}" iface
+ is_tunnel "$iface" && unset iface
+ if [ -z "$iface" ]; then
+ for i in $ifacesAll; do
+ if "is_${param}" "$i"; then break; else unset i; fi
+ done
+ fi
+ eval "$1"='${iface:-$i}'
+}
+_build_ifaces_all() { ifacesAll="${ifacesAll}${1} "; }
+_build_ifaces_supported() { is_supported_interface "$1" && ifacesSupported="${ifacesSupported}${1} "; }
+get_supported_interfaces() {
+ local name i
+ name="$(basename "$1")"
+ name="${name:-$packageName}"
+ local ifacesAll ifacesSupported
+ local webui_show_ignore_target
+ local ignored_interface supported_interface
+ local wanIface4 wanIface6
+ config_load "$name"
+ config_get_bool webui_show_ignore_target 'config' 'webui_show_ignore_target' '0'
+ config_get ignored_interface 'config' 'ignored_interface'
+ config_get supported_interface 'config' 'supported_interface'
+ config_load 'network'
+ config_foreach _build_ifaces_all 'interface'
+ pbr_find_iface wanIface4 'wan'
+ pbr_find_iface wanIface6 'wan6'
+ config_foreach _build_ifaces_supported 'interface'
+ if [ "$webui_show_ignore_target" -eq "1" ]; then
+ ifacesSupported="$ifacesSupported ignore"
+ fi
+ json_init
+ json_add_object "$name"
+ json_add_array 'interfaces'
+ for i in $ifacesSupported; do
+ json_add_string '' "$i"
+ done
+ json_close_array
+ json_close_object
+ json_dump
+ json_cleanup
+}
+
+case "$1" in
+ list)
+ json_init
+ json_add_object "getGateways"
+ json_add_string 'name' 'name'
+ json_close_object
+ json_add_object "getInitList"
+ json_add_string 'name' 'name'
+ json_close_object
+ json_add_object "getInitStatus"
+ json_add_string 'name' 'name'
+ json_close_object
+ json_add_object "getInterfaces"
+ json_add_string 'name' 'name'
+ json_close_object
+ json_add_object "getPlatformSupport"
+ json_add_string 'name' 'name'
+ json_close_object
+ json_add_object "setInitAction"
+ json_add_string 'name' 'name'
+ json_add_string 'action' 'action'
+ json_close_object
+ json_dump
+ json_cleanup
+ ;;
+ call)
+ case "$2" in
+ getGateways)
+ read -r input
+ json_load "$input"
+ json_get_var name 'name'
+ json_cleanup
+ get_gateways "$name"
+ ;;
+ getInitList)
+ read -r input
+ json_load "$input"
+ json_get_var name 'name'
+ json_cleanup
+ get_init_list "$name"
+ ;;
+ getInitStatus)
+ read -r input
+ json_load "$input"
+ json_get_var name 'name'
+ json_cleanup
+ get_init_status "$name"
+ ;;
+ getInterfaces)
+ read -r input
+ json_load "$input"
+ json_get_var name 'name'
+ json_cleanup
+ get_supported_interfaces "$name"
+ ;;
+ getPlatformSupport)
+ read -r input
+ json_load "$input"
+ json_get_var name 'name'
+ json_cleanup
+ get_platform_support "$name"
+ ;;
+ setInitAction)
+ read -r input
+ json_load "$input"
+ json_get_var name 'name'
+ json_get_var action 'action'
+ json_cleanup
+ set_init_action "$name" "$action"
+ ;;
+ esac
+ ;;
+esac
diff --git a/applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json b/applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json
new file mode 100644
index 0000000000..a764ac82b4
--- /dev/null
+++ b/applications/luci-app-pbr/root/usr/share/luci/menu.d/luci-app-pbr.json
@@ -0,0 +1,15 @@
+{
+ "admin/services/pbr": {
+ "title": "Policy Routing",
+ "order": 90,
+ "action": {
+ "type": "view",
+ "path": "pbr/overview"
+ },
+ "depends": {
+ "acl": [
+ "luci-app-pbr"
+ ]
+ }
+ }
+}
diff --git a/applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json b/applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json
new file mode 100644
index 0000000000..39178f3790
--- /dev/null
+++ b/applications/luci-app-pbr/root/usr/share/rpcd/acl.d/luci-app-pbr.json
@@ -0,0 +1,29 @@
+{
+ "luci-app-pbr": {
+ "description": "Grant UCI and file access for luci-app-pbr",
+ "read": {
+ "ubus": {
+ "luci.pbr": [
+ "getGateways",
+ "getInitList",
+ "getInitStatus",
+ "getInterfaces",
+ "getPlatformSupport"
+ ]
+ },
+ "uci": [
+ "pbr"
+ ]
+ },
+ "write": {
+ "uci": [
+ "pbr"
+ ],
+ "ubus": {
+ "luci.pbr": [
+ "setInitAction"
+ ]
+ }
+ }
+ }
+}